diff --git a/Assets/ProjectBlue/Packages.meta b/Assets/Packages.meta similarity index 77% rename from Assets/ProjectBlue/Packages.meta rename to Assets/Packages.meta index 513ad24..3935b26 100644 --- a/Assets/ProjectBlue/Packages.meta +++ b/Assets/Packages.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 8502cd977bd0ce846a4ca84f19b7d2f1 +guid: f8631d158ea34cc499e62a01d25d51ae folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/ZigSimFacialControl.meta b/Assets/Packages/ARKitFacialControl.meta similarity index 100% rename from Assets/ZigSimFacialControl.meta rename to Assets/Packages/ARKitFacialControl.meta diff --git a/Assets/Plugins.meta b/Assets/Packages/ARKitFacialControl/Models.meta similarity index 77% rename from Assets/Plugins.meta rename to Assets/Packages/ARKitFacialControl/Models.meta index acb1ab6..0961f4e 100644 --- a/Assets/Plugins.meta +++ b/Assets/Packages/ARKitFacialControl/Models.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 97e91d36219c383448223d790939ca2a +guid: 54639887ba2ef724c80f9c2dc471553d folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Packages/ARKitFacialControl/Models/LICENSE.md b/Assets/Packages/ARKitFacialControl/Models/LICENSE.md new file mode 100644 index 0000000..af51f4d --- /dev/null +++ b/Assets/Packages/ARKitFacialControl/Models/LICENSE.md @@ -0,0 +1,5 @@ +AR Foundation Samples copyright © 2019 Unity Technologies ApS + +Licensed under the Unity Companion License for Unity-dependent projects--see Unity Companion License. + +Unless expressly provided otherwise, the Software under this license is made available strictly on an “AS IS” BASIS WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. Please review the license for details on these and other terms and conditions. \ No newline at end of file diff --git a/Assets/record_2020-18-7--02-38-07.bytes.meta b/Assets/Packages/ARKitFacialControl/Models/LICENSE.md.meta similarity index 75% rename from Assets/record_2020-18-7--02-38-07.bytes.meta rename to Assets/Packages/ARKitFacialControl/Models/LICENSE.md.meta index 77f05fb..afd8793 100644 --- a/Assets/record_2020-18-7--02-38-07.bytes.meta +++ b/Assets/Packages/ARKitFacialControl/Models/LICENSE.md.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 789758fd74d69c84a8d2f713ff4771f3 +guid: 2f44dd138d0f7294192a24cc1af595d4 TextScriptImporter: externalObjects: {} userData: diff --git a/Assets/Packages/ARKitFacialControl/Models/sloth_all_1001_AlbedoTransparency.mat b/Assets/Packages/ARKitFacialControl/Models/sloth_all_1001_AlbedoTransparency.mat new file mode 100644 index 0000000..65fa59c --- /dev/null +++ b/Assets/Packages/ARKitFacialControl/Models/sloth_all_1001_AlbedoTransparency.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: sloth_all_1001_AlbedoTransparency + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _METALLICGLOSSMAP _NORMALMAP + 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: 27a1657365e7440158436bc8e151d931, 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: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: b0a9b07b207264316bf3be95cdcf6a08, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 2800000, guid: 433a9cacc6e034c25a6a14eb6af1b09c, type: 3} + 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.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} diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Accessories_Metal_mat.mat.meta b/Assets/Packages/ARKitFacialControl/Models/sloth_all_1001_AlbedoTransparency.mat.meta similarity index 61% rename from Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Accessories_Metal_mat.mat.meta rename to Assets/Packages/ARKitFacialControl/Models/sloth_all_1001_AlbedoTransparency.mat.meta index 2a47166..7fd082e 100644 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Accessories_Metal_mat.mat.meta +++ b/Assets/Packages/ARKitFacialControl/Models/sloth_all_1001_AlbedoTransparency.mat.meta @@ -1,7 +1,8 @@ fileFormatVersion: 2 -guid: 307716f60a618f345aa4a18c6b74ef55 +guid: 0eafc0c8e166e4cd2b0f64b71fda0c45 +timeCreated: 1511933011 +licenseType: Pro NativeFormatImporter: - externalObjects: {} mainObjectFileID: 2100000 userData: assetBundleName: diff --git a/Assets/Packages/ARKitFacialControl/Models/sloth_all_1001_AlbedoTransparency.png b/Assets/Packages/ARKitFacialControl/Models/sloth_all_1001_AlbedoTransparency.png new file mode 100644 index 0000000..971d449 --- /dev/null +++ b/Assets/Packages/ARKitFacialControl/Models/sloth_all_1001_AlbedoTransparency.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1f8162d454db2c7d3a5f6dd86095a5b8f1042b84afd33e19e702d5cd67f944b +size 3935660 diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_PantsRibbon_Diffuse.png.meta b/Assets/Packages/ARKitFacialControl/Models/sloth_all_1001_AlbedoTransparency.png.meta similarity index 66% rename from Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_PantsRibbon_Diffuse.png.meta rename to Assets/Packages/ARKitFacialControl/Models/sloth_all_1001_AlbedoTransparency.png.meta index 1736564..32ba23a 100644 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_PantsRibbon_Diffuse.png.meta +++ b/Assets/Packages/ARKitFacialControl/Models/sloth_all_1001_AlbedoTransparency.png.meta @@ -1,9 +1,10 @@ fileFormatVersion: 2 -guid: 22ad57e470e9b8349bb0e63ed61cbc0e +guid: b0a9b07b207264316bf3be95cdcf6a08 +timeCreated: 1510333546 +licenseType: Free TextureImporter: fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 9 + serializedVersion: 4 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -11,8 +12,6 @@ TextureImporter: linearTexture: 0 fadeOut: 0 borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -21,8 +20,6 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -30,13 +27,10 @@ TextureImporter: textureFormat: 1 maxTextureSize: 2048 textureSettings: - serializedVersion: 2 filterMode: -1 aniso: -1 - mipBias: -100 - wrapU: -1 - wrapV: -1 - wrapW: -1 + mipBias: -1 + wrapMode: -1 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -45,55 +39,38 @@ TextureImporter: spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 + spritePixelsToUnits: 100 alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 textureType: 0 textureShape: 1 - singleChannelComponent: 0 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 platformSettings: - - serializedVersion: 2 - buildTarget: DefaultTexturePlatform + - buildTarget: DefaultTexturePlatform maxTextureSize: 4096 - resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 - androidETC2FallbackOverride: 0 - - serializedVersion: 2 - buildTarget: Standalone + - buildTarget: Standalone maxTextureSize: 4096 - resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 - androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] - physicsShape: [] - bones: [] - spriteID: - vertices: [] - indices: - edges: [] - weights: [] spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Packages/ARKitFacialControl/Models/sloth_all_1001_MetallicSmoothness.png b/Assets/Packages/ARKitFacialControl/Models/sloth_all_1001_MetallicSmoothness.png new file mode 100644 index 0000000..968b480 --- /dev/null +++ b/Assets/Packages/ARKitFacialControl/Models/sloth_all_1001_MetallicSmoothness.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff0bb3d9dff2f217f6009e4d8173df04be267cad7793f1c2c00d4c1b412ec39c +size 1002125 diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Cloth_Diffuse.png.meta b/Assets/Packages/ARKitFacialControl/Models/sloth_all_1001_MetallicSmoothness.png.meta similarity index 66% rename from Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Cloth_Diffuse.png.meta rename to Assets/Packages/ARKitFacialControl/Models/sloth_all_1001_MetallicSmoothness.png.meta index 4d699da..b757a69 100644 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Cloth_Diffuse.png.meta +++ b/Assets/Packages/ARKitFacialControl/Models/sloth_all_1001_MetallicSmoothness.png.meta @@ -1,9 +1,10 @@ fileFormatVersion: 2 -guid: c8cf870287b184a4fb2b11044b5bf0af +guid: 433a9cacc6e034c25a6a14eb6af1b09c +timeCreated: 1510333569 +licenseType: Free TextureImporter: fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 9 + serializedVersion: 4 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -11,8 +12,6 @@ TextureImporter: linearTexture: 0 fadeOut: 0 borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -21,8 +20,6 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -30,13 +27,10 @@ TextureImporter: textureFormat: 1 maxTextureSize: 2048 textureSettings: - serializedVersion: 2 filterMode: -1 aniso: -1 - mipBias: -100 - wrapU: -1 - wrapV: -1 - wrapW: -1 + mipBias: -1 + wrapMode: -1 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -45,55 +39,38 @@ TextureImporter: spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 + spritePixelsToUnits: 100 alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 textureType: 0 textureShape: 1 - singleChannelComponent: 0 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 platformSettings: - - serializedVersion: 2 - buildTarget: DefaultTexturePlatform + - buildTarget: DefaultTexturePlatform maxTextureSize: 4096 - resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 - androidETC2FallbackOverride: 0 - - serializedVersion: 2 - buildTarget: Standalone + - buildTarget: Standalone maxTextureSize: 4096 - resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 - androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] - physicsShape: [] - bones: [] - spriteID: - vertices: [] - indices: - edges: [] - weights: [] spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Packages/ARKitFacialControl/Models/sloth_all_1001_Normal.png b/Assets/Packages/ARKitFacialControl/Models/sloth_all_1001_Normal.png new file mode 100644 index 0000000..a923085 --- /dev/null +++ b/Assets/Packages/ARKitFacialControl/Models/sloth_all_1001_Normal.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebd437437c3201c7b8b0ce41a11301563fced2da46775a9b4de6b2490439e550 +size 2950896 diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Ribbon_Nomal.png.meta b/Assets/Packages/ARKitFacialControl/Models/sloth_all_1001_Normal.png.meta similarity index 65% rename from Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Ribbon_Nomal.png.meta rename to Assets/Packages/ARKitFacialControl/Models/sloth_all_1001_Normal.png.meta index ac6c54c..c01220c 100644 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Ribbon_Nomal.png.meta +++ b/Assets/Packages/ARKitFacialControl/Models/sloth_all_1001_Normal.png.meta @@ -1,9 +1,10 @@ fileFormatVersion: 2 -guid: c05a1bc47686e574f9680a9dba8bb3b5 +guid: 27a1657365e7440158436bc8e151d931 +timeCreated: 1510333583 +licenseType: Free TextureImporter: fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 9 + serializedVersion: 4 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -11,8 +12,6 @@ TextureImporter: linearTexture: 0 fadeOut: 0 borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -21,8 +20,6 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -30,13 +27,10 @@ TextureImporter: textureFormat: 1 maxTextureSize: 2048 textureSettings: - serializedVersion: 2 filterMode: -1 aniso: -1 - mipBias: -100 - wrapU: -1 - wrapV: -1 - wrapW: -1 + mipBias: -1 + wrapMode: -1 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -45,44 +39,38 @@ TextureImporter: spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 + spritePixelsToUnits: 100 alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 textureType: 1 textureShape: 1 - singleChannelComponent: 0 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 platformSettings: - - serializedVersion: 2 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 + - buildTarget: DefaultTexturePlatform + maxTextureSize: 4096 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 4096 textureFormat: -1 textureCompression: 1 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 - androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] - physicsShape: [] - bones: [] - spriteID: - vertices: [] - indices: - edges: [] - weights: [] spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Packages/ARKitFacialControl/Models/sloth_head_blendshapes5.fbx b/Assets/Packages/ARKitFacialControl/Models/sloth_head_blendshapes5.fbx new file mode 100644 index 0000000..a811707 --- /dev/null +++ b/Assets/Packages/ARKitFacialControl/Models/sloth_head_blendshapes5.fbx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3781211db628f7d3ebc1c44c61d19d5cefd6b56744e7c5f56e82312c16bd9939 +size 643696 diff --git a/Assets/Packages/ARKitFacialControl/Models/sloth_head_blendshapes5.fbx.meta b/Assets/Packages/ARKitFacialControl/Models/sloth_head_blendshapes5.fbx.meta new file mode 100644 index 0000000..e8f12ae --- /dev/null +++ b/Assets/Packages/ARKitFacialControl/Models/sloth_head_blendshapes5.fbx.meta @@ -0,0 +1,97 @@ +fileFormatVersion: 2 +guid: 203593b6d31641148905039b663e43d9 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 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 + 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 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + 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: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ZigSimFacialControl/Plugins.meta b/Assets/Packages/ARKitFacialControl/Plugins.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins.meta rename to Assets/Packages/ARKitFacialControl/Plugins.meta diff --git a/Assets/ZigSimFacialControl/Plugins/Osc.meta b/Assets/Packages/ARKitFacialControl/Plugins/Osc.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/Osc.meta rename to Assets/Packages/ARKitFacialControl/Plugins/Osc.meta diff --git a/Assets/ZigSimFacialControl/Plugins/Osc/Osc.cs b/Assets/Packages/ARKitFacialControl/Plugins/Osc/Osc.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/Osc/Osc.cs rename to Assets/Packages/ARKitFacialControl/Plugins/Osc/Osc.cs diff --git a/Assets/ZigSimFacialControl/Plugins/Osc/Osc.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/Osc/Osc.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/Osc/Osc.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/Osc/Osc.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/Osc/OscMessageEncoder.cs b/Assets/Packages/ARKitFacialControl/Plugins/Osc/OscMessageEncoder.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/Osc/OscMessageEncoder.cs rename to Assets/Packages/ARKitFacialControl/Plugins/Osc/OscMessageEncoder.cs diff --git a/Assets/ZigSimFacialControl/Plugins/Osc/OscMessageEncoder.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/Osc/OscMessageEncoder.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/Osc/OscMessageEncoder.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/Osc/OscMessageEncoder.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/Osc/README.md b/Assets/Packages/ARKitFacialControl/Plugins/Osc/README.md similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/Osc/README.md rename to Assets/Packages/ARKitFacialControl/Plugins/Osc/README.md diff --git a/Assets/ZigSimFacialControl/Plugins/Osc/README.md.meta b/Assets/Packages/ARKitFacialControl/Plugins/Osc/README.md.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/Osc/README.md.meta rename to Assets/Packages/ARKitFacialControl/Plugins/Osc/README.md.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample01_ObservableWWW.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample01_ObservableWWW.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample01_ObservableWWW.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample01_ObservableWWW.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample01_ObservableWWW.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample01_ObservableWWW.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample01_ObservableWWW.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample01_ObservableWWW.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample02_ObservableTriggers.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample02_ObservableTriggers.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample02_ObservableTriggers.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample02_ObservableTriggers.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample02_ObservableTriggers.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample02_ObservableTriggers.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample02_ObservableTriggers.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample02_ObservableTriggers.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample03_GameObjectAsObservable.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample03_GameObjectAsObservable.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample03_GameObjectAsObservable.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample03_GameObjectAsObservable.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample03_GameObjectAsObservable.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample03_GameObjectAsObservable.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample03_GameObjectAsObservable.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample03_GameObjectAsObservable.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample04_ConvertFromUnityCallback.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample04_ConvertFromUnityCallback.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample04_ConvertFromUnityCallback.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample04_ConvertFromUnityCallback.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample04_ConvertFromUnityCallback.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample04_ConvertFromUnityCallback.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample04_ConvertFromUnityCallback.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample04_ConvertFromUnityCallback.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample05_ConvertFromCoroutine.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample05_ConvertFromCoroutine.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample05_ConvertFromCoroutine.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample05_ConvertFromCoroutine.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample05_ConvertFromCoroutine.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample05_ConvertFromCoroutine.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample05_ConvertFromCoroutine.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample05_ConvertFromCoroutine.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample06_ConvertToCoroutine.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample06_ConvertToCoroutine.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample06_ConvertToCoroutine.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample06_ConvertToCoroutine.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample06_ConvertToCoroutine.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample06_ConvertToCoroutine.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample06_ConvertToCoroutine.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample06_ConvertToCoroutine.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample07_OrchestratIEnumerator.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample07_OrchestratIEnumerator.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample07_OrchestratIEnumerator.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample07_OrchestratIEnumerator.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample07_OrchestratIEnumerator.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample07_OrchestratIEnumerator.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample07_OrchestratIEnumerator.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample07_OrchestratIEnumerator.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample08_DetectDoubleClick.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample08_DetectDoubleClick.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample08_DetectDoubleClick.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample08_DetectDoubleClick.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample08_DetectDoubleClick.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample08_DetectDoubleClick.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample08_DetectDoubleClick.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample08_DetectDoubleClick.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample09_EventHandling.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample09_EventHandling.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample09_EventHandling.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample09_EventHandling.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample09_EventHandling.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample09_EventHandling.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample09_EventHandling.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample09_EventHandling.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample10_MainThreadDispatcher.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample10_MainThreadDispatcher.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample10_MainThreadDispatcher.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample10_MainThreadDispatcher.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample10_MainThreadDispatcher.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample10_MainThreadDispatcher.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample10_MainThreadDispatcher.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample10_MainThreadDispatcher.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample11_Logger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample11_Logger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample11_Logger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample11_Logger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample11_Logger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample11_Logger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample11_Logger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample11_Logger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample12Scene.unity b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample12Scene.unity similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample12Scene.unity rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample12Scene.unity diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample12Scene.unity.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample12Scene.unity.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample12Scene.unity.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample12Scene.unity.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample12_ReactiveProperty.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample12_ReactiveProperty.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample12_ReactiveProperty.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample12_ReactiveProperty.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample12_ReactiveProperty.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample12_ReactiveProperty.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample12_ReactiveProperty.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample12_ReactiveProperty.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample13Scene.unity b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample13Scene.unity similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample13Scene.unity rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample13Scene.unity diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample13Scene.unity.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample13Scene.unity.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample13Scene.unity.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample13Scene.unity.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample13_ToDoApp.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample13_ToDoApp.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample13_ToDoApp.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample13_ToDoApp.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample13_ToDoApp.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample13_ToDoApp.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample13_ToDoApp.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample13_ToDoApp.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample13_ToDoItem.prefab b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample13_ToDoItem.prefab similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample13_ToDoItem.prefab rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample13_ToDoItem.prefab diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample13_ToDoItem.prefab.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample13_ToDoItem.prefab.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/Sample13_ToDoItem.prefab.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/Sample13_ToDoItem.prefab.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/UniRx.Examples.asmdef b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/UniRx.Examples.asmdef similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/UniRx.Examples.asmdef rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/UniRx.Examples.asmdef diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Examples/UniRx.Examples.asmdef.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/UniRx.Examples.asmdef.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Examples/UniRx.Examples.asmdef.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Examples/UniRx.Examples.asmdef.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/ReadMe.txt b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/ReadMe.txt similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/ReadMe.txt rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/ReadMe.txt diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/ReadMe.txt.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/ReadMe.txt.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/ReadMe.txt.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/ReadMe.txt.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Asynchronous.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Asynchronous.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Asynchronous.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Asynchronous.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Asynchronous/WebRequestExtensions.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Asynchronous/WebRequestExtensions.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Asynchronous/WebRequestExtensions.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Asynchronous/WebRequestExtensions.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Asynchronous/WebRequestExtensions.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Asynchronous/WebRequestExtensions.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Asynchronous/WebRequestExtensions.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Asynchronous/WebRequestExtensions.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/BooleanDisposable.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/BooleanDisposable.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/BooleanDisposable.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/BooleanDisposable.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/BooleanDisposable.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/BooleanDisposable.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/BooleanDisposable.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/BooleanDisposable.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/CancellationDisposable.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/CancellationDisposable.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/CancellationDisposable.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/CancellationDisposable.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/CancellationDisposable.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/CancellationDisposable.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/CancellationDisposable.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/CancellationDisposable.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/CompositeDisposable.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/CompositeDisposable.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/CompositeDisposable.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/CompositeDisposable.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/CompositeDisposable.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/CompositeDisposable.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/CompositeDisposable.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/CompositeDisposable.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/DictionaryDisposable.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/DictionaryDisposable.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/DictionaryDisposable.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/DictionaryDisposable.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/DictionaryDisposable.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/DictionaryDisposable.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/DictionaryDisposable.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/DictionaryDisposable.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/Disposable.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/Disposable.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/Disposable.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/Disposable.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/Disposable.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/Disposable.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/Disposable.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/Disposable.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/DisposableExtensions.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/DisposableExtensions.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/DisposableExtensions.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/DisposableExtensions.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/DisposableExtensions.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/DisposableExtensions.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/DisposableExtensions.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/DisposableExtensions.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/ICancelable.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/ICancelable.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/ICancelable.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/ICancelable.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/ICancelable.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/ICancelable.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/ICancelable.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/ICancelable.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/MultipleAssignmentDisposable.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/MultipleAssignmentDisposable.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/MultipleAssignmentDisposable.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/MultipleAssignmentDisposable.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/MultipleAssignmentDisposable.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/MultipleAssignmentDisposable.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/MultipleAssignmentDisposable.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/MultipleAssignmentDisposable.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/RefCountDisposable.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/RefCountDisposable.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/RefCountDisposable.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/RefCountDisposable.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/RefCountDisposable.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/RefCountDisposable.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/RefCountDisposable.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/RefCountDisposable.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/ScheduledDisposable.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/ScheduledDisposable.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/ScheduledDisposable.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/ScheduledDisposable.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/ScheduledDisposable.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/ScheduledDisposable.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/ScheduledDisposable.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/ScheduledDisposable.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/SerialDisposable.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/SerialDisposable.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/SerialDisposable.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/SerialDisposable.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/SerialDisposable.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/SerialDisposable.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/SerialDisposable.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/SerialDisposable.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/SingleAssignmentDisposable.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/SingleAssignmentDisposable.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/SingleAssignmentDisposable.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/SingleAssignmentDisposable.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/SingleAssignmentDisposable.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/SingleAssignmentDisposable.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/SingleAssignmentDisposable.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/SingleAssignmentDisposable.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/StableCompositeDisposable.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/StableCompositeDisposable.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/StableCompositeDisposable.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/StableCompositeDisposable.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/StableCompositeDisposable.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/StableCompositeDisposable.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Disposables/StableCompositeDisposable.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Disposables/StableCompositeDisposable.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/EventPattern.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/EventPattern.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/EventPattern.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/EventPattern.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/EventPattern.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/EventPattern.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/EventPattern.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/EventPattern.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/AscynLock.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/AscynLock.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/AscynLock.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/AscynLock.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/AscynLock.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/AscynLock.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/AscynLock.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/AscynLock.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/CancellableTaskCompletionSource.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/CancellableTaskCompletionSource.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/CancellableTaskCompletionSource.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/CancellableTaskCompletionSource.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/CancellableTaskCompletionSource.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/CancellableTaskCompletionSource.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/CancellableTaskCompletionSource.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/CancellableTaskCompletionSource.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/ExceptionExtensions.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/ExceptionExtensions.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/ExceptionExtensions.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/ExceptionExtensions.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/ExceptionExtensions.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/ExceptionExtensions.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/ExceptionExtensions.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/ExceptionExtensions.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/ImmutableList.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/ImmutableList.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/ImmutableList.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/ImmutableList.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/ImmutableList.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/ImmutableList.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/ImmutableList.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/ImmutableList.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/ListObserver.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/ListObserver.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/ListObserver.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/ListObserver.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/ListObserver.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/ListObserver.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/ListObserver.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/ListObserver.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/MicroCoroutine.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/MicroCoroutine.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/MicroCoroutine.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/MicroCoroutine.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/MicroCoroutine.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/MicroCoroutine.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/MicroCoroutine.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/MicroCoroutine.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/PriorityQueue.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/PriorityQueue.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/PriorityQueue.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/PriorityQueue.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/PriorityQueue.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/PriorityQueue.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/PriorityQueue.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/PriorityQueue.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/PromiseHelper.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/PromiseHelper.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/PromiseHelper.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/PromiseHelper.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/PromiseHelper.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/PromiseHelper.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/PromiseHelper.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/PromiseHelper.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/ScheduledItem.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/ScheduledItem.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/ScheduledItem.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/ScheduledItem.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/ScheduledItem.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/ScheduledItem.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/ScheduledItem.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/ScheduledItem.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/ThreadSafeQueueWorker.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/ThreadSafeQueueWorker.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/ThreadSafeQueueWorker.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/ThreadSafeQueueWorker.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/ThreadSafeQueueWorker.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/ThreadSafeQueueWorker.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/ThreadSafeQueueWorker.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/ThreadSafeQueueWorker.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/UnityEqualityComparer.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/UnityEqualityComparer.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/UnityEqualityComparer.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/UnityEqualityComparer.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/UnityEqualityComparer.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/UnityEqualityComparer.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/InternalUtil/UnityEqualityComparer.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/InternalUtil/UnityEqualityComparer.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Notification.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Notification.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Notification.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Notification.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Notification.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Notification.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Notification.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Notification.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Notifiers.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Notifiers.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Notifiers.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Notifiers.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Notifiers/BooleanNotifier.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Notifiers/BooleanNotifier.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Notifiers/BooleanNotifier.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Notifiers/BooleanNotifier.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Notifiers/BooleanNotifier.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Notifiers/BooleanNotifier.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Notifiers/BooleanNotifier.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Notifiers/BooleanNotifier.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Notifiers/CountNotifier.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Notifiers/CountNotifier.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Notifiers/CountNotifier.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Notifiers/CountNotifier.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Notifiers/CountNotifier.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Notifiers/CountNotifier.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Notifiers/CountNotifier.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Notifiers/CountNotifier.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Notifiers/MessageBroker.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Notifiers/MessageBroker.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Notifiers/MessageBroker.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Notifiers/MessageBroker.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Notifiers/MessageBroker.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Notifiers/MessageBroker.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Notifiers/MessageBroker.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Notifiers/MessageBroker.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Notifiers/ScheduledNotifier.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Notifiers/ScheduledNotifier.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Notifiers/ScheduledNotifier.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Notifiers/ScheduledNotifier.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Notifiers/ScheduledNotifier.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Notifiers/ScheduledNotifier.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Notifiers/ScheduledNotifier.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Notifiers/ScheduledNotifier.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Aggregate.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Aggregate.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Aggregate.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Aggregate.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Aggregate.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Aggregate.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Aggregate.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Aggregate.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Awaiter.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Awaiter.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Awaiter.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Awaiter.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Awaiter.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Awaiter.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Awaiter.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Awaiter.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Binding.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Binding.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Binding.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Binding.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Binding.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Binding.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Binding.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Binding.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Blocking.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Blocking.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Blocking.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Blocking.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Blocking.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Blocking.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Blocking.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Blocking.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Concatenate.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Concatenate.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Concatenate.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Concatenate.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Concatenate.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Concatenate.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Concatenate.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Concatenate.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Concurrency.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Concurrency.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Concurrency.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Concurrency.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Concurrency.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Concurrency.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Concurrency.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Concurrency.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Conversions.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Conversions.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Conversions.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Conversions.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Conversions.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Conversions.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Conversions.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Conversions.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Creation.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Creation.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Creation.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Creation.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Creation.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Creation.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Creation.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Creation.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.ErrorHandling.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.ErrorHandling.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.ErrorHandling.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.ErrorHandling.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.ErrorHandling.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.ErrorHandling.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.ErrorHandling.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.ErrorHandling.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Events.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Events.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Events.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Events.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Events.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Events.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Events.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Events.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.FromAsync.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.FromAsync.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.FromAsync.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.FromAsync.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.FromAsync.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.FromAsync.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.FromAsync.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.FromAsync.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Joins.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Joins.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Joins.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Joins.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Joins.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Joins.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Joins.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Joins.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Paging.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Paging.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Paging.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Paging.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Paging.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Paging.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Paging.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Paging.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Time.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Time.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Time.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Time.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Time.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Time.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.Time.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.Time.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observable.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observable.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observer.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observer.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observer.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observer.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observer.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observer.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Observer.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Observer.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Aggregate.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Aggregate.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Aggregate.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Aggregate.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Aggregate.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Aggregate.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Aggregate.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Aggregate.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Amb.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Amb.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Amb.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Amb.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Amb.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Amb.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Amb.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Amb.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/AsObservable.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/AsObservable.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/AsObservable.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/AsObservable.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/AsObservable.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/AsObservable.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/AsObservable.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/AsObservable.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/AsSingleUnitObservable.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/AsSingleUnitObservable.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/AsSingleUnitObservable.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/AsSingleUnitObservable.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/AsSingleUnitObservable.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/AsSingleUnitObservable.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/AsSingleUnitObservable.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/AsSingleUnitObservable.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/AsUnitObservable.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/AsUnitObservable.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/AsUnitObservable.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/AsUnitObservable.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/AsUnitObservable.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/AsUnitObservable.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/AsUnitObservable.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/AsUnitObservable.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Buffer.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Buffer.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Buffer.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Buffer.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Buffer.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Buffer.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Buffer.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Buffer.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Cast.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Cast.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Cast.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Cast.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Cast.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Cast.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Cast.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Cast.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Catch.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Catch.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Catch.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Catch.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Catch.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Catch.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Catch.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Catch.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/CombineLatest.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/CombineLatest.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/CombineLatest.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/CombineLatest.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/CombineLatest.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/CombineLatest.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/CombineLatest.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/CombineLatest.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Concat.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Concat.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Concat.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Concat.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Concat.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Concat.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Concat.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Concat.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ContinueWith.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ContinueWith.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ContinueWith.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ContinueWith.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ContinueWith.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ContinueWith.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ContinueWith.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ContinueWith.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Create.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Create.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Create.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Create.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Create.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Create.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Create.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Create.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/DefaultIfEmpty.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/DefaultIfEmpty.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/DefaultIfEmpty.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/DefaultIfEmpty.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/DefaultIfEmpty.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/DefaultIfEmpty.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/DefaultIfEmpty.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/DefaultIfEmpty.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Defer.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Defer.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Defer.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Defer.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Defer.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Defer.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Defer.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Defer.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Delay.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Delay.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Delay.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Delay.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Delay.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Delay.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Delay.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Delay.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/DelaySubscription.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/DelaySubscription.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/DelaySubscription.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/DelaySubscription.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/DelaySubscription.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/DelaySubscription.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/DelaySubscription.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/DelaySubscription.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Dematerialize.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Dematerialize.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Dematerialize.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Dematerialize.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Dematerialize.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Dematerialize.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Dematerialize.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Dematerialize.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Distinct.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Distinct.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Distinct.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Distinct.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Distinct.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Distinct.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Distinct.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Distinct.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/DistinctUntilChanged.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/DistinctUntilChanged.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/DistinctUntilChanged.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/DistinctUntilChanged.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/DistinctUntilChanged.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/DistinctUntilChanged.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/DistinctUntilChanged.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/DistinctUntilChanged.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Do.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Do.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Do.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Do.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Do.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Do.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Do.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Do.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Empty.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Empty.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Empty.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Empty.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Empty.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Empty.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Empty.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Empty.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Finally.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Finally.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Finally.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Finally.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Finally.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Finally.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Finally.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Finally.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/First.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/First.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/First.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/First.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/First.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/First.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/First.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/First.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ForEachAsync.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ForEachAsync.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ForEachAsync.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ForEachAsync.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ForEachAsync.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ForEachAsync.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ForEachAsync.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ForEachAsync.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/FromEvent.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/FromEvent.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/FromEvent.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/FromEvent.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/FromEvent.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/FromEvent.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/FromEvent.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/FromEvent.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/GroupBy.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/GroupBy.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/GroupBy.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/GroupBy.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/GroupBy.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/GroupBy.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/GroupBy.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/GroupBy.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/IgnoreElements.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/IgnoreElements.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/IgnoreElements.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/IgnoreElements.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/IgnoreElements.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/IgnoreElements.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/IgnoreElements.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/IgnoreElements.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Last.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Last.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Last.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Last.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Last.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Last.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Last.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Last.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Materialize.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Materialize.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Materialize.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Materialize.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Materialize.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Materialize.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Materialize.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Materialize.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Merge.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Merge.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Merge.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Merge.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Merge.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Merge.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Merge.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Merge.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Never.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Never.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Never.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Never.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Never.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Never.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Never.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Never.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ObserveOn.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ObserveOn.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ObserveOn.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ObserveOn.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ObserveOn.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ObserveOn.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ObserveOn.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ObserveOn.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/OfType.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/OfType.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/OfType.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/OfType.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/OfType.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/OfType.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/OfType.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/OfType.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/OperatorObservableBase.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/OperatorObservableBase.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/OperatorObservableBase.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/OperatorObservableBase.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/OperatorObservableBase.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/OperatorObservableBase.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/OperatorObservableBase.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/OperatorObservableBase.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/OperatorObserverBase.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/OperatorObserverBase.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/OperatorObserverBase.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/OperatorObserverBase.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/OperatorObserverBase.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/OperatorObserverBase.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/OperatorObserverBase.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/OperatorObserverBase.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/PairWise.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/PairWise.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/PairWise.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/PairWise.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/PairWise.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/PairWise.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/PairWise.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/PairWise.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Range.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Range.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Range.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Range.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Range.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Range.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Range.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Range.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/RefCount.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/RefCount.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/RefCount.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/RefCount.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/RefCount.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/RefCount.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/RefCount.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/RefCount.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Repeat.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Repeat.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Repeat.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Repeat.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Repeat.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Repeat.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Repeat.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Repeat.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/RepeatSafe.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/RepeatSafe.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/RepeatSafe.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/RepeatSafe.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/RepeatSafe.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/RepeatSafe.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/RepeatSafe.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/RepeatSafe.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Return.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Return.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Return.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Return.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Return.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Return.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Return.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Return.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Sample.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Sample.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Sample.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Sample.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Sample.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Sample.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Sample.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Sample.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Scan.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Scan.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Scan.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Scan.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Scan.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Scan.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Scan.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Scan.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Select.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Select.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Select.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Select.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Select.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Select.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Select.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Select.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/SelectMany.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/SelectMany.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/SelectMany.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/SelectMany.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/SelectMany.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/SelectMany.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/SelectMany.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/SelectMany.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/SelectWhere.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/SelectWhere.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/SelectWhere.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/SelectWhere.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/SelectWhere.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/SelectWhere.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/SelectWhere.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/SelectWhere.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Single.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Single.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Single.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Single.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Single.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Single.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Single.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Single.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Skip.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Skip.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Skip.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Skip.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Skip.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Skip.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Skip.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Skip.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/SkipUntil.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/SkipUntil.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/SkipUntil.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/SkipUntil.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/SkipUntil.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/SkipUntil.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/SkipUntil.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/SkipUntil.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/SkipWhile.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/SkipWhile.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/SkipWhile.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/SkipWhile.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/SkipWhile.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/SkipWhile.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/SkipWhile.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/SkipWhile.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Start.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Start.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Start.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Start.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Start.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Start.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Start.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Start.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/StartWith.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/StartWith.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/StartWith.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/StartWith.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/StartWith.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/StartWith.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/StartWith.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/StartWith.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/SubscribeOn.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/SubscribeOn.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/SubscribeOn.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/SubscribeOn.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/SubscribeOn.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/SubscribeOn.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/SubscribeOn.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/SubscribeOn.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Switch.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Switch.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Switch.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Switch.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Switch.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Switch.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Switch.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Switch.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Synchronize.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Synchronize.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Synchronize.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Synchronize.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Synchronize.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Synchronize.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Synchronize.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Synchronize.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/SynchronizedObserver.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/SynchronizedObserver.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/SynchronizedObserver.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/SynchronizedObserver.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/SynchronizedObserver.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/SynchronizedObserver.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/SynchronizedObserver.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/SynchronizedObserver.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Take.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Take.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Take.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Take.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Take.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Take.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Take.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Take.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/TakeLast.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/TakeLast.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/TakeLast.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/TakeLast.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/TakeLast.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/TakeLast.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/TakeLast.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/TakeLast.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/TakeUntil.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/TakeUntil.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/TakeUntil.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/TakeUntil.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/TakeUntil.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/TakeUntil.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/TakeUntil.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/TakeUntil.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/TakeWhile.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/TakeWhile.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/TakeWhile.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/TakeWhile.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/TakeWhile.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/TakeWhile.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/TakeWhile.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/TakeWhile.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Throttle.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Throttle.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Throttle.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Throttle.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Throttle.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Throttle.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Throttle.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Throttle.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ThrottleFirst.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ThrottleFirst.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ThrottleFirst.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ThrottleFirst.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ThrottleFirst.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ThrottleFirst.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ThrottleFirst.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ThrottleFirst.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Throw.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Throw.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Throw.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Throw.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Throw.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Throw.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Throw.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Throw.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/TimeInterval.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/TimeInterval.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/TimeInterval.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/TimeInterval.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/TimeInterval.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/TimeInterval.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/TimeInterval.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/TimeInterval.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Timeout.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Timeout.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Timeout.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Timeout.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Timeout.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Timeout.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Timeout.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Timeout.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Timer.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Timer.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Timer.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Timer.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Timer.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Timer.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Timer.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Timer.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Timestamp.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Timestamp.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Timestamp.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Timestamp.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Timestamp.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Timestamp.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Timestamp.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Timestamp.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ToArray.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ToArray.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ToArray.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ToArray.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ToArray.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ToArray.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ToArray.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ToArray.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ToList.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ToList.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ToList.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ToList.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ToList.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ToList.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ToList.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ToList.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ToObservable.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ToObservable.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ToObservable.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ToObservable.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ToObservable.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ToObservable.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ToObservable.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ToObservable.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Wait.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Wait.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Wait.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Wait.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Wait.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Wait.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Wait.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Wait.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/WhenAll.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/WhenAll.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/WhenAll.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/WhenAll.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/WhenAll.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/WhenAll.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/WhenAll.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/WhenAll.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Where.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Where.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Where.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Where.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Where.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Where.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Where.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Where.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/WhereSelect.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/WhereSelect.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/WhereSelect.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/WhereSelect.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/WhereSelect.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/WhereSelect.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/WhereSelect.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/WhereSelect.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/WithLatestFrom.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/WithLatestFrom.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/WithLatestFrom.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/WithLatestFrom.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/WithLatestFrom.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/WithLatestFrom.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/WithLatestFrom.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/WithLatestFrom.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Zip.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Zip.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Zip.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Zip.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Zip.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Zip.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/Zip.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/Zip.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ZipLatest.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ZipLatest.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ZipLatest.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ZipLatest.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ZipLatest.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ZipLatest.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Operators/ZipLatest.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Operators/ZipLatest.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Pair.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Pair.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Pair.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Pair.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Pair.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Pair.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Pair.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Pair.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Schedulers.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Schedulers.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Schedulers.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Schedulers.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Schedulers/CurrentThreadScheduler.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Schedulers/CurrentThreadScheduler.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Schedulers/CurrentThreadScheduler.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Schedulers/CurrentThreadScheduler.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Schedulers/CurrentThreadScheduler.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Schedulers/CurrentThreadScheduler.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Schedulers/CurrentThreadScheduler.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Schedulers/CurrentThreadScheduler.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Schedulers/IScheduler.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Schedulers/IScheduler.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Schedulers/IScheduler.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Schedulers/IScheduler.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Schedulers/IScheduler.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Schedulers/IScheduler.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Schedulers/IScheduler.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Schedulers/IScheduler.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Schedulers/ImmediateScheduler.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Schedulers/ImmediateScheduler.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Schedulers/ImmediateScheduler.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Schedulers/ImmediateScheduler.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Schedulers/ImmediateScheduler.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Schedulers/ImmediateScheduler.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Schedulers/ImmediateScheduler.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Schedulers/ImmediateScheduler.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Schedulers/Scheduler.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Schedulers/Scheduler.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Schedulers/Scheduler.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Schedulers/Scheduler.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Schedulers/Scheduler.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Schedulers/Scheduler.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Schedulers/Scheduler.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Schedulers/Scheduler.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Schedulers/ThreadPoolScheduler.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Schedulers/ThreadPoolScheduler.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Schedulers/ThreadPoolScheduler.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Schedulers/ThreadPoolScheduler.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Schedulers/ThreadPoolScheduler.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Schedulers/ThreadPoolScheduler.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Schedulers/ThreadPoolScheduler.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Schedulers/ThreadPoolScheduler.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/AsyncSubject.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/AsyncSubject.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/AsyncSubject.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/AsyncSubject.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/AsyncSubject.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/AsyncSubject.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/AsyncSubject.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/AsyncSubject.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/BehaviorSubject.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/BehaviorSubject.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/BehaviorSubject.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/BehaviorSubject.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/BehaviorSubject.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/BehaviorSubject.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/BehaviorSubject.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/BehaviorSubject.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/ConnectableObservable.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/ConnectableObservable.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/ConnectableObservable.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/ConnectableObservable.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/ConnectableObservable.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/ConnectableObservable.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/ConnectableObservable.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/ConnectableObservable.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/ISubject.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/ISubject.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/ISubject.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/ISubject.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/ISubject.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/ISubject.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/ISubject.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/ISubject.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/ReplaySubject.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/ReplaySubject.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/ReplaySubject.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/ReplaySubject.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/ReplaySubject.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/ReplaySubject.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/ReplaySubject.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/ReplaySubject.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/Subject.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/Subject.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/Subject.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/Subject.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/Subject.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/Subject.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/Subject.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/Subject.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/SubjectExtensions.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/SubjectExtensions.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/SubjectExtensions.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/SubjectExtensions.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/SubjectExtensions.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/SubjectExtensions.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Subjects/SubjectExtensions.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Subjects/SubjectExtensions.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System/IObservable.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System/IObservable.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System/IObservable.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System/IObservable.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System/IObservable.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System/IObservable.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System/IObservable.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System/IObservable.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System/IObserver.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System/IObserver.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System/IObserver.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System/IObserver.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System/IObserver.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System/IObserver.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System/IObserver.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System/IObserver.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System/IOptimizedObservable.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System/IOptimizedObservable.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System/IOptimizedObservable.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System/IOptimizedObservable.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System/IOptimizedObservable.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System/IOptimizedObservable.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System/IOptimizedObservable.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System/IOptimizedObservable.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System/IProgress.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System/IProgress.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System/IProgress.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System/IProgress.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System/IProgress.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System/IProgress.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System/IProgress.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System/IProgress.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System/Tuple.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System/Tuple.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System/Tuple.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System/Tuple.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System/Tuple.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System/Tuple.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System/Tuple.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System/Tuple.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System/Unit.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System/Unit.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System/Unit.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System/Unit.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System/Unit.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System/Unit.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/System/Unit.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/System/Unit.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Tasks.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Tasks.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Tasks.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Tasks.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Tasks/TaskObservableExtensions.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Tasks/TaskObservableExtensions.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Tasks/TaskObservableExtensions.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Tasks/TaskObservableExtensions.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Tasks/TaskObservableExtensions.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Tasks/TaskObservableExtensions.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Tasks/TaskObservableExtensions.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Tasks/TaskObservableExtensions.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/TimeInterval.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/TimeInterval.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/TimeInterval.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/TimeInterval.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/TimeInterval.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/TimeInterval.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/TimeInterval.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/TimeInterval.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Timestamped.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Timestamped.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Timestamped.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Timestamped.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Timestamped.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Timestamped.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/Timestamped.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/Timestamped.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UniRx.asmdef b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UniRx.asmdef similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UniRx.asmdef rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UniRx.asmdef diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UniRx.asmdef.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UniRx.asmdef.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UniRx.asmdef.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UniRx.asmdef.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/AsyncOperationExtensions.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/AsyncOperationExtensions.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/AsyncOperationExtensions.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/AsyncOperationExtensions.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/AsyncOperationExtensions.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/AsyncOperationExtensions.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/AsyncOperationExtensions.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/AsyncOperationExtensions.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/CancellationToken.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/CancellationToken.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/CancellationToken.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/CancellationToken.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/CancellationToken.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/CancellationToken.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/CancellationToken.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/CancellationToken.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/CoroutineAsyncBridge.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/CoroutineAsyncBridge.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/CoroutineAsyncBridge.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/CoroutineAsyncBridge.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/CoroutineAsyncBridge.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/CoroutineAsyncBridge.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/CoroutineAsyncBridge.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/CoroutineAsyncBridge.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/LogEntry.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/LogEntry.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/LogEntry.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/LogEntry.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/LogEntry.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/LogEntry.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/LogEntry.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/LogEntry.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/LogEntryExtensions.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/LogEntryExtensions.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/LogEntryExtensions.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/LogEntryExtensions.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/LogEntryExtensions.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/LogEntryExtensions.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/LogEntryExtensions.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/LogEntryExtensions.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/Logger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/Logger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/Logger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/Logger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/Logger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/Logger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/Logger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/Logger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/ObservableDebugExtensions.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/ObservableDebugExtensions.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/ObservableDebugExtensions.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/ObservableDebugExtensions.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/ObservableDebugExtensions.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/ObservableDebugExtensions.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/ObservableDebugExtensions.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/ObservableDebugExtensions.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/ObservableLogger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/ObservableLogger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/ObservableLogger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/ObservableLogger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/ObservableLogger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/ObservableLogger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/ObservableLogger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/ObservableLogger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/UnityDebugSink.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/UnityDebugSink.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/UnityDebugSink.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/UnityDebugSink.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/UnityDebugSink.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/UnityDebugSink.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/UnityDebugSink.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/UnityDebugSink.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/FrameInterval.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/FrameInterval.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/FrameInterval.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/FrameInterval.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/FrameInterval.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/FrameInterval.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/FrameInterval.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/FrameInterval.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/InspectableReactiveProperty.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/InspectableReactiveProperty.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/InspectableReactiveProperty.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/InspectableReactiveProperty.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/InspectableReactiveProperty.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/InspectableReactiveProperty.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/InspectableReactiveProperty.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/InspectableReactiveProperty.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/InspectorDisplayDrawer.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/InspectorDisplayDrawer.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/InspectorDisplayDrawer.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/InspectorDisplayDrawer.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/InspectorDisplayDrawer.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/InspectorDisplayDrawer.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/InspectorDisplayDrawer.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/InspectorDisplayDrawer.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/LifetimeDisposableExtensions.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/LifetimeDisposableExtensions.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/LifetimeDisposableExtensions.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/LifetimeDisposableExtensions.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/LifetimeDisposableExtensions.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/LifetimeDisposableExtensions.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/LifetimeDisposableExtensions.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/LifetimeDisposableExtensions.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/MainThreadDispatcher.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/MainThreadDispatcher.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/MainThreadDispatcher.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/MainThreadDispatcher.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/MainThreadDispatcher.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/MainThreadDispatcher.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/MainThreadDispatcher.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/MainThreadDispatcher.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/MainThreadScheduler.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/MainThreadScheduler.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/MainThreadScheduler.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/MainThreadScheduler.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/MainThreadScheduler.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/MainThreadScheduler.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/MainThreadScheduler.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/MainThreadScheduler.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Observable.Unity.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Observable.Unity.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Observable.Unity.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Observable.Unity.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Observable.Unity.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Observable.Unity.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Observable.Unity.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Observable.Unity.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ObservableWWW.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ObservableWWW.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ObservableWWW.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ObservableWWW.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ObservableWWW.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ObservableWWW.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ObservableWWW.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ObservableWWW.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ObserveExtensions.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ObserveExtensions.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ObserveExtensions.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ObserveExtensions.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ObserveExtensions.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ObserveExtensions.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ObserveExtensions.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ObserveExtensions.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/BatchFrame.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/BatchFrame.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/BatchFrame.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/BatchFrame.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/BatchFrame.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/BatchFrame.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/BatchFrame.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/BatchFrame.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/DelayFrame.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/DelayFrame.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/DelayFrame.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/DelayFrame.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/DelayFrame.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/DelayFrame.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/DelayFrame.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/DelayFrame.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/DelayFrameSubscription.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/DelayFrameSubscription.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/DelayFrameSubscription.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/DelayFrameSubscription.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/DelayFrameSubscription.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/DelayFrameSubscription.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/DelayFrameSubscription.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/DelayFrameSubscription.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/FrameInterval.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/FrameInterval.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/FrameInterval.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/FrameInterval.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/FrameInterval.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/FrameInterval.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/FrameInterval.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/FrameInterval.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/FrameTimeInterval.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/FrameTimeInterval.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/FrameTimeInterval.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/FrameTimeInterval.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/FrameTimeInterval.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/FrameTimeInterval.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/FrameTimeInterval.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/FrameTimeInterval.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/FromCoroutine.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/FromCoroutine.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/FromCoroutine.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/FromCoroutine.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/FromCoroutine.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/FromCoroutine.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/FromCoroutine.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/FromCoroutine.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/RepeatUntil.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/RepeatUntil.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/RepeatUntil.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/RepeatUntil.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/RepeatUntil.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/RepeatUntil.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/RepeatUntil.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/RepeatUntil.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/SampleFrame.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/SampleFrame.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/SampleFrame.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/SampleFrame.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/SampleFrame.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/SampleFrame.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/SampleFrame.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/SampleFrame.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/SubscribeOnMainThread.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/SubscribeOnMainThread.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/SubscribeOnMainThread.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/SubscribeOnMainThread.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/SubscribeOnMainThread.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/SubscribeOnMainThread.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/SubscribeOnMainThread.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/SubscribeOnMainThread.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/ThrottleFirstFrame.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/ThrottleFirstFrame.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/ThrottleFirstFrame.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/ThrottleFirstFrame.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/ThrottleFirstFrame.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/ThrottleFirstFrame.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/ThrottleFirstFrame.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/ThrottleFirstFrame.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/ThrottleFrame.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/ThrottleFrame.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/ThrottleFrame.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/ThrottleFrame.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/ThrottleFrame.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/ThrottleFrame.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/ThrottleFrame.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/ThrottleFrame.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/TimeoutFrame.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/TimeoutFrame.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/TimeoutFrame.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/TimeoutFrame.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/TimeoutFrame.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/TimeoutFrame.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/TimeoutFrame.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Operators/TimeoutFrame.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveCollection.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveCollection.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveCollection.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveCollection.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveCollection.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveCollection.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveCollection.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveCollection.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveCommand.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveCommand.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveCommand.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveCommand.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveCommand.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveCommand.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveCommand.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveCommand.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveDictionary.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveDictionary.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveDictionary.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveDictionary.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveDictionary.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveDictionary.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveDictionary.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveDictionary.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveProperty.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveProperty.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveProperty.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveProperty.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveProperty.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveProperty.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveProperty.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveProperty.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ScenePlaybackDetector.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ScenePlaybackDetector.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ScenePlaybackDetector.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ScenePlaybackDetector.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ScenePlaybackDetector.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ScenePlaybackDetector.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ScenePlaybackDetector.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/ScenePlaybackDetector.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Toolkit.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Toolkit.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Toolkit.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Toolkit.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Toolkit/ObjectPool.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Toolkit/ObjectPool.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Toolkit/ObjectPool.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Toolkit/ObjectPool.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Toolkit/ObjectPool.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Toolkit/ObjectPool.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Toolkit/ObjectPool.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Toolkit/ObjectPool.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableAnimatorTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableAnimatorTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableAnimatorTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableAnimatorTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableAnimatorTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableAnimatorTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableAnimatorTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableAnimatorTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableBeginDragTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableBeginDragTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableBeginDragTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableBeginDragTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableBeginDragTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableBeginDragTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableBeginDragTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableBeginDragTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCancelTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCancelTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCancelTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCancelTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCancelTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCancelTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCancelTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCancelTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCanvasGroupChangedTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCanvasGroupChangedTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCanvasGroupChangedTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCanvasGroupChangedTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCanvasGroupChangedTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCanvasGroupChangedTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCanvasGroupChangedTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCanvasGroupChangedTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCollision2DTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCollision2DTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCollision2DTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCollision2DTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCollision2DTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCollision2DTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCollision2DTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCollision2DTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCollisionTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCollisionTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCollisionTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCollisionTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCollisionTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCollisionTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCollisionTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableCollisionTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDeselectTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDeselectTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDeselectTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDeselectTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDeselectTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDeselectTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDeselectTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDeselectTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDestroyTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDestroyTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDestroyTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDestroyTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDestroyTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDestroyTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDestroyTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDestroyTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDragTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDragTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDragTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDragTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDragTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDragTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDragTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDragTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDropTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDropTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDropTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDropTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDropTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDropTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDropTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableDropTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableEnableTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableEnableTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableEnableTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableEnableTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableEnableTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableEnableTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableEnableTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableEnableTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableEndDragTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableEndDragTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableEndDragTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableEndDragTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableEndDragTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableEndDragTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableEndDragTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableEndDragTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableEventTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableEventTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableEventTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableEventTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableEventTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableEventTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableEventTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableEventTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableFixedUpdateTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableFixedUpdateTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableFixedUpdateTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableFixedUpdateTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableFixedUpdateTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableFixedUpdateTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableFixedUpdateTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableFixedUpdateTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableInitializePotentialDragTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableInitializePotentialDragTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableInitializePotentialDragTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableInitializePotentialDragTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableInitializePotentialDragTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableInitializePotentialDragTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableInitializePotentialDragTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableInitializePotentialDragTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableJointTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableJointTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableJointTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableJointTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableJointTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableJointTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableJointTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableJointTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableLateUpdateTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableLateUpdateTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableLateUpdateTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableLateUpdateTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableLateUpdateTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableLateUpdateTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableLateUpdateTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableLateUpdateTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableMouseTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableMouseTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableMouseTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableMouseTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableMouseTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableMouseTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableMouseTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableMouseTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableMoveTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableMoveTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableMoveTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableMoveTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableMoveTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableMoveTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableMoveTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableMoveTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableParticleTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableParticleTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableParticleTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableParticleTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableParticleTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableParticleTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableParticleTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableParticleTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerClickTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerClickTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerClickTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerClickTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerClickTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerClickTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerClickTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerClickTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerDownTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerDownTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerDownTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerDownTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerDownTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerDownTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerDownTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerDownTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerEnterTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerEnterTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerEnterTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerEnterTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerEnterTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerEnterTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerEnterTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerEnterTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerExitTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerExitTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerExitTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerExitTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerExitTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerExitTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerExitTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerExitTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerUpTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerUpTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerUpTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerUpTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerUpTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerUpTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerUpTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservablePointerUpTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableRectTransformTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableRectTransformTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableRectTransformTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableRectTransformTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableRectTransformTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableRectTransformTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableRectTransformTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableRectTransformTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableScrollTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableScrollTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableScrollTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableScrollTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableScrollTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableScrollTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableScrollTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableScrollTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableSelectTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableSelectTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableSelectTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableSelectTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableSelectTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableSelectTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableSelectTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableSelectTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableStateMachineTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableStateMachineTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableStateMachineTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableStateMachineTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableStateMachineTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableStateMachineTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableStateMachineTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableStateMachineTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableSubmitTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableSubmitTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableSubmitTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableSubmitTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableSubmitTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableSubmitTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableSubmitTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableSubmitTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTransformChangedTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTransformChangedTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTransformChangedTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTransformChangedTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTransformChangedTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTransformChangedTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTransformChangedTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTransformChangedTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTrigger2DTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTrigger2DTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTrigger2DTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTrigger2DTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTrigger2DTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTrigger2DTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTrigger2DTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTrigger2DTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerBase.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerBase.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerBase.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerBase.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerBase.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerBase.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerBase.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerBase.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerExtensions.Component.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerExtensions.Component.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerExtensions.Component.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerExtensions.Component.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerExtensions.Component.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerExtensions.Component.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerExtensions.Component.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerExtensions.Component.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerExtensions.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerExtensions.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerExtensions.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerExtensions.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerExtensions.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerExtensions.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerExtensions.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerExtensions.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableTriggerTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableUpdateSelectedTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableUpdateSelectedTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableUpdateSelectedTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableUpdateSelectedTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableUpdateSelectedTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableUpdateSelectedTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableUpdateSelectedTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableUpdateSelectedTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableUpdateTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableUpdateTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableUpdateTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableUpdateTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableUpdateTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableUpdateTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableUpdateTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableUpdateTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableVisibleTrigger.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableVisibleTrigger.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableVisibleTrigger.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableVisibleTrigger.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableVisibleTrigger.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableVisibleTrigger.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableVisibleTrigger.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/Triggers/ObservableVisibleTrigger.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/UnityEventExtensions.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/UnityEventExtensions.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/UnityEventExtensions.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/UnityEventExtensions.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/UnityEventExtensions.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/UnityEventExtensions.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/UnityEventExtensions.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/UnityEventExtensions.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/UnityGraphicExtensions.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/UnityGraphicExtensions.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/UnityGraphicExtensions.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/UnityGraphicExtensions.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/UnityGraphicExtensions.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/UnityGraphicExtensions.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/UnityGraphicExtensions.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/UnityGraphicExtensions.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/UnityUIComponentExtensions.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/UnityUIComponentExtensions.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/UnityUIComponentExtensions.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/UnityUIComponentExtensions.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/UnityUIComponentExtensions.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/UnityUIComponentExtensions.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/UnityUIComponentExtensions.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/UnityUIComponentExtensions.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/YieldInstructionCache.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/YieldInstructionCache.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/YieldInstructionCache.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/YieldInstructionCache.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/YieldInstructionCache.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/YieldInstructionCache.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/YieldInstructionCache.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityEngineBridge/YieldInstructionCache.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityWinRTBridge.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityWinRTBridge.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityWinRTBridge.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityWinRTBridge.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityWinRTBridge/Thread.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityWinRTBridge/Thread.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityWinRTBridge/Thread.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityWinRTBridge/Thread.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityWinRTBridge/Thread.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityWinRTBridge/Thread.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityWinRTBridge/Thread.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityWinRTBridge/Thread.cs.meta diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityWinRTBridge/ThreadPoolScheduler_UnityWinRT.cs b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityWinRTBridge/ThreadPoolScheduler_UnityWinRT.cs similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityWinRTBridge/ThreadPoolScheduler_UnityWinRT.cs rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityWinRTBridge/ThreadPoolScheduler_UnityWinRT.cs diff --git a/Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityWinRTBridge/ThreadPoolScheduler_UnityWinRT.cs.meta b/Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityWinRTBridge/ThreadPoolScheduler_UnityWinRT.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Plugins/UniRx/Scripts/UnityWinRTBridge/ThreadPoolScheduler_UnityWinRT.cs.meta rename to Assets/Packages/ARKitFacialControl/Plugins/UniRx/Scripts/UnityWinRTBridge/ThreadPoolScheduler_UnityWinRT.cs.meta diff --git a/Assets/Plugins/ZeroFormatter.meta b/Assets/Packages/ARKitFacialControl/Plugins/ZeroFormatter.meta similarity index 100% rename from Assets/Plugins/ZeroFormatter.meta rename to Assets/Packages/ARKitFacialControl/Plugins/ZeroFormatter.meta diff --git a/Assets/Packages/ARKitFacialControl/Plugins/ZeroFormatter/LICENSE.md b/Assets/Packages/ARKitFacialControl/Plugins/ZeroFormatter/LICENSE.md new file mode 100644 index 0000000..40ba3c6 --- /dev/null +++ b/Assets/Packages/ARKitFacialControl/Plugins/ZeroFormatter/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2016 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/Assets/record_2020-17-7--06-12-25.bytes.meta b/Assets/Packages/ARKitFacialControl/Plugins/ZeroFormatter/LICENSE.md.meta similarity index 75% rename from Assets/record_2020-17-7--06-12-25.bytes.meta rename to Assets/Packages/ARKitFacialControl/Plugins/ZeroFormatter/LICENSE.md.meta index d6f84dd..85f16a5 100644 --- a/Assets/record_2020-17-7--06-12-25.bytes.meta +++ b/Assets/Packages/ARKitFacialControl/Plugins/ZeroFormatter/LICENSE.md.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: af2052e533778834ebc4e2816bc6ca83 +guid: ff5d6523c4cd1b74aa26f2660ce2e960 TextScriptImporter: externalObjects: {} userData: diff --git a/Assets/Plugins/ZeroFormatter/ZeroFormatter.Interfaces.dll b/Assets/Packages/ARKitFacialControl/Plugins/ZeroFormatter/ZeroFormatter.Interfaces.dll similarity index 100% rename from Assets/Plugins/ZeroFormatter/ZeroFormatter.Interfaces.dll rename to Assets/Packages/ARKitFacialControl/Plugins/ZeroFormatter/ZeroFormatter.Interfaces.dll diff --git a/Assets/Plugins/ZeroFormatter/ZeroFormatter.Interfaces.dll.meta b/Assets/Packages/ARKitFacialControl/Plugins/ZeroFormatter/ZeroFormatter.Interfaces.dll.meta similarity index 100% rename from Assets/Plugins/ZeroFormatter/ZeroFormatter.Interfaces.dll.meta rename to Assets/Packages/ARKitFacialControl/Plugins/ZeroFormatter/ZeroFormatter.Interfaces.dll.meta diff --git a/Assets/Plugins/ZeroFormatter/ZeroFormatter.dll b/Assets/Packages/ARKitFacialControl/Plugins/ZeroFormatter/ZeroFormatter.dll similarity index 100% rename from Assets/Plugins/ZeroFormatter/ZeroFormatter.dll rename to Assets/Packages/ARKitFacialControl/Plugins/ZeroFormatter/ZeroFormatter.dll diff --git a/Assets/Plugins/ZeroFormatter/ZeroFormatter.dll.meta b/Assets/Packages/ARKitFacialControl/Plugins/ZeroFormatter/ZeroFormatter.dll.meta similarity index 100% rename from Assets/Plugins/ZeroFormatter/ZeroFormatter.dll.meta rename to Assets/Packages/ARKitFacialControl/Plugins/ZeroFormatter/ZeroFormatter.dll.meta diff --git a/Assets/ProjectBlue.meta b/Assets/Packages/ARKitFacialControl/SampleRecordData.meta similarity index 77% rename from Assets/ProjectBlue.meta rename to Assets/Packages/ARKitFacialControl/SampleRecordData.meta index 07198ba..4a46a1c 100644 --- a/Assets/ProjectBlue.meta +++ b/Assets/Packages/ARKitFacialControl/SampleRecordData.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ed3299e5e8df04e40b47dd44d00fa27f +guid: e5f1ba63ddb73a842b1ef9182159ba43 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Packages/ARKitFacialControl/SampleRecordData/FaceCapture_2020-19-7-17-03-23.bytes b/Assets/Packages/ARKitFacialControl/SampleRecordData/FaceCapture_2020-19-7-17-03-23.bytes new file mode 100644 index 0000000..8a7918e Binary files /dev/null and b/Assets/Packages/ARKitFacialControl/SampleRecordData/FaceCapture_2020-19-7-17-03-23.bytes differ diff --git a/Assets/record_2020-17-7--23-17-10.bytes.meta b/Assets/Packages/ARKitFacialControl/SampleRecordData/FaceCapture_2020-19-7-17-03-23.bytes.meta similarity index 75% rename from Assets/record_2020-17-7--23-17-10.bytes.meta rename to Assets/Packages/ARKitFacialControl/SampleRecordData/FaceCapture_2020-19-7-17-03-23.bytes.meta index afa51fc..c4fd93f 100644 --- a/Assets/record_2020-17-7--23-17-10.bytes.meta +++ b/Assets/Packages/ARKitFacialControl/SampleRecordData/FaceCapture_2020-19-7-17-03-23.bytes.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 28ba1199e4a422b43a47607a75b3a8b1 +guid: 98c2a1e6646fc8148995b8ebcbf67527 TextScriptImporter: externalObjects: {} userData: diff --git a/Assets/Scenes.meta b/Assets/Packages/ARKitFacialControl/Scenes.meta similarity index 100% rename from Assets/Scenes.meta rename to Assets/Packages/ARKitFacialControl/Scenes.meta diff --git a/Assets/Scenes/PlayerScene.unity b/Assets/Packages/ARKitFacialControl/Scenes/PlayerScene.unity similarity index 54% rename from Assets/Scenes/PlayerScene.unity rename to Assets/Packages/ARKitFacialControl/Scenes/PlayerScene.unity index fe2c136..9f055a4 100644 --- a/Assets/Scenes/PlayerScene.unity +++ b/Assets/Packages/ARKitFacialControl/Scenes/PlayerScene.unity @@ -121,7 +121,7 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} ---- !u!1 &509261946 +--- !u!1 &762458580 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -129,8 +129,8 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 509261948} - - component: {fileID: 509261947} + - component: {fileID: 762458582} + - component: {fileID: 762458581} m_Layer: 0 m_Name: Directional Light m_TagString: Untagged @@ -138,18 +138,18 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!108 &509261947 +--- !u!108 &762458581 Light: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 509261946} + m_GameObject: {fileID: 762458580} m_Enabled: 1 serializedVersion: 10 m_Type: 1 m_Shape: 0 - m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Color: {r: 1, g: 1, b: 1, a: 1} m_Intensity: 1 m_Range: 10 m_SpotAngle: 30 @@ -199,325 +199,97 @@ Light: m_UseBoundingSphereOverride: 0 m_ShadowRadius: 0 m_ShadowAngle: 0 ---- !u!4 &509261948 +--- !u!4 &762458582 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 509261946} - m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_GameObject: {fileID: 762458580} + m_LocalRotation: {x: 0.0003739196, y: -0.9932669, z: 0.115803406, w: 0.0032071767} 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: -30, z: 0} ---- !u!1001 &648859982 -PrefabInstance: + m_LocalEulerAnglesHint: {x: 13.3, y: -179.63, z: 0} +--- !u!1 &889356286 +GameObject: m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[7] - value: 3.8941357 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[8] - value: 4.012761 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[9] - value: 11.9318905 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[10] - value: 20.885775 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[11] - value: 2.7158425 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[12] - value: 3.1105242 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[13] - value: 23.58843 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[14] - value: 22.922976 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[15] - value: 2.2817588 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[16] - value: 0.0000016052243 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[17] - value: 3.4706779 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[18] - value: 4.1368513 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[19] - value: 8.626125 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[20] - value: 7.6959124 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[21] - value: 23.790367 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[22] - value: 18.475065 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[23] - value: 0.00001889338 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[24] - value: 0.000038706632 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[25] - value: 16.762732 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[26] - value: 5.111379 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[27] - value: 0.00000620393 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[28] - value: 34.155785 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[29] - value: 4.0737376 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[30] - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[31] - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[33] - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[34] - value: 1.941265 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[38] - value: 9.462198 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[39] - value: 9.473887 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[40] - value: 0.12467127 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[41] - value: 0.12481242 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[42] - value: 1.2549305 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[43] - value: 1.2548037 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[48] - value: 3.0874246e-14 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[49] - value: 7.5979114 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[50] - value: 7.117327 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[51] - value: 14.705342 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[32] - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[35] - value: 9.830518 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[36] - value: 13.038264 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[37] - value: 12.983076 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[5] - value: 8.384114 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[6] - value: 10.737969 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[44] - value: 3.0689435 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[45] - value: 2.537163 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[46] - value: 3.7259798 - objectReference: {fileID: 0} - - target: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_BlendShapeWeights.Array.data[47] - value: 3.3734753 - objectReference: {fileID: 0} - - target: {fileID: 9146872230401571495, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_LocalPosition.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 9146872230401571495, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9146872230401571495, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9146872230401571495, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9146872230401571495, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9146872230401571495, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9146872230401571495, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 9146872230401571495, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 9146872230401571495, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9146872230401571495, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9146872230401571495, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9146872230402057927, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_Name - value: Else2019_Animation - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, type: 3} ---- !u!1 &731445426 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 889356289} + - component: {fileID: 889356288} + - component: {fileID: 889356287} + m_Layer: 0 + m_Name: Timeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!95 &889356287 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 889356286} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 0} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!320 &889356288 +PlayableDirector: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 889356286} + m_Enabled: 1 + serializedVersion: 3 + m_PlayableAsset: {fileID: 11400000, guid: 6ac1397648ed21e4494e4dd2c8dae697, type: 2} + m_InitialState: 1 + m_WrapMode: 0 + m_DirectorUpdateMode: 1 + m_InitialTime: 0 + m_SceneBindings: + - key: {fileID: -6858008350627344047, guid: 6ac1397648ed21e4494e4dd2c8dae697, type: 2} + value: {fileID: 0} + - key: {fileID: -765093816240913841, guid: 6ac1397648ed21e4494e4dd2c8dae697, type: 2} + value: {fileID: 0} + m_ExposedReferences: + m_References: + - 45bfd6c1ffc50b14f96eb015cd09a30f: {fileID: 1792475852} + - 44bcfafd18f70314ea17ca24f8441567: {fileID: 1792475852} + - f9a3251d9dd61004c98878f84ec7fc12: {fileID: 1792475852} + - 2276f32c58f651948af9387d486fdc5d: {fileID: 1792475852} +--- !u!4 &889356289 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 889356286} + 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 &1472096725 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -525,9 +297,9 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 731445429} - - component: {fileID: 731445428} - - component: {fileID: 731445427} + - component: {fileID: 1472096728} + - component: {fileID: 1472096727} + - component: {fileID: 1472096726} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -535,25 +307,25 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!81 &731445427 +--- !u!81 &1472096726 AudioListener: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 731445426} + m_GameObject: {fileID: 1472096725} m_Enabled: 1 ---- !u!20 &731445428 +--- !u!20 &1472096727 Camera: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 731445426} + m_GameObject: {fileID: 1472096725} m_Enabled: 1 serializedVersion: 2 m_ClearFlags: 2 - m_BackGroundColor: {r: 0.066037714, g: 0.066037714, b: 0.066037714, a: 0} + m_BackGroundColor: {r: 0.05660379, g: 0.05660379, b: 0.05660379, a: 0} m_projectionMatrixMode: 1 m_GateFitMode: 2 m_FOVAxisMode: 0 @@ -568,9 +340,9 @@ Camera: height: 1 near clip plane: 0.3 far clip plane: 1000 - field of view: 60 + field of view: 45.4 orthographic: 1 - orthographic size: 0.17 + orthographic size: 2.2 m_Depth: -1 m_CullingMask: serializedVersion: 2 @@ -586,21 +358,21 @@ Camera: m_OcclusionCulling: 1 m_StereoConvergence: 10 m_StereoSeparation: 0.022 ---- !u!4 &731445429 +--- !u!4 &1472096728 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 731445426} + m_GameObject: {fileID: 1472096725} m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} - m_LocalPosition: {x: 0, y: 1.27, z: 1} + m_LocalPosition: {x: 0, y: 0.16, z: 3.6} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} ---- !u!1 &1652945722 +--- !u!1 &1792475852 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -608,146 +380,96 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1652945725} - - component: {fileID: 1652945724} - - component: {fileID: 1652945723} + - component: {fileID: 1792475855} + - component: {fileID: 1792475854} + - component: {fileID: 1792475853} m_Layer: 0 - m_Name: Timeline + m_Name: FacePlayer m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!95 &1652945723 -Animator: - serializedVersion: 3 +--- !u!114 &1792475853 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1652945722} + m_GameObject: {fileID: 1792475852} m_Enabled: 1 - m_Avatar: {fileID: 0} - m_Controller: {fileID: 0} - m_CullingMode: 0 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorControllerStateOnDisable: 0 ---- !u!320 &1652945724 -PlayableDirector: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1652945722} - m_Enabled: 1 - serializedVersion: 3 - m_PlayableAsset: {fileID: 11400000, guid: 99b0ad5841b3e094497f356df44add6c, type: 2} - m_InitialState: 1 - m_WrapMode: 2 - m_DirectorUpdateMode: 1 - m_InitialTime: 0 - m_SceneBindings: - - key: {fileID: -5888494274551063534, guid: 99b0ad5841b3e094497f356df44add6c, type: 2} - value: {fileID: 0} - m_ExposedReferences: - m_References: - - ad9810dc4ed9a2b488d85a9eeff7f547: {fileID: 1655002519} - - 337585834b576d1448c12084bcfa2153: {fileID: 1655002519} ---- !u!4 &1652945725 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1652945722} - 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 &1655002519 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 9146872230402059571, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - m_PrefabInstance: {fileID: 648859982} - m_PrefabAsset: {fileID: 0} ---- !u!114 &1655002520 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a0ff958bf3b51274aac783962fc4d1a1, type: 3} + m_Name: + m_EditorClassIdentifier: + facialControl: {fileID: 1792475854} + asset: {fileID: 4900000, guid: 98c2a1e6646fc8148995b8ebcbf67527, type: 3} +--- !u!114 &1792475854 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1655002519} + m_GameObject: {fileID: 1792475852} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 8439459483d6c8541b7e81b63c2c3d45, type: 3} m_Name: m_EditorClassIdentifier: - port: 8888 - skin: {fileID: 1655002523} - text: {fileID: 0} + skin: {fileID: 1869528874} blendShapeList: - None - - else_blendshape.eye_batsume - - else_blendshape.Face_laugh - - else_blendshape.Face_puku - - else_blendshape.Face_awawa - - else_blendshape.Face_nipa - - else_blendshape.noseSneerRight - - else_blendshape.noseSneerLeft - - else_blendshape.mouthUpperUpRight - - else_blendshape.mouthUpperUpLeft - - else_blendshape.mouthLowerDownRight - - else_blendshape.mouthLowerDownLeft - - else_blendshape.mouthPressRight - - else_blendshape.mouthPressLeft - - else_blendshape.mouthStretchRight - - else_blendshape.mouthStretchLeft - - else_blendshape.mouthRight - - else_blendshape.mouthLeft - - else_blendshape.mouthDimpleRight - - else_blendshape.mouthDimpleLeft - - else_blendshape.mouthFrownRight - - else_blendshape.mouthFrownLeft - - else_blendshape.mouthFunnel - - else_blendshape.mouthPucker - - else_blendshape.mouthSmileRight - - else_blendshape.mouthSmileLeft - - else_blendshape.mouthClose - - else_blendshape.jawRight - - else_blendshape.jawLeft - - else_blendshape.jawOpen - - else_blendshape.jawForward - - else_blendshape.eyeLookUpRight - - else_blendshape.eyeLookUpLeft - - else_blendshape.eyeLookOutRight - - else_blendshape.eyeLookOutLeft - - else_blendshape.eyeLookInRight - - else_blendshape.eyeLookInLeft - - else_blendshape.eyeLookDownRight - - else_blendshape.eyeLookDownLeft - - else_blendshape.eyeSquintRight - - else_blendshape.eyeSquintLeft - - else_blendshape.eyeWideRight - - else_blendshape.eyeWideLeft - - else_blendshape.eyeBlinkRight - - else_blendshape.eyeBlinkLeft - - else_blendshape.cheekSquintRight - - else_blendshape.cheekSquintLeft - - else_blendshape.cheekPuff - - else_blendshape.browOuterUpRight - - else_blendshape.browOuterUpLeft - - else_blendshape.browDownRight - - else_blendshape.browDownLeft - - else_blendshape.browInnerUp - indexList: 060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f00000030000000310000003200000033000000340000000000000000000000000000000000000000000000 + - blendShape2.eyeBlink_L + - blendShape2.eyeLookDown_L + - blendShape2.eyeLookIn_L + - blendShape2.eyeLookOut_L + - blendShape2.eyeLookUp_L + - blendShape2.eyeSquint_L + - blendShape2.eyeWide_L + - blendShape2.eyeBlink_R + - blendShape2.eyeLookDown_R + - blendShape2.eyeLookIn_R + - blendShape2.eyeLookOut_R + - blendShape2.eyeLookUp_R + - blendShape2.eyeWide_R + - blendShape2.jawForward + - blendShape2.jawLeft + - blendShape2.jawOpen + - blendShape2.jawRight + - blendShape2.mouthPucker + - blendShape2.mouthFunnel + - blendShape2.mouthClose + - blendShape2.mouthSmile_R + - blendShape2.mouthLeft + - blendShape2.mouthRight + - blendShape2.mouthSmile_L + - blendShape2.mouthFrown_R + - blendShape2.mouthFrown_L + - blendShape2.mouthDimple_L + - blendShape2.mouthDimple_R + - blendShape2.mouthStretch_R + - blendShape2.mouthStretch_L + - blendShape2.mouthRollUpper + - blendShape2.mouthRollLower + - blendShape2.mouthShrugUpper + - blendShape2.mouthShrugLower + - blendShape2.mouthPress_L + - blendShape2.mouthPress_R + - blendShape2.mouthLowerDown_L + - blendShape2.mouthLowerDown_R + - blendShape2.mouthUpperUp_R + - blendShape2.mouthUpperUp_L + - blendShape2.browDown_L + - blendShape2.browDown_R + - blendShape2.browInnerUp + - blendShape2.browOuterUp_R + - blendShape2.browOuterUp_L + - blendShape2.cheekPuff + - blendShape2.cheekSquint_L + - blendShape2.cheekSquint_R + - blendShape2.noseSneer_L + - blendShape2.noseSneer_R + indexList: 32000000310000002700000028000000260000002500000024000000230000001d0000001e00000017000000160000001c0000001b000000190000001a0000001300000012000000150000001800000014000000110000000f000000100000000e0000000c000000050000000b000000040000000a00000003000000090000000200000000000000060000000d000000070000000800000001000000300000002f0000002e0000002c0000002d0000002a000000290000002b0000000000000000000000000000000000000000000000 strengthMultiplierList: - 1 - 1 @@ -801,23 +523,372 @@ MonoBehaviour: - 1 - 1 - 1 ---- !u!114 &1655002521 -MonoBehaviour: +--- !u!4 &1792475855 +Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1655002519} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a0ff958bf3b51274aac783962fc4d1a1, type: 3} - m_Name: - m_EditorClassIdentifier: - facialControl: {fileID: 1655002520} - asset: {fileID: 4900000, guid: 789758fd74d69c84a8d2f713ff4771f3, type: 3} ---- !u!137 &1655002523 stripped + m_GameObject: {fileID: 1792475852} + 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: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1869528873 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalScale.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalScale.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalScale.z + value: 100 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.size + value: 50 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_AABB.m_Center.y + value: -0.0015557217 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_AABB.m_Extent.x + value: 0.0113363005 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_AABB.m_Extent.y + value: 0.013194084 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_AABB.m_Extent.z + value: 0.0133940475 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_DirtyAABB + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[1] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[2] + value: 4.668231 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[5] + value: 11.70104 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[6] + value: 1.3247651 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[7] + value: 0.30870324 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[8] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[9] + value: 6.4812 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[12] + value: 1.3370571 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[13] + value: 2.7543197 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[14] + value: 0.00000010384258 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[15] + value: 3.3539004 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[16] + value: 0.86925083 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[17] + value: 5.932465 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[18] + value: 5.4026594 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[19] + value: 2.884279 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[20] + value: 0.32277584 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[21] + value: 0.62867975 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[22] + value: 0.00000045174798 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[23] + value: 2.0148506 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[24] + value: 0.149765 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[25] + value: 0.000020153506 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[26] + value: 8.749941 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[27] + value: 8.180113 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[28] + value: 21.932816 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[29] + value: 19.71526 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[34] + value: 5.2985096 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[35] + value: 4.6794405 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[36] + value: 4.129877 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[37] + value: 4.8231897 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[38] + value: 2.3383868 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[39] + value: 2.4283462 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[40] + value: 0.05879717 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[41] + value: 0.058576558 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[42] + value: 24.706741 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[43] + value: 3.2518222 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[44] + value: 3.1539857 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[45] + value: 5.250906 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[46] + value: 4.693918 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[47] + value: 4.5603724 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[48] + value: 11.200872 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[49] + value: 11.159108 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[4] + value: 11.823413 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[10] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[11] + value: 11.762678 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[3] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[0] + value: 0.31114736 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 0eafc0c8e166e4cd2b0f64b71fda0c45, type: 2} + - target: {fileID: 919132149155446097, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_Name + value: sloth_head_blendshapes5 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 203593b6d31641148905039b663e43d9, type: 3} +--- !u!137 &1869528874 stripped SkinnedMeshRenderer: - m_CorrespondingSourceObject: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, + m_CorrespondingSourceObject: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, type: 3} - m_PrefabInstance: {fileID: 648859982} + m_PrefabInstance: {fileID: 1869528873} m_PrefabAsset: {fileID: 0} diff --git a/Assets/Scenes/PlayerScene.unity.meta b/Assets/Packages/ARKitFacialControl/Scenes/PlayerScene.unity.meta similarity index 74% rename from Assets/Scenes/PlayerScene.unity.meta rename to Assets/Packages/ARKitFacialControl/Scenes/PlayerScene.unity.meta index 9215a8c..d88e004 100644 --- a/Assets/Scenes/PlayerScene.unity.meta +++ b/Assets/Packages/ARKitFacialControl/Scenes/PlayerScene.unity.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 6b46f639467eb554abeb2b40b0f1ba4b +guid: 1aca12afd7b927c4ab8468d04c8f09d8 DefaultImporter: externalObjects: {} userData: diff --git a/Assets/Scenes/RecorderScene.unity b/Assets/Packages/ARKitFacialControl/Scenes/RecorderScene.unity similarity index 50% rename from Assets/Scenes/RecorderScene.unity rename to Assets/Packages/ARKitFacialControl/Scenes/RecorderScene.unity index 0170fbf..add932b 100644 --- a/Assets/Scenes/RecorderScene.unity +++ b/Assets/Packages/ARKitFacialControl/Scenes/RecorderScene.unity @@ -157,7 +157,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 10, y: -10} - m_SizeDelta: {x: 456.28, y: 720} + m_SizeDelta: {x: 412, y: 720} m_Pivot: {x: 0, y: 1} --- !u!114 &159805408 MonoBehaviour: @@ -172,7 +172,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: logText: {fileID: 159805409} - numHoldLines: 40 + numHoldLines: 5 --- !u!114 &159805409 MonoBehaviour: m_ObjectHideFlags: 0 @@ -186,7 +186,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: 0, b: 0, a: 1} + m_Color: {r: 0, g: 1, b: 0.94509804, a: 1} m_RaycastTarget: 1 m_Maskable: 1 m_OnCullStateChanged: @@ -194,7 +194,7 @@ MonoBehaviour: m_Calls: [] m_FontData: m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 11 + m_FontSize: 20 m_FontStyle: 0 m_BestFit: 0 m_MinSize: 1 @@ -278,7 +278,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 4 + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &257939306 GameObject: @@ -293,7 +293,7 @@ GameObject: - component: {fileID: 257939309} - component: {fileID: 257939308} m_Layer: 5 - m_Name: Button (1) + m_Name: StopButton m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -312,11 +312,11 @@ RectTransform: m_Children: - {fileID: 1938635957} m_Father: {fileID: 805685975} - m_RootOrder: 3 + 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: 1139.4, y: -692.7} + m_AnchoredPosition: {x: 1155.6, y: -692.7} m_SizeDelta: {x: 160, y: 30} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &257939308 @@ -477,7 +477,7 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 433191390} m_CullTransparentMesh: 0 ---- !u!1 &450788683 +--- !u!1 &445564316 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -485,47 +485,47 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 450788684} - - component: {fileID: 450788687} - - component: {fileID: 450788686} - - component: {fileID: 450788685} + - component: {fileID: 445564317} + - component: {fileID: 445564320} + - component: {fileID: 445564319} + - component: {fileID: 445564318} m_Layer: 5 - m_Name: Button + m_Name: Scrollbar Vertical m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &450788684 +--- !u!224 &445564317 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 450788683} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} + m_GameObject: {fileID: 445564316} + 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: 433191391} - m_Father: {fileID: 805685975} - m_RootOrder: 2 + - {fileID: 1771508734} + m_Father: {fileID: 986663992} + 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: 944.99, y: -692.7} - m_SizeDelta: {x: 160, y: 30} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &450788685 + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 10, y: 0} + m_Pivot: {x: 1, y: 1} +--- !u!114 &445564318 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 450788683} + m_GameObject: {fileID: 445564316} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} m_Name: m_EditorClassIdentifier: m_Navigation: @@ -536,7 +536,7 @@ MonoBehaviour: m_SelectOnRight: {fileID: 0} m_Transition: 1 m_Colors: - m_NormalColor: {r: 1, g: 0, b: 0, a: 1} + 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} @@ -555,17 +555,22 @@ MonoBehaviour: m_SelectedTrigger: Selected m_DisabledTrigger: Disabled m_Interactable: 1 - m_TargetGraphic: {fileID: 450788686} - m_OnClick: + m_TargetGraphic: {fileID: 1403542597} + m_HandleRect: {fileID: 1403542596} + m_Direction: 2 + m_Value: 1 + m_Size: 0.6739049 + m_NumberOfSteps: 0 + m_OnValueChanged: m_PersistentCalls: m_Calls: [] ---- !u!114 &450788686 +--- !u!114 &445564319 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 450788683} + m_GameObject: {fileID: 445564316} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} @@ -578,7 +583,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} m_Type: 1 m_PreserveAspect: 0 m_FillCenter: 1 @@ -588,176 +593,15 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!222 &450788687 +--- !u!222 &445564320 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 450788683} + m_GameObject: {fileID: 445564316} m_CullTransparentMesh: 0 ---- !u!1 &509261946 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 509261948} - - component: {fileID: 509261947} - 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 &509261947 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 509261946} - 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 &509261948 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 509261946} - m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} - 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: -30, z: 0} ---- !u!1001 &648859982 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 9146872230401571495, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_LocalPosition.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 9146872230401571495, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9146872230401571495, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9146872230401571495, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9146872230401571495, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9146872230401571495, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9146872230401571495, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 9146872230401571495, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 9146872230401571495, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9146872230401571495, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9146872230401571495, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9146872230402057927, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - propertyPath: m_Name - value: Else2019_Animation - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, type: 3} ---- !u!1 &678066070 +--- !u!1 &450788683 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -765,56 +609,100 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 678066071} - - component: {fileID: 678066073} - - component: {fileID: 678066072} + - component: {fileID: 450788684} + - component: {fileID: 450788687} + - component: {fileID: 450788686} + - component: {fileID: 450788685} m_Layer: 5 - m_Name: Panel + m_Name: RecordButton m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &678066071 +--- !u!224 &450788684 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 678066070} + m_GameObject: {fileID: 450788683} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: 0, y: 0, z: 1} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - - {fileID: 1484674691} + - {fileID: 433191391} m_Father: {fileID: 805685975} - m_RootOrder: 0 + 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: 258.81, y: 720} - m_Pivot: {x: 0, y: 1} ---- !u!114 &678066072 + m_AnchoredPosition: {x: 979.4, y: -692.7} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &450788685 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 450788683} + 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: 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: 450788686} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &450788686 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 678066070} + m_GameObject: {fileID: 450788683} 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.99215686} + 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: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} m_Type: 1 m_PreserveAspect: 0 m_FillCenter: 1 @@ -824,13 +712,13 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!222 &678066073 +--- !u!222 &450788687 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 678066070} + m_GameObject: {fileID: 450788683} m_CullTransparentMesh: 0 --- !u!1 &692871776 GameObject: @@ -844,7 +732,7 @@ GameObject: - component: {fileID: 692871779} - component: {fileID: 692871778} m_Layer: 5 - m_Name: Panel (1) + m_Name: Console m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -863,12 +751,12 @@ RectTransform: m_Children: - {fileID: 159805407} m_Father: {fileID: 805685975} - m_RootOrder: 1 + 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: 818, y: 0} - m_SizeDelta: {x: 456.28, y: 720} + m_AnchoredPosition: {x: 845.1, y: 0} + m_SizeDelta: {x: 432.6, y: 720} m_Pivot: {x: 0, y: 1} --- !u!114 &692871778 MonoBehaviour: @@ -907,7 +795,7 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 692871776} m_CullTransparentMesh: 0 ---- !u!1 &731445426 +--- !u!1 &762458580 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -915,81 +803,90 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 731445429} - - component: {fileID: 731445428} - - component: {fileID: 731445427} + - component: {fileID: 762458582} + - component: {fileID: 762458581} m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera + m_Name: Directional Light + m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!81 &731445427 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 731445426} - m_Enabled: 1 ---- !u!20 &731445428 -Camera: +--- !u!108 &762458581 +Light: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 731445426} + m_GameObject: {fileID: 762458580} m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 2 - m_BackGroundColor: {r: 0.066037714, g: 0.066037714, b: 0.066037714, 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: 1 - orthographic size: 0.17 - m_Depth: -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: 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_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 &731445429 + 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 &762458582 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 731445426} - m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} - m_LocalPosition: {x: 0, y: 1.27, z: 1} + m_GameObject: {fileID: 762458580} + m_LocalRotation: {x: 0.0003739196, y: -0.9932669, z: 0.115803406, w: 0.0032071767} + m_LocalPosition: {x: 0, y: 3, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 13.3, y: -179.63, z: 0} --- !u!1 &805685971 GameObject: m_ObjectHideFlags: 0 @@ -1081,12 +978,12 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0, y: 0, z: 0} m_Children: - - {fileID: 678066071} - {fileID: 692871777} - {fileID: 450788684} - {fileID: 257939307} + - {fileID: 986663992} m_Father: {fileID: 0} - m_RootOrder: 3 + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -1107,8 +1004,8 @@ MonoBehaviour: m_EditorClassIdentifier: recordButton: {fileID: 450788685} stopButton: {fileID: 257939308} - zigSimFacialControl: {fileID: 1655002521} ---- !u!1 &1484674690 + zigSimFacialControl: {fileID: 1792475853} +--- !u!1 &986663991 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1116,42 +1013,130 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1484674691} - - component: {fileID: 1484674693} - - component: {fileID: 1484674692} + - component: {fileID: 986663992} + - component: {fileID: 986663995} + - component: {fileID: 986663994} + - component: {fileID: 986663993} m_Layer: 5 - m_Name: Text + m_Name: Scroll View m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &1484674691 +--- !u!224 &986663992 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1484674690} + m_GameObject: {fileID: 986663991} 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: 678066071} - m_RootOrder: 0 + m_Children: + - {fileID: 1931910922} + - {fileID: 445564317} + m_Father: {fileID: 805685975} + m_RootOrder: 3 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: -10} - m_SizeDelta: {x: 258.81, y: 720} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 400, y: 720} m_Pivot: {x: 0, y: 1} ---- !u!114 &1484674692 +--- !u!114 &986663993 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 986663991} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 1829925113} + 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: 1931910922} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 445564318} + m_HorizontalScrollbarVisibility: 2 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: -3 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &986663994 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 986663991} + 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.8666667} + m_RaycastTarget: 1 + 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 &986663995 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 986663991} + m_CullTransparentMesh: 0 +--- !u!1 &1291785021 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1291785024} + - component: {fileID: 1291785023} + - component: {fileID: 1291785022} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1291785022 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1484674690} + m_GameObject: {fileID: 1291785021} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} @@ -1166,10 +1151,10 @@ MonoBehaviour: m_Calls: [] m_FontData: m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 11 + m_FontSize: 23 m_FontStyle: 0 m_BestFit: 0 - m_MinSize: 1 + m_MinSize: 2 m_MaxSize: 40 m_Alignment: 0 m_AlignByGeometry: 0 @@ -1177,150 +1162,1041 @@ MonoBehaviour: m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 - m_Text: ---- !u!222 &1484674693 + m_Text: 'blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L + : 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L : + 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L + : 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L : + 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L + : 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L : + 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L + : 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L : + 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L + : 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L : + 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L + : 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L : + 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L + : 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L : + 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L + : 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L : + 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L + : 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L : + 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L + : 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L : + 0.0004 + + blendshape1.eyeSquint_L : 0.0004 + + blendshape1.eyeSquint_L : 0.0004' +--- !u!222 &1291785023 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1484674690} + m_GameObject: {fileID: 1291785021} m_CullTransparentMesh: 0 ---- !u!1 &1655002519 stripped +--- !u!224 &1291785024 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1291785021} + 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: 1829925113} + 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: 390, y: 1048.4} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1403542595 GameObject: - m_CorrespondingSourceObject: {fileID: 9146872230402059571, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - m_PrefabInstance: {fileID: 648859982} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1403542596} + - component: {fileID: 1403542598} + - component: {fileID: 1403542597} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1403542596 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} ---- !u!114 &1655002521 + m_GameObject: {fileID: 1403542595} + 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: 1771508734} + 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 &1403542597 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1655002519} + m_GameObject: {fileID: 1403542595} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 8439459483d6c8541b7e81b63c2c3d45, type: 3} + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: - port: 8888 - skin: {fileID: 1655002523} - text: {fileID: 1484674692} - blendShapeList: - - None - - else_blendshape.eye_batsume - - else_blendshape.Face_laugh - - else_blendshape.Face_puku - - else_blendshape.Face_awawa - - else_blendshape.Face_nipa - - else_blendshape.noseSneerRight - - else_blendshape.noseSneerLeft - - else_blendshape.mouthUpperUpRight - - else_blendshape.mouthUpperUpLeft - - else_blendshape.mouthLowerDownRight - - else_blendshape.mouthLowerDownLeft - - else_blendshape.mouthPressRight - - else_blendshape.mouthPressLeft - - else_blendshape.mouthStretchRight - - else_blendshape.mouthStretchLeft - - else_blendshape.mouthRight - - else_blendshape.mouthLeft - - else_blendshape.mouthDimpleRight - - else_blendshape.mouthDimpleLeft - - else_blendshape.mouthFrownRight - - else_blendshape.mouthFrownLeft - - else_blendshape.mouthFunnel - - else_blendshape.mouthPucker - - else_blendshape.mouthSmileRight - - else_blendshape.mouthSmileLeft - - else_blendshape.mouthClose - - else_blendshape.jawRight - - else_blendshape.jawLeft - - else_blendshape.jawOpen - - else_blendshape.jawForward - - else_blendshape.eyeLookUpRight - - else_blendshape.eyeLookUpLeft - - else_blendshape.eyeLookOutRight - - else_blendshape.eyeLookOutLeft - - else_blendshape.eyeLookInRight - - else_blendshape.eyeLookInLeft - - else_blendshape.eyeLookDownRight - - else_blendshape.eyeLookDownLeft - - else_blendshape.eyeSquintRight - - else_blendshape.eyeSquintLeft - - else_blendshape.eyeWideRight - - else_blendshape.eyeWideLeft - - else_blendshape.eyeBlinkRight - - else_blendshape.eyeBlinkLeft - - else_blendshape.cheekSquintRight - - else_blendshape.cheekSquintLeft - - else_blendshape.cheekPuff - - else_blendshape.browOuterUpRight - - else_blendshape.browOuterUpLeft - - else_blendshape.browDownRight - - else_blendshape.browDownLeft - - else_blendshape.browInnerUp - indexList: 060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f00000030000000310000003200000033000000340000000000000000000000000000000000000000000000 - strengthMultiplierList: - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 - - 1 ---- !u!137 &1655002523 stripped -SkinnedMeshRenderer: - m_CorrespondingSourceObject: {fileID: 9146872230388394547, guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b, - type: 3} - m_PrefabInstance: {fileID: 648859982} - m_PrefabAsset: {fileID: 0} + 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 &1403542598 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1403542595} + m_CullTransparentMesh: 0 +--- !u!1 &1472096725 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1472096728} + - component: {fileID: 1472096727} + - component: {fileID: 1472096726} + 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 &1472096726 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1472096725} + m_Enabled: 1 +--- !u!20 &1472096727 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1472096725} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.05660379, g: 0.05660379, b: 0.05660379, 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: 45.4 + orthographic: 1 + orthographic size: 2.2 + 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 &1472096728 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1472096725} + m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} + m_LocalPosition: {x: 0, y: 0.16, z: 3.6} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!1 &1771508733 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1771508734} + 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 &1771508734 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1771508733} + 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: 1403542596} + m_Father: {fileID: 445564317} + 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 &1792475852 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1792475855} + - component: {fileID: 1792475854} + - component: {fileID: 1792475853} + m_Layer: 0 + m_Name: ZigSimFacialControl + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1792475853 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1792475852} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 962fa02c198e1da4f9a6df66bffdb49d, type: 3} + m_Name: + m_EditorClassIdentifier: + port: 8888 + arkitFacialControl: {fileID: 1792475854} + text: {fileID: 1291785022} +--- !u!114 &1792475854 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1792475852} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8439459483d6c8541b7e81b63c2c3d45, type: 3} + m_Name: + m_EditorClassIdentifier: + skin: {fileID: 1869528874} + blendShapeList: + - None + - blendShape2.eyeBlink_L + - blendShape2.eyeLookDown_L + - blendShape2.eyeLookIn_L + - blendShape2.eyeLookOut_L + - blendShape2.eyeLookUp_L + - blendShape2.eyeSquint_L + - blendShape2.eyeWide_L + - blendShape2.eyeBlink_R + - blendShape2.eyeLookDown_R + - blendShape2.eyeLookIn_R + - blendShape2.eyeLookOut_R + - blendShape2.eyeLookUp_R + - blendShape2.eyeWide_R + - blendShape2.jawForward + - blendShape2.jawLeft + - blendShape2.jawOpen + - blendShape2.jawRight + - blendShape2.mouthPucker + - blendShape2.mouthFunnel + - blendShape2.mouthClose + - blendShape2.mouthSmile_R + - blendShape2.mouthLeft + - blendShape2.mouthRight + - blendShape2.mouthSmile_L + - blendShape2.mouthFrown_R + - blendShape2.mouthFrown_L + - blendShape2.mouthDimple_L + - blendShape2.mouthDimple_R + - blendShape2.mouthStretch_R + - blendShape2.mouthStretch_L + - blendShape2.mouthRollUpper + - blendShape2.mouthRollLower + - blendShape2.mouthShrugUpper + - blendShape2.mouthShrugLower + - blendShape2.mouthPress_L + - blendShape2.mouthPress_R + - blendShape2.mouthLowerDown_L + - blendShape2.mouthLowerDown_R + - blendShape2.mouthUpperUp_R + - blendShape2.mouthUpperUp_L + - blendShape2.browDown_L + - blendShape2.browDown_R + - blendShape2.browInnerUp + - blendShape2.browOuterUp_R + - blendShape2.browOuterUp_L + - blendShape2.cheekPuff + - blendShape2.cheekSquint_L + - blendShape2.cheekSquint_R + - blendShape2.noseSneer_L + - blendShape2.noseSneer_R + indexList: 32000000310000002700000028000000260000002500000024000000230000001d0000001e00000017000000160000001c0000001b000000190000001a0000001300000012000000150000001800000014000000110000000f000000100000000e0000000c000000050000000b000000040000000a00000003000000090000000200000000000000060000000d000000070000000800000001000000300000002f0000002e0000002c0000002d0000002a000000290000002b0000000000000000000000000000000000000000000000 + strengthMultiplierList: + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 +--- !u!4 &1792475855 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1792475852} + 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 &1829925112 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1829925113} + - component: {fileID: 1829925115} + - component: {fileID: 1829925114} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1829925113 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1829925112} + 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: 1291785024} + m_Father: {fileID: 1931910922} + 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: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1829925114 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1829925112} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 10 + m_Right: 10 + m_Top: 10 + m_Bottom: 10 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &1829925115 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1829925112} + 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!1001 &1869528873 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalScale.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalScale.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_LocalScale.z + value: 100 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.size + value: 50 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_AABB.m_Center.y + value: -0.0015557217 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_AABB.m_Extent.x + value: 0.0113363005 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_AABB.m_Extent.y + value: 0.013194084 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_AABB.m_Extent.z + value: 0.0133940475 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_DirtyAABB + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[1] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[2] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[5] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[6] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[7] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[8] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[9] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[12] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[13] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[14] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[15] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[16] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[17] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[18] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[19] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[20] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[21] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[22] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[23] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[24] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[25] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[26] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[27] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[28] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[29] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[34] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[35] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[36] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[37] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[38] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[39] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[40] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[41] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[42] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[43] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[44] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[45] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[46] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[47] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[48] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[49] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[4] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[10] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[11] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[3] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[33] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_BlendShapeWeights.Array.data[0] + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 0eafc0c8e166e4cd2b0f64b71fda0c45, type: 2} + - target: {fileID: 919132149155446097, guid: 203593b6d31641148905039b663e43d9, + type: 3} + propertyPath: m_Name + value: sloth_head_blendshapes5 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 203593b6d31641148905039b663e43d9, type: 3} +--- !u!137 &1869528874 stripped +SkinnedMeshRenderer: + m_CorrespondingSourceObject: {fileID: -4275627791819746688, guid: 203593b6d31641148905039b663e43d9, + type: 3} + m_PrefabInstance: {fileID: 1869528873} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1931910921 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1931910922} + - component: {fileID: 1931910925} + - component: {fileID: 1931910924} + - component: {fileID: 1931910923} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1931910922 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1931910921} + 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: 1829925113} + m_Father: {fileID: 986663992} + 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: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1931910923 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1931910921} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!114 &1931910924 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1931910921} + 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: 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 &1931910925 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1931910921} + m_CullTransparentMesh: 0 --- !u!1 &1938635956 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scenes/RecorderScene.unity.meta b/Assets/Packages/ARKitFacialControl/Scenes/RecorderScene.unity.meta similarity index 100% rename from Assets/Scenes/RecorderScene.unity.meta rename to Assets/Packages/ARKitFacialControl/Scenes/RecorderScene.unity.meta diff --git a/Assets/ZigSimFacialControl/Scripts.meta b/Assets/Packages/ARKitFacialControl/Scripts.meta similarity index 100% rename from Assets/ZigSimFacialControl/Scripts.meta rename to Assets/Packages/ARKitFacialControl/Scripts.meta diff --git a/Assets/ProjectBlue/Character.meta b/Assets/Packages/ARKitFacialControl/Scripts/Core.meta similarity index 77% rename from Assets/ProjectBlue/Character.meta rename to Assets/Packages/ARKitFacialControl/Scripts/Core.meta index 6ceb696..1f0e991 100644 --- a/Assets/ProjectBlue/Character.meta +++ b/Assets/Packages/ARKitFacialControl/Scripts/Core.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a46a542407e67d944b4cb755ba411cff +guid: 97f60132ecb342041b1424bcd8131b91 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/ZigSimFacialControl/Scripts/ARKitBlendShape.cs b/Assets/Packages/ARKitFacialControl/Scripts/Core/ARKitBlendShape.cs similarity index 100% rename from Assets/ZigSimFacialControl/Scripts/ARKitBlendShape.cs rename to Assets/Packages/ARKitFacialControl/Scripts/Core/ARKitBlendShape.cs diff --git a/Assets/ZigSimFacialControl/Scripts/ARKitBlendShape.cs.meta b/Assets/Packages/ARKitFacialControl/Scripts/Core/ARKitBlendShape.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Scripts/ARKitBlendShape.cs.meta rename to Assets/Packages/ARKitFacialControl/Scripts/Core/ARKitBlendShape.cs.meta diff --git a/Assets/Packages/ARKitFacialControl/Scripts/Core/ARKitBlendshapeRemapper.cs b/Assets/Packages/ARKitFacialControl/Scripts/Core/ARKitBlendshapeRemapper.cs new file mode 100644 index 0000000..3eca03d --- /dev/null +++ b/Assets/Packages/ARKitFacialControl/Scripts/Core/ARKitBlendshapeRemapper.cs @@ -0,0 +1,126 @@ +using ProjectBlue.FacialCapture; +using System.Collections.Generic; +using UnityEngine; + +namespace ProjectBlue.FacialCapture +{ + public class ARKitToBlendshapeRemapper + { + + SkinnedMeshRenderer skin; + + List blendShapeList; + int[] indexList; + float[] strengthMultiplierList; + + public ARKitToBlendshapeRemapper(SkinnedMeshRenderer skinnedMeshRenderer, List blendShapeList, int[] indexList, float[] strengthMultiplierList) + { + + this.skin = skinnedMeshRenderer; + + this.blendShapeList = blendShapeList; + this.indexList = indexList; + this.strengthMultiplierList = strengthMultiplierList; + + } + + public void Apply(ARKitFacialValues arkitFacialValues) + { + + SetWithShapeTypeWith(ARKitBlendShape.noseSneer_R, arkitFacialValues.noseSneer_R); + SetWithShapeTypeWith(ARKitBlendShape.noseSneer_L, arkitFacialValues.noseSneer_L); + + SetWithShapeTypeWith(ARKitBlendShape.mouthUpperUp_R, arkitFacialValues.mouthUpperUp_R); + SetWithShapeTypeWith(ARKitBlendShape.mouthUpperUp_L, arkitFacialValues.mouthUpperUp_L); + + SetWithShapeTypeWith(ARKitBlendShape.mouthLowerDown_R, arkitFacialValues.mouthLowerDown_R); + SetWithShapeTypeWith(ARKitBlendShape.mouthLowerDown_L, arkitFacialValues.mouthLowerDown_L); + + SetWithShapeTypeWith(ARKitBlendShape.mouthPress_R, arkitFacialValues.mouthPress_R); + SetWithShapeTypeWith(ARKitBlendShape.mouthPress_L, arkitFacialValues.mouthPress_L); + + SetWithShapeTypeWith(ARKitBlendShape.mouthStretch_R, arkitFacialValues.mouthStretch_R); + SetWithShapeTypeWith(ARKitBlendShape.mouthStretch_L, arkitFacialValues.mouthStretch_L); + + SetWithShapeTypeWith(ARKitBlendShape.mouth_R, arkitFacialValues.mouth_R); + SetWithShapeTypeWith(ARKitBlendShape.mouth_L, arkitFacialValues.mouth_L); + + SetWithShapeTypeWith(ARKitBlendShape.mouthDimple_R, arkitFacialValues.mouthDimple_R); + SetWithShapeTypeWith(ARKitBlendShape.mouthDimple_L, arkitFacialValues.mouthDimple_L); + + SetWithShapeTypeWith(ARKitBlendShape.mouthFrown_R, arkitFacialValues.mouthFrown_R); + SetWithShapeTypeWith(ARKitBlendShape.mouthFrown_L, arkitFacialValues.mouthFrown_L); + + SetWithShapeTypeWith(ARKitBlendShape.mouthFunnel, arkitFacialValues.mouthFunnel); + SetWithShapeTypeWith(ARKitBlendShape.mouthPucker, arkitFacialValues.mouthPucker); + + SetWithShapeTypeWith(ARKitBlendShape.mouthSmile_R, arkitFacialValues.mouthSmile_R); + SetWithShapeTypeWith(ARKitBlendShape.mouthSmile_L, arkitFacialValues.mouthSmile_L); + + SetWithShapeTypeWith(ARKitBlendShape.mouthClose, arkitFacialValues.mouthClose); + + SetWithShapeTypeWith(ARKitBlendShape.jaw_R, arkitFacialValues.jaw_R); + SetWithShapeTypeWith(ARKitBlendShape.jaw_L, arkitFacialValues.jaw_L); + + SetWithShapeTypeWith(ARKitBlendShape.jawOpen, arkitFacialValues.jawOpen); + SetWithShapeTypeWith(ARKitBlendShape.jawForward, arkitFacialValues.jawForward); + + SetWithShapeTypeWith(ARKitBlendShape.eyeLookUp_R, arkitFacialValues.eyeLookUp_R); + SetWithShapeTypeWith(ARKitBlendShape.eyeLookUp_L, arkitFacialValues.eyeLookUp_L); + + SetWithShapeTypeWith(ARKitBlendShape.eyeLookOut_R, arkitFacialValues.eyeLookOut_R); + SetWithShapeTypeWith(ARKitBlendShape.eyeLookOut_L, arkitFacialValues.eyeLookOut_L); + + SetWithShapeTypeWith(ARKitBlendShape.eyeLookIn_R, arkitFacialValues.eyeLookIn_R); + SetWithShapeTypeWith(ARKitBlendShape.eyeLookIn_L, arkitFacialValues.eyeLookIn_L); + + SetWithShapeTypeWith(ARKitBlendShape.eyeLookDown_R, arkitFacialValues.eyeLookDown_R); + SetWithShapeTypeWith(ARKitBlendShape.eyeLookDown_L, arkitFacialValues.eyeLookDown_L); + + SetWithShapeTypeWith(ARKitBlendShape.eyeSquint_R, arkitFacialValues.eyeSquint_R); + SetWithShapeTypeWith(ARKitBlendShape.eyeSquint_L, arkitFacialValues.eyeSquint_L); + + SetWithShapeTypeWith(ARKitBlendShape.eyeWide_R, arkitFacialValues.eyeWide_R); + SetWithShapeTypeWith(ARKitBlendShape.eyeWide_L, arkitFacialValues.eyeWide_L); + + SetWithShapeTypeWith(ARKitBlendShape.eyeBlink_R, arkitFacialValues.eyeBlink_R); + SetWithShapeTypeWith(ARKitBlendShape.eyeBlink_L, arkitFacialValues.eyeBlink_L); + + SetWithShapeTypeWith(ARKitBlendShape.cheekSquint_R, arkitFacialValues.cheekSquint_R); + SetWithShapeTypeWith(ARKitBlendShape.cheekSquint_L, arkitFacialValues.cheekSquint_L); + + SetWithShapeTypeWith(ARKitBlendShape.cheekPuff, arkitFacialValues.cheekPuff); + + SetWithShapeTypeWith(ARKitBlendShape.browOuterUp_R, arkitFacialValues.browOuterUp_R); + SetWithShapeTypeWith(ARKitBlendShape.browOuterUp_L, arkitFacialValues.browOuterUp_L); + + SetWithShapeTypeWith(ARKitBlendShape.browDown_R, arkitFacialValues.browDown_R); + SetWithShapeTypeWith(ARKitBlendShape.browDown_L, arkitFacialValues.browDown_L); + + SetWithShapeTypeWith(ARKitBlendShape.browInnerUp, arkitFacialValues.browInnerUp); + + SetWithShapeTypeWith(ARKitBlendShape.tongueOut, arkitFacialValues.tongueOut); + SetWithShapeTypeWith(ARKitBlendShape.mouthRollLower, arkitFacialValues.mouthRollLower); + SetWithShapeTypeWith(ARKitBlendShape.mouthRollUpper, arkitFacialValues.mouthRollUpper); + SetWithShapeTypeWith(ARKitBlendShape.mouthShrugLower, arkitFacialValues.mouthShrugLower); + SetWithShapeTypeWith(ARKitBlendShape.mouthShrugUpper, arkitFacialValues.mouthShrugUpper); + + } + + void SetWithShapeTypeWith(ARKitBlendShape shapeType, float value) + { + int targetBlendShapeIndex = indexList[(int)shapeType]; + string targetBlendShapeName = blendShapeList[targetBlendShapeIndex]; + var index = skin.sharedMesh.GetBlendShapeIndex(targetBlendShapeName); + + if (index >= 0) + { + + skin.SetBlendShapeWeight(index, value); + } + + } + + } + +} \ No newline at end of file diff --git a/Assets/ZigSimFacialControl/Scripts/ARKitBlendshapeApplier.cs.meta b/Assets/Packages/ARKitFacialControl/Scripts/Core/ARKitBlendshapeRemapper.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Scripts/ARKitBlendshapeApplier.cs.meta rename to Assets/Packages/ARKitFacialControl/Scripts/Core/ARKitBlendshapeRemapper.cs.meta diff --git a/Assets/Packages/ARKitFacialControl/Scripts/Core/ARKitFacialControl.cs b/Assets/Packages/ARKitFacialControl/Scripts/Core/ARKitFacialControl.cs new file mode 100644 index 0000000..df0ef71 --- /dev/null +++ b/Assets/Packages/ARKitFacialControl/Scripts/Core/ARKitFacialControl.cs @@ -0,0 +1,41 @@ +using System.Collections.Generic; +using UnityEngine; +using System; +using UniRx; + +namespace ProjectBlue.FacialCapture +{ + + public class ARKitFacialControl : MonoBehaviour + { + + public SkinnedMeshRenderer skin; + + // For editor + public List blendShapeList = new List(); + public int[] indexList = new int[Enum.GetNames(typeof(ARKitBlendShape)).Length]; + public float[] strengthMultiplierList = new float[Enum.GetNames(typeof(ARKitBlendShape)).Length]; + + + ARKitToBlendshapeRemapper remapper; + + private void Start() + { + + remapper = new ARKitToBlendshapeRemapper(skin, blendShapeList, indexList, strengthMultiplierList); + + } + + public void ApplyExternal(ARKitFacialValues arkitFacialValues) + { + if(remapper == null) + { + remapper = new ARKitToBlendshapeRemapper(skin, blendShapeList, indexList, strengthMultiplierList); + } + + remapper.Apply(arkitFacialValues); + } + + } + +} \ No newline at end of file diff --git a/Assets/ZigSimFacialControl/Scripts/ZigSimFacialControl.cs.meta b/Assets/Packages/ARKitFacialControl/Scripts/Core/ARKitFacialControl.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Scripts/ZigSimFacialControl.cs.meta rename to Assets/Packages/ARKitFacialControl/Scripts/Core/ARKitFacialControl.cs.meta diff --git a/Assets/Packages/ARKitFacialControl/Scripts/Core/ARKitFacialRecorder.cs b/Assets/Packages/ARKitFacialControl/Scripts/Core/ARKitFacialRecorder.cs new file mode 100644 index 0000000..d15eb27 --- /dev/null +++ b/Assets/Packages/ARKitFacialControl/Scripts/Core/ARKitFacialRecorder.cs @@ -0,0 +1,105 @@ +using System; +using System.Diagnostics; +using System.IO; +using UniRx; +using ZeroFormatter; + +using Debug = UnityEngine.Debug; + +namespace ProjectBlue.FacialCapture +{ + + public class ARKitFacialRecorder : IDisposable + { + + + bool record = false; + + Stopwatch stopwatch; + + SingleAssignmentDisposable disposable = new SingleAssignmentDisposable(); + + public ARKitFacialRecorder() + { + + stopwatch = new Stopwatch(); + + // disposable.Disposable = Observable.EveryUpdate().Subscribe(_ => RecordUpdate()); + + Observable + .OnceApplicationQuit() + .Subscribe(_ => Dispose()); + } + + MemoryStream memoryStream; + + public void RecordUpdate(ARKitFacialValues arkitFacialValues) + { + + if (!record) return; + + var elapsedTicks = stopwatch.ElapsedTicks; + + arkitFacialValues.elapsedTicks = elapsedTicks; + + var bytes = ZeroFormatterSerializer.Serialize(arkitFacialValues); + + memoryStream.Write(bytes, 0, bytes.Length); + } + + public void StartRecording() + { + + Debug.Log("Record started."); + + if (!record) + { + + record = true; + + memoryStream = new MemoryStream(); + + stopwatch.Reset(); + stopwatch.Start(); + } + + } + + public void StopRecording() + { + if (!record) return; + + record = false; + + string savePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), $"FaceCapture_{DateTime.Now.ToString("yyyy-dd-M-HH-mm-ss")}.bytes"); + + using (var fileStream = new FileStream(savePath, FileMode.CreateNew, FileAccess.ReadWrite)) + { + + if (memoryStream != null) + { + + memoryStream.Position = 0; + memoryStream.CopyTo(fileStream); + + Debug.Log($"File saved as [{savePath}] : {fileStream.Length} bytes."); + + memoryStream.Close(); + memoryStream = null; + } + + } + + stopwatch.Stop(); + + Debug.Log("Record finished."); + } + + public void Dispose() + { + StopRecording(); + } + + } + +} \ No newline at end of file diff --git a/Assets/ZigSimFacialControl/Scripts/ZigSimFacialControlUtility.cs.meta b/Assets/Packages/ARKitFacialControl/Scripts/Core/ARKitFacialRecorder.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Scripts/ZigSimFacialControlUtility.cs.meta rename to Assets/Packages/ARKitFacialControl/Scripts/Core/ARKitFacialRecorder.cs.meta diff --git a/Assets/Packages/ARKitFacialControl/Scripts/Core/ARKitFacialValues.cs b/Assets/Packages/ARKitFacialControl/Scripts/Core/ARKitFacialValues.cs new file mode 100644 index 0000000..39d8785 --- /dev/null +++ b/Assets/Packages/ARKitFacialControl/Scripts/Core/ARKitFacialValues.cs @@ -0,0 +1,424 @@ +using ProjectBlue.FacialCapture; +using System; +using System.Text; +using ZeroFormatter; + +namespace ProjectBlue.FacialCapture +{ + + [ZeroFormattable] + public class ARKitFacialValues + { + [Index(0)] + public virtual Single noseSneer_R { get; set; } + [Index(1)] + public virtual Single noseSneer_L { get; set; } + [Index(2)] + public virtual Single mouthUpperUp_R { get; set; } + [Index(3)] + public virtual Single mouthUpperUp_L { get; set; } + [Index(4)] + public virtual Single mouthLowerDown_R { get; set; } + [Index(5)] + public virtual Single mouthLowerDown_L { get; set; } + [Index(6)] + public virtual Single mouthPress_R { get; set; } + [Index(7)] + public virtual Single mouthPress_L { get; set; } + [Index(8)] + public virtual Single mouthStretch_R { get; set; } + [Index(9)] + public virtual Single mouthStretch_L { get; set; } + [Index(10)] + public virtual Single mouth_R { get; set; } + [Index(11)] + public virtual Single mouth_L { get; set; } + [Index(12)] + public virtual Single mouthDimple_R { get; set; } + [Index(13)] + public virtual Single mouthDimple_L { get; set; } + [Index(14)] + public virtual Single mouthFrown_R { get; set; } + [Index(15)] + public virtual Single mouthFrown_L { get; set; } + [Index(16)] + public virtual Single mouthFunnel { get; set; } + [Index(17)] + public virtual Single mouthPucker { get; set; } + [Index(18)] + public virtual Single mouthSmile_R { get; set; } + [Index(19)] + public virtual Single mouthSmile_L { get; set; } + [Index(20)] + public virtual Single mouthClose { get; set; } + [Index(21)] + public virtual Single jaw_R { get; set; } + [Index(22)] + public virtual Single jaw_L { get; set; } + [Index(23)] + public virtual Single jawOpen { get; set; } + [Index(24)] + public virtual Single jawForward { get; set; } + [Index(25)] + public virtual Single eyeLookUp_R { get; set; } + [Index(26)] + public virtual Single eyeLookUp_L { get; set; } + [Index(27)] + public virtual Single eyeLookOut_R { get; set; } + [Index(28)] + public virtual Single eyeLookOut_L { get; set; } + [Index(29)] + public virtual Single eyeLookIn_R { get; set; } + [Index(30)] + public virtual Single eyeLookIn_L { get; set; } + [Index(31)] + public virtual Single eyeLookDown_R { get; set; } + [Index(32)] + public virtual Single eyeLookDown_L { get; set; } + [Index(33)] + public virtual Single eyeSquint_R { get; set; } + [Index(34)] + public virtual Single eyeSquint_L { get; set; } + [Index(35)] + public virtual Single eyeWide_R { get; set; } + [Index(36)] + public virtual Single eyeWide_L { get; set; } + [Index(37)] + public virtual Single eyeBlink_R { get; set; } + [Index(38)] + public virtual Single eyeBlink_L { get; set; } + [Index(39)] + public virtual Single cheekSquint_R { get; set; } + [Index(40)] + public virtual Single cheekSquint_L { get; set; } + [Index(41)] + public virtual Single cheekPuff { get; set; } + [Index(42)] + public virtual Single browOuterUp_R { get; set; } + [Index(43)] + public virtual Single browOuterUp_L { get; set; } + [Index(44)] + public virtual Single browDown_R { get; set; } + [Index(45)] + public virtual Single browDown_L { get; set; } + [Index(46)] + public virtual Single browInnerUp { get; set; } + [Index(47)] + public virtual Single tongueOut { get; set; } + [Index(48)] + public virtual Single mouthRollLower { get; set; } + [Index(49)] + public virtual Single mouthRollUpper { get; set; } + [Index(50)] + public virtual Single mouthShrugLower { get; set; } + [Index(51)] + public virtual Single mouthShrugUpper { get; set; } + + [Index(52)] + public virtual Int64 elapsedTicks { get; set; } + + + public void SetValueFromIndex(int index, float value) + { + + switch (index) + { + case 0: + noseSneer_R = value; + break; + case 1: + noseSneer_L = value; + break; + case 2: + mouthUpperUp_R = value; + break; + case 3: + mouthUpperUp_L = value; + break; + case 4: + mouthLowerDown_R = value; + break; + case 5: + mouthLowerDown_L = value; + break; + case 6: + mouthPress_R = value; + break; + case 7: + mouthPress_L = value; + break; + case 8: + mouthStretch_R = value; + break; + case 9: + mouthStretch_L = value; + break; + case 10: + mouth_R = value; + break; + case 11: + mouth_L = value; + break; + case 12: + mouthDimple_R = value; + break; + case 13: + mouthDimple_L = value; + break; + case 14: + mouthFrown_R = value; + break; + case 15: + mouthFrown_L = value; + break; + case 16: + mouthFunnel = value; + break; + case 17: + mouthPucker = value; + break; + case 18: + mouthSmile_R = value; + break; + case 19: + mouthSmile_L = value; + break; + case 20: + mouthClose = value; + break; + case 21: + jaw_R = value; + break; + case 22: + jaw_L = value; + break; + case 23: + jawOpen = value; + break; + case 24: + jawForward = value; + break; + case 25: + eyeLookUp_R = value; + break; + case 26: + eyeLookUp_L = value; + break; + case 27: + eyeLookOut_R = value; + break; + case 28: + eyeLookOut_L = value; + break; + case 29: + eyeLookIn_R = value; + break; + case 30: + eyeLookIn_L = value; + break; + case 31: + eyeLookDown_R = value; + break; + case 32: + eyeLookDown_L = value; + break; + case 33: + eyeSquint_R = value; + break; + case 34: + eyeSquint_L = value; + break; + case 35: + eyeWide_R = value; + break; + case 36: + eyeWide_L = value; + break; + case 37: + eyeBlink_R = value; + break; + case 38: + eyeBlink_L = value; + break; + case 39: + cheekSquint_R = value; + break; + case 40: + cheekSquint_L = value; + break; + case 41: + cheekPuff = value; + break; + case 42: + browOuterUp_R = value; + break; + case 43: + browOuterUp_L = value; + break; + case 44: + browDown_R = value; + break; + case 45: + browDown_L = value; + break; + case 46: + browInnerUp = value; + break; + case 47: + tongueOut = value; + break; + case 48: + mouthRollLower = value; + break; + case 49: + mouthRollUpper = value; + break; + case 50: + mouthShrugLower = value; + break; + case 51: + mouthShrugUpper = value; + break; + } + + + } + + public float GetValueFromIndex(int index) + { + + switch (index) + { + case 0: + return noseSneer_R; + case 1: + return noseSneer_L; + case 2: + return mouthUpperUp_R; + case 3: + return mouthUpperUp_L; + case 4: + return mouthLowerDown_R; + case 5: + return mouthLowerDown_L; + case 6: + return mouthPress_R; + case 7: + return mouthPress_L; + case 8: + return mouthStretch_R; + case 9: + return mouthStretch_L; + case 10: + return mouth_R; + case 11: + return mouth_L; + case 12: + return mouthDimple_R; + case 13: + return mouthDimple_L; + case 14: + return mouthFrown_R; + case 15: + return mouthFrown_L; + case 16: + return mouthFunnel; + case 17: + return mouthPucker; + case 18: + return mouthSmile_R; + case 19: + return mouthSmile_L; + case 20: + return mouthClose; + case 21: + return jaw_R; + case 22: + return jaw_L; + case 23: + return jawOpen; + case 24: + return jawForward; + case 25: + return eyeLookUp_R; + case 26: + return eyeLookUp_L; + case 27: + return eyeLookOut_R; + case 28: + return eyeLookOut_L; + case 29: + return eyeLookIn_R; + case 30: + return eyeLookIn_L; + case 31: + return eyeLookDown_R; + case 32: + return eyeLookDown_L; + case 33: + return eyeSquint_R; + case 34: + return eyeSquint_L; + case 35: + return eyeWide_R; + case 36: + return eyeWide_L; + case 37: + return eyeBlink_R; + case 38: + return eyeBlink_L; + case 39: + return cheekSquint_R; + case 40: + return cheekSquint_L; + case 41: + return cheekPuff; + case 42: + return browOuterUp_R; + case 43: + return browOuterUp_L; + case 44: + return browDown_R; + case 45: + return browDown_L; + case 46: + return browInnerUp; + case 47: + return tongueOut; + case 48: + return mouthRollLower; + case 49: + return mouthRollUpper; + case 50: + return mouthShrugLower; + case 51: + return mouthShrugUpper; + default: + return 0; + } + + } + + + public string ToString() + { + + StringBuilder builder = new StringBuilder(); + + foreach (ARKitBlendShape blendShapeType in Enum.GetValues(typeof(ARKitBlendShape))) + { + int index = (int)blendShapeType; + float value = GetValueFromIndex(index); + + string name = Enum.GetName(typeof(ARKitBlendShape), blendShapeType); + + builder.Append($"{name} : {value.ToString()}\n"); + } + + return builder.ToString(); + } + + + } + +} \ No newline at end of file diff --git a/Assets/ZigSimFacialControl/Scripts/ARKitFacialValues.cs.meta b/Assets/Packages/ARKitFacialControl/Scripts/Core/ARKitFacialValues.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Scripts/ARKitFacialValues.cs.meta rename to Assets/Packages/ARKitFacialControl/Scripts/Core/ARKitFacialValues.cs.meta diff --git a/Assets/ZigSimFacialControl/Scripts/Editor.meta b/Assets/Packages/ARKitFacialControl/Scripts/Core/Editor.meta similarity index 100% rename from Assets/ZigSimFacialControl/Scripts/Editor.meta rename to Assets/Packages/ARKitFacialControl/Scripts/Core/Editor.meta diff --git a/Assets/ZigSimFacialControl/Scripts/Editor/ZigSimFacialControlEditor.cs b/Assets/Packages/ARKitFacialControl/Scripts/Core/Editor/ZigSimFacialControlEditor.cs similarity index 71% rename from Assets/ZigSimFacialControl/Scripts/Editor/ZigSimFacialControlEditor.cs rename to Assets/Packages/ARKitFacialControl/Scripts/Core/Editor/ZigSimFacialControlEditor.cs index 521b03e..9904349 100644 --- a/Assets/ZigSimFacialControl/Scripts/Editor/ZigSimFacialControlEditor.cs +++ b/Assets/Packages/ARKitFacialControl/Scripts/Core/Editor/ZigSimFacialControlEditor.cs @@ -1,33 +1,26 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; +using UnityEngine; using UnityEditor; using System; namespace ProjectBlue.FacialCapture { - [CustomEditor(typeof(ZigSimFacialControl))] - public class OSCARKitFacialTrackerEditor : Editor + [CustomEditor(typeof(ARKitFacialControl))] + public class ARKitFacialControlEditor : Editor { - ZigSimFacialControl script; + ARKitFacialControl script; - private SerializedProperty portProperty; private SerializedProperty faceSkinProperty; - private SerializedProperty textProperty; bool folding = false; private void OnEnable() { - script = target as ZigSimFacialControl; + script = target as ARKitFacialControl; - portProperty = serializedObject.FindProperty("port"); faceSkinProperty = serializedObject.FindProperty("skin"); - textProperty = serializedObject.FindProperty("text"); - InitializeSkin(); } @@ -39,13 +32,8 @@ public override void OnInspectorGUI() using (new EditorGUILayout.VerticalScope()) { - EditorGUILayout.PropertyField(portProperty); - EditorGUILayout.PropertyField(faceSkinProperty); - EditorGUILayout.PropertyField(textProperty); - - EditorGUILayout.Space(5); if (GUILayout.Button("Update")) { @@ -54,12 +42,10 @@ public override void OnInspectorGUI() } - - if (script.skin) { - if (folding = EditorGUILayout.Foldout(folding, "Blend Shape Settings")) + if (folding = EditorGUILayout.Foldout(folding, "Blend Shape Mappings")) { using (new EditorGUILayout.VerticalScope()) { @@ -87,22 +73,6 @@ public override void OnInspectorGUI() } - if (Application.isPlaying) - { - EditorGUILayout.Space(10); - - if (GUILayout.Button("Record")) - { - script.StartRecording(); - } - - if (GUILayout.Button("Stop")) - { - script.StopRecording(); - } - } - - } serializedObject.ApplyModifiedProperties(); @@ -129,7 +99,9 @@ void ResetParameters() for (int i = 0; i < Enum.GetNames(typeof(ARKitBlendShape)).Length; i++) { - script.indexList[i] = i+6; + + script.indexList[i] = 0; + } for (int i = 0; i < script.strengthMultiplierList.Length; i++) diff --git a/Assets/ZigSimFacialControl/Scripts/Editor/ZigSimFacialControlEditor.cs.meta b/Assets/Packages/ARKitFacialControl/Scripts/Core/Editor/ZigSimFacialControlEditor.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Scripts/Editor/ZigSimFacialControlEditor.cs.meta rename to Assets/Packages/ARKitFacialControl/Scripts/Core/Editor/ZigSimFacialControlEditor.cs.meta diff --git a/Assets/Packages/ARKitFacialControl/Scripts/Core/FaceRecordDataReader.cs b/Assets/Packages/ARKitFacialControl/Scripts/Core/FaceRecordDataReader.cs new file mode 100644 index 0000000..a2e5e40 --- /dev/null +++ b/Assets/Packages/ARKitFacialControl/Scripts/Core/FaceRecordDataReader.cs @@ -0,0 +1,76 @@ +using ProjectBlue.FacialCapture; +using System; +using System.Diagnostics; +using UnityEngine; +using UnityEngine.Timeline; +using ZeroFormatter; + +namespace ProjectBlue.FacialCapture +{ + + public class FaceRecordDataReader : MonoBehaviour, ITimeControl + { + + static readonly int bufferLength = 436; + + [SerializeField] + ARKitFacialControl facialControl; + + [SerializeField] + TextAsset asset; + + public void OnControlTimeStart() + { + ZeroFormatterInitializer.Register(); + } + + public void OnControlTimeStop() + { + + } + + public void SetTime(double time) + { + if (!asset) return; + + var bytes = asset.bytes; + int totalFrames = bytes.Length / bufferLength; + + ARKitFacialValues value = null; + + for (int i = 0; i < totalFrames; i++) + { + + var buffer = new byte[bufferLength]; + + Buffer.BlockCopy(bytes, i * bufferLength, buffer, 0, buffer.Length); + + value = ZeroFormatterSerializer.Deserialize(buffer); + + double sec = (double)value.elapsedTicks / Stopwatch.Frequency; + + if (sec >= time) + { + break; + } + + + } + + if (value != null) + { + facialControl.ApplyExternal(value); + } + else + { + + } + + } + + + + + } + +} \ No newline at end of file diff --git a/Assets/Scripts/FaceRecordDataReader.cs.meta b/Assets/Packages/ARKitFacialControl/Scripts/Core/FaceRecordDataReader.cs.meta similarity index 100% rename from Assets/Scripts/FaceRecordDataReader.cs.meta rename to Assets/Packages/ARKitFacialControl/Scripts/Core/FaceRecordDataReader.cs.meta diff --git a/Assets/ZigSimFacialControl/Scripts/UdpUtility.cs b/Assets/Packages/ARKitFacialControl/Scripts/Core/UdpUtility.cs similarity index 100% rename from Assets/ZigSimFacialControl/Scripts/UdpUtility.cs rename to Assets/Packages/ARKitFacialControl/Scripts/Core/UdpUtility.cs diff --git a/Assets/ZigSimFacialControl/Scripts/UdpUtility.cs.meta b/Assets/Packages/ARKitFacialControl/Scripts/Core/UdpUtility.cs.meta similarity index 100% rename from Assets/ZigSimFacialControl/Scripts/UdpUtility.cs.meta rename to Assets/Packages/ARKitFacialControl/Scripts/Core/UdpUtility.cs.meta diff --git a/Assets/Scripts/ZeroFormatterGenerated.cs b/Assets/Packages/ARKitFacialControl/Scripts/Core/ZeroFormatterGenerated.cs similarity index 92% rename from Assets/Scripts/ZeroFormatterGenerated.cs rename to Assets/Packages/ARKitFacialControl/Scripts/Core/ZeroFormatterGenerated.cs index 6cbbb3e..db70d0c 100644 --- a/Assets/Scripts/ZeroFormatterGenerated.cs +++ b/Assets/Packages/ARKitFacialControl/Scripts/Core/ZeroFormatterGenerated.cs @@ -11,7 +11,6 @@ namespace ZeroFormatter using global::ZeroFormatter.Internal; using global::ZeroFormatter.Segments; using global::ZeroFormatter.Comparers; - public static partial class ZeroFormatterInitializer { static bool registered = false; @@ -22,18 +21,13 @@ public static void Register() if(registered) return; registered = true; // Enums - ZeroFormatter.Formatters.Formatter.Register(new ZeroFormatter.DynamicObjectSegments.ZigSimFacialBlendShapeTypeFormatter()); - ZeroFormatter.Comparers.ZeroFormatterEqualityComparer.Register(new ZeroFormatter.DynamicObjectSegments.ZigSimFacialBlendShapeTypeEqualityComparer()); - ZeroFormatter.Formatters.Formatter.Register(new ZeroFormatter.DynamicObjectSegments.NullableZigSimFacialBlendShapeTypeFormatter()); - ZeroFormatter.Comparers.ZeroFormatterEqualityComparer.Register(new NullableEqualityComparer()); - ZeroFormatter.Formatters.Formatter.Register(new ZeroFormatter.DynamicObjectSegments.ProjectBlue.FacialCapture.ARKitBlendShapeFormatter()); ZeroFormatter.Comparers.ZeroFormatterEqualityComparer.Register(new ZeroFormatter.DynamicObjectSegments.ProjectBlue.FacialCapture.ARKitBlendShapeEqualityComparer()); ZeroFormatter.Formatters.Formatter.Register(new ZeroFormatter.DynamicObjectSegments.ProjectBlue.FacialCapture.NullableARKitBlendShapeFormatter()); ZeroFormatter.Comparers.ZeroFormatterEqualityComparer.Register(new NullableEqualityComparer()); // Objects - ZeroFormatter.Formatters.Formatter.Register(new ZeroFormatter.DynamicObjectSegments.ARKitFacialValuesFormatter()); + ZeroFormatter.Formatters.Formatter.Register(new ZeroFormatter.DynamicObjectSegments.ARKitFacialValuesFormatter()); // Structs // Unions // Generics @@ -55,7 +49,7 @@ namespace ZeroFormatter.DynamicObjectSegments using global::ZeroFormatter.Internal; using global::ZeroFormatter.Segments; - public class ARKitFacialValuesFormatter : Formatter + public class ARKitFacialValuesFormatter : Formatter where TTypeResolver : ITypeResolver, new() { public override int? GetLength() @@ -63,7 +57,7 @@ public class ARKitFacialValuesFormatter : Formatter : global::ARKitFacialValues, IZeroFormatterSegment + public class ARKitFacialValuesObjectSegment : global::ProjectBlue.FacialCapture.ARKitFacialValues, IZeroFormatterSegment where TTypeResolver : ITypeResolver, new() { static readonly int[] __elementSizes = new int[]{ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8 }; @@ -946,95 +940,6 @@ public int Serialize(ref byte[] targetBytes, int offset) } -#pragma warning restore 168 -#pragma warning restore 414 -#pragma warning restore 618 -#pragma warning restore 612 -#pragma warning disable 618 -#pragma warning disable 612 -#pragma warning disable 414 -#pragma warning disable 168 -namespace ZeroFormatter.DynamicObjectSegments -{ - using global::System; - using global::System.Collections.Generic; - using global::ZeroFormatter.Formatters; - using global::ZeroFormatter.Internal; - using global::ZeroFormatter.Segments; - - - public class ZigSimFacialBlendShapeTypeFormatter : Formatter - where TTypeResolver : ITypeResolver, new() - { - public override int? GetLength() - { - return 4; - } - - public override int Serialize(ref byte[] bytes, int offset, global::ZigSimFacialBlendShapeType value) - { - return BinaryUtil.WriteInt32(ref bytes, offset, (Int32)value); - } - - public override global::ZigSimFacialBlendShapeType Deserialize(ref byte[] bytes, int offset, global::ZeroFormatter.DirtyTracker tracker, out int byteSize) - { - byteSize = 4; - return (global::ZigSimFacialBlendShapeType)BinaryUtil.ReadInt32(ref bytes, offset); - } - } - - - public class NullableZigSimFacialBlendShapeTypeFormatter : Formatter - where TTypeResolver : ITypeResolver, new() - { - public override int? GetLength() - { - return 5; - } - - public override int Serialize(ref byte[] bytes, int offset, global::ZigSimFacialBlendShapeType? value) - { - BinaryUtil.WriteBoolean(ref bytes, offset, value.HasValue); - if (value.HasValue) - { - BinaryUtil.WriteInt32(ref bytes, offset + 1, (Int32)value.Value); - } - else - { - BinaryUtil.EnsureCapacity(ref bytes, offset, offset + 5); - } - - return 5; - } - - public override global::ZigSimFacialBlendShapeType? Deserialize(ref byte[] bytes, int offset, global::ZeroFormatter.DirtyTracker tracker, out int byteSize) - { - byteSize = 5; - var hasValue = BinaryUtil.ReadBoolean(ref bytes, offset); - if (!hasValue) return null; - - return (global::ZigSimFacialBlendShapeType)BinaryUtil.ReadInt32(ref bytes, offset + 1); - } - } - - - - public class ZigSimFacialBlendShapeTypeEqualityComparer : IEqualityComparer - { - public bool Equals(global::ZigSimFacialBlendShapeType x, global::ZigSimFacialBlendShapeType y) - { - return (Int32)x == (Int32)y; - } - - public int GetHashCode(global::ZigSimFacialBlendShapeType x) - { - return (int)x; - } - } - - - -} #pragma warning restore 168 #pragma warning restore 414 #pragma warning restore 618 diff --git a/Assets/Scripts/ZeroFormatterGenerated.cs.meta b/Assets/Packages/ARKitFacialControl/Scripts/Core/ZeroFormatterGenerated.cs.meta similarity index 100% rename from Assets/Scripts/ZeroFormatterGenerated.cs.meta rename to Assets/Packages/ARKitFacialControl/Scripts/Core/ZeroFormatterGenerated.cs.meta diff --git a/Assets/ZigSimFacialControl/Scripts/ZigSimFacialControl.cs b/Assets/Packages/ARKitFacialControl/Scripts/Core/ZigSimFacialControl.cs similarity index 62% rename from Assets/ZigSimFacialControl/Scripts/ZigSimFacialControl.cs rename to Assets/Packages/ARKitFacialControl/Scripts/Core/ZigSimFacialControl.cs index f09c203..9e2194d 100644 --- a/Assets/ZigSimFacialControl/Scripts/ZigSimFacialControl.cs +++ b/Assets/Packages/ARKitFacialControl/Scripts/Core/ZigSimFacialControl.cs @@ -1,9 +1,9 @@ -using System.Collections; -using System.Collections.Generic; +using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; -using Osc; using System; + +using Osc; using UniRx; namespace ProjectBlue.FacialCapture @@ -17,22 +17,16 @@ public class ZigSimFacialControl : MonoBehaviour public int port = 8888; - public SkinnedMeshRenderer skin; + public ARKitFacialControl arkitFacialControl; public Text text; - // For editor - public List blendShapeList = new List(); - public int[] indexList = new int[Enum.GetNames(typeof(ARKitBlendShape)).Length]; - public float[] strengthMultiplierList = new float[Enum.GetNames(typeof(ARKitBlendShape)).Length]; - private Queue messageQueue = new Queue(); - + ARKitFacialValues arkitFacialValues; ARKitFacialRecorder recorder; - ARKitToBlendshapeRemapper remapper; private void Start() { @@ -41,8 +35,6 @@ private void Start() recorder = new ARKitFacialRecorder(); - remapper = new ARKitToBlendshapeRemapper(skin, blendShapeList, indexList, strengthMultiplierList); - Parser oscParser = new Parser(); var server = new UdpServerProxy>(port, (bytes, endPoint) => @@ -86,12 +78,15 @@ private void Start() .EveryUpdate() .Subscribe(_ => { - recorder.RecordUpdate(arkitFacialValues); - remapper.Apply(arkitFacialValues); - text.text = arkitFacialValues.ToString(); + arkitFacialControl.ApplyExternal(arkitFacialValues); + if (text) + { + text.text = arkitFacialValues.ToString(); + } + }).AddTo(this); } @@ -106,15 +101,6 @@ public void StopRecording() recorder.StopRecording(); } - public void ApplyExternal(ARKitFacialValues arkitFacialValues) - { - if(remapper == null) - { - remapper = new ARKitToBlendshapeRemapper(skin, blendShapeList, indexList, strengthMultiplierList); - } - - remapper.Apply(arkitFacialValues); - } public void OnReceivedOsc(Message msg) { @@ -136,32 +122,22 @@ public void OnReceivedOsc(Message msg) var arkitBlendShapeType = ARKitBlendShapeUtil.ARKitBlendShapeDictionary[param.Replace("face", string.Empty)]; - int targetBlendShapeIndex = indexList[(int)arkitBlendShapeType]; - - string targetBlendShapeName = blendShapeList[targetBlendShapeIndex]; - - var index = skin.sharedMesh.GetBlendShapeIndex(targetBlendShapeName); - - if (index > -1) - { - arkitFacialValues.SetValueFromIndex((int)arkitBlendShapeType, Mathf.Min(100, (float)msg.data[0] * 100 * strengthMultiplierList[(int)arkitBlendShapeType])); - - } + arkitFacialValues.SetValueFromIndex((int)arkitBlendShapeType, Mathf.Min(100, (float)msg.data[0] * 100)); } } } - catch(Exception e) + catch (Exception e) { } - + } - + } diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/IEnumeratorExtensions.cs.meta b/Assets/Packages/ARKitFacialControl/Scripts/Core/ZigSimFacialControl.cs.meta similarity index 83% rename from Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/IEnumeratorExtensions.cs.meta rename to Assets/Packages/ARKitFacialControl/Scripts/Core/ZigSimFacialControl.cs.meta index b8a9f11..fa7a760 100644 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/IEnumeratorExtensions.cs.meta +++ b/Assets/Packages/ARKitFacialControl/Scripts/Core/ZigSimFacialControl.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4719fc9e6319c654b8a4818bef2c3a85 +guid: 962fa02c198e1da4f9a6df66bffdb49d MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ProjectBlue/Character/c01_Else2019.meta b/Assets/Packages/ARKitFacialControl/Scripts/Util.meta similarity index 77% rename from Assets/ProjectBlue/Character/c01_Else2019.meta rename to Assets/Packages/ARKitFacialControl/Scripts/Util.meta index 5bcd1b3..ca36967 100644 --- a/Assets/ProjectBlue/Character/c01_Else2019.meta +++ b/Assets/Packages/ARKitFacialControl/Scripts/Util.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 27f4117b138fa234790d530ef63da017 +guid: 7821a062018a0f441ab920b12a4929cb folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Packages/ARKitFacialControl/Scripts/Util/Logger.cs b/Assets/Packages/ARKitFacialControl/Scripts/Util/Logger.cs new file mode 100644 index 0000000..17ca4c3 --- /dev/null +++ b/Assets/Packages/ARKitFacialControl/Scripts/Util/Logger.cs @@ -0,0 +1,84 @@ +using System.Collections.Concurrent; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +namespace ProjectBlue.FacialCapture +{ + + public class Logger : MonoBehaviour + { + + [SerializeField] + Text logText; + + [SerializeField] + int numHoldLines = 5; + + FixedSizedQueue queue; + + int logLine = 1; + + private void Awake() + { + Application.logMessageReceived += OnLogMessage; + + + queue = new FixedSizedQueue(); + queue.Limit = numHoldLines; + + + } + + private void OnDestroy() + { + Application.logMessageReceived += OnLogMessage; + } + + + private void OnLogMessage(string i_logText, string i_stackTrace, LogType i_type) + { + if (string.IsNullOrEmpty(i_logText)) + { + return; + } + + + queue.Enqueue($"{logLine} : {i_logText}"); + + string str = ""; + foreach (var elem in queue.Get()) + { + str += $"{elem}\n\n"; + } + + logText.text = str; + + logLine++; + } + } + + + public class FixedSizedQueue + { + ConcurrentQueue q = new ConcurrentQueue(); + private object lockObject = new object(); + + public int Limit { get; set; } + public void Enqueue(T obj) + { + q.Enqueue(obj); + lock (lockObject) + { + T overflow; + while (q.Count > Limit && q.TryDequeue(out overflow)) ; + } + } + + public IEnumerable Get() + { + return q; + } + } + +} \ No newline at end of file diff --git a/Assets/Scripts/Logger.cs.meta b/Assets/Packages/ARKitFacialControl/Scripts/Util/Logger.cs.meta similarity index 100% rename from Assets/Scripts/Logger.cs.meta rename to Assets/Packages/ARKitFacialControl/Scripts/Util/Logger.cs.meta diff --git a/Assets/Packages/ARKitFacialControl/Scripts/Util/RecorderUI.cs b/Assets/Packages/ARKitFacialControl/Scripts/Util/RecorderUI.cs new file mode 100644 index 0000000..f1a508f --- /dev/null +++ b/Assets/Packages/ARKitFacialControl/Scripts/Util/RecorderUI.cs @@ -0,0 +1,47 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +using UnityEngine.UI; + +using UniRx; + +namespace ProjectBlue.FacialCapture +{ + public class RecorderUI : MonoBehaviour + { + + [SerializeField] + Button recordButton; + + [SerializeField] + Button stopButton; + + [SerializeField] + ZigSimFacialControl zigSimFacialControl; + + + void Start() + { + + + recordButton.OnClickAsObservable().Subscribe(_ => + { + zigSimFacialControl.StartRecording(); + + }).AddTo(this); + + + stopButton.OnClickAsObservable().Subscribe(_ => + { + + zigSimFacialControl.StopRecording(); + + }).AddTo(this); + + } + + } + +} + diff --git a/Assets/Scripts/RecorderUI.cs.meta b/Assets/Packages/ARKitFacialControl/Scripts/Util/RecorderUI.cs.meta similarity index 100% rename from Assets/Scripts/RecorderUI.cs.meta rename to Assets/Packages/ARKitFacialControl/Scripts/Util/RecorderUI.cs.meta diff --git a/Assets/Packages/ARKitFacialControl/Timelines.meta b/Assets/Packages/ARKitFacialControl/Timelines.meta new file mode 100644 index 0000000..2575a28 --- /dev/null +++ b/Assets/Packages/ARKitFacialControl/Timelines.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 60bdf09f81ceb3941bc66fad5f1addee +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TestTimeline.playable b/Assets/Packages/ARKitFacialControl/Timelines/SampleTimeline.playable similarity index 89% rename from Assets/TestTimeline.playable rename to Assets/Packages/ARKitFacialControl/Timelines/SampleTimeline.playable index a7ed78d..ff75d8f 100644 --- a/Assets/TestTimeline.playable +++ b/Assets/Packages/ARKitFacialControl/Timelines/SampleTimeline.playable @@ -1,6 +1,6 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!114 &-5888494274551063534 +--- !u!114 &-765093816240913841 MonoBehaviour: m_ObjectHideFlags: 1 m_CorrespondingSourceObject: {fileID: 0} @@ -24,10 +24,10 @@ MonoBehaviour: - m_Version: 1 m_Start: 0 m_ClipIn: 0 - m_Asset: {fileID: -1794271743007617248} - m_Duration: 20.216666666666665 + m_Asset: {fileID: 5899542595656499484} + m_Duration: 9.416666666666666 m_TimeScale: 1 - m_ParentTrack: {fileID: -5888494274551063534} + m_ParentTrack: {fileID: -765093816240913841} m_EaseInDuration: 0 m_EaseOutDuration: 0 m_BlendInDuration: 0 @@ -89,32 +89,9 @@ MonoBehaviour: m_PreExtrapolationMode: 0 m_PostExtrapolationTime: 0 m_PreExtrapolationTime: 0 - m_DisplayName: Else_Face_geo + m_DisplayName: FacePlayer m_Markers: m_Objects: [] ---- !u!114 &-1794271743007617248 -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: 48853ae485fa386428341ac1ea122570, type: 3} - m_Name: ControlPlayableAsset - m_EditorClassIdentifier: - sourceGameObject: - exposedName: ad9810dc4ed9a2b488d85a9eeff7f547 - defaultValue: {fileID: 0} - prefabGameObject: {fileID: 0} - updateParticle: 1 - particleRandomSeed: 5432 - updateDirector: 1 - updateITimeControl: 1 - searchHierarchy: 0 - active: 0 - postPlayback: 2 --- !u!114 &11400000 MonoBehaviour: m_ObjectHideFlags: 0 @@ -125,17 +102,17 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: bfda56da833e2384a9677cd3c976a436, type: 3} - m_Name: TestTimeline + m_Name: SampleTimeline m_EditorClassIdentifier: m_Version: 0 m_Tracks: - - {fileID: -5888494274551063534} + - {fileID: -765093816240913841} m_FixedDuration: 0 m_EditorSettings: m_Framerate: 60 m_DurationMode: 0 - m_MarkerTrack: {fileID: 7810632624638330440} ---- !u!114 &7810632624638330440 + m_MarkerTrack: {fileID: 3378855903368307286} +--- !u!114 &3378855903368307286 MonoBehaviour: m_ObjectHideFlags: 1 m_CorrespondingSourceObject: {fileID: 0} @@ -158,3 +135,26 @@ MonoBehaviour: m_Clips: [] m_Markers: m_Objects: [] +--- !u!114 &5899542595656499484 +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: 48853ae485fa386428341ac1ea122570, type: 3} + m_Name: ControlPlayableAsset + m_EditorClassIdentifier: + sourceGameObject: + exposedName: f9a3251d9dd61004c98878f84ec7fc12 + defaultValue: {fileID: 0} + prefabGameObject: {fileID: 0} + updateParticle: 1 + particleRandomSeed: 6931 + updateDirector: 1 + updateITimeControl: 1 + searchHierarchy: 0 + active: 0 + postPlayback: 2 diff --git a/Assets/TestTimeline.playable.meta b/Assets/Packages/ARKitFacialControl/Timelines/SampleTimeline.playable.meta similarity index 78% rename from Assets/TestTimeline.playable.meta rename to Assets/Packages/ARKitFacialControl/Timelines/SampleTimeline.playable.meta index bf4d4d5..8b5f50f 100644 --- a/Assets/TestTimeline.playable.meta +++ b/Assets/Packages/ARKitFacialControl/Timelines/SampleTimeline.playable.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 99b0ad5841b3e094497f356df44add6c +guid: 6ac1397648ed21e4494e4dd2c8dae697 NativeFormatImporter: externalObjects: {} mainObjectFileID: 0 diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_Animation.prefab b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_Animation.prefab deleted file mode 100644 index 12ed0f1..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_Animation.prefab +++ /dev/null @@ -1,38085 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &2365319340972718824 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7784762208343511447} - - component: {fileID: 6016722567298237734} - - component: {fileID: 1895845846620730554} - - component: {fileID: 1775110863514615890} - - component: {fileID: 3903418700847623218} - - component: {fileID: 218645796103597473} - - component: {fileID: 501884372011919187} - - component: {fileID: 5844666718447811039} - - component: {fileID: 3375175867220557989} - - component: {fileID: 1137112256445107972} - - component: {fileID: 6721215575211600330} - - component: {fileID: 1318141009530166556} - - component: {fileID: 185361700448951025} - - component: {fileID: 4333681020203358362} - - component: {fileID: 8027428166198442443} - m_Layer: 11 - m_Name: secondary - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7784762208343511447 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2365319340972718824} - 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: 9146872230401571495} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &6016722567298237734 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2365319340972718824} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 00ea06e1753e16f4ca870c39c067c86b, type: 3} - m_Name: - m_EditorClassIdentifier: - m_comment: BigLibbon - m_drawGizmo: 0 - m_gizmoColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - m_stiffnessForce: 0.2 - m_gravityPower: 0.13 - m_gravityDir: {x: 0, y: -0.01, z: 0} - m_dragForce: 0.8 - m_center: {fileID: 0} - RootBones: - - {fileID: 9146872230401572129} - - {fileID: 9146872230401572183} - m_hitRadius: 0.057 - ColliderGroups: - - {fileID: 183748835671777966} - - {fileID: 7055606943522563377} - - {fileID: 4029404622345638566} - - {fileID: 4378342711356960195} - - {fileID: 4805702043995720208} - - {fileID: 8946298426612333857} - - {fileID: 3774296994035091656} - - {fileID: 3978924249809616244} - - {fileID: 1242270188910312384} - - {fileID: 2694638213603910568} ---- !u!114 &1895845846620730554 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2365319340972718824} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 00ea06e1753e16f4ca870c39c067c86b, type: 3} - m_Name: - m_EditorClassIdentifier: - m_comment: BigLibbon_Ring - m_drawGizmo: 0 - m_gizmoColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - m_stiffnessForce: 0.58 - m_gravityPower: 0.13 - m_gravityDir: {x: 0, y: -0.01, z: 0} - m_dragForce: 0.8 - m_center: {fileID: 0} - RootBones: - - {fileID: 9146872230401572221} - - {fileID: 9146872230401571981} - m_hitRadius: 0.068 - ColliderGroups: - - {fileID: 183748835671777966} - - {fileID: 6575646307731765307} - - {fileID: 8409673536557197173} ---- !u!114 &1775110863514615890 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2365319340972718824} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 00ea06e1753e16f4ca870c39c067c86b, type: 3} - m_Name: - m_EditorClassIdentifier: - m_comment: LongHair - m_drawGizmo: 0 - m_gizmoColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - m_stiffnessForce: 0.48 - m_gravityPower: 0.298 - m_gravityDir: {x: 0, y: -0.2, z: 0} - m_dragForce: 0.841 - m_center: {fileID: 0} - RootBones: - - {fileID: 9146872230401557339} - - {fileID: 9146872230401557209} - m_hitRadius: 0.02 - ColliderGroups: - - {fileID: 183748835671777966} - - {fileID: 4805702043995720208} - - {fileID: 8946298426612333857} - - {fileID: 3774296994035091656} - - {fileID: 3978924249809616244} - - {fileID: 1242270188910312384} - - {fileID: 2694638213603910568} - - {fileID: 4029404622345638566} - - {fileID: 4378342711356960195} ---- !u!114 &3903418700847623218 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2365319340972718824} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 00ea06e1753e16f4ca870c39c067c86b, type: 3} - m_Name: - m_EditorClassIdentifier: - m_comment: FrontRibbon - m_drawGizmo: 0 - m_gizmoColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - m_stiffnessForce: 0.48 - m_gravityPower: 0.3 - m_gravityDir: {x: 0, y: -0.02, z: 0} - m_dragForce: 1 - m_center: {fileID: 0} - RootBones: - - {fileID: 9146872230401557245} - - {fileID: 9146872230401557003} - m_hitRadius: 0.02 - ColliderGroups: [] ---- !u!114 &218645796103597473 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2365319340972718824} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 00ea06e1753e16f4ca870c39c067c86b, type: 3} - m_Name: - m_EditorClassIdentifier: - m_comment: OutSkirtBtm - m_drawGizmo: 0 - m_gizmoColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - m_stiffnessForce: 1.73 - m_gravityPower: 0.13 - m_gravityDir: {x: 0, y: -0.81, z: 0} - m_dragForce: 1 - m_center: {fileID: 0} - RootBones: - - {fileID: 9146872230401571893} - - {fileID: 9146872230401572627} - - {fileID: 9146872230401572643} - - {fileID: 9146872230401572657} - - {fileID: 9146872230401572683} - - {fileID: 9146872230401572715} - - {fileID: 9146872230401572495} - - {fileID: 9146872230401572513} - - {fileID: 9146872230401572545} - - {fileID: 9146872230401572577} - - {fileID: 9146872230401571909} - - {fileID: 9146872230401571941} - - {fileID: 9146872230401572741} - - {fileID: 9146872230401572775} - - {fileID: 9146872230401572795} - - {fileID: 9146872230401572827} - - {fileID: 9146872230401572853} - - {fileID: 9146872230401572611} - m_hitRadius: 0.02 - ColliderGroups: - - {fileID: 7055606943522563377} - - {fileID: 6897728112971702157} - - {fileID: 2148924717976261015} - - {fileID: 457050589488453778} ---- !u!114 &501884372011919187 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2365319340972718824} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 00ea06e1753e16f4ca870c39c067c86b, type: 3} - m_Name: - m_EditorClassIdentifier: - m_comment: Ahoge - m_drawGizmo: 0 - m_gizmoColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - m_stiffnessForce: 1.12 - m_gravityPower: 0.11 - m_gravityDir: {x: 0, y: -0.37, z: 0} - m_dragForce: 1 - m_center: {fileID: 0} - RootBones: - - {fileID: 9146872230401556781} - m_hitRadius: 0.02 - ColliderGroups: [] ---- !u!114 &5844666718447811039 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2365319340972718824} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 00ea06e1753e16f4ca870c39c067c86b, type: 3} - m_Name: - m_EditorClassIdentifier: - m_comment: InSkirt - m_drawGizmo: 0 - m_gizmoColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - m_stiffnessForce: 2.64 - m_gravityPower: 0.13 - m_gravityDir: {x: 0, y: -0.81, z: 0} - m_dragForce: 1 - m_center: {fileID: 0} - RootBones: - - {fileID: 9146872230401571997} - - {fileID: 9146872230401572043} - - {fileID: 9146872230401572049} - - {fileID: 9146872230401572071} - - {fileID: 9146872230401572077} - - {fileID: 9146872230401572081} - - {fileID: 9146872230401571845} - - {fileID: 9146872230401571849} - - {fileID: 9146872230401571869} - - {fileID: 9146872230401571873} - - {fileID: 9146872230401572003} - - {fileID: 9146872230401572009} - - {fileID: 9146872230401572031} - - {fileID: 9146872230401572037} - m_hitRadius: 0.028 - ColliderGroups: - - {fileID: 7055606943522563377} - - {fileID: 6897728112971702157} - - {fileID: 2148924717976261015} ---- !u!114 &3375175867220557989 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2365319340972718824} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 00ea06e1753e16f4ca870c39c067c86b, type: 3} - m_Name: - m_EditorClassIdentifier: - m_comment: Shoulder - m_drawGizmo: 1 - m_gizmoColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - m_stiffnessForce: 0.96 - m_gravityPower: 0.09 - m_gravityDir: {x: 0, y: -0.22, z: 0} - m_dragForce: 1 - m_center: {fileID: 0} - RootBones: - - {fileID: 9146872230401556905} - - {fileID: 9146872230401556913} - - {fileID: 9146872230401556935} - - {fileID: 9146872230401556941} - - {fileID: 9146872230401556947} - - {fileID: 9146872230401557997} - - {fileID: 9146872230401556953} - - {fileID: 9146872230401556961} - - {fileID: 9146872230401556983} - - {fileID: 9146872230401556989} - - {fileID: 9146872230401556739} - - {fileID: 9146872230401557775} - m_hitRadius: 0.009 - ColliderGroups: - - {fileID: 4805702043995720208} - - {fileID: 8946298426612333857} - - {fileID: 3978924249809616244} - - {fileID: 1242270188910312384} ---- !u!114 &1137112256445107972 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2365319340972718824} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 00ea06e1753e16f4ca870c39c067c86b, type: 3} - m_Name: - m_EditorClassIdentifier: - m_comment: LegRibbon - m_drawGizmo: 0 - m_gizmoColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - m_stiffnessForce: 1 - m_gravityPower: 0 - m_gravityDir: {x: 0, y: -1, z: 0} - m_dragForce: 0.4 - m_center: {fileID: 0} - RootBones: - - {fileID: 9146872230401557001} - m_hitRadius: 0.02 - ColliderGroups: [] ---- !u!114 &6721215575211600330 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2365319340972718824} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 00ea06e1753e16f4ca870c39c067c86b, type: 3} - m_Name: - m_EditorClassIdentifier: - m_comment: shortHairF - m_drawGizmo: 1 - m_gizmoColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - m_stiffnessForce: 1.98 - m_gravityPower: 0.11 - m_gravityDir: {x: 0, y: -0.7, z: 0} - m_dragForce: 0.25 - m_center: {fileID: 0} - RootBones: - - {fileID: 9146872230401556731} - - {fileID: 9146872230401556483} - - {fileID: 9146872230401556491} - - {fileID: 9146872230401556499} - - {fileID: 9146872230401556599} - - {fileID: 9146872230401556597} - - {fileID: 9146872230401556595} - m_hitRadius: 0.01 - ColliderGroups: - - {fileID: 183748835671777966} - - {fileID: 4378342711356960195} ---- !u!114 &1318141009530166556 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2365319340972718824} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 00ea06e1753e16f4ca870c39c067c86b, type: 3} - m_Name: - m_EditorClassIdentifier: - m_comment: MiddleHairFLR - m_drawGizmo: 0 - m_gizmoColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - m_stiffnessForce: 1.35 - m_gravityPower: 0.07 - m_gravityDir: {x: 0, y: -1, z: 0} - m_dragForce: 1 - m_center: {fileID: 0} - RootBones: - - {fileID: 9146872230401556505} - - {fileID: 9146872230401556533} - - {fileID: 9146872230401556593} - - {fileID: 9146872230401556607} - m_hitRadius: 0.01 - ColliderGroups: - - {fileID: 183748835671777966} - - {fileID: 4378342711356960195} - - {fileID: 0} ---- !u!114 &185361700448951025 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2365319340972718824} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 00ea06e1753e16f4ca870c39c067c86b, type: 3} - m_Name: - m_EditorClassIdentifier: - m_comment: SideHair - m_drawGizmo: 0 - m_gizmoColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - m_stiffnessForce: 1.4 - m_gravityPower: 0.2 - m_gravityDir: {x: 0, y: -0.03, z: 0} - m_dragForce: 1 - m_center: {fileID: 0} - RootBones: - - {fileID: 9146872230401556605} - - {fileID: 9146872230401557377} - - {fileID: 9146872230401557407} - - {fileID: 9146872230401557445} - - {fileID: 9146872230401557459} - - {fileID: 9146872230401557457} - m_hitRadius: 0.01 - ColliderGroups: - - {fileID: 183748835671777966} - - {fileID: 4378342711356960195} - - {fileID: 0} ---- !u!114 &4333681020203358362 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2365319340972718824} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 00ea06e1753e16f4ca870c39c067c86b, type: 3} - m_Name: - m_EditorClassIdentifier: - m_comment: BackHair - m_drawGizmo: 0 - m_gizmoColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - m_stiffnessForce: 1.4 - m_gravityPower: 0.2 - m_gravityDir: {x: 0, y: -0.03, z: 0} - m_dragForce: 1 - m_center: {fileID: 0} - RootBones: - - {fileID: 9146872230401556779} - - {fileID: 9146872230401556793} - - {fileID: 9146872230401556823} - - {fileID: 9146872230401556837} - - {fileID: 9146872230401556851} - - {fileID: 9146872230401556611} - - {fileID: 9146872230401556727} - - {fileID: 9146872230401556725} - - {fileID: 9146872230401556723} - - {fileID: 9146872230401556721} - - {fileID: 9146872230401556735} - - {fileID: 9146872230401556733} - m_hitRadius: 0.01 - ColliderGroups: - - {fileID: 183748835671777966} - - {fileID: 4378342711356960195} - - {fileID: 0} ---- !u!114 &8027428166198442443 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2365319340972718824} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 00ea06e1753e16f4ca870c39c067c86b, type: 3} - m_Name: - m_EditorClassIdentifier: - m_comment: Necklace - m_drawGizmo: 0 - m_gizmoColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - m_stiffnessForce: 0.72 - m_gravityPower: 0.2 - m_gravityDir: {x: 0, y: -0.13, z: 0} - m_dragForce: 1 - m_center: {fileID: 0} - RootBones: - - {fileID: 9146872230401557019} - m_hitRadius: 0.02 - ColliderGroups: [] ---- !u!1 &5030512233953099243 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3437465591632624771} - - component: {fileID: 457050589488453778} - m_Layer: 11 - m_Name: OutSkirtCollision - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3437465591632624771 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5030512233953099243} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -0.051, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572239} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &457050589488453778 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5030512233953099243} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 646b65a4a57afd34d8c4ed557efb46a5, type: 3} - m_Name: - m_EditorClassIdentifier: - Colliders: - - Offset: {x: 0, y: 0, z: 0} - Radius: 0.167 - m_gizmoColor: {r: 1, g: 0, b: 1, a: 1} ---- !u!1 &9146872230402057857 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571681} - m_Layer: 11 - m_Name: CLOTH_RightHandAttach - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571681 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057857} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.054060996, y: -0.02203, z: 2.220446e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571683} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057859 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571683} - - component: {fileID: 3510155379234923370} - m_Layer: 11 - m_Name: CLOTH_RightHand - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571683 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057859} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.07944497, y: 0, z: 0.0020189006} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571681} - - {fileID: 9146872230401571689} - - {fileID: 9146872230401571697} - - {fileID: 9146872230401571705} - - {fileID: 9146872230401571457} - - {fileID: 9146872230401571471} - m_Father: {fileID: 9146872230401571673} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &3510155379234923370 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057859} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: 0.079445, y: 0, z: 0.0020189001} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572335} - weight: 1 ---- !u!1 &9146872230402057861 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571685} - m_Layer: 11 - m_Name: CLOTH_RightForeArmTwist2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571685 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057861} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.13390099, y: -1.4210854e-16, z: 0.0025850001} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571677} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057863 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571687} - m_Layer: 11 - m_Name: CLOTH_RightForeArmTwist1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571687 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057863} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.05861, y: -0.00090999994, z: 0.0013805} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571677} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057865 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571689} - m_Layer: 11 - m_Name: CLOTH_RightHandIndex_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571689 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057865} - m_LocalRotation: {x: 1, y: 0, z: 0, w: -0.000000010536712} - m_LocalPosition: {x: 0.020313999, y: 0.00446, z: 0.013609789} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571695} - m_Father: {fileID: 9146872230401571683} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057867 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571691} - m_Layer: 11 - m_Name: CLOTH_RightHandIndex3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571691 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057867} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.016276693, y: 0.00269, z: -0.0021435127} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571693} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057869 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571693} - m_Layer: 11 - m_Name: CLOTH_RightHandIndex2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571693 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057869} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.022887465, y: 0.0021, z: -0.004252734} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571691} - m_Father: {fileID: 9146872230401571695} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057871 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571695} - m_Layer: 11 - m_Name: CLOTH_RightHandIndex1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571695 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057871} - m_LocalRotation: {x: 0, y: -0.06279052, z: -0, w: 0.9980267} - m_LocalPosition: {x: 0.039061997, y: -0.00273, z: -0.00796787} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571693} - m_Father: {fileID: 9146872230401571689} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057873 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571697} - m_Layer: 11 - m_Name: CLOTH_RightHandMiddle_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571697 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057873} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.021387998, y: 0.0049, z: 0.00477081} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571703} - m_Father: {fileID: 9146872230401571683} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057875 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571699} - m_Layer: 11 - m_Name: CLOTH_RightHandMiddle3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571699 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057875} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.026665999, y: -0.00647, z: 0.0012118099} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571701} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057877 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571701} - m_Layer: 11 - m_Name: CLOTH_RightHandMiddle2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571701 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057877} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.024395, y: -0.00215, z: -0.00004817} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571699} - m_Father: {fileID: 9146872230401571703} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057879 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571703} - m_Layer: 11 - m_Name: CLOTH_RightHandMiddle1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571703 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057879} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.041673, y: 0.0041199997, z: 0.00212152} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571701} - m_Father: {fileID: 9146872230401571697} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057881 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571705} - m_Layer: 11 - m_Name: CLOTH_RightHandPinky_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571705 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057881} - m_LocalRotation: {x: 1, y: 0, z: 0, w: -0.000000010536712} - m_LocalPosition: {x: 0.018356, y: -0.00091999996, z: -0.0110011} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571711} - m_Father: {fileID: 9146872230401571683} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057883 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571707} - m_Layer: 11 - m_Name: CLOTH_RightHandPinky3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571707 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057883} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.01615091, y: 0.0029499999, z: 0.0037844602} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571709} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057885 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571709} - m_Layer: 11 - m_Name: CLOTH_RightHandPinky2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571709 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057885} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.017482834, y: 0.0030999999, z: 0.0045370692} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571707} - m_Father: {fileID: 9146872230401571711} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057887 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571711} - m_Layer: 11 - m_Name: CLOTH_RightHandPinky1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571711 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057887} - m_LocalRotation: {x: 0, y: 0.09273404, z: -0, w: 0.99569094} - m_LocalPosition: {x: 0.03854, y: -0.0020199998, z: 0.0103308} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571709} - m_Father: {fileID: 9146872230401571705} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057889 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571457} - m_Layer: 11 - m_Name: CLOTH_RightHandRing_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571457 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057889} - m_LocalRotation: {x: 1, y: 0, z: 0, w: -0.000000010536712} - m_LocalPosition: {x: 0.02029, y: 0.0034799997, z: -0.0048779} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571463} - m_Father: {fileID: 9146872230401571683} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057891 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571459} - m_Layer: 11 - m_Name: CLOTH_RightHandRing3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571459 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057891} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.018506397, y: 0.00303, z: 0.0012300072} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571461} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057893 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571461} - m_Layer: 11 - m_Name: CLOTH_RightHandRing2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571461 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057893} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.025606269, y: 0.00345, z: 0.0015548012} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571459} - m_Father: {fileID: 9146872230401571463} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057895 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571463} - m_Layer: 11 - m_Name: CLOTH_RightHandRing1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571463 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057895} - m_LocalRotation: {x: 0, y: 0.027426694, z: -0, w: 0.99962384} - m_LocalPosition: {x: 0.043116998, y: -0.0040899995, z: 0.0044361} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571461} - m_Father: {fileID: 9146872230401571457} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057897 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571465} - - component: {fileID: 3711112896509159482} - m_Layer: 11 - m_Name: CLOTH_RightLeg - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571465 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057897} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -0.32775795, z: 0.02230837} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557001} - - {fileID: 9146872230401571679} - m_Father: {fileID: 9146872230401571473} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &3711112896509159482 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057897} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: 0, y: -0.32775798, z: 0.02230837} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572117} - weight: 1 ---- !u!1 &9146872230402057899 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571467} - m_Layer: 11 - m_Name: CLOTH_RightHandThumb3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571467 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057899} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.014996001, y: -0.0054099998, z: 0.0104712} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571469} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057901 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571469} - m_Layer: 11 - m_Name: CLOTH_RightHandThumb2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571469 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057901} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.019106999, y: -0.0058299997, z: 0.0127005} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571467} - m_Father: {fileID: 9146872230401571471} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057903 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571471} - m_Layer: 11 - m_Name: CLOTH_RightHandThumb1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571471 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057903} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.013517999, y: -0.00193, z: 0.020137701} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571469} - m_Father: {fileID: 9146872230401571683} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057905 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571473} - - component: {fileID: 5056262553113897989} - m_Layer: 11 - m_Name: CLOTH_RightUpLeg - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571473 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057905} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.0693203, y: -0.042844415, z: -0.000000009313226} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571465} - m_Father: {fileID: 9146872230401571587} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &5056262553113897989 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057905} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: 0.0693203, y: -0.04284439, z: 0} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572125} - weight: 1 ---- !u!1 &9146872230402057907 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571475} - - component: {fileID: 5891251003654158968} - m_Layer: 11 - m_Name: CLOTH_RightToeBase1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571475 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057907} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: -1.110223e-18, z: 0.0953623} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571477} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &5891251003654158968 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057907} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: 0, y: 0, z: 0.0953623} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 0 - m_Sources: - - sourceTransform: {fileID: 9146872230401572127} - weight: 1 ---- !u!1 &9146872230402057909 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571477} - - component: {fileID: 8888916906668338429} - m_Layer: 11 - m_Name: CLOTH_RightToeBase - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571477 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057909} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.00000009685755, y: -0.053363204, z: 0.009100899} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571475} - m_Father: {fileID: 9146872230401571679} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &8888916906668338429 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057909} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: 0, y: -0.053363226, z: 0.0091009} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572113} - weight: 1 ---- !u!1 &9146872230402057911 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571479} - - component: {fileID: 2854330882357643364} - m_Layer: 11 - m_Name: CLOTH_RightShoulder - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571479 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057911} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.0364153, y: 0.04095888, z: 0.0059526553} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571671} - m_Father: {fileID: 9146872230401571481} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &2854330882357643364 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057911} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: 0.0364153, y: 0.040958915, z: 0.0059526553} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572115} - weight: 1 ---- !u!1 &9146872230402057913 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571481} - - component: {fileID: 8605137795649023308} - m_Layer: 11 - m_Name: CLOTH_Spine3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571481 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057913} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 1.3163128e-16, y: 0.05918473, z: -0.0018002242} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557019} - - {fileID: 9146872230401571649} - - {fileID: 9146872230401571657} - - {fileID: 9146872230401571479} - m_Father: {fileID: 9146872230401571483} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &8605137795649023308 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057913} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: 0, y: 0.059184693, z: -0.0018002244} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572133} - weight: 1 ---- !u!1 &9146872230402057915 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571483} - - component: {fileID: 3968590802200634206} - m_Layer: 11 - m_Name: CLOTH_Spine2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571483 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057915} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -2.7296601e-17, y: 0.07334131, z: -0.0037601665} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557231} - - {fileID: 9146872230401571481} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 33 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &3968590802200634206 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057915} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: 0, y: 0.07334137, z: -0.0037601667} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572135} - weight: 1 ---- !u!1 &9146872230402057917 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571485} - - component: {fileID: 5942694586148842224} - m_Layer: 11 - m_Name: CLOTH_Spine1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571485 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057917} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 1.5939289e-17, y: 0.09316343, z: -0.0020552287} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571997} - - {fileID: 9146872230401572043} - - {fileID: 9146872230401572049} - - {fileID: 9146872230401572071} - - {fileID: 9146872230401572077} - - {fileID: 9146872230401572081} - - {fileID: 9146872230401571845} - - {fileID: 9146872230401571849} - - {fileID: 9146872230401571869} - - {fileID: 9146872230401571873} - - {fileID: 9146872230401572003} - - {fileID: 9146872230401572009} - - {fileID: 9146872230401572031} - - {fileID: 9146872230401572037} - - {fileID: 9146872230401571903} - - {fileID: 9146872230401572637} - - {fileID: 9146872230401572651} - - {fileID: 9146872230401572677} - - {fileID: 9146872230401572709} - - {fileID: 9146872230401572729} - - {fileID: 9146872230401572507} - - {fileID: 9146872230401572539} - - {fileID: 9146872230401572571} - - {fileID: 9146872230401572603} - - {fileID: 9146872230401571935} - - {fileID: 9146872230401571967} - - {fileID: 9146872230401572753} - - {fileID: 9146872230401572789} - - {fileID: 9146872230401572821} - - {fileID: 9146872230401572847} - - {fileID: 9146872230401572861} - - {fileID: 9146872230401572621} - - {fileID: 9146872230401556745} - - {fileID: 9146872230401571483} - m_Father: {fileID: 9146872230401571487} - m_RootOrder: 12 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &5942694586148842224 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057917} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: 0, y: 0.093163446, z: -0.0020552287} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572121} - weight: 1 ---- !u!1 &9146872230402057919 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571487} - - component: {fileID: 4481137315834198106} - m_Layer: 11 - m_Name: CLOTH_Spine - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571487 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057919} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0.043449223, z: 0.010691154} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572407} - - {fileID: 9146872230401572409} - - {fileID: 9146872230401572427} - - {fileID: 9146872230401572445} - - {fileID: 9146872230401572463} - - {fileID: 9146872230401572465} - - {fileID: 9146872230401556867} - - {fileID: 9146872230401556885} - - {fileID: 9146872230401556903} - - {fileID: 9146872230401572353} - - {fileID: 9146872230401572371} - - {fileID: 9146872230401572389} - - {fileID: 9146872230401571485} - m_Father: {fileID: 9146872230401571587} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &4481137315834198106 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057919} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: 0, y: 0.043449212, z: 0.010691154} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572123} - weight: 1 ---- !u!1 &9146872230402057927 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571495} - - component: {fileID: 9146872230392534247} - - component: {fileID: 5878823052281728746} - m_Layer: 11 - m_Name: Else2019_Animation - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571495 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057927} - 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: 9146872230401571501} - - {fileID: 9146872230401571509} - - {fileID: 9146872230401571505} - - {fileID: 7784762208343511447} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!95 &9146872230392534247 -Animator: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057927} - m_Enabled: 1 - m_Avatar: {fileID: 9000000, guid: e0e31ad4796a7e043a94516275e896a7, type: 3} - m_Controller: {fileID: 0} - m_CullingMode: 1 - m_UpdateMode: 0 - m_ApplyRootMotion: 1 - m_LinearVelocityBlending: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorControllerStateOnDisable: 0 ---- !u!114 &5878823052281728746 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057927} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 41173daca41f9a64b8552925c6a3c363, type: 3} - m_Name: - m_EditorClassIdentifier: - address: 127.0.0.1 - port: 7001 - socketType: 0 - actorID: 0 - connectToAxis: 1 - boundAnimator: {fileID: 0} - motionUpdateMethod: 0 - enableHipsMovement: 1 - physicalReferenceOverride: {fileID: 0} - velocityMagic: 3000 - angularVelocityMagic: 20 ---- !u!1 &9146872230402057931 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571499} - - component: {fileID: 9146872230388394541} - m_Layer: 11 - m_Name: Else_Cloth_geo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571499 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057931} - 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: 9146872230401571501} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &9146872230388394541 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057931} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: c40aac831ef72734aa95b1d6c9657079, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - 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 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300004, guid: e0e31ad4796a7e043a94516275e896a7, type: 3} - m_Bones: - - {fileID: 9146872230401571487} - - {fileID: 9146872230401571485} - - {fileID: 9146872230401571483} - - {fileID: 9146872230401571481} - - {fileID: 9146872230401571649} - - {fileID: 9146872230401571585} - - {fileID: 9146872230401571597} - - {fileID: 9146872230401571595} - - {fileID: 9146872230401571599} - - {fileID: 9146872230401571607} - - {fileID: 9146872230401571605} - - {fileID: 9146872230401556947} - - {fileID: 9146872230401556945} - - {fileID: 9146872230401556959} - - {fileID: 9146872230401556957} - - {fileID: 9146872230401556955} - - {fileID: 9146872230401556941} - - {fileID: 9146872230401556939} - - {fileID: 9146872230401556937} - - {fileID: 9146872230401556951} - - {fileID: 9146872230401556949} - - {fileID: 9146872230401556935} - - {fileID: 9146872230401556933} - - {fileID: 9146872230401556931} - - {fileID: 9146872230401556929} - - {fileID: 9146872230401556943} - - {fileID: 9146872230401556913} - - {fileID: 9146872230401556927} - - {fileID: 9146872230401556925} - - {fileID: 9146872230401556923} - - {fileID: 9146872230401556921} - - {fileID: 9146872230401556905} - - {fileID: 9146872230401556919} - - {fileID: 9146872230401556917} - - {fileID: 9146872230401556915} - - {fileID: 9146872230401571479} - - {fileID: 9146872230401571671} - - {fileID: 9146872230401571667} - - {fileID: 9146872230401571665} - - {fileID: 9146872230401571669} - - {fileID: 9146872230401571677} - - {fileID: 9146872230401571675} - - {fileID: 9146872230401556989} - - {fileID: 9146872230401556987} - - {fileID: 9146872230401556985} - - {fileID: 9146872230401556743} - - {fileID: 9146872230401556741} - - {fileID: 9146872230401556739} - - {fileID: 9146872230401556737} - - {fileID: 9146872230401556751} - - {fileID: 9146872230401556749} - - {fileID: 9146872230401556747} - - {fileID: 9146872230401556983} - - {fileID: 9146872230401556981} - - {fileID: 9146872230401556979} - - {fileID: 9146872230401556977} - - {fileID: 9146872230401556991} - - {fileID: 9146872230401556953} - - {fileID: 9146872230401556967} - - {fileID: 9146872230401556965} - - {fileID: 9146872230401556963} - - {fileID: 9146872230401556961} - - {fileID: 9146872230401556975} - - {fileID: 9146872230401556973} - - {fileID: 9146872230401556971} - - {fileID: 9146872230401556969} - - {fileID: 9146872230401557021} - - {fileID: 9146872230401571903} - - {fileID: 9146872230401571901} - - {fileID: 9146872230401571899} - - {fileID: 9146872230401571897} - - {fileID: 9146872230401571911} - - {fileID: 9146872230401571893} - - {fileID: 9146872230401571891} - - {fileID: 9146872230401571889} - - {fileID: 9146872230401572637} - - {fileID: 9146872230401572635} - - {fileID: 9146872230401572633} - - {fileID: 9146872230401572647} - - {fileID: 9146872230401572645} - - {fileID: 9146872230401572627} - - {fileID: 9146872230401572625} - - {fileID: 9146872230401572639} - - {fileID: 9146872230401572651} - - {fileID: 9146872230401572649} - - {fileID: 9146872230401572663} - - {fileID: 9146872230401572661} - - {fileID: 9146872230401572659} - - {fileID: 9146872230401572643} - - {fileID: 9146872230401572641} - - {fileID: 9146872230401572655} - - {fileID: 9146872230401572653} - - {fileID: 9146872230401572677} - - {fileID: 9146872230401572675} - - {fileID: 9146872230401572673} - - {fileID: 9146872230401572687} - - {fileID: 9146872230401572685} - - {fileID: 9146872230401572657} - - {fileID: 9146872230401572671} - - {fileID: 9146872230401572669} - - {fileID: 9146872230401572667} - - {fileID: 9146872230401572665} - - {fileID: 9146872230401572679} - - {fileID: 9146872230401572709} - - {fileID: 9146872230401572707} - - {fileID: 9146872230401572705} - - {fileID: 9146872230401572719} - - {fileID: 9146872230401572717} - - {fileID: 9146872230401572683} - - {fileID: 9146872230401572693} - - {fileID: 9146872230401572691} - - {fileID: 9146872230401572689} - - {fileID: 9146872230401572703} - - {fileID: 9146872230401572701} - - {fileID: 9146872230401572699} - - {fileID: 9146872230401572697} - - {fileID: 9146872230401572711} - - {fileID: 9146872230401572681} - - {fileID: 9146872230401572695} - - {fileID: 9146872230401572729} - - {fileID: 9146872230401572487} - - {fileID: 9146872230401572485} - - {fileID: 9146872230401572483} - - {fileID: 9146872230401572481} - - {fileID: 9146872230401572715} - - {fileID: 9146872230401572713} - - {fileID: 9146872230401572727} - - {fileID: 9146872230401572725} - - {fileID: 9146872230401572723} - - {fileID: 9146872230401572721} - - {fileID: 9146872230401572735} - - {fileID: 9146872230401572733} - - {fileID: 9146872230401572731} - - {fileID: 9146872230401572507} - - {fileID: 9146872230401572505} - - {fileID: 9146872230401572519} - - {fileID: 9146872230401572517} - - {fileID: 9146872230401572515} - - {fileID: 9146872230401572495} - - {fileID: 9146872230401572491} - - {fileID: 9146872230401572489} - - {fileID: 9146872230401572503} - - {fileID: 9146872230401572501} - - {fileID: 9146872230401572499} - - {fileID: 9146872230401572497} - - {fileID: 9146872230401572511} - - {fileID: 9146872230401557017} - - {fileID: 9146872230401557031} - - {fileID: 9146872230401557029} - - {fileID: 9146872230401557027} - - {fileID: 9146872230401557025} - - {fileID: 9146872230401572539} - - {fileID: 9146872230401572537} - - {fileID: 9146872230401572551} - - {fileID: 9146872230401572549} - - {fileID: 9146872230401572547} - - {fileID: 9146872230401572513} - - {fileID: 9146872230401572523} - - {fileID: 9146872230401572521} - - {fileID: 9146872230401572535} - - {fileID: 9146872230401572533} - - {fileID: 9146872230401572531} - - {fileID: 9146872230401572529} - - {fileID: 9146872230401572543} - - {fileID: 9146872230401572541} - - {fileID: 9146872230401572527} - - {fileID: 9146872230401572525} - - {fileID: 9146872230401572571} - - {fileID: 9146872230401572569} - - {fileID: 9146872230401572583} - - {fileID: 9146872230401572581} - - {fileID: 9146872230401572579} - - {fileID: 9146872230401572545} - - {fileID: 9146872230401572555} - - {fileID: 9146872230401572553} - - {fileID: 9146872230401572567} - - {fileID: 9146872230401572565} - - {fileID: 9146872230401572563} - - {fileID: 9146872230401572561} - - {fileID: 9146872230401572575} - - {fileID: 9146872230401572573} - - {fileID: 9146872230401557039} - - {fileID: 9146872230401557037} - - {fileID: 9146872230401557035} - - {fileID: 9146872230401557033} - - {fileID: 9146872230401557047} - - {fileID: 9146872230401572603} - - {fileID: 9146872230401572601} - - {fileID: 9146872230401572359} - - {fileID: 9146872230401572357} - - {fileID: 9146872230401572355} - - {fileID: 9146872230401572577} - - {fileID: 9146872230401572587} - - {fileID: 9146872230401572585} - - {fileID: 9146872230401572599} - - {fileID: 9146872230401572597} - - {fileID: 9146872230401572595} - - {fileID: 9146872230401572593} - - {fileID: 9146872230401572607} - - {fileID: 9146872230401572605} - - {fileID: 9146872230401572591} - - {fileID: 9146872230401572589} - - {fileID: 9146872230401571935} - - {fileID: 9146872230401571933} - - {fileID: 9146872230401571931} - - {fileID: 9146872230401571929} - - {fileID: 9146872230401571943} - - {fileID: 9146872230401571909} - - {fileID: 9146872230401571919} - - {fileID: 9146872230401571917} - - {fileID: 9146872230401571915} - - {fileID: 9146872230401571913} - - {fileID: 9146872230401571927} - - {fileID: 9146872230401571925} - - {fileID: 9146872230401571923} - - {fileID: 9146872230401571921} - - {fileID: 9146872230401557051} - - {fileID: 9146872230401557049} - - {fileID: 9146872230401557063} - - {fileID: 9146872230401557061} - - {fileID: 9146872230401557059} - - {fileID: 9146872230401571967} - - {fileID: 9146872230401571965} - - {fileID: 9146872230401571963} - - {fileID: 9146872230401571961} - - {fileID: 9146872230401572743} - - {fileID: 9146872230401571941} - - {fileID: 9146872230401571951} - - {fileID: 9146872230401571949} - - {fileID: 9146872230401571947} - - {fileID: 9146872230401571945} - - {fileID: 9146872230401571959} - - {fileID: 9146872230401571957} - - {fileID: 9146872230401571955} - - {fileID: 9146872230401571953} - - {fileID: 9146872230401571939} - - {fileID: 9146872230401571937} - - {fileID: 9146872230401572753} - - {fileID: 9146872230401572767} - - {fileID: 9146872230401572765} - - {fileID: 9146872230401572763} - - {fileID: 9146872230401572761} - - {fileID: 9146872230401572741} - - {fileID: 9146872230401572737} - - {fileID: 9146872230401572751} - - {fileID: 9146872230401572749} - - {fileID: 9146872230401572747} - - {fileID: 9146872230401572745} - - {fileID: 9146872230401572759} - - {fileID: 9146872230401572757} - - {fileID: 9146872230401557045} - - {fileID: 9146872230401557043} - - {fileID: 9146872230401557041} - - {fileID: 9146872230401557055} - - {fileID: 9146872230401557053} - - {fileID: 9146872230401572789} - - {fileID: 9146872230401572787} - - {fileID: 9146872230401572785} - - {fileID: 9146872230401572799} - - {fileID: 9146872230401572797} - - {fileID: 9146872230401572775} - - {fileID: 9146872230401572773} - - {fileID: 9146872230401572771} - - {fileID: 9146872230401572769} - - {fileID: 9146872230401572783} - - {fileID: 9146872230401572781} - - {fileID: 9146872230401572779} - - {fileID: 9146872230401572777} - - {fileID: 9146872230401572791} - - {fileID: 9146872230401572821} - - {fileID: 9146872230401572819} - - {fileID: 9146872230401572817} - - {fileID: 9146872230401572831} - - {fileID: 9146872230401572829} - - {fileID: 9146872230401572795} - - {fileID: 9146872230401572805} - - {fileID: 9146872230401572803} - - {fileID: 9146872230401572801} - - {fileID: 9146872230401572815} - - {fileID: 9146872230401572813} - - {fileID: 9146872230401572811} - - {fileID: 9146872230401572809} - - {fileID: 9146872230401572823} - - {fileID: 9146872230401572793} - - {fileID: 9146872230401572807} - - {fileID: 9146872230401572847} - - {fileID: 9146872230401572845} - - {fileID: 9146872230401572843} - - {fileID: 9146872230401572841} - - {fileID: 9146872230401572855} - - {fileID: 9146872230401572827} - - {fileID: 9146872230401572825} - - {fileID: 9146872230401572839} - - {fileID: 9146872230401572837} - - {fileID: 9146872230401572835} - - {fileID: 9146872230401572833} - - {fileID: 9146872230401572861} - - {fileID: 9146872230401572859} - - {fileID: 9146872230401572857} - - {fileID: 9146872230401572615} - - {fileID: 9146872230401572613} - - {fileID: 9146872230401572853} - - {fileID: 9146872230401572851} - - {fileID: 9146872230401572849} - - {fileID: 9146872230401572863} - - {fileID: 9146872230401572621} - - {fileID: 9146872230401572619} - - {fileID: 9146872230401572617} - - {fileID: 9146872230401572631} - - {fileID: 9146872230401572629} - - {fileID: 9146872230401572611} - - {fileID: 9146872230401572609} - - {fileID: 9146872230401572623} - - {fileID: 9146872230401571997} - - {fileID: 9146872230401571995} - - {fileID: 9146872230401571993} - - {fileID: 9146872230401572007} - - {fileID: 9146872230401572005} - - {fileID: 9146872230401572043} - - {fileID: 9146872230401572041} - - {fileID: 9146872230401572055} - - {fileID: 9146872230401572053} - - {fileID: 9146872230401572051} - - {fileID: 9146872230401572049} - - {fileID: 9146872230401572063} - - {fileID: 9146872230401572061} - - {fileID: 9146872230401572059} - - {fileID: 9146872230401572057} - - {fileID: 9146872230401572071} - - {fileID: 9146872230401572069} - - {fileID: 9146872230401572067} - - {fileID: 9146872230401572065} - - {fileID: 9146872230401572079} - - {fileID: 9146872230401572077} - - {fileID: 9146872230401572075} - - {fileID: 9146872230401572073} - - {fileID: 9146872230401572087} - - {fileID: 9146872230401572085} - - {fileID: 9146872230401572083} - - {fileID: 9146872230401572081} - - {fileID: 9146872230401572095} - - {fileID: 9146872230401572093} - - {fileID: 9146872230401572091} - - {fileID: 9146872230401572089} - - {fileID: 9146872230401571847} - - {fileID: 9146872230401571845} - - {fileID: 9146872230401571843} - - {fileID: 9146872230401571841} - - {fileID: 9146872230401571855} - - {fileID: 9146872230401571853} - - {fileID: 9146872230401571851} - - {fileID: 9146872230401571849} - - {fileID: 9146872230401571863} - - {fileID: 9146872230401571861} - - {fileID: 9146872230401571859} - - {fileID: 9146872230401571857} - - {fileID: 9146872230401571871} - - {fileID: 9146872230401571869} - - {fileID: 9146872230401571867} - - {fileID: 9146872230401571865} - - {fileID: 9146872230401571879} - - {fileID: 9146872230401571877} - - {fileID: 9146872230401571875} - - {fileID: 9146872230401571873} - - {fileID: 9146872230401571887} - - {fileID: 9146872230401571885} - - {fileID: 9146872230401571883} - - {fileID: 9146872230401571881} - - {fileID: 9146872230401571895} - - {fileID: 9146872230401572003} - - {fileID: 9146872230401572001} - - {fileID: 9146872230401572015} - - {fileID: 9146872230401572013} - - {fileID: 9146872230401572011} - - {fileID: 9146872230401572009} - - {fileID: 9146872230401572023} - - {fileID: 9146872230401572021} - - {fileID: 9146872230401572019} - - {fileID: 9146872230401572017} - - {fileID: 9146872230401572031} - - {fileID: 9146872230401572029} - - {fileID: 9146872230401572027} - - {fileID: 9146872230401572025} - - {fileID: 9146872230401572039} - - {fileID: 9146872230401572037} - - {fileID: 9146872230401572035} - - {fileID: 9146872230401572033} - - {fileID: 9146872230401572047} - - {fileID: 9146872230401572045} - - {fileID: 9146872230401556745} - - {fileID: 9146872230401572221} - - {fileID: 9146872230401572129} - - {fileID: 9146872230401572155} - - {fileID: 9146872230401572165} - - {fileID: 9146872230401572163} - - {fileID: 9146872230401572161} - - {fileID: 9146872230401571981} - - {fileID: 9146872230401572183} - - {fileID: 9146872230401572193} - - {fileID: 9146872230401572203} - - {fileID: 9146872230401572201} - - {fileID: 9146872230401572467} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 9146872230401571487} - m_AABB: - m_Center: {x: -0.016004741, y: -0.05923021, z: -0.13617313} - m_Extent: {x: 0.5218488, y: 0.43283993, z: 0.3404194} - m_DirtyAABB: 0 ---- !u!1 &9146872230402057933 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571501} - m_Layer: 11 - m_Name: Else_Cloth - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571501 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057933} - 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: 9146872230401557057} - - {fileID: 9146872230401557071} - - {fileID: 9146872230401557069} - - {fileID: 9146872230401571499} - - {fileID: 9146872230401557067} - - {fileID: 9146872230401557065} - - {fileID: 9146872230401557079} - - {fileID: 9146872230401571507} - - {fileID: 9146872230401557077} - m_Father: {fileID: 9146872230401571495} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057937 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571505} - m_Layer: 11 - m_Name: Else_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571505 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057937} - 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: 9146872230401571519} - - {fileID: 9146872230401556753} - - {fileID: 9146872230401571517} - m_Father: {fileID: 9146872230401571495} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057939 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571507} - - component: {fileID: 9146872230388394537} - m_Layer: 11 - m_Name: Else_Pants_geo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571507 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057939} - 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: 9146872230401571501} - m_RootOrder: 7 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &9146872230388394537 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057939} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: c63bb4a9f66571a4b87ffd5ea50530da, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - 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 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300006, guid: e0e31ad4796a7e043a94516275e896a7, type: 3} - m_Bones: - - {fileID: 9146872230401571587} - - {fileID: 9146872230401571659} - - {fileID: 9146872230401571487} - - {fileID: 9146872230401571485} - - {fileID: 9146872230401572639} - - {fileID: 9146872230401572653} - - {fileID: 9146872230401572063} - - {fileID: 9146872230401572061} - - {fileID: 9146872230401572059} - - {fileID: 9146872230401572057} - - {fileID: 9146872230401572071} - - {fileID: 9146872230401572069} - - {fileID: 9146872230401572067} - - {fileID: 9146872230401572065} - - {fileID: 9146872230401572079} - - {fileID: 9146872230401572077} - - {fileID: 9146872230401572075} - - {fileID: 9146872230401572073} - - {fileID: 9146872230401572087} - - {fileID: 9146872230401572085} - - {fileID: 9146872230401572083} - - {fileID: 9146872230401572081} - - {fileID: 9146872230401572095} - - {fileID: 9146872230401572093} - - {fileID: 9146872230401572091} - - {fileID: 9146872230401572089} - - {fileID: 9146872230401571843} - - {fileID: 9146872230401571841} - - {fileID: 9146872230401571855} - - {fileID: 9146872230401571853} - - {fileID: 9146872230401571851} - - {fileID: 9146872230401571863} - - {fileID: 9146872230401571861} - - {fileID: 9146872230401571859} - - {fileID: 9146872230401571857} - - {fileID: 9146872230401571871} - - {fileID: 9146872230401571869} - - {fileID: 9146872230401571867} - - {fileID: 9146872230401571865} - - {fileID: 9146872230401571879} - - {fileID: 9146872230401571877} - - {fileID: 9146872230401571873} - - {fileID: 9146872230401571887} - - {fileID: 9146872230401571885} - - {fileID: 9146872230401571883} - - {fileID: 9146872230401571881} - - {fileID: 9146872230401571895} - - {fileID: 9146872230401572003} - - {fileID: 9146872230401572001} - - {fileID: 9146872230401572015} - - {fileID: 9146872230401572013} - - {fileID: 9146872230401572011} - - {fileID: 9146872230401572023} - - {fileID: 9146872230401572021} - - {fileID: 9146872230401572019} - - {fileID: 9146872230401572017} - - {fileID: 9146872230401572389} - - {fileID: 9146872230401572387} - - {fileID: 9146872230401572385} - - {fileID: 9146872230401572399} - - {fileID: 9146872230401572397} - - {fileID: 9146872230401572395} - - {fileID: 9146872230401572393} - - {fileID: 9146872230401572371} - - {fileID: 9146872230401572369} - - {fileID: 9146872230401572383} - - {fileID: 9146872230401572381} - - {fileID: 9146872230401572379} - - {fileID: 9146872230401572377} - - {fileID: 9146872230401572391} - - {fileID: 9146872230401572353} - - {fileID: 9146872230401572367} - - {fileID: 9146872230401572365} - - {fileID: 9146872230401572363} - - {fileID: 9146872230401572361} - - {fileID: 9146872230401572375} - - {fileID: 9146872230401572373} - - {fileID: 9146872230401556903} - - {fileID: 9146872230401556901} - - {fileID: 9146872230401556899} - - {fileID: 9146872230401556897} - - {fileID: 9146872230401556911} - - {fileID: 9146872230401556909} - - {fileID: 9146872230401556907} - - {fileID: 9146872230401556885} - - {fileID: 9146872230401556883} - - {fileID: 9146872230401556881} - - {fileID: 9146872230401556895} - - {fileID: 9146872230401556893} - - {fileID: 9146872230401556891} - - {fileID: 9146872230401556889} - - {fileID: 9146872230401556867} - - {fileID: 9146872230401556865} - - {fileID: 9146872230401556879} - - {fileID: 9146872230401556877} - - {fileID: 9146872230401556875} - - {fileID: 9146872230401556873} - - {fileID: 9146872230401556887} - - {fileID: 9146872230401572465} - - {fileID: 9146872230401572479} - - {fileID: 9146872230401572477} - - {fileID: 9146872230401572475} - - {fileID: 9146872230401572473} - - {fileID: 9146872230401556871} - - {fileID: 9146872230401556869} - - {fileID: 9146872230401572463} - - {fileID: 9146872230401572461} - - {fileID: 9146872230401572459} - - {fileID: 9146872230401572457} - - {fileID: 9146872230401572471} - - {fileID: 9146872230401572469} - - {fileID: 9146872230401572467} - - {fileID: 9146872230401572445} - - {fileID: 9146872230401572443} - - {fileID: 9146872230401572441} - - {fileID: 9146872230401572455} - - {fileID: 9146872230401572453} - - {fileID: 9146872230401572451} - - {fileID: 9146872230401572449} - - {fileID: 9146872230401572427} - - {fileID: 9146872230401572425} - - {fileID: 9146872230401572439} - - {fileID: 9146872230401572437} - - {fileID: 9146872230401572435} - - {fileID: 9146872230401572433} - - {fileID: 9146872230401572447} - - {fileID: 9146872230401572409} - - {fileID: 9146872230401572423} - - {fileID: 9146872230401572421} - - {fileID: 9146872230401572419} - - {fileID: 9146872230401572417} - - {fileID: 9146872230401572431} - - {fileID: 9146872230401572429} - - {fileID: 9146872230401572407} - - {fileID: 9146872230401572405} - - {fileID: 9146872230401572403} - - {fileID: 9146872230401572401} - - {fileID: 9146872230401572415} - - {fileID: 9146872230401572413} - - {fileID: 9146872230401572411} - - {fileID: 9146872230401571473} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 9146872230401571587} - m_AABB: - m_Center: {x: 0, y: -0.043521523, z: -0.004855387} - m_Extent: {x: 0.1476504, y: 0.08662903, z: 0.11568005} - m_DirtyAABB: 0 ---- !u!1 &9146872230402057941 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571509} - m_Layer: 11 - m_Name: Else_mesh - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571509 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057941} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0.69858086, z: 0.011064615} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556757} - - {fileID: 9146872230401556755} - - {fileID: 9146872230401572131} - m_Father: {fileID: 9146872230401571495} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057949 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571517} - m_Layer: 11 - m_Name: ElseMAIN_socket - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571517 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057949} - 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: 9146872230401572239} - m_Father: {fileID: 9146872230401571505} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402057951 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571519} - m_Layer: 11 - m_Name: ElseCLOTH_socket - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571519 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402057951} - 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: 9146872230401571587} - m_Father: {fileID: 9146872230401571505} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058017 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571585} - - component: {fileID: 4542433152298431618} - m_Layer: 11 - m_Name: CLOTH_LeftArm - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571585 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058017} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.053138945, y: 0.016170979, z: 0.0067390837} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556905} - - {fileID: 9146872230401556913} - - {fileID: 9146872230401556935} - - {fileID: 9146872230401556941} - - {fileID: 9146872230401556947} - - {fileID: 9146872230401557997} - - {fileID: 9146872230401571599} - - {fileID: 9146872230401571597} - - {fileID: 9146872230401571595} - m_Father: {fileID: 9146872230401571649} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &4542433152298431618 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058017} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: -0.05313894, y: 0.01617096, z: 0.006739083} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572237} - weight: 1 ---- !u!1 &9146872230402058019 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571587} - - component: {fileID: 7815363050517851706} - m_Layer: 11 - m_Name: CLOTH_Hips - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571587 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058019} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0.78903234, z: -0.019063689} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571659} - - {fileID: 9146872230401571473} - - {fileID: 9146872230401571487} - m_Father: {fileID: 9146872230401571519} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &7815363050517851706 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058019} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: 0, y: 0.78903234, z: -0.019063689} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572239} - weight: 1 ---- !u!1 &9146872230402058021 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571589} - m_Layer: 11 - m_Name: CLOTH_Head1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571589 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058021} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -7.609445e-17, y: 0.19106601, z: 0.03309309} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571591} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058023 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571591} - - component: {fileID: 7804347055941509312} - m_Layer: 11 - m_Name: CLOTH_Head - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571591 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058023} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -7.609445e-17, y: 0.064790726, z: 0.0015891045} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571589} - m_Father: {fileID: 9146872230401571657} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &7804347055941509312 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058023} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: -7.609444e-17, y: 0.06479072, z: 0.0015891057} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572227} - weight: 1 ---- !u!1 &9146872230402058025 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571593} - - component: {fileID: 384740793174979093} - m_Layer: 11 - m_Name: CLOTH_LeftFoot - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571593 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058025} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -0.3568681, z: -0.022643397} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571663} - m_Father: {fileID: 9146872230401571651} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &384740793174979093 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058025} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: 0, y: -0.35686812, z: -0.022643397} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572245} - weight: 1 ---- !u!1 &9146872230402058027 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571595} - m_Layer: 11 - m_Name: CLOTH_LeftArmTwist2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571595 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058027} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.16981958, y: 0.00021225827, z: -0.011259599} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571585} - m_RootOrder: 8 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058029 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571597} - m_Layer: 11 - m_Name: CLOTH_LeftArmTwist1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571597 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058029} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.06571589, y: 0.00033202162, z: -0.004394941} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571585} - m_RootOrder: 7 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058031 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571599} - - component: {fileID: 8233642259504748923} - m_Layer: 11 - m_Name: CLOTH_LeftArmRoll - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571599 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058031} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.10001102, y: 0.00031363964, z: -0.0068307174} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571607} - m_Father: {fileID: 9146872230401571585} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &8233642259504748923 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058031} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: -0.10001103, y: 0.00031358856, z: -0.006830717} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572235} - weight: 1 ---- !u!1 &9146872230402058033 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571601} - m_Layer: 11 - m_Name: CLOTH_LeftForeArmTwist1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571601 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058033} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.05860997, y: -0.0009076013, z: 0.0013805516} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571607} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058035 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571603} - - component: {fileID: 4934814910949296240} - m_Layer: 11 - m_Name: CLOTH_LeftForeArmRoll - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571603 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058035} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.104046226, y: 0.0000046491623, z: 0.0019584484} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571613} - m_Father: {fileID: 9146872230401571607} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &4934814910949296240 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058035} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: -0.104046226, y: 0.000004631092, z: 0.0019584484} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572255} - weight: 1 ---- !u!1 &9146872230402058037 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571605} - - component: {fileID: 5085280608649098605} - m_Layer: 11 - m_Name: CLOTH_LeftForeArmElbow - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571605 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058037} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.012721951, y: 0.0037528386, z: -0.015877938} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571607} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &5085280608649098605 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058037} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: 0.012721951, y: 0.0037528386, z: -0.015877938} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 0 - m_Sources: - - sourceTransform: {fileID: 9146872230401572241} - weight: 1 ---- !u!1 &9146872230402058039 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571607} - - component: {fileID: 1522953149978848080} - m_Layer: 11 - m_Name: CLOTH_LeftForeArm - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571607 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058039} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.10176778, y: -0.00031363964, z: -0.00621868} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571605} - - {fileID: 9146872230401571603} - - {fileID: 9146872230401571601} - - {fileID: 9146872230401571615} - m_Father: {fileID: 9146872230401571599} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &1522953149978848080 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058039} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: -0.10176778, y: -0.00031358804, z: -0.0062186806} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572243} - weight: 1 ---- !u!1 &9146872230402058041 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571609} - m_Layer: 11 - m_Name: CLOTH_LeftHandIndex1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571609 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058041} - m_LocalRotation: {x: 0, y: -0.06279052, z: -0, w: 0.9980267} - m_LocalPosition: {x: -0.03906172, y: 0.0027322038, z: 0.007967873} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571623} - m_Father: {fileID: 9146872230401571619} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058043 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571611} - - component: {fileID: 4186235003153931573} - m_Layer: 11 - m_Name: CLOTH_LeftHandAttach - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571611 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058043} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.054060366, y: -0.022025926, z: -8.0250984e-10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571613} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &4186235003153931573 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058043} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: -0.054060366, y: -0.022025926, z: 0} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 0 - m_Sources: - - sourceTransform: {fileID: 9146872230401572263} - weight: 1 ---- !u!1 &9146872230402058045 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571613} - - component: {fileID: 6192845293048311157} - m_Layer: 11 - m_Name: CLOTH_LeftHand - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571613 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058045} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.079445094, y: -0.0000046491623, z: 0.0020188652} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571611} - - {fileID: 9146872230401571619} - - {fileID: 9146872230401571627} - - {fileID: 9146872230401571635} - - {fileID: 9146872230401571643} - - {fileID: 9146872230401571641} - m_Father: {fileID: 9146872230401571603} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &6192845293048311157 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058045} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: -0.0794451, y: -0.000004630837, z: 0.0020188647} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572249} - weight: 1 ---- !u!1 &9146872230402058047 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571615} - m_Layer: 11 - m_Name: CLOTH_LeftForeArmTwist2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571615 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058047} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.13390101, y: 0.000004631092, z: 0.0025850632} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571607} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058049 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571617} - m_Layer: 11 - m_Name: CLOTH_LeftHandMiddle1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571617 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058049} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.041672688, y: 0.004121655, z: 0.0021215254} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571631} - m_Father: {fileID: 9146872230401571627} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058051 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571619} - m_Layer: 11 - m_Name: CLOTH_LeftHandIndex_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571619 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058051} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.02031392, y: 0.0044666682, z: 0.013609801} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571609} - m_Father: {fileID: 9146872230401571613} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058053 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571621} - m_Layer: 11 - m_Name: CLOTH_LeftHandIndex3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571621 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058053} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.016276758, y: -0.002694084, z: 0.0021435097} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571623} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058055 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571623} - m_Layer: 11 - m_Name: CLOTH_LeftHandIndex2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571623 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058055} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.0228877, y: -0.0021021971, z: 0.004252806} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571621} - m_Father: {fileID: 9146872230401571609} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058057 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571625} - m_Layer: 11 - m_Name: CLOTH_LeftHandPinky1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571625 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058057} - m_LocalRotation: {x: 0, y: 0.09273404, z: -0, w: 0.99569094} - m_LocalPosition: {x: -0.03854013, y: 0.0020158726, z: -0.01033078} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571639} - m_Father: {fileID: 9146872230401571635} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058059 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571627} - m_Layer: 11 - m_Name: CLOTH_LeftHandMiddle_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571627 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058059} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.021387493, y: 0.004902672, z: 0.004770821} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571617} - m_Father: {fileID: 9146872230401571613} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058061 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571629} - m_Layer: 11 - m_Name: CLOTH_LeftHandMiddle3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571629 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058061} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.02666596, y: -0.006477729, z: 0.0012118154} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571631} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058063 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571631} - m_Layer: 11 - m_Name: CLOTH_LeftHandMiddle2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571631 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058063} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.024395825, y: -0.0021449206, z: -0.000048176924} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571629} - m_Father: {fileID: 9146872230401571617} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058065 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571633} - m_Layer: 11 - m_Name: CLOTH_LeftHandRing1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571633 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058065} - m_LocalRotation: {x: 0, y: 0.027426694, z: -0, w: 0.99962384} - m_LocalPosition: {x: -0.043116268, y: 0.004086777, z: -0.0044361716} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571647} - m_Father: {fileID: 9146872230401571643} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058067 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571635} - m_Layer: 11 - m_Name: CLOTH_LeftHandPinky_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571635 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058067} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.018355774, y: -0.00091083936, z: -0.011001123} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571625} - m_Father: {fileID: 9146872230401571613} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058069 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571637} - m_Layer: 11 - m_Name: CLOTH_LeftHandPinky3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571637 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058069} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.016151136, y: -0.0029528718, z: -0.0037845303} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571639} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058071 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571639} - m_Layer: 11 - m_Name: CLOTH_LeftHandPinky2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571639 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058071} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.017482117, y: -0.003098898, z: -0.004536916} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571637} - m_Father: {fileID: 9146872230401571625} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058073 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571641} - m_Layer: 11 - m_Name: CLOTH_LeftHandThumb1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571641 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058073} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.013517325, y: -0.0019250435, z: 0.020137712} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571655} - m_Father: {fileID: 9146872230401571613} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058075 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571643} - m_Layer: 11 - m_Name: CLOTH_LeftHandRing_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571643 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058075} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.020289928, y: 0.0034872452, z: -0.0048778644} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571633} - m_Father: {fileID: 9146872230401571613} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058077 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571645} - m_Layer: 11 - m_Name: CLOTH_LeftHandRing3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571645 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058077} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.018506717, y: -0.0030331318, z: -0.0012300165} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571647} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058079 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571647} - m_Layer: 11 - m_Name: CLOTH_LeftHandRing2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571647 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058079} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.025606345, y: -0.0034448125, z: -0.0015547515} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571645} - m_Father: {fileID: 9146872230401571633} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058081 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571649} - - component: {fileID: 2120841556044839176} - m_Layer: 11 - m_Name: CLOTH_LeftShoulder - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571649 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058081} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.036415335, y: 0.040963292, z: 0.005952645} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571585} - m_Father: {fileID: 9146872230401571481} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &2120841556044839176 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058081} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: -0.036415335, y: 0.040963326, z: 0.0059526456} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572301} - weight: 1 ---- !u!1 &9146872230402058083 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571651} - - component: {fileID: 3540014146975606204} - m_Layer: 11 - m_Name: CLOTH_LeftLeg - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571651 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058083} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -0.32775813, z: 0.02230836} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571593} - m_Father: {fileID: 9146872230401571659} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &3540014146975606204 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058083} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: 0, y: -0.32775813, z: 0.02230836} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572303} - weight: 1 ---- !u!1 &9146872230402058085 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571653} - m_Layer: 11 - m_Name: CLOTH_LeftHandThumb3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571653 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058085} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.014996353, y: -0.0054081255, z: 0.010471193} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571655} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058087 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571655} - m_Layer: 11 - m_Name: CLOTH_LeftHandThumb2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571655 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058087} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.01910693, y: -0.0058329613, z: 0.012700477} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571653} - m_Father: {fileID: 9146872230401571641} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058089 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571657} - - component: {fileID: 4512263802388013031} - m_Layer: 11 - m_Name: CLOTH_Neck - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571657 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058089} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -1.7856474e-16, y: 0.08961034, z: -0.007940618} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571591} - m_Father: {fileID: 9146872230401571481} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &4512263802388013031 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058089} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: -1.7856474e-16, y: 0.089610346, z: -0.007940619} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572309} - weight: 1 ---- !u!1 &9146872230402058091 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571659} - - component: {fileID: 3398275781152923311} - m_Layer: 11 - m_Name: CLOTH_LeftUpLeg - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571659 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058091} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.06932031, y: -0.042844355, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571651} - m_Father: {fileID: 9146872230401571587} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &3398275781152923311 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058091} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: -0.06932031, y: -0.042844355, z: 0} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572311} - weight: 1 ---- !u!1 &9146872230402058093 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571661} - - component: {fileID: 5992930926805135815} - m_Layer: 11 - m_Name: CLOTH_LeftToeBase1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571661 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058093} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 1.1546319e-16, y: -8.1046276e-17, z: 0.095362365} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571663} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &5992930926805135815 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058093} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: 0, y: 0, z: 0.095362365} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 0 - m_Sources: - - sourceTransform: {fileID: 9146872230401572297} - weight: 1 ---- !u!1 &9146872230402058095 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571663} - - component: {fileID: 3972115742000935458} - m_Layer: 11 - m_Name: CLOTH_LeftToeBase - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571663 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058095} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.00000008940697, y: -0.053363204, z: 0.00910088} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571661} - m_Father: {fileID: 9146872230401571593} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &3972115742000935458 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058095} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: 0, y: -0.05336319, z: 0.00910088} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572299} - weight: 1 ---- !u!1 &9146872230402058097 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571665} - m_Layer: 11 - m_Name: CLOTH_RightArmTwist2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571665 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058097} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.1698197, y: 0.00021, z: -0.01125957} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571671} - m_RootOrder: 8 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058099 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571667} - m_Layer: 11 - m_Name: CLOTH_RightArmTwist1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571667 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058099} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.0657157, y: 0.00032999998, z: -0.00439494} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571671} - m_RootOrder: 7 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058101 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571669} - - component: {fileID: 2703945797665533276} - m_Layer: 11 - m_Name: CLOTH_RightArmRoll - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571669 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058101} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.1000107, y: 0.00030994415, z: -0.00683067} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571677} - m_Father: {fileID: 9146872230401571671} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &2703945797665533276 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058101} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: 0.1000107, y: 0.00030999997, z: -0.00683067} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572305} - weight: 1 ---- !u!1 &9146872230402058103 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571671} - - component: {fileID: 1380584906508148859} - m_Layer: 11 - m_Name: CLOTH_RightArm - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571671 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058103} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.053138994, y: 0.016180038, z: 0.0067390697} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556953} - - {fileID: 9146872230401556961} - - {fileID: 9146872230401556983} - - {fileID: 9146872230401556989} - - {fileID: 9146872230401556739} - - {fileID: 9146872230401557775} - - {fileID: 9146872230401571669} - - {fileID: 9146872230401571667} - - {fileID: 9146872230401571665} - m_Father: {fileID: 9146872230401571479} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &1380584906508148859 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058103} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: 0.053138997, y: 0.01618, z: 0.0067390697} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572307} - weight: 1 ---- !u!1 &9146872230402058105 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571673} - - component: {fileID: 2615121421290387339} - m_Layer: 11 - m_Name: CLOTH_RightForeArmRoll - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571673 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058105} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.104046024, y: 0, z: 0.0019584} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571683} - m_Father: {fileID: 9146872230401571677} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &2615121421290387339 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058105} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: 0.104046, y: 0, z: 0.0019584} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572325} - weight: 1 ---- !u!1 &9146872230402058107 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571675} - m_Layer: 11 - m_Name: CLOTH_RightForeArmElbow - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571675 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058107} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.012722, y: 0.00375, z: -0.015878} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571677} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058109 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571677} - - component: {fileID: 3218821796557540424} - m_Layer: 11 - m_Name: CLOTH_RightForeArm - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571677 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058109} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.10176798, y: -0.00030994415, z: -0.0062186997} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571675} - - {fileID: 9146872230401571673} - - {fileID: 9146872230401571687} - - {fileID: 9146872230401571685} - m_Father: {fileID: 9146872230401571669} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &3218821796557540424 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058109} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: 0.101767994, y: -0.00030999997, z: -0.0062186997} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572313} - weight: 1 ---- !u!1 &9146872230402058111 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571679} - - component: {fileID: 4673149782712178285} - m_Layer: 11 - m_Name: CLOTH_RightFoot - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571679 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058111} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -0.35686827, z: -0.02264337} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571477} - m_Father: {fileID: 9146872230401571465} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &4673149782712178285 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058111} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: 0, y: -0.3568682, z: -0.02264337} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572315} - weight: 1 ---- !u!1 &9146872230402058241 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572065} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_3_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572065 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058241} - m_LocalRotation: {x: 0.08778565, y: 0.049765404, z: -0.05178689, w: 0.9935468} - m_LocalPosition: {x: -0.030353293, y: -0.0016314379, z: 0.0025066892} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572079} - m_Father: {fileID: 9146872230401572067} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058243 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572067} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_3_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572067 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058243} - m_LocalRotation: {x: -0.11841914, y: -0.05207842, z: -0.04888987, w: 0.99039114} - m_LocalPosition: {x: -0.034108203, y: 0.000524272, z: -0.0015029365} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572065} - m_Father: {fileID: 9146872230401572069} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058245 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572069} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_3_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572069 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058245} - m_LocalRotation: {x: -0.00019033912, y: -0.0000794168, z: 0.030274848, w: 0.9995416} - m_LocalPosition: {x: -0.070731685, y: 0.000051999632, z: 0.00065005524} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572067} - m_Father: {fileID: 9146872230401572071} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058247 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572071} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_3_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572071 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058247} - m_LocalRotation: {x: -0.037456065, y: -0.058101125, z: 0.54053926, w: 0.83847404} - m_LocalPosition: {x: -0.095405385, y: -0.03306543, z: 0.010712991} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572069} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058249 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572073} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_4_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572073 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058249} - m_LocalRotation: {x: -0.03841603, y: -0.018049436, z: 0.10756477, w: 0.9932916} - m_LocalPosition: {x: -0.04258398, y: 0, z: 8.881784e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572087} - m_Father: {fileID: 9146872230401572075} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058251 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572075} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_4_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572075 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058251} - m_LocalRotation: {x: -0.01714508, y: -0.009381142, z: -0.04641424, w: 0.9987311} - m_LocalPosition: {x: -0.071269415, y: 1.4210854e-16, z: 3.330669e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572073} - m_Father: {fileID: 9146872230401572077} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058253 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572077} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_4_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572077 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058253} - m_LocalRotation: {x: -0.11534577, y: -0.1846815, z: 0.5170238, w: 0.8278131} - m_LocalPosition: {x: -0.08454278, y: -0.029933311, z: -0.019583033} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572075} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058255 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572079} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_3_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572079 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058255} - m_LocalRotation: {x: 0.047054105, y: 0.08582603, z: -0.47843176, w: 0.8726528} - m_LocalPosition: {x: -0.05255774, y: -0.0024791025, z: 0.0028622444} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572065} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058257 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572081} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_5_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572081 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058257} - m_LocalRotation: {x: -0.21089019, y: -0.3400187, z: 0.4830531, w: 0.77882755} - m_LocalPosition: {x: -0.066242196, y: -0.036873337, z: -0.061355036} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572095} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058259 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572083} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_4_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572083 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058259} - m_LocalRotation: {x: 0.32569388, y: 0.41473326, z: -0.5247701, w: 0.66823363} - m_LocalPosition: {x: -0.020061621, y: 3.5527136e-17, z: -1.7763568e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572085} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058261 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572085} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_4_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572085 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058261} - m_LocalRotation: {x: 0.10018861, y: 0.020803954, z: -0.03443182, w: 0.9941549} - m_LocalPosition: {x: -0.043671567, y: 7.105427e-17, z: 3.5527136e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572083} - m_Father: {fileID: 9146872230401572087} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058263 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572087} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_4_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572087 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058263} - m_LocalRotation: {x: -0.35613462, y: -0.09121649, z: 0.0748941, w: 0.9269512} - m_LocalPosition: {x: -0.047928996, y: -1.4210854e-16, z: 1.3322676e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572085} - m_Father: {fileID: 9146872230401572073} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058265 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572089} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_5_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572089 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058265} - m_LocalRotation: {x: -0.213581, y: -0.096300416, z: 0.04163302, w: 0.9712755} - m_LocalPosition: {x: -0.051052757, y: -7.105427e-17, z: -8.881784e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571847} - m_Father: {fileID: 9146872230401572091} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058267 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572091} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_5_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572091 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058267} - m_LocalRotation: {x: 0.058277905, y: 0.027318195, z: -0.028023012, w: 0.997533} - m_LocalPosition: {x: -0.050405163, y: -1.4210854e-16, z: 4.4408918e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572089} - m_Father: {fileID: 9146872230401572093} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058269 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572093} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_5_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572093 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058269} - m_LocalRotation: {x: 0.014724147, y: 0.0067279795, z: 0.018345114, w: 0.99970067} - m_LocalPosition: {x: -0.03927907, y: -1.4210854e-16, z: 3.5527136e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572091} - m_Father: {fileID: 9146872230401572095} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058271 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572095} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_5_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572095 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058271} - m_LocalRotation: {x: 0.02269547, y: 0.011067277, z: 0.006755916, w: 0.99965835} - m_LocalPosition: {x: -0.06371272, y: 7.105427e-17, z: 1.7728873e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572093} - m_Father: {fileID: 9146872230401572081} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058273 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571841} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_6_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571841 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058273} - m_LocalRotation: {x: 0.07118157, y: 0.034880534, z: -0.013241062, w: 0.9967654} - m_LocalPosition: {x: -0.04236082, y: 7.105427e-17, z: 3.9968027e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571855} - m_Father: {fileID: 9146872230401571843} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058275 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571843} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_6_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571843 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058275} - m_LocalRotation: {x: 0.05694214, y: 0.027153457, z: 0.0026099186, w: 0.99800473} - m_LocalPosition: {x: -0.058384463, y: -7.105427e-17, z: 8.326672e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571841} - m_Father: {fileID: 9146872230401571845} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058277 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571845} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_6_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571845 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058277} - m_LocalRotation: {x: -0.29829282, y: -0.47408882, z: 0.44116735, w: 0.70116514} - m_LocalPosition: {x: -0.037209902, y: -0.04158092, z: -0.08793882} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571843} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058279 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571847} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_5_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571847 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058279} - m_LocalRotation: {x: 0.2892789, y: 0.4273872, z: -0.48011318, w: 0.70933014} - m_LocalPosition: {x: -0.01969455, y: 1.4210854e-16, z: 8.8817837e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572089} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058281 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571849} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_7_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571849 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058281} - m_LocalRotation: {x: -0.29829282, y: -0.47408882, z: 0.44116735, w: 0.70116514} - m_LocalPosition: {x: 0.037209902, y: -0.04158092, z: -0.08793882} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571863} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 7 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058283 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571851} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_6_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571851 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058283} - m_LocalRotation: {x: -0.18669766, y: -0.220505, z: -0.6186186, w: 0.7306385} - m_LocalPosition: {x: -0.020370854, y: 7.105427e-17, z: 1.0658141e-16} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571853} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058285 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571853} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_6_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571853 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058285} - m_LocalRotation: {x: 0.6642098, y: 0.19541879, z: 0.08671658, w: 0.71632195} - m_LocalPosition: {x: -0.053312942, y: 2.842171e-16, z: -3.5527136e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571851} - m_Father: {fileID: 9146872230401571855} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058287 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571855} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_6_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571855 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058287} - m_LocalRotation: {x: -0.017744528, y: -0.00830535, z: 0.031141993, w: 0.99932295} - m_LocalPosition: {x: -0.042671945, y: -2.842171e-16, z: 3.5527136e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571853} - m_Father: {fileID: 9146872230401571841} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058289 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571857} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_7_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571857 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058289} - m_LocalRotation: {x: 0.6642098, y: 0.19541879, z: 0.08671658, w: 0.71632195} - m_LocalPosition: {x: -0.047563765, y: -0.013351317, z: -0.020042464} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571871} - m_Father: {fileID: 9146872230401571859} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058291 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571859} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_7_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571859 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058291} - m_LocalRotation: {x: -0.017744528, y: -0.00830535, z: 0.031141993, w: 0.99932295} - m_LocalPosition: {x: -0.036006797, y: -0.013156533, z: -0.018743297} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571857} - m_Father: {fileID: 9146872230401571861} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058293 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571861} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_7_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571861 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058293} - m_LocalRotation: {x: 0.07118157, y: 0.034880534, z: -0.013241062, w: 0.9967654} - m_LocalPosition: {x: -0.038687807, y: -0.007754628, z: -0.015412937} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571859} - m_Father: {fileID: 9146872230401571863} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058295 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571863} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_7_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571863 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058295} - m_LocalRotation: {x: 0.05694214, y: 0.027153457, z: 0.0026099186, w: 0.99800473} - m_LocalPosition: {x: -0.055349335, y: -0.00632221, z: -0.017470736} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571861} - m_Father: {fileID: 9146872230401571849} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058297 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571865} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_8_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571865 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058297} - m_LocalRotation: {x: 0.014724147, y: 0.0067279795, z: 0.018345114, w: 0.99970067} - m_LocalPosition: {x: -0.03175577, y: -0.015696269, z: -0.016971838} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571879} - m_Father: {fileID: 9146872230401571867} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058299 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571867} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_8_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571867 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058299} - m_LocalRotation: {x: 0.02269547, y: 0.011067277, z: 0.006755916, w: 0.99965835} - m_LocalPosition: {x: -0.052083783, y: -0.023443777, z: -0.028230846} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571865} - m_Father: {fileID: 9146872230401571869} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058301 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571869} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_8_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571869 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058301} - m_LocalRotation: {x: -0.21089019, y: -0.3400187, z: 0.4830531, w: 0.77882755} - m_LocalPosition: {x: 0.066242196, y: -0.036873337, z: -0.061355036} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571867} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 8 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058303 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571871} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_7_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571871 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058303} - m_LocalRotation: {x: -0.18669766, y: -0.220505, z: -0.6186186, w: 0.7306385} - m_LocalPosition: {x: -0.019601956, y: -0.00459869, z: 0.0030962958} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571857} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058305 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571873} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_9_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571873 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058305} - m_LocalRotation: {x: -0.11534577, y: -0.1846815, z: 0.5170238, w: 0.8278131} - m_LocalPosition: {x: 0.08454278, y: -0.029933311, z: -0.019583033} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571887} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 9 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058307 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571875} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_8_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571875 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058307} - m_LocalRotation: {x: 0.2892789, y: 0.4273872, z: -0.48011318, w: 0.70933014} - m_LocalPosition: {x: -0.01850662, y: -0.0029677157, z: -0.0060475594} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571877} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058309 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571877} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_8_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571877 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058309} - m_LocalRotation: {x: -0.213581, y: -0.096300416, z: 0.04163302, w: 0.9712755} - m_LocalPosition: {x: -0.037211042, y: -0.0274921, z: -0.021584872} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571875} - m_Father: {fileID: 9146872230401571879} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058311 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571879} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_8_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571879 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058311} - m_LocalRotation: {x: 0.058277905, y: 0.027318195, z: -0.028023012, w: 0.997533} - m_LocalPosition: {x: -0.04166598, y: -0.020092957, z: -0.020022472} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571877} - m_Father: {fileID: 9146872230401571865} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058313 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571881} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_9_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571881 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058313} - m_LocalRotation: {x: 0.10018861, y: 0.020803954, z: -0.03443182, w: 0.9941549} - m_LocalPosition: {x: -0.043512445, y: -0.0009263518, z: -0.00360766} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571895} - m_Father: {fileID: 9146872230401571883} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058315 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571883} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_9_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571883 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058315} - m_LocalRotation: {x: -0.35613462, y: -0.09121649, z: 0.0748941, w: 0.9269512} - m_LocalPosition: {x: -0.04067362, y: -0.021088438, z: -0.014075616} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571881} - m_Father: {fileID: 9146872230401571885} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058317 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571885} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_9_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571885 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058317} - m_LocalRotation: {x: -0.03841603, y: -0.018049436, z: 0.10756477, w: 0.9932916} - m_LocalPosition: {x: -0.024414456, y: -0.029828912, z: -0.018098773} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571883} - m_Father: {fileID: 9146872230401571887} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058319 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571887} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_9_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571887 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058319} - m_LocalRotation: {x: -0.01714508, y: -0.009381142, z: -0.04641424, w: 0.9987311} - m_LocalPosition: {x: -0.0487861, y: -0.0460466, z: -0.02406152} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571885} - m_Father: {fileID: 9146872230401571873} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058321 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571889} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_0_Btm_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571889 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058321} - m_LocalRotation: {x: -0.08028111, y: 0.9967723, z: 6.10347e-17, w: -4.9158004e-18} - m_LocalPosition: {x: -0.015647555, y: -1.3877788e-17, z: -6.2026495e-19} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571891} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058323 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571891} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_0_Btm_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571891 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058323} - m_LocalRotation: {x: 0, y: 0, z: 0.089657374, w: 0.9959727} - m_LocalPosition: {x: -0.03141685, y: 2.5535128e-17, z: -1.1641503e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571889} - m_Father: {fileID: 9146872230401571893} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058325 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571893} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_0_Btm_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571893 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058325} - m_LocalRotation: {x: -0.16932578, y: 0.9855602, z: 6.034816e-17, w: -1.0368214e-17} - m_LocalPosition: {x: 0.026999049, y: 0.012003481, z: 1.3326541e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571891} - m_Father: {fileID: 9146872230401571903} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058327 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571895} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_9_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571895 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058327} - m_LocalRotation: {x: 0.32569388, y: 0.41473326, z: -0.5247701, w: 0.66823363} - m_LocalPosition: {x: -0.019617362, y: -0.00182046, z: -0.0037833464} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571881} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058329 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571897} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_0_Up_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571897 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058329} - m_LocalRotation: {x: 0.9069214, y: -0.4212999, z: -2.579718e-17, w: 5.5532916e-17} - m_LocalPosition: {x: -0.043372497, y: -1.2212453e-17, z: -1.8352042e-19} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571911} - m_Father: {fileID: 9146872230401571899} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058331 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571899} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_0_Up_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571899 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058331} - m_LocalRotation: {x: 0, y: 0, z: 0.0983971, w: 0.9951472} - m_LocalPosition: {x: -0.03624538, y: -5.3429482e-17, z: 6.370993e-19} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571897} - m_Father: {fileID: 9146872230401571901} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058333 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571901} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_0_Up_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571901 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058333} - m_LocalRotation: {x: 0, y: -0, z: -0.07941235, w: 0.9968419} - m_LocalPosition: {x: -0.028074207, y: -3.8857806e-18, z: -4.314083e-34} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571899} - m_Father: {fileID: 9146872230401571903} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058335 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571903} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_0_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571903 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058335} - m_LocalRotation: {x: 0.4541384, y: -0.5419948, z: -0.4541384, w: 0.5419948} - m_LocalPosition: {x: -0.0019929667, y: 0.03609995, z: 0.1095543} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571893} - - {fileID: 9146872230401571901} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 14 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058341 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571909} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_10_Btm_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571909 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058341} - m_LocalRotation: {x: -0.104501955, y: -0.059023257, z: -0.015146512, w: 0.9926561} - m_LocalPosition: {x: 0.06259424, y: -0.00000029910774, z: 0.0000000141581} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571919} - m_Father: {fileID: 9146872230401571935} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058343 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571911} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_0_Up_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571911 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058343} - m_LocalRotation: {x: 0.31236568, y: -0.6343719, z: 0.31236568, w: 0.6343719} - m_LocalPosition: {x: -0.020148577, y: 1.04360964e-16, z: -1.6531758e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571897} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058345 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571913} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_10_Btm_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571913 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058345} - m_LocalRotation: {x: 0, y: 0, z: 0.03604643, w: 0.99935013} - m_LocalPosition: {x: 0.06616956, y: -0.009400436, z: 0.0018430623} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571927} - m_Father: {fileID: 9146872230401571915} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058347 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571915} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_10_Btm_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571915 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058347} - m_LocalRotation: {x: 0, y: 0, z: 0.000075849515, w: 1} - m_LocalPosition: {x: 0.051313765, y: -0.0008867725, z: -0.0012636996} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571913} - m_Father: {fileID: 9146872230401571917} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058349 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571917} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_10_Btm_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571917 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058349} - m_LocalRotation: {x: 0, y: 0, z: 0.101675145, w: 0.9948177} - m_LocalPosition: {x: 0.04461221, y: 0.008854158, z: -0.0033769698} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571915} - m_Father: {fileID: 9146872230401571919} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058351 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571919} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_10_Btm_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571919 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058351} - m_LocalRotation: {x: 0, y: -0, z: -0.13420233, w: 0.990954} - m_LocalPosition: {x: 0.044876512, y: 0.00019313791, z: -0.0058148745} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571917} - m_Father: {fileID: 9146872230401571909} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058353 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571921} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_10_Btm_joint9 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571921 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058353} - m_LocalRotation: {x: 0.0438011, y: 0.016732557, z: 0.11246652, w: 0.99254864} - m_LocalPosition: {x: 0.09421993, y: -0.00055677374, z: -0.00037101022} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557051} - m_Father: {fileID: 9146872230401571923} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058355 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571923} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_10_Btm_joint8 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571923 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058355} - m_LocalRotation: {x: 0.041394677, y: 0.021223169, z: -0.003971326, w: 0.9989096} - m_LocalPosition: {x: 0.07191241, y: -0.017227834, z: -0.0009244811} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571921} - m_Father: {fileID: 9146872230401571925} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058357 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571925} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_10_Btm_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571925 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058357} - m_LocalRotation: {x: 0, y: -0, z: -0.0060613854, w: 0.99998164} - m_LocalPosition: {x: 0.06671684, y: -0.028740423, z: 0.0059726173} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571923} - m_Father: {fileID: 9146872230401571927} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058359 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571927} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_10_Btm_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571927 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058359} - m_LocalRotation: {x: 0, y: 0, z: 0.03248984, w: 0.9994721} - m_LocalPosition: {x: 0.061841745, y: -0.02830812, z: 0.0066936426} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571925} - m_Father: {fileID: 9146872230401571913} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058361 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571929} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_10_Up_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571929 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058361} - m_LocalRotation: {x: 0.84503496, y: -0.21809138, z: 0.027929407, w: 0.4874137} - m_LocalPosition: {x: 0.03784974, y: -0.00000031859994, z: 0.00000004007236} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571943} - m_Father: {fileID: 9146872230401571931} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058363 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571931} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_10_Up_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571931 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058363} - m_LocalRotation: {x: -0.73781234, y: 0.09319582, z: 0.04655103, w: 0.66691864} - m_LocalPosition: {x: 0.032518893, y: -0.00000020582337, z: -0.0000000281506} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571929} - m_Father: {fileID: 9146872230401571933} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058365 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571933} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_10_Up_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571933 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058365} - m_LocalRotation: {x: 0.04276809, y: -0.18995112, z: 0.94335824, w: -0.26863495} - m_LocalPosition: {x: -0.038830183, y: -0.011948126, z: -0.004523735} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571931} - m_Father: {fileID: 9146872230401571935} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058367 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571935} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_10_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571935 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058367} - m_LocalRotation: {x: 0.75973034, y: -0.4512401, z: -0.40253156, w: 0.2390827} - m_LocalPosition: {x: 0.0384256, y: 0.0124029815, z: -0.09132423} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571909} - - {fileID: 9146872230401571933} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 24 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058369 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572193} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_R_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572193 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058369} - m_LocalRotation: {x: 0, y: -0, z: -0.0054543023, w: 0.99998516} - m_LocalPosition: {x: 0.019004535, y: 0.0019191728, z: -0.003793} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572203} - m_Father: {fileID: 9146872230401572183} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058371 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572195} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_R_joint19 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572195 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058371} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.07345, y: -3.5607e-11, z: -0.0016980001} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572207} - m_Father: {fileID: 9146872230401572197} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058373 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572197} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_R_joint18 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572197 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058373} - m_LocalRotation: {x: 0, y: -0, z: -0.005617712, w: 0.99998426} - m_LocalPosition: {x: 0.09756616, y: -0.0000001797995, z: -0.0016980002} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572195} - m_Father: {fileID: 9146872230401572199} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058375 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572199} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_R_joint17 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572199 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058375} - m_LocalRotation: {x: 0, y: 0, z: 0.01571673, w: 0.9998765} - m_LocalPosition: {x: 0.10855213, y: 0.0000005251275, z: -0.0008490002} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572197} - m_Father: {fileID: 9146872230401572185} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058377 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572201} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_R_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572201 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058377} - m_LocalRotation: {x: 0, y: -0, z: -0.04600718, w: 0.9989411} - m_LocalPosition: {x: 0.01255674, y: -0.000992378, z: -0.001351} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572215} - m_Father: {fileID: 9146872230401572203} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058379 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572203} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_R_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572203 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058379} - m_LocalRotation: {x: 0, y: -0, z: -0.04720248, w: 0.99888533} - m_LocalPosition: {x: 0.01658571, y: -0.0010126792, z: -0.003298} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572201} - m_Father: {fileID: 9146872230401572193} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058381 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572205} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_R_joint21 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572205 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058381} - m_LocalRotation: {x: 0, y: 0, z: 0.027745694, w: 0.9996151} - m_LocalPosition: {x: 0.059291296, y: -0.00000011101151, z: -0.003395} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557219} - m_Father: {fileID: 9146872230401572207} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058383 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572207} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_R_joint20 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572207 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058383} - m_LocalRotation: {x: 0, y: -0, z: -0.027745694, w: 0.9996151} - m_LocalPosition: {x: 0.04385, y: -1.78035e-11, z: -0.00084900006} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572205} - m_Father: {fileID: 9146872230401572195} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058385 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572209} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_R_joint8 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572209 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058385} - m_LocalRotation: {x: 0, y: 0, z: 0.00515231, w: 0.99998677} - m_LocalPosition: {x: 0.1085573, y: 0.0023526375, z: 1.7763568e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572223} - m_Father: {fileID: 9146872230401572211} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058387 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572211} - - component: {fileID: 8409673536557197173} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_R_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572211 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058387} - m_LocalRotation: {x: 0, y: 0, z: 0.013245933, w: 0.99991226} - m_LocalPosition: {x: 0.06687998, y: 0.00000024586862, z: -1.7763568e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572209} - m_Father: {fileID: 9146872230401572213} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &8409673536557197173 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058387} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 646b65a4a57afd34d8c4ed557efb46a5, type: 3} - m_Name: - m_EditorClassIdentifier: - Colliders: - - Offset: {x: 0, y: 0, z: 0} - Radius: 0.032 - m_gizmoColor: {r: 1, g: 0, b: 1, a: 1} ---- !u!1 &9146872230402058389 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572213} - - component: {fileID: 4907520059452428262} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_R_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572213 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058389} - m_LocalRotation: {x: 0, y: 0, z: 0.004301396, w: 0.99999076} - m_LocalPosition: {x: 0.08772641, y: -0.000000524836, z: 1.7763568e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572211} - m_Father: {fileID: 9146872230401572215} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &4907520059452428262 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058389} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 646b65a4a57afd34d8c4ed557efb46a5, type: 3} - m_Name: - m_EditorClassIdentifier: - Colliders: - - Offset: {x: 0, y: 0, z: 0} - Radius: 0.032 - m_gizmoColor: {r: 1, g: 0, b: 1, a: 1} ---- !u!1 &9146872230402058391 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572215} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_R_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572215 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058391} - m_LocalRotation: {x: 0, y: -0, z: -0.012497071, w: 0.9999219} - m_LocalPosition: {x: 0.0582143, y: -0.003855, z: -0.000512} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572213} - m_Father: {fileID: 9146872230401572201} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058393 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572217} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_Ring_L_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572217 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058393} - m_LocalRotation: {x: -0.045141913, y: -0.32270774, z: -0.1309749, w: 0.9363053} - m_LocalPosition: {x: -0.008522165, y: 0.00028668292, z: -0.019641556} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571975} - m_Father: {fileID: 9146872230401572219} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058395 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572219} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_Ring_L_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572219 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058395} - m_LocalRotation: {x: 0.08576123, y: 0.3962532, z: 0.05921498, w: 0.91220725} - m_LocalPosition: {x: -0.019002551, y: 0.00007842463, z: -0.0030718553} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572217} - m_Father: {fileID: 9146872230401572221} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058397 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572221} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_Ring_L_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572221 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058397} - m_LocalRotation: {x: -0.0063298233, y: -0.08519712, z: 0.07382113, w: 0.9936055} - m_LocalPosition: {x: -0.016003666, y: 0.0055032596, z: -0.0032331625} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572219} - m_Father: {fileID: 9146872230401556745} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058399 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572223} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_R_joint9 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572223 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058399} - m_LocalRotation: {x: 0, y: 0, z: 0.008307297, w: 0.9999655} - m_LocalPosition: {x: 0.10748537, y: 0.001568204, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572181} - m_Father: {fileID: 9146872230401572209} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058401 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571969} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_Ring_L_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571969 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058401} - m_LocalRotation: {x: -0.12234324, y: 0.31433687, z: 0.13980795, w: 0.9309556} - m_LocalPosition: {x: -0.053020615, y: -0.0028596472, z: 0.0034801813} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571983} - m_Father: {fileID: 9146872230401571971} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058403 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571971} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_Ring_L_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571971 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058403} - m_LocalRotation: {x: -0.06399066, y: 0.1100435, z: 0.006421622, w: 0.99184394} - m_LocalPosition: {x: -0.061814878, y: -0.009412563, z: 0.023610264} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571969} - m_Father: {fileID: 9146872230401571973} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058405 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571973} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_Ring_L_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571973 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058405} - m_LocalRotation: {x: -0.038884174, y: 0.08665986, z: -0.110677965, w: 0.9893071} - m_LocalPosition: {x: -0.058208294, y: -0.0077218157, z: 0.02249373} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571971} - m_Father: {fileID: 9146872230401571975} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058407 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571975} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_Ring_L_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571975 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058407} - m_LocalRotation: {x: 0.07175168, y: -0.45865908, z: -0.1368938, w: 0.8750678} - m_LocalPosition: {x: -0.018254198, y: 0.0004621606, z: -0.010023502} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571973} - m_Father: {fileID: 9146872230401572217} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058409 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571977} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_Ring_R_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571977 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058409} - m_LocalRotation: {x: -0.045141913, y: -0.32270774, z: -0.1309749, w: 0.9363053} - m_LocalPosition: {x: 0.0085221315, y: -0.00028647113, z: 0.01964166} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571991} - m_Father: {fileID: 9146872230401571979} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058411 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571979} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_Ring_R_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571979 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058411} - m_LocalRotation: {x: 0.08576123, y: 0.3962532, z: 0.05921498, w: 0.91220725} - m_LocalPosition: {x: 0.019002512, y: -0.00007899615, z: 0.0030724064} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571977} - m_Father: {fileID: 9146872230401571981} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058413 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571981} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_Ring_R_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571981 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058413} - m_LocalRotation: {x: 0.9936055, y: -0.07382113, z: -0.08519712, w: 0.0063298233} - m_LocalPosition: {x: 0.0160037, y: 0.005502985, z: -0.0032328044} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571979} - m_Father: {fileID: 9146872230401556745} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058415 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571983} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_Ring_L_joint8 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571983 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058415} - m_LocalRotation: {x: 0.009303982, y: -0.083434254, z: 0.11043458, w: 0.9903315} - m_LocalPosition: {x: -0.061622217, y: 0.038509157, z: -0.054441307} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571969} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058417 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571985} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_Ring_R_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571985 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058417} - m_LocalRotation: {x: -0.12234324, y: 0.31433687, z: 0.13980795, w: 0.9309556} - m_LocalPosition: {x: 0.053023178, y: 0.0028557144, z: -0.0034803292} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571999} - m_Father: {fileID: 9146872230401571987} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058419 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571987} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_Ring_R_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571987 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058419} - m_LocalRotation: {x: -0.06399066, y: 0.1100435, z: 0.006421622, w: 0.99184394} - m_LocalPosition: {x: 0.061815273, y: 0.009412803, z: -0.023610689} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571985} - m_Father: {fileID: 9146872230401571989} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058421 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571989} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_Ring_R_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571989 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058421} - m_LocalRotation: {x: -0.038884174, y: 0.08665986, z: -0.110677965, w: 0.9893071} - m_LocalPosition: {x: 0.05820855, y: 0.0077219205, z: -0.022493009} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571987} - m_Father: {fileID: 9146872230401571991} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058423 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571991} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_Ring_R_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571991 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058423} - m_LocalRotation: {x: 0.07175168, y: -0.45865908, z: -0.1368938, w: 0.8750678} - m_LocalPosition: {x: 0.0182542, y: -0.000462, z: 0.010023} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571989} - m_Father: {fileID: 9146872230401571977} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058425 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571993} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_0_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571993 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058425} - m_LocalRotation: {x: 0.025757305, y: 0.0105510885, z: 0.0074095023, w: 0.9995851} - m_LocalPosition: {x: -0.06683169, y: 0, z: 8.881784e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572007} - m_Father: {fileID: 9146872230401571995} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058427 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571995} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_0_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571995 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058427} - m_LocalRotation: {x: -0.2290722, y: -0.064369686, z: -0.11845258, w: 0.9640288} - m_LocalPosition: {x: -0.041647848, y: 3.5527136e-17, z: 1.3322676e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571993} - m_Father: {fileID: 9146872230401571997} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058429 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571997} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_0_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571997 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058429} - m_LocalRotation: {x: 0.45295566, y: 0.5274515, z: 0.46827638, w: 0.54529196} - m_LocalPosition: {x: -0.024811454, y: -0.028004844, z: 0.10132682} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571995} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058431 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571999} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_Ring_R_joint8 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571999 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058431} - m_LocalRotation: {x: 0.009303982, y: -0.083434254, z: 0.11043458, w: 0.9903315} - m_LocalPosition: {x: 0.061620273, y: -0.038501687, z: 0.054440793} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571985} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058433 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572001} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_10_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572001 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058433} - m_LocalRotation: {x: -0.00019033912, y: -0.0000794168, z: 0.030274848, w: 0.9995416} - m_LocalPosition: {x: -0.04696938, y: -0.05237388, z: -0.007365504} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572015} - m_Father: {fileID: 9146872230401572003} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058435 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572003} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_10_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572003 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058435} - m_LocalRotation: {x: -0.037456065, y: -0.058101125, z: 0.54053926, w: 0.83847404} - m_LocalPosition: {x: 0.095405385, y: -0.03306543, z: 0.010712991} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572001} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 10 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058437 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572005} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_0_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572005 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058437} - m_LocalRotation: {x: -0.2575981, y: -0.47973433, z: -0.3967898, w: 0.73895603} - m_LocalPosition: {x: -0.023397155, y: 0, z: 2.220446e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572007} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058439 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572007} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_0_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572007 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058439} - m_LocalRotation: {x: 0.017228428, y: 0.0090418635, z: -0.101739876, w: 0.9946208} - m_LocalPosition: {x: -0.053061046, y: -1.4210854e-16, z: 7.105427e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572005} - m_Father: {fileID: 9146872230401571993} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058441 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572009} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_11_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572009 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058441} - m_LocalRotation: {x: 0.013152252, y: 0.017959723, z: 0.5906851, w: 0.806595} - m_LocalPosition: {x: 0.09180374, y: -0.035489213, z: 0.045034993} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572023} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 11 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058443 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572011} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_10_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572011 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058443} - m_LocalRotation: {x: 0.047054105, y: 0.08582603, z: -0.47843176, w: 0.8726528} - m_LocalPosition: {x: -0.02488603, y: -0.045860652, z: -0.007358011} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572013} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058445 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572013} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_10_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572013 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058445} - m_LocalRotation: {x: 0.08778565, y: 0.049765404, z: -0.05178689, w: 0.9935468} - m_LocalPosition: {x: -0.020345313, y: -0.021647424, z: -0.0069083064} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572011} - m_Father: {fileID: 9146872230401572015} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058447 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572015} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_10_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572015 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058447} - m_LocalRotation: {x: -0.11841914, y: -0.05207842, z: -0.04888987, w: 0.99039114} - m_LocalPosition: {x: -0.02538701, y: -0.022298872, z: -0.0049156165} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572013} - m_Father: {fileID: 9146872230401572001} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058449 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572017} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_11_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572017 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058449} - m_LocalRotation: {x: -0.02622197, y: -0.046026878, z: -0.4943178, w: 0.86766577} - m_LocalPosition: {x: -0.020465225, y: -0.036545888, z: 0.0045200405} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572019} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058451 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572019} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_11_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572019 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058451} - m_LocalRotation: {x: 0.08362452, y: 0.038197193, z: -0.10597476, w: 0.99010974} - m_LocalPosition: {x: -0.02817887, y: -0.02098144, z: -0.0017316691} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572017} - m_Father: {fileID: 9146872230401572021} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058453 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572021} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_11_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572021 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058453} - m_LocalRotation: {x: -0.023105498, y: -0.008222138, z: 0.02002891, w: 0.9994986} - m_LocalPosition: {x: -0.02932789, y: -0.025892701, z: -0.0008053875} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572019} - m_Father: {fileID: 9146872230401572023} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058455 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572023} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_11_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572023 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058455} - m_LocalRotation: {x: -0.034758385, y: -0.012071551, z: -0.027626144, w: 0.99894094} - m_LocalPosition: {x: -0.05420594, y: -0.03805489, z: 0.0017784559} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572021} - m_Father: {fileID: 9146872230401572009} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058457 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572025} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_12_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572025 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058457} - m_LocalRotation: {x: -0.13964519, y: -0.08262718, z: -0.06895098, w: 0.9843362} - m_LocalPosition: {x: -0.0635651, y: -0.03665855, z: 0.03643671} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572039} - m_Father: {fileID: 9146872230401572027} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058459 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572027} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_12_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572027 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058459} - m_LocalRotation: {x: -0.05533444, y: -0.02891431, z: 0.017124575, w: 0.9979022} - m_LocalPosition: {x: -0.05801895, y: -0.026400186, z: 0.034322172} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572025} - m_Father: {fileID: 9146872230401572029} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058461 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572029} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_12_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572029 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058461} - m_LocalRotation: {x: 0.070156634, y: 0.03219687, z: -0.068162106, w: 0.99468356} - m_LocalPosition: {x: -0.025121067, y: -0.011470755, z: 0.01026676} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572027} - m_Father: {fileID: 9146872230401572031} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058463 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572031} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_12_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572031 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058463} - m_LocalRotation: {x: 0.19406575, y: 0.2809553, z: 0.53417534, w: 0.773343} - m_LocalPosition: {x: 0.07228343, y: -0.027646968, z: 0.07843842} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572029} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 12 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058465 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572033} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_13_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572033 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058465} - m_LocalRotation: {x: 0.025757305, y: 0.0105510885, z: 0.0074095023, w: 0.9995851} - m_LocalPosition: {x: -0.062023826, y: -0.01149335, z: 0.02207767} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572047} - m_Father: {fileID: 9146872230401572035} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058467 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572035} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_13_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572035 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058467} - m_LocalRotation: {x: -0.2290722, y: -0.064369686, z: -0.11845258, w: 0.9640288} - m_LocalPosition: {x: -0.041645747, y: -0.0000137563575, z: 0.00041827114} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572033} - m_Father: {fileID: 9146872230401572037} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058469 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572037} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_13_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572037 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058469} - m_LocalRotation: {x: 0.45295566, y: 0.5274515, z: 0.46827638, w: 0.54529196} - m_LocalPosition: {x: 0.024811454, y: -0.028004844, z: 0.10132682} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572035} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 13 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058471 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572039} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_12_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572039 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058471} - m_LocalRotation: {x: -0.09245144, y: -0.17616671, z: -0.45540217, w: 0.86777127} - m_LocalPosition: {x: -0.0095522385, y: -0.01673276, z: 0.008610415} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572025} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058473 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572041} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_1_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572041 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058473} - m_LocalRotation: {x: 0.070156634, y: 0.03219687, z: -0.068162106, w: 0.99468356} - m_LocalPosition: {x: -0.029462732, y: -1.4210854e-16, z: 3.5527136e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572055} - m_Father: {fileID: 9146872230401572043} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058475 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572043} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_1_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572043 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058475} - m_LocalRotation: {x: 0.19406575, y: 0.2809553, z: 0.53417534, w: 0.773343} - m_LocalPosition: {x: -0.07228343, y: -0.027646968, z: 0.07843842} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572041} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058477 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572045} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_13_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572045 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058477} - m_LocalRotation: {x: -0.2575981, y: -0.47973433, z: -0.3967898, w: 0.73895603} - m_LocalPosition: {x: -0.02103186, y: -0.0035692386, z: 0.009609795} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572047} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058479 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572047} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_13_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572047 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058479} - m_LocalRotation: {x: 0.017228428, y: 0.0090418635, z: -0.101739876, w: 0.9946208} - m_LocalPosition: {x: -0.05018606, y: -0.0071694492, z: 0.015666287} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572045} - m_Father: {fileID: 9146872230401572033} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058481 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572049} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_2_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572049 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058481} - m_LocalRotation: {x: 0.013152252, y: 0.017959723, z: 0.5906851, w: 0.806595} - m_LocalPosition: {x: -0.09180374, y: -0.035489213, z: 0.045034993} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572063} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058483 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572051} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_1_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572051 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058483} - m_LocalRotation: {x: -0.09245144, y: -0.17616671, z: -0.45540217, w: 0.86777127} - m_LocalPosition: {x: -0.021103784, y: 1.4210854e-16, z: 4.4408918e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572053} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058485 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572053} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_1_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572053 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058485} - m_LocalRotation: {x: -0.13964519, y: -0.08262718, z: -0.06895098, w: 0.9843362} - m_LocalPosition: {x: -0.08192683, y: 7.105427e-17, z: -3.330669e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572051} - m_Father: {fileID: 9146872230401572055} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058487 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572055} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_1_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572055 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058487} - m_LocalRotation: {x: -0.05533444, y: -0.02891431, z: 0.017124575, w: 0.9979022} - m_LocalPosition: {x: -0.07239599, y: 1.4210854e-16, z: -1.04360964e-16} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572053} - m_Father: {fileID: 9146872230401572041} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058489 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572057} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_2_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572057 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058489} - m_LocalRotation: {x: -0.02622197, y: -0.046026878, z: -0.4943178, w: 0.86766577} - m_LocalPosition: {x: -0.042129066, y: -2.842171e-16, z: 1.5543122e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572059} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058491 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572059} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_2_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572059 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058491} - m_LocalRotation: {x: 0.08362452, y: 0.038197193, z: -0.10597476, w: 0.99010974} - m_LocalPosition: {x: -0.035174824, y: 7.105427e-17, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572057} - m_Father: {fileID: 9146872230401572061} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058493 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572061} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_2_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572061 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058493} - m_LocalRotation: {x: -0.023105498, y: -0.008222138, z: 0.02002891, w: 0.9994986} - m_LocalPosition: {x: -0.039130624, y: -7.105427e-17, z: -4.440892e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572059} - m_Father: {fileID: 9146872230401572063} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058495 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572063} - m_Layer: 11 - m_Name: CLOTH_CLOTH_InSkirt_2_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572063 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058495} - m_LocalRotation: {x: -0.034758385, y: -0.012071551, z: -0.027626144, w: 0.99894094} - m_LocalPosition: {x: -0.06625422, y: 7.105427e-17, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572061} - m_Father: {fileID: 9146872230401572049} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058497 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572321} - m_Layer: 11 - m_Name: MAIN_RightForeArmTwist2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572321 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058497} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.13390099, y: -3.1657117e-19, z: 0.0025850001} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572313} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058499 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572323} - m_Layer: 11 - m_Name: MAIN_RightForeArmTwist1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572323 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058499} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.05861, y: -0.00090999994, z: 0.0013805} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572313} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058501 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572325} - m_Layer: 11 - m_Name: MAIN_RightForeArmRoll - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572325 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058501} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.104046, y: -2.3983481e-19, z: 0.0019584} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572335} - m_Father: {fileID: 9146872230401572313} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058503 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572327} - m_Layer: 11 - m_Name: MAIN_RightForeArmElbow - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572327 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058503} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.012722, y: 0.00375, z: -0.015878} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572313} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058505 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572329} - m_Layer: 11 - m_Name: MAIN_RightHandIndex2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572329 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058505} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.02324, y: -0.0021, z: 0.00135064} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572343} - m_Father: {fileID: 9146872230401572331} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058507 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572331} - m_Layer: 11 - m_Name: MAIN_RightHandIndex1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572331 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058507} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.039061997, y: 0.00273, z: 0.00796787} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572329} - m_Father: {fileID: 9146872230401572341} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058509 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572333} - m_Layer: 11 - m_Name: MAIN_RightHandAttach - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572333 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058509} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.054060996, y: -0.02203, z: 1.742995e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572335} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058511 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572335} - - component: {fileID: 2694638213603910568} - m_Layer: 11 - m_Name: MAIN_RightHand - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572335 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058511} - m_LocalRotation: {x: 1.0842038e-17, y: -3.8163916e-17, z: 5.5233377e-17, w: 1} - m_LocalPosition: {x: 0.079445, y: 0, z: 0.0020189001} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572333} - - {fileID: 9146872230401572341} - - {fileID: 9146872230401572349} - - {fileID: 9146872230401572101} - - {fileID: 9146872230401572109} - - {fileID: 9146872230401572107} - m_Father: {fileID: 9146872230401572325} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2694638213603910568 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058511} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 646b65a4a57afd34d8c4ed557efb46a5, type: 3} - m_Name: - m_EditorClassIdentifier: - Colliders: - - Offset: {x: 0, y: 0, z: 0} - Radius: 0.032 - - Offset: {x: 0.05, y: 0, z: 0} - Radius: 0.032 - m_gizmoColor: {r: 1, g: 0, b: 1, a: 1} ---- !u!1 &9146872230402058513 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572337} - m_Layer: 11 - m_Name: MAIN_RightHandMiddle2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572337 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058513} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.024395, y: -0.00215, z: -0.00004817} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572351} - m_Father: {fileID: 9146872230401572339} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058515 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572339} - m_Layer: 11 - m_Name: MAIN_RightHandMiddle1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572339 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058515} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.041673, y: 0.0041199997, z: 0.00212152} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572337} - m_Father: {fileID: 9146872230401572349} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058517 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572341} - m_Layer: 11 - m_Name: MAIN_RightHandIndex_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572341 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058517} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.020313999, y: 0.00446, z: 0.013609789} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572331} - m_Father: {fileID: 9146872230401572335} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058519 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572343} - m_Layer: 11 - m_Name: MAIN_RightHandIndex3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572343 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058519} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.016417, y: -0.00269, z: 0.00008659994} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572329} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058521 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572345} - m_Layer: 11 - m_Name: MAIN_RightHandPinky2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572345 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058521} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.01802, y: -0.0031, z: -0.0012305} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572103} - m_Father: {fileID: 9146872230401572347} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058523 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572347} - m_Layer: 11 - m_Name: MAIN_RightHandPinky1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572347 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058523} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.03854, y: 0.00202, z: -0.0103308} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572345} - m_Father: {fileID: 9146872230401572101} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058525 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572349} - m_Layer: 11 - m_Name: MAIN_RightHandMiddle_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572349 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058525} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.021387998, y: 0.0049, z: 0.00477081} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572339} - m_Father: {fileID: 9146872230401572335} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058527 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572351} - m_Layer: 11 - m_Name: MAIN_RightHandMiddle3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572351 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058527} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.026665999, y: -0.00647, z: 0.0012118099} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572337} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058529 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572097} - m_Layer: 11 - m_Name: MAIN_RightHandRing2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572097 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058529} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.025653, y: -0.00345, z: -0.0001484} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572111} - m_Father: {fileID: 9146872230401572099} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058531 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572099} - m_Layer: 11 - m_Name: MAIN_RightHandRing1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572099 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058531} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.043117, y: 0.00409, z: -0.0044361} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572097} - m_Father: {fileID: 9146872230401572109} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058533 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572101} - m_Layer: 11 - m_Name: MAIN_RightHandPinky_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572101 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058533} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.018356, y: -0.00091999996, z: -0.0110011} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572347} - m_Father: {fileID: 9146872230401572335} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058535 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572103} - m_Layer: 11 - m_Name: MAIN_RightHandPinky3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572103 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058535} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.016572, y: -0.00295, z: -0.0007368} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572345} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058537 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572105} - m_Layer: 11 - m_Name: MAIN_RightHandThumb2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572105 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058537} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.019106999, y: -0.0058299997, z: 0.0127005} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572119} - m_Father: {fileID: 9146872230401572107} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058539 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572107} - m_Layer: 11 - m_Name: MAIN_RightHandThumb1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572107 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058539} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.013517999, y: -0.00193, z: 0.020137701} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572105} - m_Father: {fileID: 9146872230401572335} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058541 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572109} - m_Layer: 11 - m_Name: MAIN_RightHandRing_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572109 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058541} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.02029, y: 0.0034799997, z: -0.0048779} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572099} - m_Father: {fileID: 9146872230401572335} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058543 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572111} - m_Layer: 11 - m_Name: MAIN_RightHandRing3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572111 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058543} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.018546, y: -0.00303, z: -0.0002134001} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572097} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058545 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572113} - m_Layer: 11 - m_Name: MAIN_RightToeBase - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572113 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058545} - m_LocalRotation: {x: 8.326673e-17, y: -1.7340232e-16, z: -1.4629252e-16, w: 1} - m_LocalPosition: {x: 0.000000099999994, y: -0.053363226, z: 0.0091009} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572127} - m_Father: {fileID: 9146872230401572315} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058547 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572115} - m_Layer: 11 - m_Name: MAIN_RightShoulder - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572115 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058547} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.0364153, y: 0.040958915, z: 0.0059526553} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572307} - m_Father: {fileID: 9146872230401572133} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058549 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572117} - m_Layer: 11 - m_Name: MAIN_RightLeg - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572117 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058549} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: -0.32775798, z: 0.02230837} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572315} - m_Father: {fileID: 9146872230401572125} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058551 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572119} - m_Layer: 11 - m_Name: MAIN_RightHandThumb3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572119 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058551} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.014996001, y: -0.0054099998, z: 0.0104712} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572105} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058553 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572121} - - component: {fileID: 4029404622345638566} - m_Layer: 11 - m_Name: MAIN_Spine1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572121 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058553} - m_LocalRotation: {x: -6.938894e-18, y: 0, z: -0, w: 1} - m_LocalPosition: {x: 1.5939289e-17, y: 0.09316341, z: -0.0020552282} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572135} - m_Father: {fileID: 9146872230401572123} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &4029404622345638566 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058553} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 646b65a4a57afd34d8c4ed557efb46a5, type: 3} - m_Name: - m_EditorClassIdentifier: - Colliders: - - Offset: {x: 0.06, y: 0.03, z: 0.03} - Radius: 0.073 - - Offset: {x: -0.06, y: 0.03, z: 0.02} - Radius: 0.073 - m_gizmoColor: {r: 1, g: 0, b: 1, a: 1} ---- !u!1 &9146872230402058555 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572123} - m_Layer: 11 - m_Name: MAIN_Spine - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572123 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058555} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0.043449212, z: 0.010691154} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572121} - m_Father: {fileID: 9146872230401572239} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058557 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572125} - - component: {fileID: 2148924717976261015} - m_Layer: 11 - m_Name: MAIN_RightUpLeg - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572125 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058557} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.0693203, y: -0.04284439, z: -0.000000009794794} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572117} - m_Father: {fileID: 9146872230401572239} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2148924717976261015 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058557} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 646b65a4a57afd34d8c4ed557efb46a5, type: 3} - m_Name: - m_EditorClassIdentifier: - Colliders: - - Offset: {x: 0, y: -0.03, z: 0} - Radius: 0.079 - m_gizmoColor: {r: 1, g: 0, b: 1, a: 1} ---- !u!1 &9146872230402058559 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572127} - m_Layer: 11 - m_Name: MAIN_RightToeBase1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572127 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058559} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 5.339397e-19, z: 0.0953623} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572113} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058561 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572129} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_L_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572129 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058561} - m_LocalRotation: {x: 0, y: 0, z: 0.09853762, w: 0.99513334} - m_LocalPosition: {x: -0.02437092, y: -0.014818031, z: 0.011781244} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572155} - m_Father: {fileID: 9146872230401556745} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058563 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572131} - - component: {fileID: 9146872230388394539} - m_Layer: 11 - m_Name: Else_Hair_geo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572131 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058563} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: -0.69858086, z: -0.011064615} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571509} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &9146872230388394539 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058563} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: aaed5aebdbbbf4b4894aa68835af897c, type: 2} - - {fileID: 2100000, guid: 17c7f8a38e2c595419e236ac274eb7b0, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - 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 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300210, guid: e0e31ad4796a7e043a94516275e896a7, type: 3} - m_Bones: - - {fileID: 9146872230401557471} - - {fileID: 9146872230401556781} - - {fileID: 9146872230401556767} - - {fileID: 9146872230401556765} - - {fileID: 9146872230401556763} - - {fileID: 9146872230401556761} - - {fileID: 9146872230401556775} - - {fileID: 9146872230401556773} - - {fileID: 9146872230401556771} - - {fileID: 9146872230401556769} - - {fileID: 9146872230401556783} - - {fileID: 9146872230401556731} - - {fileID: 9146872230401556729} - - {fileID: 9146872230401556487} - - {fileID: 9146872230401556485} - - {fileID: 9146872230401556483} - - {fileID: 9146872230401556481} - - {fileID: 9146872230401556495} - - {fileID: 9146872230401556493} - - {fileID: 9146872230401556491} - - {fileID: 9146872230401556489} - - {fileID: 9146872230401556503} - - {fileID: 9146872230401556501} - - {fileID: 9146872230401556499} - - {fileID: 9146872230401556497} - - {fileID: 9146872230401556511} - - {fileID: 9146872230401556509} - - {fileID: 9146872230401556507} - - {fileID: 9146872230401556505} - - {fileID: 9146872230401556519} - - {fileID: 9146872230401556517} - - {fileID: 9146872230401556515} - - {fileID: 9146872230401556513} - - {fileID: 9146872230401556527} - - {fileID: 9146872230401556525} - - {fileID: 9146872230401556523} - - {fileID: 9146872230401556521} - - {fileID: 9146872230401556535} - - {fileID: 9146872230401556533} - - {fileID: 9146872230401556531} - - {fileID: 9146872230401556529} - - {fileID: 9146872230401556543} - - {fileID: 9146872230401556541} - - {fileID: 9146872230401556539} - - {fileID: 9146872230401556605} - - {fileID: 9146872230401556603} - - {fileID: 9146872230401556601} - - {fileID: 9146872230401557383} - - {fileID: 9146872230401557381} - - {fileID: 9146872230401557379} - - {fileID: 9146872230401557377} - - {fileID: 9146872230401557391} - - {fileID: 9146872230401557389} - - {fileID: 9146872230401557387} - - {fileID: 9146872230401557385} - - {fileID: 9146872230401557399} - - {fileID: 9146872230401557397} - - {fileID: 9146872230401557395} - - {fileID: 9146872230401557393} - - {fileID: 9146872230401557407} - - {fileID: 9146872230401557405} - - {fileID: 9146872230401557403} - - {fileID: 9146872230401557401} - - {fileID: 9146872230401557415} - - {fileID: 9146872230401557413} - - {fileID: 9146872230401557411} - - {fileID: 9146872230401557409} - - {fileID: 9146872230401557423} - - {fileID: 9146872230401556779} - - {fileID: 9146872230401556777} - - {fileID: 9146872230401556791} - - {fileID: 9146872230401556789} - - {fileID: 9146872230401556787} - - {fileID: 9146872230401556785} - - {fileID: 9146872230401556799} - - {fileID: 9146872230401556797} - - {fileID: 9146872230401556795} - - {fileID: 9146872230401556793} - - {fileID: 9146872230401556807} - - {fileID: 9146872230401556805} - - {fileID: 9146872230401556803} - - {fileID: 9146872230401556801} - - {fileID: 9146872230401556815} - - {fileID: 9146872230401556813} - - {fileID: 9146872230401556811} - - {fileID: 9146872230401556809} - - {fileID: 9146872230401556823} - - {fileID: 9146872230401556821} - - {fileID: 9146872230401556819} - - {fileID: 9146872230401556817} - - {fileID: 9146872230401556831} - - {fileID: 9146872230401556829} - - {fileID: 9146872230401556827} - - {fileID: 9146872230401556825} - - {fileID: 9146872230401556839} - - {fileID: 9146872230401556837} - - {fileID: 9146872230401556835} - - {fileID: 9146872230401556833} - - {fileID: 9146872230401556847} - - {fileID: 9146872230401556845} - - {fileID: 9146872230401556843} - - {fileID: 9146872230401556841} - - {fileID: 9146872230401556855} - - {fileID: 9146872230401556853} - - {fileID: 9146872230401556851} - - {fileID: 9146872230401556849} - - {fileID: 9146872230401556863} - - {fileID: 9146872230401556861} - - {fileID: 9146872230401556859} - - {fileID: 9146872230401556857} - - {fileID: 9146872230401556615} - - {fileID: 9146872230401556613} - - {fileID: 9146872230401556611} - - {fileID: 9146872230401556609} - - {fileID: 9146872230401556623} - - {fileID: 9146872230401556621} - - {fileID: 9146872230401556619} - - {fileID: 9146872230401556617} - - {fileID: 9146872230401556631} - - {fileID: 9146872230401556629} - - {fileID: 9146872230401556599} - - {fileID: 9146872230401556537} - - {fileID: 9146872230401556551} - - {fileID: 9146872230401556549} - - {fileID: 9146872230401556597} - - {fileID: 9146872230401556547} - - {fileID: 9146872230401556545} - - {fileID: 9146872230401556559} - - {fileID: 9146872230401556595} - - {fileID: 9146872230401556557} - - {fileID: 9146872230401556555} - - {fileID: 9146872230401556553} - - {fileID: 9146872230401556567} - - {fileID: 9146872230401556593} - - {fileID: 9146872230401556565} - - {fileID: 9146872230401556563} - - {fileID: 9146872230401556561} - - {fileID: 9146872230401556575} - - {fileID: 9146872230401556573} - - {fileID: 9146872230401556571} - - {fileID: 9146872230401556569} - - {fileID: 9146872230401556583} - - {fileID: 9146872230401556581} - - {fileID: 9146872230401556607} - - {fileID: 9146872230401556579} - - {fileID: 9146872230401556577} - - {fileID: 9146872230401556591} - - {fileID: 9146872230401556589} - - {fileID: 9146872230401556587} - - {fileID: 9146872230401557459} - - {fileID: 9146872230401557421} - - {fileID: 9146872230401557419} - - {fileID: 9146872230401557417} - - {fileID: 9146872230401557431} - - {fileID: 9146872230401556585} - - {fileID: 9146872230401557457} - - {fileID: 9146872230401557429} - - {fileID: 9146872230401557427} - - {fileID: 9146872230401557425} - - {fileID: 9146872230401557439} - - {fileID: 9146872230401557437} - - {fileID: 9146872230401557435} - - {fileID: 9146872230401557433} - - {fileID: 9146872230401557447} - - {fileID: 9146872230401556727} - - {fileID: 9146872230401556627} - - {fileID: 9146872230401556625} - - {fileID: 9146872230401556639} - - {fileID: 9146872230401556637} - - {fileID: 9146872230401556635} - - {fileID: 9146872230401556633} - - {fileID: 9146872230401556647} - - {fileID: 9146872230401556645} - - {fileID: 9146872230401556725} - - {fileID: 9146872230401556643} - - {fileID: 9146872230401556641} - - {fileID: 9146872230401556655} - - {fileID: 9146872230401556653} - - {fileID: 9146872230401556651} - - {fileID: 9146872230401556649} - - {fileID: 9146872230401556663} - - {fileID: 9146872230401556661} - - {fileID: 9146872230401556723} - - {fileID: 9146872230401556659} - - {fileID: 9146872230401556657} - - {fileID: 9146872230401556671} - - {fileID: 9146872230401556669} - - {fileID: 9146872230401556667} - - {fileID: 9146872230401556665} - - {fileID: 9146872230401556679} - - {fileID: 9146872230401556677} - - {fileID: 9146872230401556721} - - {fileID: 9146872230401556675} - - {fileID: 9146872230401556673} - - {fileID: 9146872230401556687} - - {fileID: 9146872230401556685} - - {fileID: 9146872230401556683} - - {fileID: 9146872230401556681} - - {fileID: 9146872230401556695} - - {fileID: 9146872230401556693} - - {fileID: 9146872230401556735} - - {fileID: 9146872230401556691} - - {fileID: 9146872230401556689} - - {fileID: 9146872230401556703} - - {fileID: 9146872230401556701} - - {fileID: 9146872230401556699} - - {fileID: 9146872230401556697} - - {fileID: 9146872230401556711} - - {fileID: 9146872230401556733} - - {fileID: 9146872230401556709} - - {fileID: 9146872230401556707} - - {fileID: 9146872230401556705} - - {fileID: 9146872230401556719} - - {fileID: 9146872230401556717} - - {fileID: 9146872230401556715} - - {fileID: 9146872230401556713} - - {fileID: 9146872230401557469} - - {fileID: 9146872230401557339} - - {fileID: 9146872230401557467} - - {fileID: 9146872230401557465} - - {fileID: 9146872230401557483} - - {fileID: 9146872230401557481} - - {fileID: 9146872230401557495} - - {fileID: 9146872230401557493} - - {fileID: 9146872230401557491} - - {fileID: 9146872230401557489} - - {fileID: 9146872230401557503} - - {fileID: 9146872230401557501} - - {fileID: 9146872230401557479} - - {fileID: 9146872230401557477} - - {fileID: 9146872230401557475} - - {fileID: 9146872230401557473} - - {fileID: 9146872230401557487} - - {fileID: 9146872230401557485} - - {fileID: 9146872230401557499} - - {fileID: 9146872230401557497} - - {fileID: 9146872230401557259} - - {fileID: 9146872230401557257} - - {fileID: 9146872230401557271} - - {fileID: 9146872230401557269} - - {fileID: 9146872230401557267} - - {fileID: 9146872230401557265} - - {fileID: 9146872230401557279} - - {fileID: 9146872230401557277} - - {fileID: 9146872230401557255} - - {fileID: 9146872230401557253} - - {fileID: 9146872230401557251} - - {fileID: 9146872230401557249} - - {fileID: 9146872230401557263} - - {fileID: 9146872230401557261} - - {fileID: 9146872230401557275} - - {fileID: 9146872230401557273} - - {fileID: 9146872230401557291} - - {fileID: 9146872230401557289} - - {fileID: 9146872230401557303} - - {fileID: 9146872230401557301} - - {fileID: 9146872230401557299} - - {fileID: 9146872230401557297} - - {fileID: 9146872230401557311} - - {fileID: 9146872230401557309} - - {fileID: 9146872230401557287} - - {fileID: 9146872230401557285} - - {fileID: 9146872230401557283} - - {fileID: 9146872230401557281} - - {fileID: 9146872230401557295} - - {fileID: 9146872230401557293} - - {fileID: 9146872230401557307} - - {fileID: 9146872230401557305} - - {fileID: 9146872230401557323} - - {fileID: 9146872230401557321} - - {fileID: 9146872230401557335} - - {fileID: 9146872230401557333} - - {fileID: 9146872230401557331} - - {fileID: 9146872230401557329} - - {fileID: 9146872230401557343} - - {fileID: 9146872230401557341} - - {fileID: 9146872230401557319} - - {fileID: 9146872230401557317} - - {fileID: 9146872230401557315} - - {fileID: 9146872230401557313} - - {fileID: 9146872230401557327} - - {fileID: 9146872230401557325} - - {fileID: 9146872230401557209} - - {fileID: 9146872230401557075} - - {fileID: 9146872230401557091} - - {fileID: 9146872230401557089} - - {fileID: 9146872230401557103} - - {fileID: 9146872230401557101} - - {fileID: 9146872230401557099} - - {fileID: 9146872230401557097} - - {fileID: 9146872230401557111} - - {fileID: 9146872230401557109} - - {fileID: 9146872230401557073} - - {fileID: 9146872230401557087} - - {fileID: 9146872230401557085} - - {fileID: 9146872230401557083} - - {fileID: 9146872230401557081} - - {fileID: 9146872230401557095} - - {fileID: 9146872230401557093} - - {fileID: 9146872230401557369} - - {fileID: 9146872230401557107} - - {fileID: 9146872230401557893} - - {fileID: 9146872230401557891} - - {fileID: 9146872230401557889} - - {fileID: 9146872230401557903} - - {fileID: 9146872230401557901} - - {fileID: 9146872230401557899} - - {fileID: 9146872230401557897} - - {fileID: 9146872230401557911} - - {fileID: 9146872230401557105} - - {fileID: 9146872230401557119} - - {fileID: 9146872230401557117} - - {fileID: 9146872230401557115} - - {fileID: 9146872230401557113} - - {fileID: 9146872230401557895} - - {fileID: 9146872230401557145} - - {fileID: 9146872230401557909} - - {fileID: 9146872230401557927} - - {fileID: 9146872230401557925} - - {fileID: 9146872230401557923} - - {fileID: 9146872230401557921} - - {fileID: 9146872230401557935} - - {fileID: 9146872230401557933} - - {fileID: 9146872230401557931} - - {fileID: 9146872230401557929} - - {fileID: 9146872230401557907} - - {fileID: 9146872230401557905} - - {fileID: 9146872230401557919} - - {fileID: 9146872230401557917} - - {fileID: 9146872230401557915} - - {fileID: 9146872230401557913} - - {fileID: 9146872230401557177} - - {fileID: 9146872230401557943} - - {fileID: 9146872230401557945} - - {fileID: 9146872230401557959} - - {fileID: 9146872230401557957} - - {fileID: 9146872230401557955} - - {fileID: 9146872230401557953} - - {fileID: 9146872230401557967} - - {fileID: 9146872230401557965} - - {fileID: 9146872230401557963} - - {fileID: 9146872230401557941} - - {fileID: 9146872230401557939} - - {fileID: 9146872230401557937} - - {fileID: 9146872230401557951} - - {fileID: 9146872230401557949} - - {fileID: 9146872230401557947} - - {fileID: 9146872230401557445} - - {fileID: 9146872230401557443} - - {fileID: 9146872230401557441} - - {fileID: 9146872230401557455} - - {fileID: 9146872230401557453} - - {fileID: 9146872230401557451} - - {fileID: 9146872230401557449} - - {fileID: 9146872230401557463} - - {fileID: 9146872230401557461} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 9146872230401557471} - m_AABB: - m_Center: {x: 0, y: -0.06274324, z: 0.018441573} - m_Extent: {x: 1.1846985, y: 0.23295459, z: 0.19147311} - m_DirtyAABB: 0 ---- !u!1 &9146872230402058565 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572133} - - component: {fileID: 4378342711356960195} - m_Layer: 11 - m_Name: MAIN_Spine3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572133 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058565} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 1.3163128e-16, y: 0.059184693, z: -0.0018002244} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572301} - - {fileID: 9146872230401572309} - - {fileID: 9146872230401572115} - m_Father: {fileID: 9146872230401572135} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &4378342711356960195 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058565} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 646b65a4a57afd34d8c4ed557efb46a5, type: 3} - m_Name: - m_EditorClassIdentifier: - Colliders: - - Offset: {x: 0.06, y: 0, z: 0} - Radius: 0.08 - - Offset: {x: -0.06, y: 0, z: 0} - Radius: 0.08 - - Offset: {x: 0, y: 0.03, z: 0} - Radius: 0.08 - m_gizmoColor: {r: 1, g: 0, b: 1, a: 1} ---- !u!1 &9146872230402058567 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572135} - m_Layer: 11 - m_Name: MAIN_Spine2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572135 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058567} - m_LocalRotation: {x: -1.3877788e-17, y: 0, z: -0, w: 1} - m_LocalPosition: {x: -2.7296601e-17, y: 0.07334137, z: -0.0037601667} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572133} - m_Father: {fileID: 9146872230401572121} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058569 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572137} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_L_joint13 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572137 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058569} - m_LocalRotation: {x: 0, y: 0, z: 0.023944281, w: 0.9997133} - m_LocalPosition: {x: -0.0855138, y: -2.7000624e-15, z: -0.0050932965} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572151} - m_Father: {fileID: 9146872230401572139} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058571 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572139} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_L_joint12 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572139 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058571} - m_LocalRotation: {x: 0, y: -0, z: -0.017396271, w: 0.9998487} - m_LocalPosition: {x: -0.09966138, y: 0.0054878285, z: -0.0050932965} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572137} - m_Father: {fileID: 9146872230401572141} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058573 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572141} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_L_joint11 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572141 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058573} - m_LocalRotation: {x: 0, y: 0, z: 0.010987022, w: 0.9999397} - m_LocalPosition: {x: -0.109624065, y: -0.0023524943, z: -0.0042444137} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572139} - m_Father: {fileID: 9146872230401572143} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058575 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572143} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_L_joint10 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572143 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058575} - m_LocalRotation: {x: 0, y: -0, z: -0.018509, w: 0.9998287} - m_LocalPosition: {x: -0.118446134, y: 0.00078362756, z: -1.7763567e-16} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572141} - m_Father: {fileID: 9146872230401572169} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058577 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572145} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_L_joint17 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572145 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058577} - m_LocalRotation: {x: 0, y: 0, z: 0.01571673, w: 0.9998765} - m_LocalPosition: {x: -0.10854997, y: 0, z: 0.0008488828} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572159} - m_Father: {fileID: 9146872230401572147} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058579 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572147} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_L_joint16 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572147 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058579} - m_LocalRotation: {x: 0, y: 0, z: 0.0217703, w: 0.999763} - m_LocalPosition: {x: -0.10325633, y: -1.4210854e-16, z: -0.0008488828} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572145} - m_Father: {fileID: 9146872230401572149} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058581 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572149} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_L_joint15 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572149 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058581} - m_LocalRotation: {x: 0, y: 0, z: 0.017961705, w: 0.9998387} - m_LocalPosition: {x: -0.0874651, y: -0.006715566, z: -0.0025466483} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572147} - m_Father: {fileID: 9146872230401572151} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058583 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572151} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_L_joint14 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572151 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058583} - m_LocalRotation: {x: 0, y: -0, z: -0.06732004, w: 0.99773145} - m_LocalPosition: {x: -0.06252417, y: 2.9842794e-15, z: -0.0025466483} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572149} - m_Father: {fileID: 9146872230401572137} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058585 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572153} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_L_joint20 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572153 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058585} - m_LocalRotation: {x: 0, y: -0, z: -0.027745694, w: 0.9996151} - m_LocalPosition: {x: -0.043849625, y: -1.4210854e-16, z: 0.0008488828} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572167} - m_Father: {fileID: 9146872230401572157} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058587 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572155} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_L_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572155 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058587} - m_LocalRotation: {x: 0, y: -0, z: -0.0054543023, w: 0.99998516} - m_LocalPosition: {x: -0.019004643, y: -0.0019196152, z: 0.0037928782} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572165} - m_Father: {fileID: 9146872230401572129} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058589 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572157} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_L_joint19 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572157 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058589} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.07344812, y: 7.1054274e-15, z: 0.0016977655} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572153} - m_Father: {fileID: 9146872230401572159} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058591 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572159} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_L_joint18 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572159 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058591} - m_LocalRotation: {x: 0, y: -0, z: -0.005617712, w: 0.99998426} - m_LocalPosition: {x: -0.09757158, y: -3.5527137e-15, z: 0.0016977655} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572157} - m_Father: {fileID: 9146872230401572145} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058593 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572161} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_L_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572161 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058593} - m_LocalRotation: {x: 0, y: -0, z: -0.012497071, w: 0.9999219} - m_LocalPosition: {x: -0.058214433, y: 0.0038553753, z: 0.00051120145} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572175} - m_Father: {fileID: 9146872230401572163} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058595 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572163} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_L_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572163 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058595} - m_LocalRotation: {x: 0, y: -0, z: -0.04600718, w: 0.9989411} - m_LocalPosition: {x: -0.012556748, y: 0.0009916245, z: 0.001351056} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572161} - m_Father: {fileID: 9146872230401572165} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058597 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572165} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_L_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572165 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058597} - m_LocalRotation: {x: 0, y: -0, z: -0.04720248, w: 0.99888533} - m_LocalPosition: {x: -0.01658552, y: 0.0010136277, z: 0.0032983327} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572163} - m_Father: {fileID: 9146872230401572155} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058599 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572167} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_L_joint21 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572167 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058599} - m_LocalRotation: {x: 0, y: 0, z: 0.027745694, w: 0.9996151} - m_LocalPosition: {x: -0.059288274, y: 5.684342e-16, z: 0.003395531} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557223} - m_Father: {fileID: 9146872230401572153} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058601 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572169} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_L_joint9 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572169 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058601} - m_LocalRotation: {x: 0, y: 0, z: 0.008307297, w: 0.9999655} - m_LocalPosition: {x: -0.10748595, y: -0.0015680031, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572143} - m_Father: {fileID: 9146872230401572171} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058603 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572171} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_L_joint8 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572171 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058603} - m_LocalRotation: {x: 0, y: 0, z: 0.00515231, w: 0.99998677} - m_LocalPosition: {x: -0.10855713, y: -0.0023523744, z: 1.7763567e-16} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572169} - m_Father: {fileID: 9146872230401572173} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058605 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572173} - - component: {fileID: 6575646307731765307} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_L_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572173 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058605} - m_LocalRotation: {x: 0, y: 0, z: 0.013245933, w: 0.99991226} - m_LocalPosition: {x: -0.06687967, y: 7.105427e-16, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572171} - m_Father: {fileID: 9146872230401572175} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &6575646307731765307 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058605} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 646b65a4a57afd34d8c4ed557efb46a5, type: 3} - m_Name: - m_EditorClassIdentifier: - Colliders: - - Offset: {x: 0, y: 0, z: 0} - Radius: 0.032 - m_gizmoColor: {r: 1, g: 0, b: 1, a: 1} ---- !u!1 &9146872230402058607 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572175} - - component: {fileID: 69068836355930360} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_L_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572175 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058607} - m_LocalRotation: {x: 0, y: 0, z: 0.004301396, w: 0.99999076} - m_LocalPosition: {x: -0.08772666, y: -1.4210854e-16, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572173} - m_Father: {fileID: 9146872230401572161} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &69068836355930360 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058607} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 646b65a4a57afd34d8c4ed557efb46a5, type: 3} - m_Name: - m_EditorClassIdentifier: - Colliders: - - Offset: {x: 0, y: 0, z: 0} - Radius: 0.032 - m_gizmoColor: {r: 1, g: 0, b: 1, a: 1} ---- !u!1 &9146872230402058609 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572177} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_R_joint12 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572177 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058609} - m_LocalRotation: {x: 0, y: -0, z: -0.017396271, w: 0.9998487} - m_LocalPosition: {x: 0.09966047, y: -0.0054881363, z: 0.005093} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572191} - m_Father: {fileID: 9146872230401572179} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058611 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572179} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_R_joint11 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572179 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058611} - m_LocalRotation: {x: 0, y: 0, z: 0.010987022, w: 0.9999397} - m_LocalPosition: {x: 0.109625, y: 0.002352, z: 0.004245} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572177} - m_Father: {fileID: 9146872230401572181} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058613 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572181} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_R_joint10 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572181 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058613} - m_LocalRotation: {x: 0, y: -0, z: -0.018509, w: 0.9998287} - m_LocalPosition: {x: 0.11844616, y: -0.00078342576, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572179} - m_Father: {fileID: 9146872230401572223} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058615 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572183} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_R_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572183 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058615} - m_LocalRotation: {x: 0.99513334, y: -0.09853762, z: 6.033689e-18, w: -6.093434e-17} - m_LocalPosition: {x: 0.0243709, y: -0.014818015, z: 0.011781195} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572193} - m_Father: {fileID: 9146872230401556745} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058617 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572185} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_R_joint16 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572185 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058617} - m_LocalRotation: {x: 0, y: 0, z: 0.0217703, w: 0.999763} - m_LocalPosition: {x: 0.103259735, y: -0.00000033971628, z: 0.0008489999} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572199} - m_Father: {fileID: 9146872230401572187} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058619 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572187} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_R_joint15 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572187 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058619} - m_LocalRotation: {x: 0, y: 0, z: 0.017961705, w: 0.9998387} - m_LocalPosition: {x: 0.08746287, y: 0.0067152074, z: 0.0025469996} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572185} - m_Father: {fileID: 9146872230401572189} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058621 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572189} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_R_joint14 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572189 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058621} - m_LocalRotation: {x: 0.000000010512809, y: -7.0933187e-10, z: -0.06732004, w: 0.99773145} - m_LocalPosition: {x: 0.06252447, y: 0.000000508459, z: 0.002547} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572187} - m_Father: {fileID: 9146872230401572191} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058623 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572191} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_R_joint13 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572191 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058623} - m_LocalRotation: {x: 0, y: 0, z: 0.023944281, w: 0.9997133} - m_LocalPosition: {x: 0.08551402, y: 0.0000002435697, z: 0.005093} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572189} - m_Father: {fileID: 9146872230401572177} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058657 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572225} - m_Layer: 11 - m_Name: MAIN_Head1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572225 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058657} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -7.609445e-17, y: 0.19106601, z: 0.03309309} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572227} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058659 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572227} - - component: {fileID: 183748835671777966} - m_Layer: 11 - m_Name: MAIN_Head - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572227 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058659} - m_LocalRotation: {x: -2.7755576e-17, y: 0, z: -0, w: 1} - m_LocalPosition: {x: -7.609444e-17, y: 0.06479072, z: 0.0015891057} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572225} - m_Father: {fileID: 9146872230401572309} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &183748835671777966 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058659} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 646b65a4a57afd34d8c4ed557efb46a5, type: 3} - m_Name: - m_EditorClassIdentifier: - Colliders: - - Offset: {x: 0.031733237, y: 0.09000003, z: 0.05583067} - Radius: 0.053 - - Offset: {x: -0.035339784, y: 0.0916754, z: 0.06296511} - Radius: 0.041 - - Offset: {x: 0, y: 0.025630236, z: 0.04205298} - Radius: 0.079 - - Offset: {x: 0, y: 0.025630236, z: -0.02} - Radius: 0.079 - - Offset: {x: 0, y: 0.10044706, z: 0.018886685} - Radius: 0.1 - m_gizmoColor: {r: 1, g: 0, b: 1, a: 1} ---- !u!1 &9146872230402058665 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572233} - m_Layer: 11 - m_Name: MAIN_LeftArmTwist1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572233 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058665} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.06571589, y: 0.00033202162, z: -0.004394941} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572237} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058667 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572235} - - component: {fileID: 4805702043995720208} - m_Layer: 11 - m_Name: MAIN_LeftArmRoll - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572235 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058667} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.10001103, y: 0.00031358856, z: -0.006830717} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572243} - m_Father: {fileID: 9146872230401572237} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &4805702043995720208 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058667} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 646b65a4a57afd34d8c4ed557efb46a5, type: 3} - m_Name: - m_EditorClassIdentifier: - Colliders: - - Offset: {x: 0, y: 0, z: 0} - Radius: 0.032 - - Offset: {x: -0.05, y: 0, z: 0} - Radius: 0.032 - m_gizmoColor: {r: 1, g: 0, b: 1, a: 1} ---- !u!1 &9146872230402058669 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572237} - m_Layer: 11 - m_Name: MAIN_LeftArm - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572237 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058669} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.05313894, y: 0.01617096, z: 0.006739083} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572235} - - {fileID: 9146872230401572233} - - {fileID: 9146872230401572247} - m_Father: {fileID: 9146872230401572301} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058671 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572239} - - component: {fileID: 7055606943522563377} - m_Layer: 11 - m_Name: MAIN_Hips - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572239 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058671} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0.78903234, z: -0.019063689} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572311} - - {fileID: 9146872230401572125} - - {fileID: 9146872230401572123} - - {fileID: 3437465591632624771} - m_Father: {fileID: 9146872230401571517} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &7055606943522563377 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058671} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 646b65a4a57afd34d8c4ed557efb46a5, type: 3} - m_Name: - m_EditorClassIdentifier: - Colliders: - - Offset: {x: 0, y: -0.031415284, z: -0.01} - Radius: 0.126 - m_gizmoColor: {r: 1, g: 0, b: 1, a: 1} ---- !u!1 &9146872230402058673 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572241} - m_Layer: 11 - m_Name: MAIN_LeftForeArmElbow - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572241 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058673} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.012721951, y: 0.0037528386, z: -0.015877938} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572243} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058675 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572243} - - component: {fileID: 8946298426612333857} - m_Layer: 11 - m_Name: MAIN_LeftForeArm - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572243 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058675} - m_LocalRotation: {x: -2.60685e-16, y: -1.7347235e-17, z: 3.9377437e-17, w: 1} - m_LocalPosition: {x: -0.10176778, y: -0.00031358804, z: -0.0062186806} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572241} - - {fileID: 9146872230401572255} - - {fileID: 9146872230401572253} - - {fileID: 9146872230401572251} - m_Father: {fileID: 9146872230401572235} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &8946298426612333857 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058675} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 646b65a4a57afd34d8c4ed557efb46a5, type: 3} - m_Name: - m_EditorClassIdentifier: - Colliders: - - Offset: {x: 0, y: 0, z: 0} - Radius: 0.032 - - Offset: {x: -0.05, y: 0, z: 0} - Radius: 0.032 - - Offset: {x: -0.1, y: 0, z: 0} - Radius: 0.032 - - Offset: {x: -0.15, y: 0, z: 0} - Radius: 0.032 - m_gizmoColor: {r: 1, g: 0, b: 1, a: 1} ---- !u!1 &9146872230402058677 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572245} - m_Layer: 11 - m_Name: MAIN_LeftFoot - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572245 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058677} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -4.4408918e-17, y: -0.35686812, z: -0.022643397} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572299} - m_Father: {fileID: 9146872230401572303} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058679 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572247} - m_Layer: 11 - m_Name: MAIN_LeftArmTwist2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572247 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058679} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.16981958, y: 0.00021225827, z: -0.011259599} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572237} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058681 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572249} - - component: {fileID: 3774296994035091656} - m_Layer: 11 - m_Name: MAIN_LeftHand - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572249 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058681} - m_LocalRotation: {x: 1.0842038e-17, y: -3.8163916e-17, z: 5.5233377e-17, w: 1} - m_LocalPosition: {x: -0.0794451, y: -0.000004630837, z: 0.0020188647} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572263} - - {fileID: 9146872230401572271} - - {fileID: 9146872230401572279} - - {fileID: 9146872230401572287} - - {fileID: 9146872230401572295} - - {fileID: 9146872230401572293} - m_Father: {fileID: 9146872230401572255} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &3774296994035091656 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058681} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 646b65a4a57afd34d8c4ed557efb46a5, type: 3} - m_Name: - m_EditorClassIdentifier: - Colliders: - - Offset: {x: 0, y: 0, z: 0} - Radius: 0.032 - - Offset: {x: -0.05, y: 0, z: 0} - Radius: 0.032 - m_gizmoColor: {r: 1, g: 0, b: 1, a: 1} ---- !u!1 &9146872230402058683 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572251} - m_Layer: 11 - m_Name: MAIN_LeftForeArmTwist2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572251 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058683} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.13390101, y: 0.000004631092, z: 0.0025850632} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572243} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058685 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572253} - m_Layer: 11 - m_Name: MAIN_LeftForeArmTwist1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572253 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058685} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.05860997, y: -0.0009076013, z: 0.0013805516} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572243} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058687 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572255} - m_Layer: 11 - m_Name: MAIN_LeftForeArmRoll - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572255 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058687} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.104046226, y: 0.000004631092, z: 0.0019584484} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572249} - m_Father: {fileID: 9146872230401572243} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058689 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572257} - m_Layer: 11 - m_Name: MAIN_LeftHandIndex3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572257 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058689} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.016276758, y: -0.002694084, z: 0.0021435097} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572259} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058691 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572259} - m_Layer: 11 - m_Name: MAIN_LeftHandIndex2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572259 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058691} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.0228877, y: -0.0021021971, z: 0.004252806} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572257} - m_Father: {fileID: 9146872230401572261} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058693 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572261} - m_Layer: 11 - m_Name: MAIN_LeftHandIndex1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572261 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058693} - m_LocalRotation: {x: 0, y: -0.06279052, z: -0, w: 0.9980267} - m_LocalPosition: {x: -0.03906172, y: 0.0027322038, z: 0.007967873} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572259} - m_Father: {fileID: 9146872230401572271} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058695 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572263} - m_Layer: 11 - m_Name: MAIN_LeftHandAttach - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572263 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058695} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.054060366, y: -0.022025926, z: -8.025099e-10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572249} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058697 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572265} - m_Layer: 11 - m_Name: MAIN_LeftHandMiddle3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572265 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058697} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.02666596, y: -0.006477729, z: 0.0012118154} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572267} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058699 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572267} - m_Layer: 11 - m_Name: MAIN_LeftHandMiddle2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572267 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058699} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.024395825, y: -0.0021449206, z: -0.000048176924} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572265} - m_Father: {fileID: 9146872230401572269} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058701 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572269} - m_Layer: 11 - m_Name: MAIN_LeftHandMiddle1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572269 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058701} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.041672688, y: 0.004121655, z: 0.0021215254} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572267} - m_Father: {fileID: 9146872230401572279} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058703 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572271} - m_Layer: 11 - m_Name: MAIN_LeftHandIndex_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572271 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058703} - m_LocalRotation: {x: 5.2041704e-18, y: -1.3877788e-17, z: 7.583994e-17, w: 1} - m_LocalPosition: {x: -0.02031392, y: 0.0044666682, z: 0.013609801} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572261} - m_Father: {fileID: 9146872230401572249} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058705 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572273} - m_Layer: 11 - m_Name: MAIN_LeftHandPinky3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572273 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058705} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.016151136, y: -0.0029528718, z: -0.0037845303} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572275} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058707 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572275} - m_Layer: 11 - m_Name: MAIN_LeftHandPinky2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572275 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058707} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.017482117, y: -0.003098898, z: -0.004536916} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572273} - m_Father: {fileID: 9146872230401572277} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058709 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572277} - m_Layer: 11 - m_Name: MAIN_LeftHandPinky1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572277 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058709} - m_LocalRotation: {x: 0, y: 0.09273404, z: -0, w: 0.99569094} - m_LocalPosition: {x: -0.03854013, y: 0.0020158726, z: -0.01033078} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572275} - m_Father: {fileID: 9146872230401572287} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058711 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572279} - m_Layer: 11 - m_Name: MAIN_LeftHandMiddle_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572279 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058711} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.021387493, y: 0.004902672, z: 0.004770821} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572269} - m_Father: {fileID: 9146872230401572249} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058713 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572281} - m_Layer: 11 - m_Name: MAIN_LeftHandRing3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572281 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058713} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.018506717, y: -0.0030331318, z: -0.0012300165} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572283} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058715 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572283} - m_Layer: 11 - m_Name: MAIN_LeftHandRing2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572283 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058715} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.025606345, y: -0.0034448125, z: -0.0015547515} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572281} - m_Father: {fileID: 9146872230401572285} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058717 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572285} - m_Layer: 11 - m_Name: MAIN_LeftHandRing1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572285 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058717} - m_LocalRotation: {x: 0, y: 0.027426694, z: -0, w: 0.99962384} - m_LocalPosition: {x: -0.043116268, y: 0.004086777, z: -0.0044361716} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572283} - m_Father: {fileID: 9146872230401572295} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058719 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572287} - m_Layer: 11 - m_Name: MAIN_LeftHandPinky_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572287 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058719} - m_LocalRotation: {x: 9.97466e-18, y: -5.2041704e-17, z: 9.256376e-17, w: 1} - m_LocalPosition: {x: -0.018355774, y: -0.00091083936, z: -0.011001123} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572277} - m_Father: {fileID: 9146872230401572249} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058721 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572289} - m_Layer: 11 - m_Name: MAIN_LeftHandThumb3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572289 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058721} - m_LocalRotation: {x: 6.938894e-18, y: 2.7755576e-17, z: 2.4286129e-17, w: 1} - m_LocalPosition: {x: -0.014996353, y: -0.0054081255, z: 0.010471193} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572291} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058723 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572291} - m_Layer: 11 - m_Name: MAIN_LeftHandThumb2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572291 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058723} - m_LocalRotation: {x: -4.1633363e-17, y: 1.110223e-16, z: 9.367507e-17, w: 1} - m_LocalPosition: {x: -0.01910693, y: -0.0058329613, z: 0.012700477} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572289} - m_Father: {fileID: 9146872230401572293} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058725 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572293} - m_Layer: 11 - m_Name: MAIN_LeftHandThumb1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572293 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058725} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.013517325, y: -0.0019250435, z: 0.020137712} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572291} - m_Father: {fileID: 9146872230401572249} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058727 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572295} - m_Layer: 11 - m_Name: MAIN_LeftHandRing_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572295 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058727} - m_LocalRotation: {x: 8.890458e-18, y: -4.6837534e-17, z: 1.1345159e-16, w: 1} - m_LocalPosition: {x: -0.020289928, y: 0.0034872452, z: -0.0048778644} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572285} - m_Father: {fileID: 9146872230401572249} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058729 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572297} - m_Layer: 11 - m_Name: MAIN_LeftToeBase1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572297 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058729} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 1.0658141e-16, y: -7.9936054e-17, z: 0.095362365} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572299} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058731 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572299} - m_Layer: 11 - m_Name: MAIN_LeftToeBase - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572299 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058731} - m_LocalRotation: {x: 8.326673e-17, y: -1.7340232e-16, z: -1.4629252e-16, w: 1} - m_LocalPosition: {x: -0.000000085830685, y: -0.05336319, z: 0.00910088} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572297} - m_Father: {fileID: 9146872230401572245} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058733 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572301} - m_Layer: 11 - m_Name: MAIN_LeftShoulder - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572301 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058733} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.036415335, y: 0.040963326, z: 0.0059526456} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572237} - m_Father: {fileID: 9146872230401572133} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058735 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572303} - m_Layer: 11 - m_Name: MAIN_LeftLeg - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572303 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058735} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -8.881784e-18, y: -0.32775813, z: 0.02230836} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572245} - m_Father: {fileID: 9146872230401572311} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058737 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572305} - - component: {fileID: 3978924249809616244} - m_Layer: 11 - m_Name: MAIN_RightArmRoll - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572305 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058737} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.1000107, y: 0.00030999997, z: -0.00683067} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572313} - m_Father: {fileID: 9146872230401572307} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &3978924249809616244 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058737} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 646b65a4a57afd34d8c4ed557efb46a5, type: 3} - m_Name: - m_EditorClassIdentifier: - Colliders: - - Offset: {x: 0, y: 0, z: 0} - Radius: 0.032 - - Offset: {x: 0.05, y: 0, z: 0} - Radius: 0.032 - m_gizmoColor: {r: 1, g: 0, b: 1, a: 1} ---- !u!1 &9146872230402058739 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572307} - m_Layer: 11 - m_Name: MAIN_RightArm - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572307 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058739} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.053138997, y: 0.01618, z: 0.0067390697} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572305} - - {fileID: 9146872230401572319} - - {fileID: 9146872230401572317} - m_Father: {fileID: 9146872230401572115} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058741 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572309} - m_Layer: 11 - m_Name: MAIN_Neck - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572309 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058741} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -1.7856474e-16, y: 0.089610346, z: -0.007940619} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572227} - m_Father: {fileID: 9146872230401572133} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058743 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572311} - - component: {fileID: 6897728112971702157} - m_Layer: 11 - m_Name: MAIN_LeftUpLeg - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572311 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058743} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.06932031, y: -0.042844355, z: -2.4424906e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572303} - m_Father: {fileID: 9146872230401572239} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &6897728112971702157 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058743} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 646b65a4a57afd34d8c4ed557efb46a5, type: 3} - m_Name: - m_EditorClassIdentifier: - Colliders: - - Offset: {x: 0, y: -0.03, z: 0} - Radius: 0.079 - m_gizmoColor: {r: 1, g: 0, b: 1, a: 1} ---- !u!1 &9146872230402058745 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572313} - - component: {fileID: 1242270188910312384} - m_Layer: 11 - m_Name: MAIN_RightForeArm - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572313 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058745} - m_LocalRotation: {x: -2.60685e-16, y: -1.7347235e-17, z: 3.9377437e-17, w: 1} - m_LocalPosition: {x: 0.101767994, y: -0.00030999997, z: -0.0062186997} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572327} - - {fileID: 9146872230401572325} - - {fileID: 9146872230401572323} - - {fileID: 9146872230401572321} - m_Father: {fileID: 9146872230401572305} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1242270188910312384 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058745} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 646b65a4a57afd34d8c4ed557efb46a5, type: 3} - m_Name: - m_EditorClassIdentifier: - Colliders: - - Offset: {x: 0, y: 0, z: 0} - Radius: 0.032 - - Offset: {x: 0.05, y: 0, z: 0} - Radius: 0.032 - - Offset: {x: 0.1, y: 0, z: 0} - Radius: 0.032 - - Offset: {x: 0.15, y: 0, z: 0} - Radius: 0.032 - m_gizmoColor: {r: 1, g: 0, b: 1, a: 1} ---- !u!1 &9146872230402058747 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572315} - m_Layer: 11 - m_Name: MAIN_RightFoot - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572315 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058747} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: -0.3568682, z: -0.02264337} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572113} - m_Father: {fileID: 9146872230401572117} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058749 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572317} - m_Layer: 11 - m_Name: MAIN_RightArmTwist2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572317 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058749} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.1698197, y: 0.00021, z: -0.01125957} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572307} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058751 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572319} - m_Layer: 11 - m_Name: MAIN_RightArmTwist1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572319 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058751} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.0657157, y: 0.00032999998, z: -0.00439494} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572307} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058753 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572577} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_9_Btm_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572577 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058753} - m_LocalRotation: {x: -0.012775683, y: -0.008280705, z: 0.05154221, w: 0.99855477} - m_LocalPosition: {x: -0.061234698, y: 4.440892e-18, z: 3.8001153e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572587} - m_Father: {fileID: 9146872230401572603} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058755 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572579} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_8_Up_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572579 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058755} - m_LocalRotation: {x: 0.01171953, y: -0.093189314, z: 0.9028962, w: 0.41947207} - m_LocalPosition: {x: -0.015404397, y: -3.5527136e-17, z: 3.330669e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572581} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058757 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572581} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_8_Up_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572581 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058757} - m_LocalRotation: {x: 0.84503496, y: -0.21809138, z: 0.027929407, w: 0.4874137} - m_LocalPosition: {x: -0.03784829, y: 1.4210854e-16, z: 2.6645352e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572579} - m_Father: {fileID: 9146872230401572583} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058759 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572583} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_8_Up_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572583 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058759} - m_LocalRotation: {x: -0.73781234, y: 0.09319582, z: 0.04655103, w: 0.66691864} - m_LocalPosition: {x: -0.032516178, y: 7.105427e-17, z: 5.3290704e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572581} - m_Father: {fileID: 9146872230401572569} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058761 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572585} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_9_Btm_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572585 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058761} - m_LocalRotation: {x: 0.012870867, y: 0.003896589, z: -0.019824822, w: 0.99971306} - m_LocalPosition: {x: -0.047043227, y: -7.9936054e-17, z: -1.5265567e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572599} - m_Father: {fileID: 9146872230401572587} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058763 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572587} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_9_Btm_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572587 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058763} - m_LocalRotation: {x: -0.0034929719, y: -0.0014719813, z: 0.12435898, w: 0.99223006} - m_LocalPosition: {x: -0.040125735, y: -5.3290704e-17, z: -2.8449465e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572585} - m_Father: {fileID: 9146872230401572577} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058765 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572589} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_9_Btm_joint11 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572589 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058765} - m_LocalRotation: {x: 0.48052624, y: 0.55349565, z: -0.44595477, w: 0.51367444} - m_LocalPosition: {x: -0.011943733, y: 1.7763568e-17, z: 4.3697682e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572591} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058767 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572591} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_9_Btm_joint10 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572591 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058767} - m_LocalRotation: {x: -0.21784827, y: -0.019215351, z: -0.051620718, w: 0.9744271} - m_LocalPosition: {x: -0.09329248, y: 5.662137e-17, z: -2.0816682e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572589} - m_Father: {fileID: 9146872230401572605} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058769 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572593} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_9_Btm_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572593 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058769} - m_LocalRotation: {x: 0.010315167, y: 0.006021441, z: 0.06730635, w: 0.9976609} - m_LocalPosition: {x: -0.058866534, y: 0, z: 1.9220736e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572607} - m_Father: {fileID: 9146872230401572595} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058771 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572595} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_9_Btm_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572595 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058771} - m_LocalRotation: {x: 0.006622625, y: 0.004686377, z: 0.020082718, w: 0.9997654} - m_LocalPosition: {x: -0.057344645, y: -1.02140514e-16, z: -1.5265567e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572593} - m_Father: {fileID: 9146872230401572597} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058773 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572597} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_9_Btm_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572597 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058773} - m_LocalRotation: {x: -0.013475287, y: -0.007496375, z: -0.12787631, w: 0.99167025} - m_LocalPosition: {x: -0.07295249, y: -1.7763568e-17, z: -7.077672e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572595} - m_Father: {fileID: 9146872230401572599} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058775 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572599} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_9_Btm_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572599 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058775} - m_LocalRotation: {x: 0.006567935, y: 0.0023723182, z: -0.03280707, w: 0.99943733} - m_LocalPosition: {x: -0.063920304, y: 8.659739e-17, z: 5.8260957e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572597} - m_Father: {fileID: 9146872230401572585} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058777 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572601} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_9_Up_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572601 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058777} - m_LocalRotation: {x: 0.0999444, y: -0.317614, z: 0.89453804, w: -0.29821834} - m_LocalPosition: {x: 0.03983763, y: 0.016197877, z: 0.0013152302} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572359} - m_Father: {fileID: 9146872230401572603} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058779 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572603} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_9_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572603 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058779} - m_LocalRotation: {x: -0.31975776, y: -0.6262698, z: 0.32332128, w: 0.6332492} - m_LocalPosition: {x: -0.0019662715, y: 0.011311421, z: -0.09539091} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572577} - - {fileID: 9146872230401572601} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 23 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058781 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572605} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_9_Btm_joint9 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572605 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058781} - m_LocalRotation: {x: 0.19616139, y: 0.033825688, z: 0.13258365, w: 0.97097796} - m_LocalPosition: {x: -0.079185836, y: -3.9968027e-17, z: -3.0531133e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572591} - m_Father: {fileID: 9146872230401572607} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058783 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572607} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_9_Btm_joint8 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572607 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058783} - m_LocalRotation: {x: -0.026711306, y: -0.010784947, z: 0.07716831, w: 0.9966019} - m_LocalPosition: {x: -0.06642445, y: -1.7763568e-17, z: 1.5265567e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572605} - m_Father: {fileID: 9146872230401572593} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058785 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572353} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_10_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572353 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058785} - m_LocalRotation: {x: 0.15527084, y: 0.3445087, z: 0.3804304, w: 0.8440838} - m_LocalPosition: {x: 0.092938624, y: -0.0033975854, z: 0.01577478} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572367} - m_Father: {fileID: 9146872230401571487} - m_RootOrder: 9 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058787 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572355} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_9_Up_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572355 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058787} - m_LocalRotation: {x: 0.006017965, y: -0.039985545, z: 0.8875257, w: 0.45898053} - m_LocalPosition: {x: -0.012002802, y: 1.4970664e-17, z: 1.6930902e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572357} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058789 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572357} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_9_Up_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572357 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058789} - m_LocalRotation: {x: 0.9633618, y: -0.26302117, z: -0.0032180022, w: -0.052379247} - m_LocalPosition: {x: -0.038578805, y: 1.3947177e-17, z: 4.9960034e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572355} - m_Father: {fileID: 9146872230401572359} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058791 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572359} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_9_Up_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572359 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058791} - m_LocalRotation: {x: 0.96379906, y: -0.10747001, z: -0.022932723, w: -0.24293137} - m_LocalPosition: {x: -0.032743275, y: 4.860695e-17, z: 3.8163916e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572357} - m_Father: {fileID: 9146872230401572601} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058793 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572361} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_10_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572361 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058793} - m_LocalRotation: {x: 0.8156878, y: 0.57846725, z: -0.000063361964, w: -0.0053940183} - m_LocalPosition: {x: -0.01045933, y: -0.017033564, z: 0.011055994} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572375} - m_Father: {fileID: 9146872230401572363} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058795 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572363} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_10_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572363 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058795} - m_LocalRotation: {x: 0.7710631, y: 0.6195916, z: 0.0070906044, w: 0.14668924} - m_LocalPosition: {x: -0.017387941, y: -0.015809996, z: 0.020825556} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572361} - m_Father: {fileID: 9146872230401572365} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058797 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572365} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_10_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572365 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058797} - m_LocalRotation: {x: 0.8726814, y: 0.45990166, z: -0.039029628, w: 0.15935609} - m_LocalPosition: {x: -0.03389181, y: -0.0032551696, z: 0.006722333} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572363} - m_Father: {fileID: 9146872230401572367} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058799 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572367} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_10_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572367 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058799} - m_LocalRotation: {x: 0.8727417, y: 0.4592178, z: -0.039303828, w: -0.16092269} - m_LocalPosition: {x: -0.02128963, y: -0.019528247, z: 0.02552931} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572365} - m_Father: {fileID: 9146872230401572353} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058801 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572369} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_11_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572369 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058801} - m_LocalRotation: {x: 0.8758232, y: 0.4109709, z: -0.046955984, w: -0.24865998} - m_LocalPosition: {x: -0.026918575, y: -0.010689569, z: 0.018996017} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572383} - m_Father: {fileID: 9146872230401572371} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058803 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572371} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_11_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572371 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058803} - m_LocalRotation: {x: 0.21106564, y: 0.41273743, z: 0.403423, w: 0.78889096} - m_LocalPosition: {x: 0.06485175, y: -0.0058088438, z: 0.048586667} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572369} - m_Father: {fileID: 9146872230401571487} - m_RootOrder: 10 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058805 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572373} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_10_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572373 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058805} - m_LocalRotation: {x: -0.12927905, y: -0.17983755, z: -0.5692014, w: 0.79180497} - m_LocalPosition: {x: -0.018300366, y: -0.010768896, z: 0.005441346} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572375} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058807 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572375} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_10_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572375 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058807} - m_LocalRotation: {x: -0.021259421, y: -0.010657129, z: 0.13993298, w: 0.9898754} - m_LocalPosition: {x: -0.01202171, y: -0.0174897, z: 0.011458831} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572373} - m_Father: {fileID: 9146872230401572361} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058809 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572377} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_11_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572377 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058809} - m_LocalRotation: {x: -0.17656352, y: -0.049887627, z: 0.15732211, w: 0.9703537} - m_LocalPosition: {x: -0.024188682, y: -0.0050663636, z: 0.009701952} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572391} - m_Father: {fileID: 9146872230401572379} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058811 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572379} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_11_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572379 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058811} - m_LocalRotation: {x: 0.8715353, y: 0.4806748, z: 0.0065718032, w: 0.09661677} - m_LocalPosition: {x: -0.01819263, y: -0.001837782, z: 0.0064081657} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572377} - m_Father: {fileID: 9146872230401572381} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058813 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572381} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_11_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572381 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058813} - m_LocalRotation: {x: 0.8320571, y: 0.5525447, z: -0.0006956634, w: -0.04873277} - m_LocalPosition: {x: -0.020859342, y: -0.0037313618, z: 0.009960616} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572379} - m_Father: {fileID: 9146872230401572383} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058815 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572383} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_11_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572383 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058815} - m_LocalRotation: {x: 0.89805573, y: 0.40783975, z: -0.028563287, w: 0.16231696} - m_LocalPosition: {x: -0.032654032, y: 0.000047109676, z: 0.0021743008} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572381} - m_Father: {fileID: 9146872230401572369} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058817 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572385} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_12_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572385 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058817} - m_LocalRotation: {x: 0.77723527, y: 0.6107684, z: -0.024478914, w: 0.14922497} - m_LocalPosition: {x: -0.036331505, y: -0.00048117968, z: 0.004369923} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572399} - m_Father: {fileID: 9146872230401572387} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058819 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572387} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_12_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572387 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058819} - m_LocalRotation: {x: 0.89560944, y: 0.44062018, z: 0.0028255472, w: -0.061070606} - m_LocalPosition: {x: -0.028577756, y: -0.0012797923, z: 0.0055272155} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572385} - m_Father: {fileID: 9146872230401572389} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058821 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572389} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_12_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572389 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058821} - m_LocalRotation: {x: 0.33669114, y: 0.5140006, z: 0.43230447, w: 0.6599662} - m_LocalPosition: {x: 0.02684313, y: -0.008584142, z: 0.06826436} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572387} - m_Father: {fileID: 9146872230401571487} - m_RootOrder: 11 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058823 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572391} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_11_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572391 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058823} - m_LocalRotation: {x: -0.2216248, y: -0.24860802, z: -0.6274457, w: 0.70383835} - m_LocalPosition: {x: -0.018385597, y: -0.0025709744, z: 0.0020888352} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572377} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058825 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572393} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_12_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572393 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058825} - m_LocalRotation: {x: -0.25542626, y: -0.43224382, z: -0.43997404, w: 0.74454385} - m_LocalPosition: {x: -0.01643184, y: -0.0038551283, z: 0.007707741} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572395} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058827 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572395} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_12_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572395 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058827} - m_LocalRotation: {x: -0.055852257, y: -0.046020903, z: 0.18429036, w: 0.9802039} - m_LocalPosition: {x: -0.019547755, y: -0.003045372, z: 0.012107856} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572393} - m_Father: {fileID: 9146872230401572397} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058829 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572397} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_12_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572397 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058829} - m_LocalRotation: {x: 0.7546246, y: 0.6558882, z: 0.002982123, w: -0.018535364} - m_LocalPosition: {x: -0.027594447, y: -0.0043453183, z: 0.011722773} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572395} - m_Father: {fileID: 9146872230401572399} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058831 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572399} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_12_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572399 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058831} - m_LocalRotation: {x: 0.7697457, y: 0.63829297, z: -0.0011663183, w: -0.008502759} - m_LocalPosition: {x: -0.021387782, y: -0.0045317765, z: 0.014671745} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572397} - m_Father: {fileID: 9146872230401572385} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058833 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572401} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_1_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572401 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058833} - m_LocalRotation: {x: 0.7697457, y: 0.63829297, z: -0.0011663183, w: -0.008502759} - m_LocalPosition: {x: -0.026329342, y: 1.6653345e-16, z: 2.220446e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572415} - m_Father: {fileID: 9146872230401572403} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058835 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572403} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_1_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572403 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058835} - m_LocalRotation: {x: 0.77723527, y: 0.6107684, z: -0.024478914, w: 0.14922497} - m_LocalPosition: {x: -0.036596533, y: -1.2212454e-16, z: -1.9151347e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572401} - m_Father: {fileID: 9146872230401572405} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058837 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572405} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_1_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572405 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058837} - m_LocalRotation: {x: 0.89560944, y: 0.44062018, z: 0.0028255472, w: -0.061070606} - m_LocalPosition: {x: -0.029135479, y: -2.220446e-18, z: 2.220446e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572403} - m_Father: {fileID: 9146872230401572407} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058839 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572407} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_1_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572407 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058839} - m_LocalRotation: {x: 0.33669114, y: 0.5140006, z: 0.43230447, w: 0.6599662} - m_LocalPosition: {x: -0.02684313, y: -0.008584142, z: 0.06826436} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572405} - m_Father: {fileID: 9146872230401571487} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058841 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572409} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_2_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572409 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058841} - m_LocalRotation: {x: 0.21106564, y: 0.41273743, z: 0.403423, w: 0.78889096} - m_LocalPosition: {x: -0.06485175, y: -0.0058088438, z: 0.048586667} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572423} - m_Father: {fileID: 9146872230401571487} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058843 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572411} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_1_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572411 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058843} - m_LocalRotation: {x: -0.25542626, y: -0.43224382, z: -0.43997404, w: 0.74454385} - m_LocalPosition: {x: -0.018554695, y: 3.330669e-17, z: -6.661338e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572413} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058845 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572413} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_1_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572413 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058845} - m_LocalRotation: {x: -0.055852257, y: -0.046020903, z: 0.18429036, w: 0.9802039} - m_LocalPosition: {x: -0.023194594, y: -1.05471186e-16, z: -3.4416914e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572411} - m_Father: {fileID: 9146872230401572415} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058847 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572415} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_1_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572415 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058847} - m_LocalRotation: {x: 0.7546246, y: 0.6558882, z: 0.002982123, w: -0.018535364} - m_LocalPosition: {x: -0.030294532, y: -8.2156505e-17, z: -2.6645352e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572413} - m_Father: {fileID: 9146872230401572401} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058849 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572417} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_2_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572417 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058849} - m_LocalRotation: {x: 0.8715353, y: 0.4806748, z: 0.0065718032, w: 0.09661677} - m_LocalPosition: {x: -0.019375598, y: -2.6645352e-17, z: 3.0531134e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572431} - m_Father: {fileID: 9146872230401572419} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058851 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572419} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_2_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572419 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058851} - m_LocalRotation: {x: 0.8320571, y: 0.5525447, z: -0.0006956634, w: -0.04873277} - m_LocalPosition: {x: -0.023414718, y: -6.5503156e-17, z: 1.7208457e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572417} - m_Father: {fileID: 9146872230401572421} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058853 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572421} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_2_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572421 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058853} - m_LocalRotation: {x: 0.89805573, y: 0.40783975, z: -0.028563287, w: 0.16231696} - m_LocalPosition: {x: -0.032719713, y: 0.0003021106, z: -0.00058701634} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572419} - m_Father: {fileID: 9146872230401572423} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058855 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572423} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_2_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572423 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058855} - m_LocalRotation: {x: 0.8758232, y: 0.4109709, z: -0.046955984, w: -0.24865998} - m_LocalPosition: {x: -0.03463705, y: -2.220446e-18, z: 1.110223e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572421} - m_Father: {fileID: 9146872230401572409} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058857 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572425} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_3_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572425 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058857} - m_LocalRotation: {x: 0.8727417, y: 0.4592178, z: -0.039303828, w: -0.16092269} - m_LocalPosition: {x: -0.038553163, y: -2.220446e-18, z: 4.440892e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572439} - m_Father: {fileID: 9146872230401572427} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058859 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572427} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_3_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572427 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058859} - m_LocalRotation: {x: 0.15527084, y: 0.3445087, z: 0.3804304, w: 0.8440838} - m_LocalPosition: {x: -0.092938624, y: -0.0033975854, z: 0.01577478} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572425} - m_Father: {fileID: 9146872230401571487} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058861 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572429} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_2_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572429 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058861} - m_LocalRotation: {x: -0.2216248, y: -0.24860802, z: -0.6274457, w: 0.70383835} - m_LocalPosition: {x: -0.01868163, y: -5.9813265e-17, z: -2.6367797e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572431} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058863 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572431} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_2_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572431 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058863} - m_LocalRotation: {x: -0.17656352, y: -0.049887627, z: 0.15732211, w: 0.9703537} - m_LocalPosition: {x: -0.026549732, y: -3.8857805e-17, z: -2.7200463e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572429} - m_Father: {fileID: 9146872230401572417} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058865 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572433} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_3_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572433 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058865} - m_LocalRotation: {x: -0.021259421, y: -0.010657129, z: 0.13993298, w: 0.9898754} - m_LocalPosition: {x: -0.024118789, y: 1.0880185e-16, z: 2.609024e-16} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572447} - m_Father: {fileID: 9146872230401572435} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058867 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572435} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_3_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572435 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058867} - m_LocalRotation: {x: 0.8156878, y: 0.57846725, z: -0.000063361964, w: -0.0053940183} - m_LocalPosition: {x: -0.022842392, y: -4.8294702e-17, z: 1.3322676e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572433} - m_Father: {fileID: 9146872230401572437} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058869 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572437} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_3_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572437 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058869} - m_LocalRotation: {x: 0.7710631, y: 0.6195916, z: 0.0070906044, w: 0.14668924} - m_LocalPosition: {x: -0.031400643, y: -1.1657341e-16, z: -2.6645352e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572435} - m_Father: {fileID: 9146872230401572439} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058871 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572439} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_3_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572439 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058871} - m_LocalRotation: {x: 0.8726814, y: 0.45990166, z: -0.039029628, w: 0.15935609} - m_LocalPosition: {x: -0.03470505, y: 5.3290704e-17, z: 6.994405e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572437} - m_Father: {fileID: 9146872230401572425} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058873 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572441} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_4_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572441 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058873} - m_LocalRotation: {x: 0.8944612, y: 0.4229883, z: -0.04491203, w: -0.13785127} - m_LocalPosition: {x: -0.022704236, y: 1.5210055e-16, z: 3.8857806e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572455} - m_Father: {fileID: 9146872230401572443} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058875 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572443} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_4_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572443 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058875} - m_LocalRotation: {x: -0.09980055, y: -0.077790245, z: -0.09369827, w: 0.98752683} - m_LocalPosition: {x: -0.031701256, y: -1.2654807e-17, z: -4.1633362e-19} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572441} - m_Father: {fileID: 9146872230401572445} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058877 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572445} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_4_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572445 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058877} - m_LocalRotation: {x: -0.013283341, y: -0.024219746, z: 0.48069212, w: 0.87645423} - m_LocalPosition: {x: -0.1068477, y: -0.0053688926, z: -0.025466481} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572443} - m_Father: {fileID: 9146872230401571487} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058879 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572447} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_3_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572447 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058879} - m_LocalRotation: {x: -0.12927905, y: -0.17983755, z: -0.5692014, w: 0.79180497} - m_LocalPosition: {x: -0.02191987, y: 7.355227e-17, z: 2.220446e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572433} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058881 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572705} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_4_Up_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572705 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058881} - m_LocalRotation: {x: 0.68639493, y: -0.058839004, z: 0.02967678, w: 0.724237} - m_LocalPosition: {x: -0.03419668, y: -3.1086245e-17, z: -8.8817837e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572719} - m_Father: {fileID: 9146872230401572707} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058883 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572707} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_4_Up_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572707 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058883} - m_LocalRotation: {x: 0.15146768, y: -0.6544126, z: 0.713574, w: -0.19903223} - m_LocalPosition: {x: 0.032812595, y: 0.023382233, z: 0.0013363813} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572705} - m_Father: {fileID: 9146872230401572709} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058885 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572709} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_4_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572709 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058885} - m_LocalRotation: {x: 0.09032145, y: 0.15217002, z: 0.50236046, w: 0.84635705} - m_LocalPosition: {x: -0.08718562, y: 0.022259988, z: 0.037361547} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572683} - - {fileID: 9146872230401572707} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 18 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058887 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572711} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_4_Btm_joint9 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572711 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058887} - m_LocalRotation: {x: -0.015517808, y: -0.017470276, z: 0.2547433, w: 0.96672636} - m_LocalPosition: {x: -0.07011213, y: 1.4210854e-16, z: -3.5527136e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572681} - m_Father: {fileID: 9146872230401572697} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058889 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572713} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_5_Btm_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572713 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058889} - m_LocalRotation: {x: 0, y: -0, z: -0.13420233, w: 0.990954} - m_LocalPosition: {x: -0.117413975, y: 0.03520181, z: 0.003170482} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572727} - m_Father: {fileID: 9146872230401572715} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058891 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572715} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_5_Btm_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572715 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058891} - m_LocalRotation: {x: 0, y: 0, z: 0.009739048, w: 0.9999526} - m_LocalPosition: {x: -0.07675641, y: -1.26287864e-17, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572713} - m_Father: {fileID: 9146872230401572729} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058893 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572717} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_4_Up_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572717 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058893} - m_LocalRotation: {x: 0.0024806936, y: -0.15624088, z: 0.8744585, w: 0.45924404} - m_LocalPosition: {x: -0.011316129, y: -7.105427e-17, z: 6.661338e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572719} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058895 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572719} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_4_Up_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572719 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058895} - m_LocalRotation: {x: -0.17153694, y: 0.052515663, z: 0.16703978, w: 0.9694921} - m_LocalPosition: {x: -0.036745377, y: -3.1086245e-17, z: -1.7763568e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572717} - m_Father: {fileID: 9146872230401572705} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058897 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572721} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_5_Btm_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572721 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058897} - m_LocalRotation: {x: 0, y: 0, z: 0.03248984, w: 0.9994721} - m_LocalPosition: {x: -0.051445726, y: -0.002242194, z: -0.000803926} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572735} - m_Father: {fileID: 9146872230401572723} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058899 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572723} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_5_Btm_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572723 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058899} - m_LocalRotation: {x: 0, y: 0, z: 0.03604643, w: 0.99935013} - m_LocalPosition: {x: -0.050770685, y: -0.007862186, z: -0.00053523394} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572721} - m_Father: {fileID: 9146872230401572725} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058901 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572725} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_5_Btm_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572725 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058901} - m_LocalRotation: {x: 0, y: 0, z: 0.000075849515, w: 1} - m_LocalPosition: {x: -0.052441213, y: -0.0015155119, z: 0.00022048813} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572723} - m_Father: {fileID: 9146872230401572727} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058903 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572727} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_5_Btm_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572727 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058903} - m_LocalRotation: {x: 0, y: 0, z: 0.101675145, w: 0.9948177} - m_LocalPosition: {x: -0.062383506, y: -0.00066863425, z: -0.0020126775} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572725} - m_Father: {fileID: 9146872230401572713} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058905 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572729} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_5_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572729 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058905} - m_LocalRotation: {x: 0, y: 0, z: 0.48901555, w: 0.87227505} - m_LocalPosition: {x: -0.09009645, y: 0.017820448, z: 0.010427765} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572715} - - {fileID: 9146872230401572487} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 19 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058907 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572731} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_5_Btm_joint9 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572731 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058907} - m_LocalRotation: {x: 0.018379606, y: 0.025893798, z: -0.57852554, w: 0.81504595} - m_LocalPosition: {x: -0.009626982, y: -2.1316282e-16, z: -3.5527136e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572733} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058909 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572733} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_5_Btm_joint8 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572733 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058909} - m_LocalRotation: {x: -0.029209742, y: -0.012453508, z: 0.06668762, w: 0.99726856} - m_LocalPosition: {x: -0.055434402, y: -0.0034444493, z: -0.000120532015} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572731} - m_Father: {fileID: 9146872230401572735} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058911 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572735} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_5_Btm_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572735 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058911} - m_LocalRotation: {x: 0, y: -0, z: -0.0060613854, w: 0.99998164} - m_LocalPosition: {x: -0.056451395, y: 0.00068798737, z: 0.00008139932} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572733} - m_Father: {fileID: 9146872230401572721} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058913 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572481} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_5_Up_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572481 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058913} - m_LocalRotation: {x: 0, y: 0, z: 0.9118811, w: 0.41045445} - m_LocalPosition: {x: -0.021275055, y: 4.2188474e-17, z: -1.5027749e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572483} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058915 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572483} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_5_Up_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572483 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058915} - m_LocalRotation: {x: 0, y: 0, z: 0.09162339, w: 0.99579376} - m_LocalPosition: {x: -0.050858013, y: 4.440892e-18, z: -1.3701977e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572481} - m_Father: {fileID: 9146872230401572485} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058917 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572485} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_5_Up_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572485 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058917} - m_LocalRotation: {x: 0.9938564, y: -0.1106775, z: -6.7770428e-18, w: 6.0856154e-17} - m_LocalPosition: {x: -0.034900453, y: 2.220446e-18, z: 7.395571e-34} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572483} - m_Father: {fileID: 9146872230401572487} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058919 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572487} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_5_Up_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572487 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058919} - m_LocalRotation: {x: -0.2130767, y: 0.97703546, z: 5.982617e-17, w: -1.3047185e-17} - m_LocalPosition: {x: 0.020870809, y: 0.017912488, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572485} - m_Father: {fileID: 9146872230401572729} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058921 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572489} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_6_Btm_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572489 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058921} - m_LocalRotation: {x: 0, y: 0, z: 0.101675145, w: 0.9948177} - m_LocalPosition: {x: -0.059643812, y: -0.004840355, z: 0.0006715263} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572503} - m_Father: {fileID: 9146872230401572491} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058923 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572491} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_6_Btm_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572491 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058923} - m_LocalRotation: {x: 0, y: -0, z: -0.13420233, w: 0.990954} - m_LocalPosition: {x: -0.10503096, y: 0.020341264, z: -0.0019605737} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572489} - m_Father: {fileID: 9146872230401572495} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058927 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572495} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_6_Btm_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572495 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058927} - m_LocalRotation: {x: -0.02636179, y: -0.02038411, z: 0.12838879, w: 0.9911639} - m_LocalPosition: {x: -0.056824677, y: 0, z: 2.2204459e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572491} - m_Father: {fileID: 9146872230401572507} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058929 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572497} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_6_Btm_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572497 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058929} - m_LocalRotation: {x: 0, y: -0, z: -0.0060613854, w: 0.99998164} - m_LocalPosition: {x: -0.06673843, y: 0.039745852, z: -0.0019837304} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572511} - m_Father: {fileID: 9146872230401572499} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058931 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572499} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_6_Btm_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572499 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058931} - m_LocalRotation: {x: 0, y: 0, z: 0.03248984, w: 0.9994721} - m_LocalPosition: {x: -0.06731772, y: 0.030896079, z: 0.0011171049} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572497} - m_Father: {fileID: 9146872230401572501} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058933 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572501} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_6_Btm_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572501 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058933} - m_LocalRotation: {x: 0, y: 0, z: 0.03604643, w: 0.99935013} - m_LocalPosition: {x: -0.06470368, y: 0.006742819, z: 0.0026788511} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572499} - m_Father: {fileID: 9146872230401572503} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058935 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572503} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_6_Btm_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572503 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058935} - m_LocalRotation: {x: 0, y: 0, z: 0.000075849515, w: 1} - m_LocalPosition: {x: -0.06147775, y: 0.00071274146, z: 0.0011404488} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572501} - m_Father: {fileID: 9146872230401572489} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058937 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572505} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_6_Up_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572505 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058937} - m_LocalRotation: {x: -0.35394612, y: 0.91785693, z: 0.16407767, w: -0.0730715} - m_LocalPosition: {x: 0.021371204, y: 0.031562865, z: -0.0032225687} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572519} - m_Father: {fileID: 9146872230401572507} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058939 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572507} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_6_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572507 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058939} - m_LocalRotation: {x: -0.06488574, y: -0.15700993, z: 0.37637815, w: 0.9107564} - m_LocalPosition: {x: -0.08286132, y: 0.017820448, z: -0.024536988} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572495} - - {fileID: 9146872230401572505} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 20 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058943 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572511} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_6_Btm_joint8 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572511 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058943} - m_LocalRotation: {x: -3.413163e-21, y: 0.0000063697485, z: -0.36597517, w: 0.9306246} - m_LocalPosition: {x: -0.06790707, y: 0.009113145, z: 0.011861905} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557017} - m_Father: {fileID: 9146872230401572497} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058945 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572513} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_7_Btm_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572513 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058945} - m_LocalRotation: {x: 0.009609854, y: 0.006162109, z: -0.000276897, w: 0.99993485} - m_LocalPosition: {x: -0.061238326, y: 7.105427e-17, z: -1.7763568e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572523} - m_Father: {fileID: 9146872230401572539} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058947 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572515} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_6_Up_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572515 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058947} - m_LocalRotation: {x: -0.0002253694, y: 0.085414805, z: 0.84554166, w: 0.5270328} - m_LocalPosition: {x: -0.0105995415, y: -7.105427e-17, z: -1.3322676e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572517} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058949 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572517} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_6_Up_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572517 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058949} - m_LocalRotation: {x: 0.24711722, y: -0.09477348, z: 0.18072906, w: 0.9472529} - m_LocalPosition: {x: -0.032770418, y: 5.3290704e-17, z: -8.881784e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572515} - m_Father: {fileID: 9146872230401572519} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058951 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572519} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_6_Up_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572519 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058951} - m_LocalRotation: {x: 0.9929785, y: -0.114002384, z: -0.0020000916, w: -0.031514406} - m_LocalPosition: {x: -0.030985167, y: -5.3290704e-17, z: -2.6645352e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572517} - m_Father: {fileID: 9146872230401572505} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058953 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572521} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_7_Btm_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572521 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058953} - m_LocalRotation: {x: 0.0027105373, y: 0.001303359, z: 0.023567697, w: 0.9997178} - m_LocalPosition: {x: -0.051700104, y: 7.105427e-17, z: 1.3322676e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572535} - m_Father: {fileID: 9146872230401572523} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058955 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572523} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_7_Btm_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572523 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058955} - m_LocalRotation: {x: 0.03721033, y: 0.021360606, z: 0.049275156, w: 0.99786323} - m_LocalPosition: {x: -0.05038294, y: -1.4210854e-16, z: 4.3409719e-16} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572521} - m_Father: {fileID: 9146872230401572513} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058957 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572525} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_7_Btm_joint11 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572525 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058957} - m_LocalRotation: {x: 0.11253263, y: 0.31805384, z: -0.31399748, w: 0.88745916} - m_LocalPosition: {x: -0.023000471, y: 0, z: -7.9936054e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572527} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058959 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572527} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_7_Btm_joint10 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572527 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058959} - m_LocalRotation: {x: -0.22859867, y: -0.11794406, z: -0.38903353, w: 0.8845817} - m_LocalPosition: {x: -0.12410082, y: -1.4210854e-16, z: 3.5527136e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572525} - m_Father: {fileID: 9146872230401572541} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058961 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572529} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_7_Btm_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572529 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058961} - m_LocalRotation: {x: 0.041818097, y: 0.031584006, z: 0.06752621, w: 0.9963403} - m_LocalPosition: {x: -0.058863916, y: 0, z: -8.8817837e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572543} - m_Father: {fileID: 9146872230401572531} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058963 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572531} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_7_Btm_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572531 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058963} - m_LocalRotation: {x: -0.0063582575, y: -0.0054776296, z: -0.0034050273, w: 0.999959} - m_LocalPosition: {x: -0.06289135, y: 0, z: 1.7763568e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572529} - m_Father: {fileID: 9146872230401572533} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058965 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572533} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_7_Btm_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572533 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058965} - m_LocalRotation: {x: 0.0072051496, y: 0.0053038597, z: -0.073099434, w: 0.99728453} - m_LocalPosition: {x: -0.063593216, y: 0, z: 2.220446e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572531} - m_Father: {fileID: 9146872230401572535} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058967 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572535} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_7_Btm_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572535 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058967} - m_LocalRotation: {x: -0.07240562, y: -0.038901217, z: -0.068091355, w: 0.99428755} - m_LocalPosition: {x: -0.057198036, y: -7.105427e-17, z: 3.1086245e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572533} - m_Father: {fileID: 9146872230401572521} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058969 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572537} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_7_Up_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572537 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058969} - m_LocalRotation: {x: -0.0012968497, y: 0.005882468, z: 0.93835115, w: -0.34563112} - m_LocalPosition: {x: 0.030604593, y: 0.015629577, z: -0.0013090146} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572551} - m_Father: {fileID: 9146872230401572539} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058971 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572539} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_7_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572539 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058971} - m_LocalRotation: {x: -0.17749596, y: -0.3245611, z: 0.4457783, w: 0.81513005} - m_LocalPosition: {x: -0.07616732, y: 0.017470248, z: -0.06219505} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572513} - - {fileID: 9146872230401572537} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 21 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058973 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572541} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_7_Btm_joint9 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572541 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058973} - m_LocalRotation: {x: 0.31510016, y: 0.06938564, z: 0.14589523, w: 0.935207} - m_LocalPosition: {x: -0.07623741, y: 1.4210854e-16, z: 8.437695e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572527} - m_Father: {fileID: 9146872230401572543} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058975 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572543} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_7_Btm_joint8 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572543 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058975} - m_LocalRotation: {x: -0.05474311, y: -0.02817688, z: 0.103465185, w: 0.9927257} - m_LocalPosition: {x: -0.061854452, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572541} - m_Father: {fileID: 9146872230401572529} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058977 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572545} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_8_Btm_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572545 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058977} - m_LocalRotation: {x: -0.104501955, y: -0.059023257, z: -0.015146512, w: 0.9926561} - m_LocalPosition: {x: -0.06259441, y: 7.105427e-17, z: -1.3322676e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572555} - m_Father: {fileID: 9146872230401572571} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058979 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572547} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_7_Up_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572547 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058979} - m_LocalRotation: {x: 0.0011028385, y: 0.07891495, z: 0.83172685, w: 0.5495468} - m_LocalPosition: {x: -0.01044947, y: 0, z: -3.1086245e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572549} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058981 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572549} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_7_Up_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572549 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058981} - m_LocalRotation: {x: 0.85963076, y: -0.30438098, z: 0.104520105, w: 0.39681572} - m_LocalPosition: {x: -0.035780076, y: -3.5527136e-17, z: -1.7763568e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572547} - m_Father: {fileID: 9146872230401572551} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058983 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572551} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_7_Up_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572551 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058983} - m_LocalRotation: {x: 0.8743264, y: -0.095985755, z: 0.012645971, w: -0.475584} - m_LocalPosition: {x: -0.032747503, y: 1.5099033e-16, z: 4.4131363e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572549} - m_Father: {fileID: 9146872230401572537} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058985 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572553} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_8_Btm_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572553 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058985} - m_LocalRotation: {x: 0, y: 0, z: 0.101675145, w: 0.9948177} - m_LocalPosition: {x: -0.044612207, y: -0.0088551855, z: 0.0033772637} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572567} - m_Father: {fileID: 9146872230401572555} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058987 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572555} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_8_Btm_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572555 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058987} - m_LocalRotation: {x: 0, y: -0, z: -0.13420233, w: 0.990954} - m_LocalPosition: {x: -0.044876345, y: -0.00019239647, z: 0.0058147013} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572553} - m_Father: {fileID: 9146872230401572545} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058993 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572561} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_8_Btm_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572561 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058993} - m_LocalRotation: {x: 0, y: -0, z: -0.0060613854, w: 0.99998164} - m_LocalPosition: {x: -0.066716984, y: 0.028740648, z: -0.0059726187} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572575} - m_Father: {fileID: 9146872230401572563} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058995 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572563} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_8_Btm_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572563 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058995} - m_LocalRotation: {x: 0, y: 0, z: 0.03248984, w: 0.9994721} - m_LocalPosition: {x: -0.06184121, y: 0.028307518, z: -0.0066939974} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572561} - m_Father: {fileID: 9146872230401572565} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058997 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572565} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_8_Btm_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572565 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058997} - m_LocalRotation: {x: 0, y: 0, z: 0.03604643, w: 0.99935013} - m_LocalPosition: {x: -0.06616962, y: 0.009400845, z: -0.0018427599} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572563} - m_Father: {fileID: 9146872230401572567} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402058999 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572567} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_8_Btm_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572567 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402058999} - m_LocalRotation: {x: 0, y: 0, z: 0.000075849515, w: 1} - m_LocalPosition: {x: -0.051313896, y: 0.00088688347, z: 0.0012635756} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572565} - m_Father: {fileID: 9146872230401572553} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059001 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572569} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_8_Up_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572569 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059001} - m_LocalRotation: {x: 0.04276809, y: -0.18995112, z: 0.94335824, w: -0.26863495} - m_LocalPosition: {x: 0.038829934, y: 0.01194786, z: 0.0045237155} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572583} - m_Father: {fileID: 9146872230401572571} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059003 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572571} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_8_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572571 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059003} - m_LocalRotation: {x: -0.2390827, y: -0.40253156, z: 0.4512401, w: 0.75973034} - m_LocalPosition: {x: -0.038425647, y: 0.012403232, z: -0.09132429} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572545} - - {fileID: 9146872230401572569} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 22 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059005 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572573} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_8_Btm_joint9 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572573 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059005} - m_LocalRotation: {x: 0.0438011, y: 0.016732557, z: 0.11246652, w: 0.99254864} - m_LocalPosition: {x: -0.09422057, y: 0.00055688806, z: 0.0003707227} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557039} - m_Father: {fileID: 9146872230401572575} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059007 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572575} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_8_Btm_joint8 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572575 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059007} - m_LocalRotation: {x: 0.041394677, y: 0.021223169, z: -0.003971326, w: 0.9989096} - m_LocalPosition: {x: -0.0719122, y: 0.017227968, z: 0.0009251403} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572573} - m_Father: {fileID: 9146872230401572561} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059009 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572833} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_15_Btm_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572833 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059009} - m_LocalRotation: {x: -0.12535095, y: -0.36797085, z: -0.29709655, w: 0.87213427} - m_LocalPosition: {x: -0.005245906, y: -0.006347325, z: 0.010673954} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572835} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059011 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572835} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_15_Btm_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572835 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059011} - m_LocalRotation: {x: 0.04839449, y: 0.042900898, z: -0.18733568, w: 0.9801647} - m_LocalPosition: {x: -0.02541049, y: -0.02024261, z: 0.018623084} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572833} - m_Father: {fileID: 9146872230401572837} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059013 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572837} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_15_Btm_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572837 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059013} - m_LocalRotation: {x: 0.024865195, y: 0.011235943, z: -0.11176024, w: 0.9933605} - m_LocalPosition: {x: -0.03903351, y: -0.017440615, z: 0.012932735} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572835} - m_Father: {fileID: 9146872230401572839} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059015 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572839} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_15_Btm_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572839 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059015} - m_LocalRotation: {x: -0.034101665, y: -0.013982103, z: 0.07660503, w: 0.9963801} - m_LocalPosition: {x: -0.030328244, y: -0.01912516, z: 0.017603777} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572837} - m_Father: {fileID: 9146872230401572825} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059017 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572841} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_15_Up_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572841 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059017} - m_LocalRotation: {x: -0.18972409, y: 0.07340532, z: 0.28405324, w: 0.9369793} - m_LocalPosition: {x: -0.03819053, y: 0.005490119, z: 0.0012082162} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572855} - m_Father: {fileID: 9146872230401572843} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059019 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572843} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_15_Up_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572843 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059019} - m_LocalRotation: {x: 0.16411567, y: -0.008797475, z: 0.020970654, w: 0.98617893} - m_LocalPosition: {x: -0.032958377, y: 0.0015555085, z: 0.0009461366} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572841} - m_Father: {fileID: 9146872230401572845} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059021 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572845} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_15_Up_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572845 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059021} - m_LocalRotation: {x: -0.0033052275, y: 0.011091134, z: 0.9485664, w: -0.3163668} - m_LocalPosition: {x: 0.032004196, y: 0.019371636, z: 0.0055365944} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572843} - m_Father: {fileID: 9146872230401572847} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059023 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572847} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_15_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572847 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059023} - m_LocalRotation: {x: 0.12960148, y: 0.2491692, z: 0.4428729, w: 0.8514586} - m_LocalPosition: {x: 0.073470384, y: 0.028489832, z: 0.062263012} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572827} - - {fileID: 9146872230401572845} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 29 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059025 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572849} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_16_Btm_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572849 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059025} - m_LocalRotation: {x: 0.039657276, y: 0.025846476, z: -0.12083532, w: 0.9915433} - m_LocalPosition: {x: -0.03133867, y: -0.011631741, z: 0.015974607} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572863} - m_Father: {fileID: 9146872230401572851} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059027 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572851} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_16_Btm_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572851 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059027} - m_LocalRotation: {x: -0.02843015, y: -0.013325646, z: -0.018015888, w: 0.9993446} - m_LocalPosition: {x: -0.027956333, y: -0.007889356, z: 0.0121379085} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572849} - m_Father: {fileID: 9146872230401572853} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059029 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572853} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_16_Btm_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572853 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059029} - m_LocalRotation: {x: 0.010522789, y: 0.004044758, z: -0.053284243, w: 0.9985158} - m_LocalPosition: {x: -0.035372827, y: -0.007972695, z: 0.0112283565} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572851} - m_Father: {fileID: 9146872230401572861} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059031 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572855} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_15_Up_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572855 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059031} - m_LocalRotation: {x: -0.0007322713, y: -0.028172439, z: 0.8032476, w: 0.5949783} - m_LocalPosition: {x: -0.01027488, y: 0.013059126, z: 0.011978288} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572841} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059033 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572857} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_16_Up_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572857 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059033} - m_LocalRotation: {x: 0.9197057, y: -0.09685545, z: -0.009922892, w: 0.38034454} - m_LocalPosition: {x: -0.034753285, y: 0.0019316998, z: 0.0037449338} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572615} - m_Father: {fileID: 9146872230401572859} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059035 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572859} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_16_Up_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572859 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059035} - m_LocalRotation: {x: 0.0073562637, y: -0.08032691, z: 0.9722075, w: -0.21978651} - m_LocalPosition: {x: 0.03316335, y: 0.011093648, z: 0.00090493605} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572857} - m_Father: {fileID: 9146872230401572861} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059037 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572861} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_16_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572861 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059037} - m_LocalRotation: {x: 0.26355156, y: 0.36255595, z: 0.52561504, w: 0.7230647} - m_LocalPosition: {x: 0.05434139, y: 0.031699527, z: 0.08691281} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572853} - - {fileID: 9146872230401572859} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 30 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059039 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572863} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_16_Btm_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572863 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059039} - m_LocalRotation: {x: -0.19948393, y: -0.42820713, z: -0.3721959, w: 0.7989462} - m_LocalPosition: {x: -0.014412098, y: -0.005832549, z: 0.011457972} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572849} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059041 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572609} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_17_Btm_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572609 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059041} - m_LocalRotation: {x: 0.14856896, y: 0.052790843, z: 0.15383595, w: 0.9754358} - m_LocalPosition: {x: -0.04900709, y: -0.0035943058, z: 0.0135043245} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572623} - m_Father: {fileID: 9146872230401572611} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059043 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572611} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_17_Btm_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572611 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059043} - m_LocalRotation: {x: -0.2318332, y: 0.9656119, z: -0.11365184, w: -0.030502493} - m_LocalPosition: {x: 0.026124818, y: 0.008112363, z: -0.009548084} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572609} - m_Father: {fileID: 9146872230401572621} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059045 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572613} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_16_Up_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572613 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059045} - m_LocalRotation: {x: -0.02289111, y: -0.08724178, z: 0.8383302, w: 0.5376499} - m_LocalPosition: {x: -0.013711046, y: 0.0034342804, z: 0.010220465} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572615} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059047 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572615} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_16_Up_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572615 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059047} - m_LocalRotation: {x: 0.83481044, y: -0.40619946, z: -0.13576797, w: -0.34591982} - m_LocalPosition: {x: -0.040970042, y: 0.000565677, z: -0.001828666} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572613} - m_Father: {fileID: 9146872230401572857} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059049 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572617} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_17_Up_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572617 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059049} - m_LocalRotation: {x: 0.9287296, y: -0.08714834, z: 0.0129905185, w: 0.3601358} - m_LocalPosition: {x: -0.03332664, y: 0.0005875779, z: 0.0013822333} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572631} - m_Father: {fileID: 9146872230401572619} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059051 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572619} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_17_Up_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572619 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059051} - m_LocalRotation: {x: 0.9970871, y: -0.04194391, z: 0.0009851134, w: 0.06369488} - m_LocalPosition: {x: -0.032478426, y: 0.00044119798, z: 0.0007532066} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572617} - m_Father: {fileID: 9146872230401572621} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059053 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572621} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_17_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572621 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059053} - m_LocalRotation: {x: -0.6053009, y: 0.62160546, z: 0.3468775, w: -0.35622108} - m_LocalPosition: {x: 0.027475921, y: 0.034977578, z: 0.102269314} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572611} - - {fileID: 9146872230401572619} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 31 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059055 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572623} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_17_Btm_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572623 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059055} - m_LocalRotation: {x: -0.07612455, y: 0.95906126, z: -0.27125108, w: 0.02880173} - m_LocalPosition: {x: -0.018824289, y: -0.0000034508696, z: -0.00015588712} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572609} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059057 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572625} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_1_Btm_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572625 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059057} - m_LocalRotation: {x: 0.14856896, y: 0.052790843, z: 0.15383595, w: 0.9754358} - m_LocalPosition: {x: -0.05096058, y: 2.1316282e-16, z: 5.2735593e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572639} - m_Father: {fileID: 9146872230401572627} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059059 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572627} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_1_Btm_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572627 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059059} - m_LocalRotation: {x: -0.2318332, y: 0.9656119, z: -0.11365184, w: -0.030502493} - m_LocalPosition: {x: 0.026226575, y: 0.01194028, z: -0.00301312} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572625} - m_Father: {fileID: 9146872230401572637} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059061 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572629} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_17_Up_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572629 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059061} - m_LocalRotation: {x: 0.2680003, y: -0.52240247, z: 0.369494, w: 0.7202401} - m_LocalPosition: {x: -0.013529506, y: 0.00132318, z: 0.0049863523} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572631} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059063 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572631} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_17_Up_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572631 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059063} - m_LocalRotation: {x: 0.8812972, y: -0.34812567, z: -0.07800431, w: -0.309902} - m_LocalPosition: {x: -0.043748576, y: 0.0012150493, z: -0.003522289} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572629} - m_Father: {fileID: 9146872230401572617} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059065 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572633} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_1_Up_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572633 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059065} - m_LocalRotation: {x: 0.9287296, y: -0.08714834, z: 0.0129905185, w: 0.3601358} - m_LocalPosition: {x: -0.033360466, y: -8.881784e-18, z: -4.440892e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572647} - m_Father: {fileID: 9146872230401572635} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059067 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572635} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_1_Up_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572635 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059067} - m_LocalRotation: {x: 0.9970871, y: -0.04194391, z: 0.0009851134, w: 0.06369488} - m_LocalPosition: {x: -0.032490157, y: -3.5527136e-17, z: 4.440892e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572633} - m_Father: {fileID: 9146872230401572637} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059069 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572637} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_1_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572637 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059069} - m_LocalRotation: {x: -0.6053009, y: 0.62160546, z: 0.3468775, w: -0.35622108} - m_LocalPosition: {x: -0.031461854, y: 0.034977578, z: 0.102269314} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572627} - - {fileID: 9146872230401572635} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 15 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059071 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572639} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_1_Btm_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572639 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059071} - m_LocalRotation: {x: -0.07612455, y: 0.95906126, z: -0.27125108, w: 0.02880173} - m_LocalPosition: {x: -0.018824935, y: -7.105427e-17, z: -3.5527136e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572625} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059073 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572641} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_2_Btm_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572641 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059073} - m_LocalRotation: {x: -0.02843015, y: -0.013325646, z: -0.018015888, w: 0.9993446} - m_LocalPosition: {x: -0.031482175, y: 7.105427e-17, z: -6.217249e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572655} - m_Father: {fileID: 9146872230401572643} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059075 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572643} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_2_Btm_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572643 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059075} - m_LocalRotation: {x: 0.010522789, y: 0.004044758, z: -0.053284243, w: 0.9985158} - m_LocalPosition: {x: -0.037958883, y: 7.105427e-17, z: 2.6922907e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572641} - m_Father: {fileID: 9146872230401572651} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059077 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572645} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_1_Up_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572645 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059077} - m_LocalRotation: {x: 0.2680003, y: -0.52240247, z: 0.369494, w: 0.7202401} - m_LocalPosition: {x: -0.014479711, y: 0, z: 8.326672e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572647} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059079 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572647} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_1_Up_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572647 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059079} - m_LocalRotation: {x: 0.8812972, y: -0.34812567, z: -0.07800431, w: -0.309902} - m_LocalPosition: {x: -0.04390696, y: -7.105427e-17, z: -2.6645352e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572645} - m_Father: {fileID: 9146872230401572633} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059081 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572649} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_2_Up_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572649 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059081} - m_LocalRotation: {x: 0.0073562637, y: -0.08032691, z: 0.9722075, w: -0.21978651} - m_LocalPosition: {x: 0.032966375, y: 0.011700911, z: 0.000049696442} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572663} - m_Father: {fileID: 9146872230401572651} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059083 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572651} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_2_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572651 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059083} - m_LocalRotation: {x: 0.26355156, y: 0.36255595, z: 0.52561504, w: 0.7230647} - m_LocalPosition: {x: -0.058327325, y: 0.031699527, z: 0.08691281} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572643} - - {fileID: 9146872230401572649} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 16 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059085 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572653} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_2_Btm_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572653 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059085} - m_LocalRotation: {x: -0.19948393, y: -0.42820713, z: -0.3721959, w: 0.7989462} - m_LocalPosition: {x: -0.019313527, y: -1.4210854e-16, z: -1.7763568e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572655} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059087 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572655} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_2_Btm_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572655 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059087} - m_LocalRotation: {x: 0.039657276, y: 0.025846476, z: -0.12083532, w: 0.9915433} - m_LocalPosition: {x: -0.037048586, y: 0, z: -3.5527136e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572653} - m_Father: {fileID: 9146872230401572641} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059089 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572657} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_3_Btm_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572657 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059089} - m_LocalRotation: {x: 0.03866313, y: 0.02777813, z: -0.011452418, w: 0.9988005} - m_LocalPosition: {x: -0.074312106, y: 0, z: 2.7200463e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572671} - m_Father: {fileID: 9146872230401572677} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059091 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572659} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_2_Up_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572659 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059091} - m_LocalRotation: {x: -0.02289111, y: -0.08724178, z: 0.8383302, w: 0.5376499} - m_LocalPosition: {x: -0.017442621, y: 0, z: 3.5527136e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572661} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059093 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572661} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_2_Up_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572661 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059093} - m_LocalRotation: {x: 0.83481044, y: -0.40619946, z: -0.13576797, w: -0.34591982} - m_LocalPosition: {x: -0.04101473, y: 5.3290704e-17, z: 1.7763568e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572659} - m_Father: {fileID: 9146872230401572663} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059095 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572663} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_2_Up_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572663 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059095} - m_LocalRotation: {x: 0.9197057, y: -0.09685545, z: -0.009922892, w: 0.38034454} - m_LocalPosition: {x: -0.03500781, y: -5.3290704e-17, z: -2.4424906e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572661} - m_Father: {fileID: 9146872230401572649} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059097 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572665} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_3_Btm_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572665 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059097} - m_LocalRotation: {x: 0.04839449, y: 0.042900898, z: -0.18733568, w: 0.9801647} - m_LocalPosition: {x: -0.03744697, y: 7.105427e-17, z: -1.5543122e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572679} - m_Father: {fileID: 9146872230401572667} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059099 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572667} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_3_Btm_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572667 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059099} - m_LocalRotation: {x: 0.024865195, y: 0.011235943, z: -0.11176024, w: 0.9933605} - m_LocalPosition: {x: -0.044665933, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572665} - m_Father: {fileID: 9146872230401572669} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059101 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572669} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_3_Btm_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572669 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059101} - m_LocalRotation: {x: -0.034101665, y: -0.013982103, z: 0.07660503, w: 0.9963801} - m_LocalPosition: {x: -0.0399433, y: -1.4210854e-16, z: 2.8865798e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572667} - m_Father: {fileID: 9146872230401572671} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059103 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572671} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_3_Btm_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572671 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059103} - m_LocalRotation: {x: 0.010060853, y: 0.00617056, z: 0.08421291, w: 0.9963779} - m_LocalPosition: {x: -0.039826415, y: 0, z: 4.2188474e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572669} - m_Father: {fileID: 9146872230401572657} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059105 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572673} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_3_Up_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572673 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059105} - m_LocalRotation: {x: 0.16411567, y: -0.008797475, z: 0.020970654, w: 0.98617893} - m_LocalPosition: {x: -0.033008624, y: 7.105427e-17, z: -5.995204e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572687} - m_Father: {fileID: 9146872230401572675} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059107 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572675} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_3_Up_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572675 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059107} - m_LocalRotation: {x: -0.0033052275, y: 0.011091134, z: 0.9485664, w: -0.3163668} - m_LocalPosition: {x: 0.027069824, y: 0.02640845, z: 0.000035350473} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572673} - m_Father: {fileID: 9146872230401572677} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059109 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572677} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_3_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572677 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059109} - m_LocalRotation: {x: 0.12960148, y: 0.2491692, z: 0.4428729, w: 0.8514586} - m_LocalPosition: {x: -0.07745632, y: 0.028489832, z: 0.062263012} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572657} - - {fileID: 9146872230401572675} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 17 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059111 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572679} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_3_Btm_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572679 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059111} - m_LocalRotation: {x: -0.12535095, y: -0.36797085, z: -0.29709655, w: 0.87213427} - m_LocalPosition: {x: -0.013481149, y: 1.4210854e-16, z: 6.217249e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572665} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059113 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572681} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_4_Btm_joint10 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572681 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059113} - m_LocalRotation: {x: 0.5469883, y: 0.21478811, z: 0.1707942, w: 0.7908851} - m_LocalPosition: {x: -0.06437392, y: 0, z: 3.5527136e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572695} - m_Father: {fileID: 9146872230401572711} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059115 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572683} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_4_Btm_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572683 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059115} - m_LocalRotation: {x: -0.047050036, y: -0.029082837, z: -0.054070815, w: 0.9970039} - m_LocalPosition: {x: -0.046316423, y: 7.105427e-17, z: -5.5511148e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572693} - m_Father: {fileID: 9146872230401572709} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059117 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572685} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_3_Up_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572685 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059117} - m_LocalRotation: {x: -0.0007322713, y: -0.028172439, z: 0.8032476, w: 0.5949783} - m_LocalPosition: {x: -0.020483978, y: -7.105427e-17, z: 4.4408918e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572687} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059119 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572687} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_3_Up_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572687 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059119} - m_LocalRotation: {x: -0.18972409, y: 0.07340532, z: 0.28405324, w: 0.9369793} - m_LocalPosition: {x: -0.038602043, y: -5.551115e-17, z: -5.3290704e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572685} - m_Father: {fileID: 9146872230401572673} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059121 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572689} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_4_Btm_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572689 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059121} - m_LocalRotation: {x: 0.008274578, y: 0.009274824, z: -0.2073735, w: 0.9781829} - m_LocalPosition: {x: -0.051030967, y: -7.105427e-17, z: 2.6645352e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572703} - m_Father: {fileID: 9146872230401572691} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059123 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572691} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_4_Btm_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572691 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059123} - m_LocalRotation: {x: 0.0063135237, y: 0.00402277, z: -0.06607594, w: 0.9977865} - m_LocalPosition: {x: -0.049783215, y: 7.105427e-17, z: -3.6637358e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572689} - m_Father: {fileID: 9146872230401572693} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059125 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572693} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_4_Btm_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572693 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059125} - m_LocalRotation: {x: 0.03569513, y: 0.022106389, z: 0.053250723, w: 0.9976981} - m_LocalPosition: {x: -0.048728555, y: -7.105427e-17, z: 3.7747583e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572691} - m_Father: {fileID: 9146872230401572683} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059127 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572695} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_4_Btm_joint11 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572695 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059127} - m_LocalRotation: {x: -0.27727905, y: -0.3261048, z: -0.5854254, w: 0.68851227} - m_LocalPosition: {x: -0.01825774, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572681} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059129 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572697} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_4_Btm_joint8 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572697 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059129} - m_LocalRotation: {x: 0.12201271, y: 0.09537142, z: -0.41965482, w: 0.8943752} - m_LocalPosition: {x: -0.06905561, y: 0, z: -3.5527136e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572711} - m_Father: {fileID: 9146872230401572699} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059131 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572699} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_4_Btm_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572699 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059131} - m_LocalRotation: {x: -0.40852284, y: -0.18300836, z: 0.17452753, w: 0.87701607} - m_LocalPosition: {x: -0.048699677, y: -1.4210854e-16, z: -6.661338e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572697} - m_Father: {fileID: 9146872230401572701} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059133 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572701} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_4_Btm_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572701 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059133} - m_LocalRotation: {x: -0.035975892, y: -0.036348313, z: 0.17185685, w: 0.98379356} - m_LocalPosition: {x: -0.055256624, y: -1.4210854e-16, z: 3.9968027e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572699} - m_Father: {fileID: 9146872230401572703} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059135 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572703} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_4_Btm_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572703 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059135} - m_LocalRotation: {x: 0.0068838894, y: 0.010896698, z: 0.043856263, w: 0.9989547} - m_LocalPosition: {x: -0.046288103, y: 1.4210854e-16, z: -3.7747583e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572701} - m_Father: {fileID: 9146872230401572689} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059137 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571937} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_11_Btm_joint11 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571937 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059137} - m_LocalRotation: {x: 0.11253263, y: 0.31805384, z: -0.31399748, w: 0.88745916} - m_LocalPosition: {x: -0.006412816, y: -0.01341767, z: -0.017546045} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571939} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059139 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571939} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_11_Btm_joint10 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571939 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059139} - m_LocalRotation: {x: -0.22859867, y: -0.11794406, z: -0.38903353, w: 0.8845817} - m_LocalPosition: {x: -0.12317496, y: -0.014917149, z: -0.0025338896} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571937} - m_Father: {fileID: 9146872230401571953} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059141 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571941} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_11_Btm_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571941 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059141} - m_LocalRotation: {x: 0.009609854, y: 0.006162109, z: -0.000276897, w: 0.99993485} - m_LocalPosition: {x: -0.042429246, y: -0.029350784, z: -0.032991264} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571951} - m_Father: {fileID: 9146872230401571967} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059143 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571943} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_10_Up_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571943 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059143} - m_LocalRotation: {x: 0.01171953, y: -0.093189314, z: 0.9028962, w: 0.41947207} - m_LocalPosition: {x: 0.0154034365, y: 0.00000029209676, z: -0.0000000015363756} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571929} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059145 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571945} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_11_Btm_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571945 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059145} - m_LocalRotation: {x: 0.0072051496, y: 0.0053038597, z: -0.073099434, w: 0.99728453} - m_LocalPosition: {x: -0.04637543, y: -0.02737807, z: -0.03382096} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571959} - m_Father: {fileID: 9146872230401571947} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059147 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571947} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_11_Btm_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571947 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059147} - m_LocalRotation: {x: -0.07240562, y: -0.038901217, z: -0.068091355, w: 0.99428755} - m_LocalPosition: {x: -0.04476481, y: -0.027498066, z: -0.022618217} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571945} - m_Father: {fileID: 9146872230401571949} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059149 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571949} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_11_Btm_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571949 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059149} - m_LocalRotation: {x: 0.0027105373, y: 0.001303359, z: 0.023567697, w: 0.9997178} - m_LocalPosition: {x: -0.038148526, y: -0.026560945, z: -0.022629777} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571947} - m_Father: {fileID: 9146872230401571951} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059151 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571951} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_11_Btm_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571951 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059151} - m_LocalRotation: {x: 0.03721033, y: 0.021360606, z: 0.049275156, w: 0.99786323} - m_LocalPosition: {x: -0.034212444, y: -0.025202636, z: -0.027069835} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571949} - m_Father: {fileID: 9146872230401571941} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059153 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571953} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_11_Btm_joint9 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571953 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059153} - m_LocalRotation: {x: 0.31510016, y: 0.06938564, z: 0.14589523, w: 0.935207} - m_LocalPosition: {x: -0.06698579, y: -0.023747182, z: -0.027588371} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571939} - m_Father: {fileID: 9146872230401571955} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059155 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571955} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_11_Btm_joint8 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571955 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059155} - m_LocalRotation: {x: -0.05474311, y: -0.02817688, z: 0.103465185, w: 0.9927257} - m_LocalPosition: {x: -0.040238608, y: -0.033050776, z: -0.033383727} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571953} - m_Father: {fileID: 9146872230401571957} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059157 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571957} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_11_Btm_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571957 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059157} - m_LocalRotation: {x: 0.041818097, y: 0.031584006, z: 0.06752621, w: 0.9963403} - m_LocalPosition: {x: -0.03466249, y: -0.027899554, z: -0.038536828} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571955} - m_Father: {fileID: 9146872230401571959} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059159 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571959} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_11_Btm_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571959 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059159} - m_LocalRotation: {x: -0.0063582575, y: -0.0054776296, z: -0.0034050273, w: 0.999959} - m_LocalPosition: {x: -0.036547717, y: -0.030790256, z: -0.04088455} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571957} - m_Father: {fileID: 9146872230401571945} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059161 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571961} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_11_Up_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571961 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059161} - m_LocalRotation: {x: 0.85963076, y: -0.30438098, z: 0.104520105, w: 0.39681572} - m_LocalPosition: {x: -0.035762496, y: 0.0002119081, z: 0.0011012057} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572743} - m_Father: {fileID: 9146872230401571963} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059163 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571963} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_11_Up_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571963 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059163} - m_LocalRotation: {x: 0.8743264, y: -0.095985755, z: 0.012645971, w: -0.475584} - m_LocalPosition: {x: -0.032127526, y: 0.0045329183, z: -0.004435503} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571961} - m_Father: {fileID: 9146872230401571965} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059165 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571965} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_11_Up_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571965 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059165} - m_LocalRotation: {x: -0.0012968497, y: 0.005882468, z: 0.93835115, w: -0.34563112} - m_LocalPosition: {x: 0.027990378, y: 0.019708946, z: 0.0032763334} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571963} - m_Father: {fileID: 9146872230401571967} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059167 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401571967} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_11_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401571967 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059167} - m_LocalRotation: {x: -0.17749596, y: -0.3245611, z: 0.4457783, w: 0.81513005} - m_LocalPosition: {x: 0.07218139, y: 0.017470248, z: -0.06219505} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401571941} - - {fileID: 9146872230401571965} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 25 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059169 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572737} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_12_Btm_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572737 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059169} - m_LocalRotation: {x: 0, y: -0, z: -0.13420233, w: 0.990954} - m_LocalPosition: {x: -0.045676455, y: -0.081100985, z: -0.052776936} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572751} - m_Father: {fileID: 9146872230401572741} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059173 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572741} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_12_Btm_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572741 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059173} - m_LocalRotation: {x: -0.02636179, y: -0.02038411, z: 0.12838879, w: 0.9911639} - m_LocalPosition: {x: -0.0062064966, y: -0.050453395, z: -0.025396416} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572737} - m_Father: {fileID: 9146872230401572753} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059175 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572743} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_11_Up_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572743 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059175} - m_LocalRotation: {x: 0.0011028385, y: 0.07891495, z: 0.83172685, w: 0.5495468} - m_LocalPosition: {x: -0.007992929, y: 0.0036072943, z: -0.005682601} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571961} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059177 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572745} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_12_Btm_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572745 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059177} - m_LocalRotation: {x: 0, y: 0, z: 0.03248984, w: 0.9994721} - m_LocalPosition: {x: -0.01612894, y: -0.057959914, z: -0.04322033} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572759} - m_Father: {fileID: 9146872230401572747} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059179 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572747} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_12_Btm_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572747 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059179} - m_LocalRotation: {x: 0, y: 0, z: 0.03604643, w: 0.99935013} - m_LocalPosition: {x: -0.024108922, y: -0.05326682, z: -0.028646354} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572745} - m_Father: {fileID: 9146872230401572749} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059181 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572749} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_12_Btm_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572749 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059181} - m_LocalRotation: {x: 0, y: 0, z: 0.000075849515, w: 1} - m_LocalPosition: {x: -0.027918274, y: -0.048880704, z: -0.024750132} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572747} - m_Father: {fileID: 9146872230401572751} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059183 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572751} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_12_Btm_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572751 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059183} - m_LocalRotation: {x: 0, y: 0, z: 0.101675145, w: 0.9948177} - m_LocalPosition: {x: -0.011791916, y: -0.051443942, z: -0.028208792} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572749} - m_Father: {fileID: 9146872230401572737} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059185 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572753} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_12_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572753 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059185} - m_LocalRotation: {x: -0.06488574, y: -0.15700993, z: 0.37637815, w: 0.9107564} - m_LocalPosition: {x: 0.078875385, y: 0.017820448, z: -0.024536988} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572741} - - {fileID: 9146872230401572767} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 26 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059189 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572757} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_12_Btm_joint8 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572757 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059189} - m_LocalRotation: {x: -3.413163e-21, y: 0.0000063697485, z: -0.36597517, w: 0.9306246} - m_LocalPosition: {x: -0.03434774, y: -0.056988567, z: -0.020190604} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557045} - m_Father: {fileID: 9146872230401572759} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059191 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572759} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_12_Btm_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572759 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059191} - m_LocalRotation: {x: 0, y: -0, z: -0.0060613854, w: 0.99998164} - m_LocalPosition: {x: -0.018876119, y: -0.057429142, z: -0.048818763} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572757} - m_Father: {fileID: 9146872230401572745} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059193 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572761} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_12_Up_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572761 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059193} - m_LocalRotation: {x: -0.0002253694, y: 0.085414805, z: 0.84554166, w: 0.5270328} - m_LocalPosition: {x: -0.006479787, y: 0.006648516, z: -0.0051146727} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572763} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059195 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572763} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_12_Up_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572763 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059195} - m_LocalRotation: {x: 0.24711722, y: -0.09477348, z: 0.18072906, w: 0.9472529} - m_LocalPosition: {x: -0.030726615, y: 0.011380817, z: -0.000502302} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572761} - m_Father: {fileID: 9146872230401572765} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059197 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572765} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_12_Up_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572765 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059197} - m_LocalRotation: {x: 0.9929785, y: -0.114002384, z: -0.0020000916, w: -0.031514406} - m_LocalPosition: {x: -0.030824644, y: 0.003149286, z: 0.00006229511} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572763} - m_Father: {fileID: 9146872230401572767} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059199 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572767} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_12_Up_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572767 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059199} - m_LocalRotation: {x: -0.35394612, y: 0.91785693, z: 0.16407767, w: -0.0730715} - m_LocalPosition: {x: 0.028917935, y: 0.0240407, z: -0.0070089535} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572765} - m_Father: {fileID: 9146872230401572753} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059201 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572769} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_13_Btm_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572769 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059201} - m_LocalRotation: {x: 0, y: 0, z: 0.000075849515, w: 1} - m_LocalPosition: {x: -0.020905819, y: -0.048117816, z: 0.00022048813} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572783} - m_Father: {fileID: 9146872230401572771} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059203 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572771} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_13_Btm_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572771 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059203} - m_LocalRotation: {x: 0, y: 0, z: 0.101675145, w: 0.9948177} - m_LocalPosition: {x: 0.0009802147, y: -0.062379394, z: -0.0020126775} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572769} - m_Father: {fileID: 9146872230401572773} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059205 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572773} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_13_Btm_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572773 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059205} - m_LocalRotation: {x: 0, y: -0, z: -0.13420233, w: 0.990954} - m_LocalPosition: {x: -0.026836347, y: -0.1196036, z: 0.003170482} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572771} - m_Father: {fileID: 9146872230401572775} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059207 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572775} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_13_Btm_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572775 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059207} - m_LocalRotation: {x: 0, y: 0, z: 0.009739048, w: 0.9999526} - m_LocalPosition: {x: -0.034970272, y: -0.06832735, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572773} - m_Father: {fileID: 9146872230401572789} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059209 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572777} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_13_Btm_joint8 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572777 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059209} - m_LocalRotation: {x: -0.029209742, y: -0.012453508, z: 0.06668762, w: 0.99726856} - m_LocalPosition: {x: -0.035494726, y: -0.04271957, z: -0.000120532015} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572791} - m_Father: {fileID: 9146872230401572779} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059211 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572779} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_13_Btm_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572779 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059211} - m_LocalRotation: {x: 0, y: -0, z: -0.0060613854, w: 0.99998164} - m_LocalPosition: {x: -0.03386383, y: -0.045171607, z: 0.00008139932} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572777} - m_Father: {fileID: 9146872230401572781} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059213 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572781} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_13_Btm_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572781 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059213} - m_LocalRotation: {x: 0, y: 0, z: 0.03248984, w: 0.9994721} - m_LocalPosition: {x: -0.027746959, y: -0.04337968, z: -0.000803926} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572779} - m_Father: {fileID: 9146872230401572783} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059215 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572783} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_13_Btm_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572783 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059215} - m_LocalRotation: {x: 0, y: 0, z: 0.03604643, w: 0.99935013} - m_LocalPosition: {x: -0.026189722, y: -0.044199266, z: -0.00053523394} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572781} - m_Father: {fileID: 9146872230401572769} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059217 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572785} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_13_Up_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572785 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059217} - m_LocalRotation: {x: 0.9938564, y: -0.1106775, z: -6.7770428e-18, w: 6.0856154e-17} - m_LocalPosition: {x: -0.03390959, y: 0.008257206, z: 1.011216e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572799} - m_Father: {fileID: 9146872230401572787} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059219 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572787} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_13_Up_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572787 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059219} - m_LocalRotation: {x: -0.2130767, y: 0.97703546, z: 5.982617e-17, w: -1.3047185e-17} - m_LocalPosition: {x: 0.025454171, y: 0.010417923, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572785} - m_Father: {fileID: 9146872230401572789} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059221 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572789} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_13_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572789 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059221} - m_LocalRotation: {x: 0, y: 0, z: 0.48901555, w: 0.87227505} - m_LocalPosition: {x: 0.08611052, y: 0.017820448, z: 0.010427765} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572775} - - {fileID: 9146872230401572787} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 27 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059223 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572791} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_13_Btm_joint9 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572791 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059223} - m_LocalRotation: {x: 0.018379606, y: 0.025893798, z: -0.57852554, w: 0.81504595} - m_LocalPosition: {x: -0.0075394236, y: -0.0059727654, z: -0.000402425} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572777} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059225 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572793} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_14_Btm_joint10 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572793 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059225} - m_LocalRotation: {x: 0.5469883, y: 0.21478811, z: 0.1707942, w: 0.7908851} - m_LocalPosition: {x: -0.030100586, y: -0.05153725, z: -0.02412193} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572807} - m_Father: {fileID: 9146872230401572823} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059227 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572795} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_14_Btm_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572795 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059227} - m_LocalRotation: {x: -0.047050036, y: -0.029082837, z: -0.054070815, w: 0.9970039} - m_LocalPosition: {x: -0.027645165, y: -0.034221373, z: 0.014486314} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572805} - m_Father: {fileID: 9146872230401572821} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059229 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572797} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_13_Up_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572797 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059229} - m_LocalRotation: {x: 0, y: 0, z: 0.9118811, w: 0.41045445} - m_LocalPosition: {x: -0.01789115, y: 0.011512374, z: 1.4180679e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572799} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059231 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572799} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_13_Up_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572799 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059231} - m_LocalRotation: {x: 0, y: 0, z: 0.09162339, w: 0.99579376} - m_LocalPosition: {x: -0.049795568, y: 0.010341122, z: 1.1602444e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572797} - m_Father: {fileID: 9146872230401572785} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059233 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572801} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_14_Btm_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572801 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059233} - m_LocalRotation: {x: 0.008274578, y: 0.009274824, z: -0.2073735, w: 0.9781829} - m_LocalPosition: {x: -0.019341635, y: -0.04315134, z: 0.01918392} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572815} - m_Father: {fileID: 9146872230401572803} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059235 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572803} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_14_Btm_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572803 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059235} - m_LocalRotation: {x: 0.0063135237, y: 0.00402277, z: -0.06607594, w: 0.9977865} - m_LocalPosition: {x: -0.029200207, y: -0.037571948, z: 0.01463096} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572801} - m_Father: {fileID: 9146872230401572805} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059237 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572805} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_14_Btm_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572805 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059237} - m_LocalRotation: {x: 0.03569513, y: 0.022106389, z: 0.053250723, w: 0.9976981} - m_LocalPosition: {x: -0.018816162, y: -0.04299733, z: 0.013101676} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572803} - m_Father: {fileID: 9146872230401572795} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059239 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572807} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_14_Btm_joint11 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572807 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059239} - m_LocalRotation: {x: -0.27727905, y: -0.3261048, z: -0.5854254, w: 0.68851227} - m_LocalPosition: {x: -0.017878834, y: -0.002325914, z: 0.002877934} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572793} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059241 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572809} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_14_Btm_joint8 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572809 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059241} - m_LocalRotation: {x: 0.12201271, y: 0.09537142, z: -0.41965482, w: 0.8943752} - m_LocalPosition: {x: -0.06461588, y: -0.019421756, z: -0.014705787} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572823} - m_Father: {fileID: 9146872230401572811} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059243 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572811} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_14_Btm_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572811 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059243} - m_LocalRotation: {x: -0.40852284, y: -0.18300836, z: 0.17452753, w: 0.87701607} - m_LocalPosition: {x: -0.018751493, y: -0.04216279, z: 0.015567257} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572809} - m_Father: {fileID: 9146872230401572813} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059245 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572813} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_14_Btm_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572813 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059245} - m_LocalRotation: {x: -0.035975892, y: -0.036348313, z: 0.17185685, w: 0.98379356} - m_LocalPosition: {x: 0.008247828, y: -0.04413028, z: 0.032214683} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572811} - m_Father: {fileID: 9146872230401572815} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059247 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572815} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_14_Btm_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572815 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059247} - m_LocalRotation: {x: 0.0068838894, y: 0.010896698, z: 0.043856263, w: 0.9989547} - m_LocalPosition: {x: 0.014395737, y: -0.034709647, z: 0.027029458} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572813} - m_Father: {fileID: 9146872230401572801} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059249 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572817} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_14_Up_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572817 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059249} - m_LocalRotation: {x: 0.68639493, y: -0.058839004, z: 0.02967678, w: 0.724237} - m_LocalPosition: {x: -0.034187842, y: 0.00019817495, z: -0.00075166166} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572831} - m_Father: {fileID: 9146872230401572819} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059251 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572819} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_14_Up_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572819 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059251} - m_LocalRotation: {x: 0.15146768, y: -0.6544126, z: 0.713574, w: -0.19903223} - m_LocalPosition: {x: 0.03644329, y: 0.016727772, z: 0.004153295} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572817} - m_Father: {fileID: 9146872230401572821} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059253 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572821} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_14_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572821 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059253} - m_LocalRotation: {x: 0.09032145, y: 0.15217002, z: 0.50236046, w: 0.84635705} - m_LocalPosition: {x: 0.08319968, y: 0.022259988, z: 0.037361547} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572795} - - {fileID: 9146872230401572819} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 28 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059255 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572823} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_14_Btm_joint9 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572823 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059255} - m_LocalRotation: {x: -0.015517808, y: -0.017470276, z: 0.2547433, w: 0.96672636} - m_LocalPosition: {x: 0.030133829, y: -0.050748352, z: -0.03784532} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572793} - m_Father: {fileID: 9146872230401572809} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059257 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572825} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_15_Btm_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572825 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059257} - m_LocalRotation: {x: 0.010060853, y: 0.00617056, z: 0.08421291, w: 0.9963779} - m_LocalPosition: {x: -0.022485802, y: -0.023560775, z: 0.022922082} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572839} - m_Father: {fileID: 9146872230401572827} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059259 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572827} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_15_Btm_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572827 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059259} - m_LocalRotation: {x: 0.03866313, y: 0.02777813, z: -0.011452418, w: 0.9988005} - m_LocalPosition: {x: -0.03955976, y: -0.04955964, z: 0.038744766} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572825} - m_Father: {fileID: 9146872230401572847} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059261 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572829} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_14_Up_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572829 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059261} - m_LocalRotation: {x: 0.0024806936, y: -0.15624088, z: 0.8744585, w: 0.45924404} - m_LocalPosition: {x: -0.008488058, y: 0.0055991835, z: 0.004965561} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572831} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059263 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572831} - m_Layer: 11 - m_Name: CLOTH_CLOTH_OutSkirt_14_Up_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572831 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059263} - m_LocalRotation: {x: -0.17153694, y: 0.052515663, z: 0.16703978, w: 0.9694921} - m_LocalPosition: {x: -0.035684254, y: 0.008345743, z: 0.0026842277} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572829} - m_Father: {fileID: 9146872230401572817} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059265 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556705} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint414 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556705 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059265} - m_LocalRotation: {x: 0.16441533, y: 0.013827633, z: -0.011117059, w: 0.9862317} - m_LocalPosition: {x: 0.030309906, y: 0.00000012723572, z: 0.000000085961666} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556719} - m_Father: {fileID: 9146872230401556707} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059267 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556707} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint413 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556707 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059267} - m_LocalRotation: {x: -0.12261614, y: -0.013453584, z: 0.036363337, w: 0.99169654} - m_LocalPosition: {x: 0.032464918, y: 0.0000012006009, z: -0.00000014029621} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556705} - m_Father: {fileID: 9146872230401556709} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059269 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556709} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint412 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556709 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059269} - m_LocalRotation: {x: -0.10496322, y: -0.021885792, z: 0.05924962, w: 0.99246824} - m_LocalPosition: {x: 0.043832295, y: -0.00000005459708, z: 0.000000017801884} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556707} - m_Father: {fileID: 9146872230401556733} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059271 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556711} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint410 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556711 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059271} - m_LocalRotation: {x: -0.4086756, y: -0.59536207, z: -0.3914868, w: 0.57032126} - m_LocalPosition: {x: 0.036563862, y: -0.00000047125565, z: 0.000000011737976} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556697} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059273 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556713} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint418 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556713 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059273} - m_LocalRotation: {x: -0.31388542, y: -0.6417721, z: -0.30742592, w: 0.62856495} - m_LocalPosition: {x: 0.014635081, y: -0.0000038264047, z: -0.000000032672425} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556715} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059275 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556715} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint417 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556715 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059275} - m_LocalRotation: {x: -0.041694693, y: -0.025727771, z: -0.107826814, w: 0.99296176} - m_LocalPosition: {x: 0.025521457, y: 0.0000016762549, z: 0.000000052667268} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556713} - m_Father: {fileID: 9146872230401556717} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059277 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556717} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint416 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556717 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059277} - m_LocalRotation: {x: 0.6210005, y: 0.1486498, z: -0.16023593, w: 0.7527191} - m_LocalPosition: {x: 0.03349064, y: -0.0000001490764, z: 0.00000003090387} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556715} - m_Father: {fileID: 9146872230401556719} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059279 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556719} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint415 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556719 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059279} - m_LocalRotation: {x: 0.72301453, y: 0.043571424, z: 0.024116036, w: 0.68903553} - m_LocalPosition: {x: 0.03531986, y: -0.00000008635566, z: -0.000000020793633} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556717} - m_Father: {fileID: 9146872230401556705} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059281 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556721} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint509 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556721 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059281} - m_LocalRotation: {x: 0.7109435, y: -0.55570275, z: -0.33956745, w: 0.2654199} - m_LocalPosition: {x: 0.0428906, y: -0.056098156, z: -0.11659842} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556675} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 10 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059283 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556723} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint499 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556723 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059283} - m_LocalRotation: {x: 0.7774213, y: -0.6070007, z: -0.12991297, w: 0.1014344} - m_LocalPosition: {x: 0.0611659, y: -0.051858157, z: -0.10928472} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556659} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 9 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059285 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556725} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint489 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556725 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059285} - m_LocalRotation: {x: 0.7937694, y: -0.60635257, z: -0.03783513, w: 0.028901875} - m_LocalPosition: {x: 0.07566249, y: -0.049468152, z: -0.09803262} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556643} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 8 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059287 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556727} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint479 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556727 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059287} - m_LocalRotation: {x: 0.82280254, y: -0.5680561, z: 0.01444707, w: -0.009974138} - m_LocalPosition: {x: 0.084256895, y: -0.046128158, z: -0.08399802} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556627} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 7 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059289 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556729} - m_Layer: 11 - m_Name: HAIR_Hair_F_joint311 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556729 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059289} - m_LocalRotation: {x: -0.30562124, y: -0.074959844, z: 0.16837223, w: 0.93414533} - m_LocalPosition: {x: -0.026157886, y: 1.110223e-18, z: 5.551115e-19} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556487} - m_Father: {fileID: 9146872230401556731} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059291 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556731} - m_Layer: 11 - m_Name: HAIR_Hair_F_joint310 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556731 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059291} - m_LocalRotation: {x: 0.43717483, y: 0.6731686, z: 0.3248434, w: 0.5001989} - m_LocalPosition: {x: 0.00006452389, y: -0.030326907, z: 0.08572251} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556729} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 13 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059293 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556733} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint527 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556733 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059293} - m_LocalRotation: {x: 0.6589738, y: -0.50387454, z: -0.44362256, w: 0.3392094} - m_LocalPosition: {x: 0.010407601, y: -0.057008155, z: -0.12418942} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556709} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 12 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059295 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556735} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint518 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556735 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059295} - m_LocalRotation: {x: 0.69971484, y: -0.5679825, z: -0.33645755, w: 0.27311414} - m_LocalPosition: {x: 0.022050599, y: -0.056358155, z: -0.12589543} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556691} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 11 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059297 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556481} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint315 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556481 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059297} - m_LocalRotation: {x: 0.6160758, y: 0.14532177, z: 0.075963564, w: 0.7704297} - m_LocalPosition: {x: -0.031430803, y: 7.771561e-18, z: -9.436896e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556495} - m_Father: {fileID: 9146872230401556483} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059299 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556483} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint314 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556483 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059299} - m_LocalRotation: {x: 0.31242517, y: 0.4372253, z: 0.49030828, w: 0.686165} - m_LocalPosition: {x: -0.04845561, y: -0.035021193, z: 0.07015919} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556481} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 14 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059301 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556485} - m_Layer: 11 - m_Name: HAIR_Hair_F_joint313 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556485 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059301} - m_LocalRotation: {x: 0.303232, y: 0.4006398, z: -0.52178764, w: 0.68940246} - m_LocalPosition: {x: -0.028947072, y: 5.5511148e-18, z: -3.8857806e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556487} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059303 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556487} - m_Layer: 11 - m_Name: HAIR_Hair_F_joint312 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556487 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059303} - m_LocalRotation: {x: 0.8949536, y: 0.15234697, z: 0.0445413, w: -0.4169708} - m_LocalPosition: {x: -0.040842637, y: -5.9674484e-17, z: 1.6653345e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556485} - m_Father: {fileID: 9146872230401556729} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059305 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556489} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint319 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556489 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059305} - m_LocalRotation: {x: 0.46316364, y: 0.13258067, z: 0.08996044, w: 0.8716702} - m_LocalPosition: {x: -0.032688566, y: 3.330669e-18, z: -8.881784e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556503} - m_Father: {fileID: 9146872230401556491} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059307 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556491} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint318 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556491 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059307} - m_LocalRotation: {x: 0.30986694, y: 0.45824078, z: 0.46665087, w: 0.6900977} - m_LocalPosition: {x: -0.06705954, y: -0.04259033, z: 0.053353712} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556489} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 15 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059309 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556493} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint317 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556493 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059309} - m_LocalRotation: {x: 0.56300455, y: 0.78007334, z: -0.15974893, w: 0.2213408} - m_LocalPosition: {x: -0.027340809, y: -1.5820678e-17, z: 5.5511148e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556495} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059311 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556495} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint316 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556495 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059311} - m_LocalRotation: {x: 0.5457742, y: 0.12601665, z: -0.07738503, w: 0.82477987} - m_LocalPosition: {x: -0.03306224, y: 4.2188474e-17, z: 1.04916075e-16} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556493} - m_Father: {fileID: 9146872230401556481} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059313 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556497} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint323 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556497 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059313} - m_LocalRotation: {x: 0.8675488, y: 0.20519438, z: 0.042835463, w: 0.45102042} - m_LocalPosition: {x: -0.046189323, y: 6.661338e-18, z: -9.992007e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556511} - m_Father: {fileID: 9146872230401556499} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059315 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556499} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint322 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556499 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059315} - m_LocalRotation: {x: 0.18889128, y: 0.2635126, z: 0.5511304, w: 0.768854} - m_LocalPosition: {x: -0.07599778, y: -0.04417421, z: 0.040810317} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556497} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 16 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059317 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556501} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint321 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556501 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059317} - m_LocalRotation: {x: 0.5356572, y: 0.8228139, z: -0.103586644, w: 0.15911768} - m_LocalPosition: {x: -0.023799801, y: -4.8572257e-18, z: -1.6653345e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556503} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059319 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556503} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint320 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556503 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059319} - m_LocalRotation: {x: 0.59615964, y: 0.18199508, z: -0.0938737, w: 0.7763113} - m_LocalPosition: {x: -0.028478751, y: -3.5527136e-17, z: 4.6074255e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556501} - m_Father: {fileID: 9146872230401556489} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059321 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556505} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint327 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556505 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059321} - m_LocalRotation: {x: 0.095251046, y: 0.1382354, z: 0.55934274, w: 0.81175977} - m_LocalPosition: {x: -0.07894697, y: -0.026451811, z: 0.021602098} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556519} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 17 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059323 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556507} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint326 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556507 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059323} - m_LocalRotation: {x: 0.49407792, y: 0.8490507, z: 0.09409476, w: -0.16169761} - m_LocalPosition: {x: -0.019667072, y: 7.188694e-17, z: 2.7755574e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556509} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059325 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556509} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint325 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556509 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059325} - m_LocalRotation: {x: -0.06997718, y: -0.03345388, z: -0.070539415, w: 0.99448895} - m_LocalPosition: {x: -0.026519582, y: -4.572731e-17, z: -7.771561e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556507} - m_Father: {fileID: 9146872230401556511} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059327 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556511} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint324 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556511 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059327} - m_LocalRotation: {x: 0.028478967, y: 0.0074648294, z: -0.11845642, w: 0.9925227} - m_LocalPosition: {x: -0.05176097, y: 3.4069968e-17, z: 1.0297318e-16} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556509} - m_Father: {fileID: 9146872230401556497} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059329 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556513} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint331 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556513 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059329} - m_LocalRotation: {x: 0.15801646, y: 0.04509895, z: -0.034232713, w: 0.9858119} - m_LocalPosition: {x: -0.029476952, y: -3.2196467e-17, z: 2.997602e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556527} - m_Father: {fileID: 9146872230401556515} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059331 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556515} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint330 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556515 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059331} - m_LocalRotation: {x: 0.1858305, y: 0.044857062, z: -0.006328809, w: 0.981537} - m_LocalPosition: {x: -0.035060987, y: 1.7763568e-17, z: 1.2767564e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556513} - m_Father: {fileID: 9146872230401556517} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059333 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556517} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint329 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556517 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059333} - m_LocalRotation: {x: 0.6712726, y: 0.117761314, z: -0.04150381, w: 0.7306181} - m_LocalPosition: {x: -0.040835343, y: 9.131584e-17, z: -4.4964033e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556515} - m_Father: {fileID: 9146872230401556519} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059335 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556519} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint328 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556519 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059335} - m_LocalRotation: {x: 0.13195343, y: 0.032363664, z: 0.122143, w: 0.9831694} - m_LocalPosition: {x: -0.04228535, y: -5.8286707e-18, z: 5.5511148e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556517} - m_Father: {fileID: 9146872230401556505} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059337 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556521} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint335 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556521 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059337} - m_LocalRotation: {x: -0.030588238, y: -0.023959482, z: -0.15025014, w: 0.9878842} - m_LocalPosition: {x: -0.020988993, y: -3.6637358e-17, z: -4.1078252e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556535} - m_Father: {fileID: 9146872230401556523} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059339 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556523} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint334 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556523 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059339} - m_LocalRotation: {x: 0.07186876, y: 0.035424195, z: -0.055373248, w: 0.99524564} - m_LocalPosition: {x: -0.02000242, y: -1.9706458e-17, z: 5.551115e-19} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556521} - m_Father: {fileID: 9146872230401556525} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059341 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556525} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint333 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556525 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059341} - m_LocalRotation: {x: -0.22320892, y: -0.084684156, z: -0.03859477, w: 0.9703179} - m_LocalPosition: {x: -0.025879325, y: -4.904714e-17, z: 1.5265567e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556523} - m_Father: {fileID: 9146872230401556527} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059343 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556527} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint332 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556527 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059343} - m_LocalRotation: {x: 0.16814333, y: 0.055309724, z: -0.0049881428, w: 0.984197} - m_LocalPosition: {x: -0.025811842, y: 1.110223e-18, z: 2.3037127e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556525} - m_Father: {fileID: 9146872230401556513} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059345 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556529} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint339 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556529 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059345} - m_LocalRotation: {x: 0.51627713, y: 0.060096934, z: 0.0334196, w: 0.85365653} - m_LocalPosition: {x: -0.036174912, y: -3.8857805e-17, z: -9.436896e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556543} - m_Father: {fileID: 9146872230401556531} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059347 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556531} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint338 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556531 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059347} - m_LocalRotation: {x: 0.13802162, y: 0.036499623, z: 0.10227549, w: 0.984458} - m_LocalPosition: {x: -0.04492661, y: -6.938894e-18, z: 2.7755574e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556529} - m_Father: {fileID: 9146872230401556533} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059349 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556533} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint337 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556533 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059349} - m_LocalRotation: {x: 0.065414436, y: 0.09472435, z: 0.5644691, w: 0.8173879} - m_LocalPosition: {x: -0.085725345, y: -0.025960777, z: 0.003785682} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556531} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 18 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059351 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556535} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint336 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556535 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059351} - m_LocalRotation: {x: 0.36279896, y: 0.9144429, z: 0.06614538, w: -0.16672091} - m_LocalPosition: {x: -0.025048567, y: 4.302114e-17, z: -7.771561e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556521} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059353 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556537} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint315 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556537 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059353} - m_LocalRotation: {x: 0.6160758, y: 0.14532177, z: 0.075963564, w: 0.7704297} - m_LocalPosition: {x: 0.031434976, y: 0.0000014402552, z: -0.000000032466918} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556551} - m_Father: {fileID: 9146872230401556599} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059355 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556539} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint342 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556539 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059355} - m_LocalRotation: {x: -0.47774935, y: -0.5873225, z: -0.4122553, w: 0.5068072} - m_LocalPosition: {x: -0.011593735, y: -8.6042285e-18, z: 1.36002315e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556541} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059357 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556541} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint341 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556541 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059357} - m_LocalRotation: {x: -0.16665094, y: -0.034199767, z: -0.00258975, w: 0.9854193} - m_LocalPosition: {x: -0.019780444, y: 4.0523138e-17, z: 1.3877787e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556539} - m_Father: {fileID: 9146872230401556543} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059359 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556543} - m_Layer: 11 - m_Name: HAIR_Hair_FLeft_joint340 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556543 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059359} - m_LocalRotation: {x: 0.2205989, y: 0.030697398, z: -0.05992989, w: 0.9730376} - m_LocalPosition: {x: -0.026413858, y: -9.1593395e-18, z: 1.0269563e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556541} - m_Father: {fileID: 9146872230401556529} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059361 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556545} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint320 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556545 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059361} - m_LocalRotation: {x: 0.59615964, y: 0.18199508, z: -0.0938737, w: 0.7763113} - m_LocalPosition: {x: 0.028479695, y: 0.00000019396704, z: -0.00000005434434} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556559} - m_Father: {fileID: 9146872230401556547} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059363 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556547} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint319 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556547 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059363} - m_LocalRotation: {x: 0.46316364, y: 0.13258067, z: 0.08996044, w: 0.8716702} - m_LocalPosition: {x: 0.032691516, y: 0.0000011223922, z: 0.000000027610685} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556545} - m_Father: {fileID: 9146872230401556597} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059365 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556549} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint317 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556549 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059365} - m_LocalRotation: {x: 0.56300455, y: 0.78007334, z: -0.15974893, w: 0.2213408} - m_LocalPosition: {x: 0.027341923, y: 0.00000037856043, z: 0.0000000072143442} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556551} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059367 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556551} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint316 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556551 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059367} - m_LocalRotation: {x: 0.5457742, y: 0.12601665, z: -0.07738503, w: 0.82477987} - m_LocalPosition: {x: 0.03306359, y: 0.0000001621182, z: 0.000000038594926} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556549} - m_Father: {fileID: 9146872230401556537} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059369 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556553} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint325 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556553 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059369} - m_LocalRotation: {x: -0.06997718, y: -0.03345388, z: -0.070539415, w: 0.99448895} - m_LocalPosition: {x: 0.0265239, y: 0.0000017494399, z: -0.000000027032444} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556567} - m_Father: {fileID: 9146872230401556555} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059371 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556555} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint324 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556555 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059371} - m_LocalRotation: {x: 0.028478967, y: 0.0074648294, z: -0.11845642, w: 0.9925227} - m_LocalPosition: {x: 0.05175901, y: -0.00000033377637, z: 0.00000007217849} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556553} - m_Father: {fileID: 9146872230401556557} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059373 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556557} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint323 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556557 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059373} - m_LocalRotation: {x: 0.8675488, y: 0.20519438, z: 0.042835463, w: 0.45102042} - m_LocalPosition: {x: 0.046186864, y: -0.000000808708, z: -0.000000012043992} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556555} - m_Father: {fileID: 9146872230401556595} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059375 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556559} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint321 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556559 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059375} - m_LocalRotation: {x: 0.5356572, y: 0.8228139, z: -0.103586644, w: 0.15911768} - m_LocalPosition: {x: 0.023796195, y: -0.0000014953591, z: 0.00000005555844} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556545} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059377 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556561} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint330 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556561 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059377} - m_LocalRotation: {x: 0.1858305, y: 0.044857062, z: -0.006328809, w: 0.981537} - m_LocalPosition: {x: 0.035066392, y: 0.0000013001761, z: 0.000000001836045} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556575} - m_Father: {fileID: 9146872230401556563} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059379 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556563} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint329 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556563 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059379} - m_LocalRotation: {x: 0.6712726, y: 0.117761314, z: -0.04150381, w: 0.7306181} - m_LocalPosition: {x: 0.040828828, y: -0.0000007410163, z: 0.000000016399378} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556561} - m_Father: {fileID: 9146872230401556565} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059381 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556565} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint328 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556565 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059381} - m_LocalRotation: {x: 0.13195343, y: 0.032363664, z: 0.122143, w: 0.9831694} - m_LocalPosition: {x: 0.04229185, y: 0.0000024947794, z: -0.00000005362817} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556563} - m_Father: {fileID: 9146872230401556593} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059383 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556567} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint326 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556567 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059383} - m_LocalRotation: {x: 0.49407792, y: 0.8490507, z: 0.09409476, w: -0.16169761} - m_LocalPosition: {x: 0.019659238, y: -0.0000044877024, z: -0.00000002696917} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556553} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059385 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556569} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint334 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556569 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059385} - m_LocalRotation: {x: 0.07186876, y: 0.035424195, z: -0.055373248, w: 0.99524564} - m_LocalPosition: {x: 0.019997876, y: -0.0000018908281, z: -0.00000002955914} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556583} - m_Father: {fileID: 9146872230401556571} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059387 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556571} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint333 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556571 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059387} - m_LocalRotation: {x: -0.22320892, y: -0.084684156, z: -0.03859477, w: 0.9703179} - m_LocalPosition: {x: 0.02587727, y: -0.0000006809299, z: 0.000000018616628} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556569} - m_Father: {fileID: 9146872230401556573} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059389 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556573} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint332 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556573 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059389} - m_LocalRotation: {x: 0.16814333, y: 0.055309724, z: -0.0049881428, w: 0.984197} - m_LocalPosition: {x: 0.02581191, y: 0.00000004364343, z: -0.0000000067921087} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556571} - m_Father: {fileID: 9146872230401556575} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059391 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556575} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint331 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556575 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059391} - m_LocalRotation: {x: 0.15801646, y: 0.04509895, z: -0.034232713, w: 0.9858119} - m_LocalPosition: {x: 0.02947815, y: 0.00000024956412, z: 0.000000022929743} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556573} - m_Father: {fileID: 9146872230401556561} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059393 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556833} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint396 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556833 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059393} - m_LocalRotation: {x: 0.4066438, y: 0.035790313, z: 0.0223684, w: 0.9126114} - m_LocalPosition: {x: -0.025476865, y: -5.231926e-17, z: -1.0824674e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556847} - m_Father: {fileID: 9146872230401556835} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059395 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556835} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint395 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556835 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059395} - m_LocalRotation: {x: 0.15565859, y: 0.0280195, z: 0.06493062, w: 0.9852763} - m_LocalPosition: {x: -0.04203085, y: -1.110223e-18, z: -1.6653345e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556833} - m_Father: {fileID: 9146872230401556837} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059397 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556837} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint394 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556837 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059397} - m_LocalRotation: {x: -0.2654199, y: -0.33956745, z: 0.55570275, w: 0.7109435} - m_LocalPosition: {x: -0.04289065, y: -0.05609353, z: -0.11659871} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556835} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059399 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556839} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint393 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556839 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059399} - m_LocalRotation: {x: 0.533517, y: 0.7553582, z: 0.21952672, w: -0.3108079} - m_LocalPosition: {x: -0.011086673, y: -7.7993166e-17, z: 2.2482016e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556825} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059401 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556841} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint400 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556841 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059401} - m_LocalRotation: {x: 0.95318574, y: 0.22829458, z: -0.0389862, w: 0.19441868} - m_LocalPosition: {x: -0.027607603, y: 4.1598668e-17, z: -4.239664e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556855} - m_Father: {fileID: 9146872230401556843} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059403 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556843} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint399 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556843 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059403} - m_LocalRotation: {x: 0.30105504, y: 0.01955728, z: 0.026401099, w: 0.9530406} - m_LocalPosition: {x: -0.033679977, y: -1.8041123e-17, z: -1.9151347e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556841} - m_Father: {fileID: 9146872230401556845} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059405 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556845} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint398 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556845 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059405} - m_LocalRotation: {x: -0.70240766, y: -0.03885229, z: -0.026510222, w: 0.7102192} - m_LocalPosition: {x: -0.032295022, y: 4.1008862e-17, z: 2.4910629e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556843} - m_Father: {fileID: 9146872230401556847} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059407 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556847} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint397 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556847 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059407} - m_LocalRotation: {x: 0.11576496, y: 0.004704352, z: 0.02251295, w: 0.99301034} - m_LocalPosition: {x: -0.023845246, y: 3.714043e-17, z: -9.5756736e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556845} - m_Father: {fileID: 9146872230401556833} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059409 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556849} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint404 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556849 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059409} - m_LocalRotation: {x: 0.41428328, y: 0.06533932, z: 0.045967672, w: 0.9066351} - m_LocalPosition: {x: -0.043638628, y: -1.11022296e-17, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556863} - m_Father: {fileID: 9146872230401556851} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059411 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556851} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint403 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556851 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059411} - m_LocalRotation: {x: -0.27311414, y: -0.33645755, z: 0.5679825, w: 0.69971484} - m_LocalPosition: {x: -0.022050636, y: -0.056354888, z: -0.1258957} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556849} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059413 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556853} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint402 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556853 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059413} - m_LocalRotation: {x: 0.30688006, y: 0.8763441, z: 0.12270793, w: -0.35041174} - m_LocalPosition: {x: -0.01757039, y: -1.2434498e-16, z: 5.5511148e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556855} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059415 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556855} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint401 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556855 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059415} - m_LocalRotation: {x: 0.033977613, y: 0.026646301, z: -0.22977862, w: 0.9722846} - m_LocalPosition: {x: -0.020226372, y: -5.884182e-17, z: 2.2204459e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556853} - m_Father: {fileID: 9146872230401556841} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059417 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556857} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint408 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556857 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059417} - m_LocalRotation: {x: 0.03920704, y: 0.003930444, z: 0.013075563, w: 0.9991379} - m_LocalPosition: {x: -0.03145025, y: 4.3853807e-17, z: -9.797718e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556615} - m_Father: {fileID: 9146872230401556859} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059419 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556859} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint407 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556859 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059419} - m_LocalRotation: {x: -0.1748855, y: -0.017317256, z: -0.014078836, w: 0.9843358} - m_LocalPosition: {x: -0.030911312, y: 8.465451e-18, z: -6.383782e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556857} - m_Father: {fileID: 9146872230401556861} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059421 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556861} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint406 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556861 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059421} - m_LocalRotation: {x: -0.52913654, y: -0.03431894, z: -0.016641434, w: 0.8476791} - m_LocalPosition: {x: -0.018087296, y: 2.2256502e-17, z: -1.6132929e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556859} - m_Father: {fileID: 9146872230401556863} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059423 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556863} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint405 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556863 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059423} - m_LocalRotation: {x: 0.20502076, y: 0.0154991, z: 0.029663522, w: 0.97818524} - m_LocalPosition: {x: -0.030924, y: -3.6302883e-17, z: 1.4536983e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556861} - m_Father: {fileID: 9146872230401556849} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059425 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556609} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint412 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556609 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059425} - m_LocalRotation: {x: -0.10496322, y: -0.021885792, z: 0.05924962, w: 0.99246824} - m_LocalPosition: {x: -0.043832853, y: 5.5511148e-18, z: -4.9960034e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556623} - m_Father: {fileID: 9146872230401556611} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059427 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556611} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint411 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556611 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059427} - m_LocalRotation: {x: -0.3392094, y: -0.44362256, z: 0.50387454, w: 0.6589738} - m_LocalPosition: {x: -0.010407571, y: -0.057010174, z: -0.12418928} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556609} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059429 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556613} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint410 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556613 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059429} - m_LocalRotation: {x: -0.4086756, y: -0.59536207, z: -0.3914868, w: 0.57032126} - m_LocalPosition: {x: -0.036563862, y: -8.881784e-18, z: -1.6792122e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556615} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059431 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556615} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint409 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556615 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059431} - m_LocalRotation: {x: 0.94168293, y: 0.21775955, z: -0.035905957, w: 0.25401735} - m_LocalPosition: {x: -0.01517487, y: -6.661338e-18, z: 9.992007e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556613} - m_Father: {fileID: 9146872230401556857} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059433 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556617} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint416 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556617 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059433} - m_LocalRotation: {x: 0.6210005, y: 0.1486498, z: -0.16023593, w: 0.7527191} - m_LocalPosition: {x: -0.033497054, y: -8.361367e-18, z: -8.083811e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556631} - m_Father: {fileID: 9146872230401556619} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059435 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556619} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint415 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556619 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059435} - m_LocalRotation: {x: 0.72301453, y: 0.043571424, z: 0.024116036, w: 0.68903553} - m_LocalPosition: {x: -0.03531943, y: 2.1649348e-17, z: 1.2767564e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556617} - m_Father: {fileID: 9146872230401556621} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059437 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556621} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint414 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556621 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059437} - m_LocalRotation: {x: 0.16441533, y: 0.013827633, z: -0.011117059, w: 0.9862317} - m_LocalPosition: {x: -0.030308709, y: 4.6074255e-17, z: 1.7798263e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556619} - m_Father: {fileID: 9146872230401556623} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059439 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556623} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint413 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556623 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059439} - m_LocalRotation: {x: -0.12261614, y: -0.013453584, z: 0.036363337, w: 0.99169654} - m_LocalPosition: {x: -0.03245977, y: 2.4424906e-17, z: 9.436896e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556621} - m_Father: {fileID: 9146872230401556609} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059441 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556625} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint369 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556625 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059441} - m_LocalRotation: {x: -0.0494699, y: -0.008387342, z: 0.049630564, w: 0.9975065} - m_LocalPosition: {x: 0.02717129, y: -0.00000088264824, z: -0.000000034473455} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556639} - m_Father: {fileID: 9146872230401556627} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059443 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556627} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint368 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556627 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059443} - m_LocalRotation: {x: -0.016433682, y: -0.004903668, z: 0.07224572, w: 0.9972394} - m_LocalPosition: {x: 0.0413433, y: 0.0000014866168, z: -0.000000037578396} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556625} - m_Father: {fileID: 9146872230401556727} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059445 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556629} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint418 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556629 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059445} - m_LocalRotation: {x: -0.31388542, y: -0.6417721, z: -0.30742592, w: 0.62856495} - m_LocalPosition: {x: -0.014640316, y: -3.330669e-18, z: -1.9879931e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556631} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059447 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556631} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint417 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556631 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059447} - m_LocalRotation: {x: -0.041694693, y: -0.025727771, z: -0.107826814, w: 0.99296176} - m_LocalPosition: {x: -0.025517559, y: -2.997602e-17, z: 1.110223e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556629} - m_Father: {fileID: 9146872230401556617} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059449 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556633} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint373 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556633 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059449} - m_LocalRotation: {x: 0.25363404, y: 0.052550364, z: -0.13704094, w: 0.9561004} - m_LocalPosition: {x: 0.02026886, y: 0.000000049801205, z: -0.00000043853223} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556647} - m_Father: {fileID: 9146872230401556635} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059451 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556635} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint372 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556635 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059451} - m_LocalRotation: {x: 0.96924525, y: 0.043829005, z: 0.004055204, w: -0.24212855} - m_LocalPosition: {x: 0.030052163, y: -0.00000033994814, z: -0.00000050911996} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556633} - m_Father: {fileID: 9146872230401556637} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059453 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556637} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint371 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556637 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059453} - m_LocalRotation: {x: -0.8387921, y: -0.04722463, z: 0.015076245, w: 0.5421904} - m_LocalPosition: {x: 0.024727272, y: -0.000000034739013, z: 0.00000023424579} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556635} - m_Father: {fileID: 9146872230401556639} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059455 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556639} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint370 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556639 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059455} - m_LocalRotation: {x: 0.4386161, y: 0.044512197, z: 0.015344692, w: 0.8974403} - m_LocalPosition: {x: 0.027693283, y: 0.0000004683067, z: 0.00000008453179} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556637} - m_Father: {fileID: 9146872230401556625} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059457 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556641} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint378 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556641 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059457} - m_LocalRotation: {x: 0.047753848, y: 0.0056227664, z: 0.031715985, w: 0.99833965} - m_LocalPosition: {x: 0.024309356, y: -0.00000094839936, z: 0.000000015391274} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556655} - m_Father: {fileID: 9146872230401556643} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059459 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556643} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint377 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556643 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059459} - m_LocalRotation: {x: 0.2930443, y: 0.06170943, z: 0.055864263, w: 0.95246845} - m_LocalPosition: {x: 0.043138493, y: 0.0000007273359, z: 0.000000045341128} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556641} - m_Father: {fileID: 9146872230401556725} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059461 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556645} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint375 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556645 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059461} - m_LocalRotation: {x: 0.41452804, y: 0.909924, z: -0.0059338077, w: 0.013025207} - m_LocalPosition: {x: 0.013133962, y: -0.0000000041229353, z: 0.000000014193128} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556647} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059463 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556647} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint374 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556647 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059463} - m_LocalRotation: {x: 0.08473575, y: 0.049791496, z: -0.18266082, w: 0.97825134} - m_LocalPosition: {x: 0.022392921, y: -0.0000023791215, z: 0.000000037041225} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556645} - m_Father: {fileID: 9146872230401556633} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059465 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556649} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint382 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556649 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059465} - m_LocalRotation: {x: -0.22854999, y: -0.045336887, z: -0.09065927, w: 0.96824086} - m_LocalPosition: {x: 0.024810182, y: -0.00000055139867, z: 0.000000014138832} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556663} - m_Father: {fileID: 9146872230401556651} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059467 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556651} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint381 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556651 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059467} - m_LocalRotation: {x: 0.87809044, y: 0.060552526, z: -0.015951924, w: 0.4743798} - m_LocalPosition: {x: 0.032360084, y: 0.000000015791226, z: 0.00000002514322} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556649} - m_Father: {fileID: 9146872230401556653} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059469 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556653} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint380 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556653 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059469} - m_LocalRotation: {x: 0.62407845, y: 0.024645753, z: 0.003307277, w: 0.7809659} - m_LocalPosition: {x: 0.023632573, y: -0.00000016456383, z: -9.588685e-10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556651} - m_Father: {fileID: 9146872230401556655} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059471 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556655} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint379 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556655 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059471} - m_LocalRotation: {x: 0.24381109, y: 0.01576637, z: 0.020236703, w: 0.96948344} - m_LocalPosition: {x: 0.027510304, y: 0.0000007410845, z: -0.000000037139216} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556653} - m_Father: {fileID: 9146872230401556641} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059473 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556657} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint387 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556657 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059473} - m_LocalRotation: {x: 0.19661324, y: 0.020462908, z: 0.04125985, w: 0.9793989} - m_LocalPosition: {x: 0.026399989, y: 0.0000009631785, z: -0.00000038298293} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556671} - m_Father: {fileID: 9146872230401556659} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059475 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556659} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint386 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556659 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059475} - m_LocalRotation: {x: 0.2075544, y: 0.041077223, z: 0.048437033, w: 0.9761597} - m_LocalPosition: {x: 0.0436328, y: -0.00000073810463, z: -0.00000010315554} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556657} - m_Father: {fileID: 9146872230401556723} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059477 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556661} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint384 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556661 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059477} - m_LocalRotation: {x: 0.5580496, y: 0.790632, z: 0.14529102, w: -0.20584501} - m_LocalPosition: {x: 0.010804032, y: 0.000000070466285, z: 0.000000049723187} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556663} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059479 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556663} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint383 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556663 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059479} - m_LocalRotation: {x: -0.6487014, y: -0.211641, z: -0.01913524, w: 0.73077255} - m_LocalPosition: {x: 0.024746872, y: 0.0000024883614, z: -2.8474134e-10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556661} - m_Father: {fileID: 9146872230401556649} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059481 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556665} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint391 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556665 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059481} - m_LocalRotation: {x: -0.32649735, y: -0.035870384, z: -0.023944456, w: 0.9442137} - m_LocalPosition: {x: 0.024807623, y: -0.000000029841697, z: -0.000000040618165} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556679} - m_Father: {fileID: 9146872230401556667} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059483 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556667} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint390 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556667 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059483} - m_LocalRotation: {x: -0.044631578, y: -0.0035642015, z: -0.0043780906, w: 0.99898756} - m_LocalPosition: {x: 0.030135443, y: -0.00000042477404, z: -0.00000021950629} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556665} - m_Father: {fileID: 9146872230401556669} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059485 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556669} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint389 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556669 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059485} - m_LocalRotation: {x: 0.92909384, y: 0.053361036, z: -0.0065638693, w: 0.36591557} - m_LocalPosition: {x: 0.026180362, y: -0.00000022316442, z: 0.000000060208436} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556667} - m_Father: {fileID: 9146872230401556671} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059487 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556671} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint388 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556671 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059487} - m_LocalRotation: {x: 0.68555605, y: 0.034662027, z: 0.008059566, w: 0.72714955} - m_LocalPosition: {x: 0.022452572, y: 0.00000018602981, z: 0.0000003626796} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556669} - m_Father: {fileID: 9146872230401556657} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059489 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556673} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint396 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556673 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059489} - m_LocalRotation: {x: 0.4066438, y: 0.035790313, z: 0.0223684, w: 0.9126114} - m_LocalPosition: {x: 0.025480427, y: 0.00000048370225, z: -0.000000005628299} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556687} - m_Father: {fileID: 9146872230401556675} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059491 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556675} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint395 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556675 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059491} - m_LocalRotation: {x: 0.15565859, y: 0.0280195, z: 0.06493062, w: 0.9852763} - m_LocalPosition: {x: 0.04202423, y: -0.0000017299376, z: -0.000000049454652} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556673} - m_Father: {fileID: 9146872230401556721} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059493 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556677} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint393 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556677 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059493} - m_LocalRotation: {x: 0.533517, y: 0.7553582, z: 0.21952672, w: -0.3108079} - m_LocalPosition: {x: 0.011078547, y: -0.0000030623844, z: 0.00000026036517} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556679} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059495 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556679} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint392 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556679 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059495} - m_LocalRotation: {x: -0.57990307, y: -0.1405847, z: -0.082555875, w: 0.7982061} - m_LocalPosition: {x: 0.023452647, y: 0.00000032703315, z: 0.00000035054893} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556677} - m_Father: {fileID: 9146872230401556665} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059497 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556681} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint400 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556681 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059497} - m_LocalRotation: {x: 0.95318574, y: 0.22829458, z: -0.0389862, w: 0.19441868} - m_LocalPosition: {x: 0.027609084, y: -0.00000021335441, z: 0.0000005263262} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556695} - m_Father: {fileID: 9146872230401556683} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059499 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556683} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint399 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556683 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059499} - m_LocalRotation: {x: 0.30105504, y: 0.01955728, z: 0.026401099, w: 0.9530406} - m_LocalPosition: {x: 0.033674207, y: -0.00000043885868, z: -0.000000031931886} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556681} - m_Father: {fileID: 9146872230401556685} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059501 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556685} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint398 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556685 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059501} - m_LocalRotation: {x: -0.70240766, y: -0.03885229, z: -0.026510222, w: 0.7102192} - m_LocalPosition: {x: 0.0322952, y: -0.00000012857566, z: -0.0000002513146} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556683} - m_Father: {fileID: 9146872230401556687} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059503 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556687} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint397 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556687 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059503} - m_LocalRotation: {x: 0.11576496, y: 0.004704352, z: 0.02251295, w: 0.99301034} - m_LocalPosition: {x: 0.023847718, y: 0.0000002578108, z: 0.0000005371103} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556685} - m_Father: {fileID: 9146872230401556673} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059505 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556689} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint405 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556689 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059505} - m_LocalRotation: {x: 0.20502076, y: 0.0154991, z: 0.029663522, w: 0.97818524} - m_LocalPosition: {x: 0.030922813, y: -0.000000022567548, z: -0.0000006744138} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556703} - m_Father: {fileID: 9146872230401556691} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059507 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556691} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint404 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556691 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059507} - m_LocalRotation: {x: 0.41428328, y: 0.06533932, z: 0.045967672, w: 0.9066351} - m_LocalPosition: {x: 0.043632615, y: -0.000001804582, z: 0.0000003163753} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556689} - m_Father: {fileID: 9146872230401556735} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059509 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556693} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint402 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556693 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059509} - m_LocalRotation: {x: 0.30688006, y: 0.8763441, z: 0.12270793, w: -0.35041174} - m_LocalPosition: {x: 0.017569562, y: -0.0000012495997, z: 0.00000016011361} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556695} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059511 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556695} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint401 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556695 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059511} - m_LocalRotation: {x: 0.033977613, y: 0.026646301, z: -0.22977862, w: 0.9722846} - m_LocalPosition: {x: 0.020226555, y: -0.000000066920414, z: 0.00000014574344} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556693} - m_Father: {fileID: 9146872230401556681} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059513 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556697} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint409 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556697 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059513} - m_LocalRotation: {x: 0.94168293, y: 0.21775955, z: -0.035905957, w: 0.25401735} - m_LocalPosition: {x: 0.015177184, y: -0.00000010201335, z: 0.00000015708456} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556711} - m_Father: {fileID: 9146872230401556699} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059515 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556699} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint408 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556699 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059515} - m_LocalRotation: {x: 0.03920704, y: 0.003930444, z: 0.013075563, w: 0.9991379} - m_LocalPosition: {x: 0.031450618, y: -0.00000028150026, z: 0.00000017490274} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556697} - m_Father: {fileID: 9146872230401556701} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059517 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556701} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint407 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556701 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059517} - m_LocalRotation: {x: -0.1748855, y: -0.017317256, z: -0.014078836, w: 0.9843358} - m_LocalPosition: {x: 0.030910006, y: 0.00000014141224, z: -0.00000021591462} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556699} - m_Father: {fileID: 9146872230401556703} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059519 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556703} - m_Layer: 11 - m_Name: HAIR_Hair_BRight_joint406 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556703 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059519} - m_LocalRotation: {x: -0.52913654, y: -0.03431894, z: -0.016641434, w: 0.8476791} - m_LocalPosition: {x: 0.01808842, y: 0.00000007208617, z: 0.0000002557902} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556701} - m_Father: {fileID: 9146872230401556689} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059521 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556961} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_R_2_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556961 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059521} - m_LocalRotation: {x: -0.00068777736, y: -0.015775643, z: 0.73714256, w: 0.6755527} - m_LocalPosition: {x: 0.079774685, y: 0.049338374, z: -0.0037675577} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556975} - m_Father: {fileID: 9146872230401571671} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059523 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556963} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_R_1_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556963 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059523} - m_LocalRotation: {x: -0.1571427, y: -0.23085992, z: -0.54030895, w: 0.7937733} - m_LocalPosition: {x: -0.025792303, y: -0.01551002, z: 0.010593618} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556965} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059525 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556965} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_R_1_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556965 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059525} - m_LocalRotation: {x: -0.07927777, y: -0.038859032, z: 0.07984027, w: 0.99289} - m_LocalPosition: {x: -0.023112662, y: -0.015355157, z: 0.01640176} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556963} - m_Father: {fileID: 9146872230401556967} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059527 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556967} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_R_1_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556967 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059527} - m_LocalRotation: {x: 0.11120421, y: 0.06759251, z: 0.010079007, w: 0.99144506} - m_LocalPosition: {x: -0.012837827, y: -0.016085159, z: 0.0099059325} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556965} - m_Father: {fileID: 9146872230401556953} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059529 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556969} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_R_2_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556969 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059529} - m_LocalRotation: {x: -0.0026152679, y: -0.018472916, z: -0.1401509, w: 0.98995435} - m_LocalPosition: {x: 0.025626786, y: -0.016184688, z: 0.0021767751} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556971} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059531 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556971} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_R_2_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556971 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059531} - m_LocalRotation: {x: 0.0042778337, y: 0.011609958, z: -0.07168289, w: 0.99735075} - m_LocalPosition: {x: 0.025463475, y: -0.028966755, z: 0.00088354736} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556969} - m_Father: {fileID: 9146872230401556973} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059533 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556973} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_R_2_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556973 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059533} - m_LocalRotation: {x: 0.003704813, y: 0.009321582, z: 0.04645615, w: 0.99887} - m_LocalPosition: {x: 0.02101497, y: -0.01643434, z: -0.00037797086} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556971} - m_Father: {fileID: 9146872230401556975} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059535 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556975} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_R_2_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556975 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059535} - m_LocalRotation: {x: 0.0068227346, y: 0.009926216, z: -0.2670549, w: 0.96360606} - m_LocalPosition: {x: -0.0035715855, y: -0.02016945, z: -0.00083191355} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556973} - m_Father: {fileID: 9146872230401556961} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059537 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556977} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_R_3_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556977 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059537} - m_LocalRotation: {x: 0.101002544, y: 0.04577718, z: 0.17825596, w: 0.97771555} - m_LocalPosition: {x: -0.014469194, y: -0.001793325, z: -0.005854975} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556991} - m_Father: {fileID: 9146872230401556979} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059539 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556979} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_R_3_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556979 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059539} - m_LocalRotation: {x: -0.03427926, y: -0.026338477, z: 0.04920303, w: 0.99785286} - m_LocalPosition: {x: -0.015178481, y: -0.0057202843, z: -0.00981505} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556977} - m_Father: {fileID: 9146872230401556981} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059541 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556981} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_R_3_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556981 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059541} - m_LocalRotation: {x: -0.43047404, y: -0.27147296, z: -0.12162737, w: 0.8521745} - m_LocalPosition: {x: -0.010661994, y: -0.012644964, z: 0.0010228639} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556979} - m_Father: {fileID: 9146872230401556983} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059543 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556983} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_R_3_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556983 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059543} - m_LocalRotation: {x: -0.005415113, y: -0.029380888, z: 0.82319313, w: 0.56697494} - m_LocalPosition: {x: 0.06584584, y: 0.0027463164, z: -0.04088715} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556981} - m_Father: {fileID: 9146872230401571671} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059545 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556985} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_R_4_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556985 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059545} - m_LocalRotation: {x: 0.19526246, y: 0.15677921, z: 0.07168357, w: 0.9654814} - m_LocalPosition: {x: -0.014857148, y: -0.0007106488, z: -0.0044306987} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556743} - m_Father: {fileID: 9146872230401556987} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059547 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556987} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_R_4_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556987 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059547} - m_LocalRotation: {x: 0.06346305, y: 0.02690912, z: -0.34170038, w: 0.93727756} - m_LocalPosition: {x: -0.027622592, y: -0.000017199962, z: -0.0002205184} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556985} - m_Father: {fileID: 9146872230401556989} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059549 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556989} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_R_4_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556989 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059549} - m_LocalRotation: {x: -0.2436301, y: -0.63380784, z: 0.670789, w: 0.2982854} - m_LocalPosition: {x: 0.053274773, y: -0.038048655, z: -0.008261472} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556987} - m_Father: {fileID: 9146872230401571671} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059551 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556991} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_R_3_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556991 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059551} - m_LocalRotation: {x: 0.2928076, y: 0.3751055, z: -0.5411931, w: 0.6933034} - m_LocalPosition: {x: -0.015186161, y: -0.0022192493, z: -0.0034999857} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556977} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059553 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556737} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_R_5_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556737 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059553} - m_LocalRotation: {x: 0.09538056, y: 0.057042472, z: -0.27977726, w: 0.9536107} - m_LocalPosition: {x: -0.028092034, y: -0.0077000246, z: 0.007538021} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556751} - m_Father: {fileID: 9146872230401556739} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059555 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556739} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_R_5_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556739 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059555} - m_LocalRotation: {x: 0.09728815, y: 0.35722435, z: 0.80637985, w: 0.46116954} - m_LocalPosition: {x: 0.05066242, y: -0.0375666, z: 0.0149903} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556737} - m_Father: {fileID: 9146872230401571671} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059557 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556741} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_R_4_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556741 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059557} - m_LocalRotation: {x: -0.03275043, y: -0.056331325, z: -0.50154847, w: 0.86267227} - m_LocalPosition: {x: -0.0052444558, y: -0.008547073, z: 0.0012899437} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556743} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059559 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556743} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_R_4_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556743 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059559} - m_LocalRotation: {x: 0.3984002, y: 0.24976471, z: 0.037433032, w: 0.881756} - m_LocalPosition: {x: -0.0053279675, y: -0.003021245, z: -0.0041626603} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556741} - m_Father: {fileID: 9146872230401556985} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059561 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556745} - m_Layer: 11 - m_Name: CLOTH_Else_BigRibon_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556745 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059561} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -1.5939289e-17, y: 0.030976996, z: -0.12007343} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572129} - - {fileID: 9146872230401572183} - - {fileID: 9146872230401572221} - - {fileID: 9146872230401571981} - m_Father: {fileID: 9146872230401571485} - m_RootOrder: 32 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059563 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556747} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_R_5_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556747 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059563} - m_LocalRotation: {x: -0.15085585, y: -0.31748837, z: -0.40178308, w: 0.845585} - m_LocalPosition: {x: -0.0036957127, y: -0.0037458125, z: 0.0042236284} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556749} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059565 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556749} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_R_5_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556749 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059565} - m_LocalRotation: {x: -0.015035845, y: -0.012408195, z: 0.006293759, w: 0.99979013} - m_LocalPosition: {x: -0.007154672, y: -0.00657324, z: 0.008099564} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556747} - m_Father: {fileID: 9146872230401556751} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059567 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556751} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_R_5_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556751 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059567} - m_LocalRotation: {x: -0.08095559, y: -0.07699082, z: 0.063618496, w: 0.99170125} - m_LocalPosition: {x: -0.013197516, y: -0.0060992423, z: 0.0134288175} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556749} - m_Father: {fileID: 9146872230401556737} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059569 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556753} - m_Layer: 11 - m_Name: ElseHAIR_socket - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556753 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059569} - 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: 9146872230401557471} - m_Father: {fileID: 9146872230401571505} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059571 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556755} - - component: {fileID: 9146872230388394547} - - component: {fileID: 1166674033915641098} - m_Layer: 11 - m_Name: Else_Face_geo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556755 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059571} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: -0.69858086, z: -0.011064615} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571509} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &9146872230388394547 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059571} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: a6bc30051d49c404e917851d634ec2e0, type: 2} - - {fileID: 2100000, guid: 74e272ec1629efb45bb6a72654404dc2, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - 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 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300214, guid: e0e31ad4796a7e043a94516275e896a7, type: 3} - m_Bones: - - {fileID: 9146872230401572133} - - {fileID: 9146872230401572309} - - {fileID: 9146872230401572227} - - {fileID: 9146872230401572225} - - {fileID: 9146872230401572301} - - {fileID: 9146872230401572237} - - {fileID: 9146872230401572233} - - {fileID: 9146872230401572247} - - {fileID: 9146872230401572235} - - {fileID: 9146872230401572115} - - {fileID: 9146872230401572307} - - {fileID: 9146872230401572319} - - {fileID: 9146872230401572317} - - {fileID: 9146872230401572305} - m_BlendShapeWeights: - - 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 - m_RootBone: {fileID: 9146872230401572133} - m_AABB: - m_Center: {x: 0, y: 0.21119696, z: 0.013945535} - m_Extent: {x: 0.14744908, y: 0.12795669, z: 0.09948814} - m_DirtyAABB: 0 ---- !u!114 &1166674033915641098 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059571} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ce4d76e30aa8c944e993e8a21d810620, type: 3} - m_Name: - m_EditorClassIdentifier: - faceSkin: {fileID: 9146872230388394547} - prefix: else_blendshape. - log: 0 - strengthMultiplier: 1 - blendShapeList: - - None - - else_blendshape.eye_batsume - - else_blendshape.Face_laugh - - else_blendshape.Face_puku - - else_blendshape.Face_awawa - - else_blendshape.Face_nipa - - else_blendshape.noseSneerRight - - else_blendshape.noseSneerLeft - - else_blendshape.mouthUpperUpRight - - else_blendshape.mouthUpperUpLeft - - else_blendshape.mouthLowerDownRight - - else_blendshape.mouthLowerDownLeft - - else_blendshape.mouthPressRight - - else_blendshape.mouthPressLeft - - else_blendshape.mouthStretchRight - - else_blendshape.mouthStretchLeft - - else_blendshape.mouthRight - - else_blendshape.mouthLeft - - else_blendshape.mouthDimpleRight - - else_blendshape.mouthDimpleLeft - - else_blendshape.mouthFrownRight - - else_blendshape.mouthFrownLeft - - else_blendshape.mouthFunnel - - else_blendshape.mouthPucker - - else_blendshape.mouthSmileRight - - else_blendshape.mouthSmileLeft - - else_blendshape.mouthClose - - else_blendshape.jawRight - - else_blendshape.jawLeft - - else_blendshape.jawOpen - - else_blendshape.jawForward - - else_blendshape.eyeLookUpRight - - else_blendshape.eyeLookUpLeft - - else_blendshape.eyeLookOutRight - - else_blendshape.eyeLookOutLeft - - else_blendshape.eyeLookInRight - - else_blendshape.eyeLookInLeft - - else_blendshape.eyeLookDownRight - - else_blendshape.eyeLookDownLeft - - else_blendshape.eyeSquintRight - - else_blendshape.eyeSquintLeft - - else_blendshape.eyeWideRight - - else_blendshape.eyeWideLeft - - else_blendshape.eyeBlinkRight - - else_blendshape.eyeBlinkLeft - - else_blendshape.cheekSquintRight - - else_blendshape.cheekSquintLeft - - else_blendshape.cheekPuff - - else_blendshape.browOuterUpRight - - else_blendshape.browOuterUpLeft - - else_blendshape.browDownRight - - else_blendshape.browDownLeft - - else_blendshape.browInnerUp - indexList: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 - bypass: 1 - replace: 1 - prevSkin: {fileID: 9146872230388394547} ---- !u!1 &9146872230402059573 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556757} - - component: {fileID: 9146872230388394549} - m_Layer: 11 - m_Name: Else_Body_geo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556757 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059573} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: -0.69858086, z: -0.011064615} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401571509} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &9146872230388394549 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059573} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 8031e60026885b34d9e635a4da6b91ab, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - 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 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300216, guid: e0e31ad4796a7e043a94516275e896a7, type: 3} - m_Bones: - - {fileID: 9146872230401572239} - - {fileID: 9146872230401572311} - - {fileID: 9146872230401572303} - - {fileID: 9146872230401572245} - - {fileID: 9146872230401572299} - - {fileID: 9146872230401572297} - - {fileID: 9146872230401572123} - - {fileID: 9146872230401572121} - - {fileID: 9146872230401572135} - - {fileID: 9146872230401572133} - - {fileID: 9146872230401572309} - - {fileID: 9146872230401572227} - - {fileID: 9146872230401572301} - - {fileID: 9146872230401572237} - - {fileID: 9146872230401572233} - - {fileID: 9146872230401572247} - - {fileID: 9146872230401572235} - - {fileID: 9146872230401572243} - - {fileID: 9146872230401572253} - - {fileID: 9146872230401572251} - - {fileID: 9146872230401572255} - - {fileID: 9146872230401572249} - - {fileID: 9146872230401572293} - - {fileID: 9146872230401572291} - - {fileID: 9146872230401572289} - - {fileID: 9146872230401572263} - - {fileID: 9146872230401572271} - - {fileID: 9146872230401572261} - - {fileID: 9146872230401572259} - - {fileID: 9146872230401572257} - - {fileID: 9146872230401572279} - - {fileID: 9146872230401572269} - - {fileID: 9146872230401572267} - - {fileID: 9146872230401572265} - - {fileID: 9146872230401572295} - - {fileID: 9146872230401572285} - - {fileID: 9146872230401572283} - - {fileID: 9146872230401572281} - - {fileID: 9146872230401572287} - - {fileID: 9146872230401572277} - - {fileID: 9146872230401572275} - - {fileID: 9146872230401572273} - - {fileID: 9146872230401572241} - - {fileID: 9146872230401572115} - - {fileID: 9146872230401572307} - - {fileID: 9146872230401572319} - - {fileID: 9146872230401572317} - - {fileID: 9146872230401572305} - - {fileID: 9146872230401572313} - - {fileID: 9146872230401572323} - - {fileID: 9146872230401572321} - - {fileID: 9146872230401572325} - - {fileID: 9146872230401572335} - - {fileID: 9146872230401572107} - - {fileID: 9146872230401572105} - - {fileID: 9146872230401572119} - - {fileID: 9146872230401572333} - - {fileID: 9146872230401572341} - - {fileID: 9146872230401572331} - - {fileID: 9146872230401572329} - - {fileID: 9146872230401572343} - - {fileID: 9146872230401572349} - - {fileID: 9146872230401572339} - - {fileID: 9146872230401572337} - - {fileID: 9146872230401572351} - - {fileID: 9146872230401572109} - - {fileID: 9146872230401572099} - - {fileID: 9146872230401572097} - - {fileID: 9146872230401572111} - - {fileID: 9146872230401572101} - - {fileID: 9146872230401572347} - - {fileID: 9146872230401572345} - - {fileID: 9146872230401572103} - - {fileID: 9146872230401572327} - - {fileID: 9146872230401572125} - - {fileID: 9146872230401572117} - - {fileID: 9146872230401572315} - - {fileID: 9146872230401572113} - - {fileID: 9146872230401572127} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 9146872230401572239} - m_AABB: - m_Center: {x: -0.000000029802322, y: -0.20904207, z: 0.031467415} - m_Extent: {x: 0.6022575, y: 0.5801532, z: 0.11125628} - m_DirtyAABB: 0 ---- !u!1 &9146872230402059577 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556761} - m_Layer: 11 - m_Name: HAIR_Hair_Ahoge_joint294 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556761 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059577} - m_LocalRotation: {x: -0.0032869063, y: -0.0055917758, z: 0.23184146, w: 0.97273195} - m_LocalPosition: {x: -0.051743053, y: -6.661338e-17, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556775} - m_Father: {fileID: 9146872230401556763} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059579 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556763} - m_Layer: 11 - m_Name: HAIR_Hair_Ahoge_joint293 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556763 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059579} - m_LocalRotation: {x: 0.0017742238, y: 0.011382348, z: 0.14230835, w: 0.98975533} - m_LocalPosition: {x: -0.046765316, y: -1.3461454e-17, z: 2.6645352e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556761} - m_Father: {fileID: 9146872230401556765} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059581 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556765} - m_Layer: 11 - m_Name: HAIR_Hair_Ahoge_joint292 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556765 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059581} - m_LocalRotation: {x: -0.0016318898, y: 0.010954587, z: 0.15902132, w: 0.9872131} - m_LocalPosition: {x: -0.0547092, y: -1.8873792e-17, z: 2.2204459e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556763} - m_Father: {fileID: 9146872230401556767} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059583 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556767} - m_Layer: 11 - m_Name: HAIR_Hair_Ahoge_joint291 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556767 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059583} - m_LocalRotation: {x: -0.031950355, y: 0.045193456, z: 0.3024958, w: 0.95154244} - m_LocalPosition: {x: -0.05148399, y: 0.0004852134, z: 0.004149091} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556765} - m_Father: {fileID: 9146872230401556781} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059585 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556769} - m_Layer: 11 - m_Name: HAIR_Hair_Ahoge_joint298 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556769 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059585} - m_LocalRotation: {x: -0.039306782, y: -0.062752046, z: -0.16244029, w: 0.9839362} - m_LocalPosition: {x: -0.04280382, y: 1.2934098e-16, z: 1.7763568e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556783} - m_Father: {fileID: 9146872230401556771} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059587 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556771} - m_Layer: 11 - m_Name: HAIR_Hair_Ahoge_joint297 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556771 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059587} - m_LocalRotation: {x: -0.1427092, y: -0.07711908, z: -0.3403478, w: 0.926202} - m_LocalPosition: {x: -0.04816075, y: 1.2823076e-16, z: -5.9258154e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556769} - m_Father: {fileID: 9146872230401556773} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059589 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556773} - m_Layer: 11 - m_Name: HAIR_Hair_Ahoge_joint296 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556773 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059589} - m_LocalRotation: {x: 0.9017354, y: 0.24103859, z: -0.04221411, w: -0.35635892} - m_LocalPosition: {x: -0.047001302, y: -1.4543921e-16, z: -1.6653344e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556771} - m_Father: {fileID: 9146872230401556775} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059591 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556775} - m_Layer: 11 - m_Name: HAIR_Hair_Ahoge_joint295 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556775 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059591} - m_LocalRotation: {x: -0.01573267, y: -0.010585481, z: 0.2115035, w: 0.9771933} - m_LocalPosition: {x: -0.05320483, y: 2.6201262e-16, z: -5.1070257e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556773} - m_Father: {fileID: 9146872230401556761} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059593 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556777} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint368 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556777 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059593} - m_LocalRotation: {x: -0.016433682, y: -0.004903668, z: 0.07224572, w: 0.9972394} - m_LocalPosition: {x: -0.041339576, y: -7.632783e-19, z: 6.938894e-20} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556791} - m_Father: {fileID: 9146872230401556779} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059595 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556779} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint367 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556779 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059595} - m_LocalRotation: {x: 0.009974138, y: 0.01444707, z: 0.5680561, w: 0.82280254} - m_LocalPosition: {x: -0.08425686, y: -0.046128742, z: -0.08399798} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556777} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059597 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556781} - m_Layer: 11 - m_Name: HAIR_Hair_Ahoge_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556781 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059597} - m_LocalRotation: {x: -0.39001837, y: 0.784061, z: -0.21504444, w: 0.43230778} - m_LocalPosition: {x: -0.0038207695, y: 0.015906928, z: -0.04190892} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556767} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059599 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556783} - m_Layer: 11 - m_Name: HAIR_Hair_Ahoge_joint299 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556783 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059599} - m_LocalRotation: {x: 0.06213289, y: 0.3097099, z: -0.1866261, w: 0.9302634} - m_LocalPosition: {x: -0.01377738, y: 1.3100631e-16, z: 1.1657341e-16} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556769} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059601 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556785} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint372 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556785 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059601} - m_LocalRotation: {x: 0.96924525, y: 0.043829005, z: 0.004055204, w: -0.24212855} - m_LocalPosition: {x: -0.030057807, y: 5.9674484e-18, z: 2.2204459e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556799} - m_Father: {fileID: 9146872230401556787} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059603 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556787} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint371 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556787 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059603} - m_LocalRotation: {x: -0.8387921, y: -0.04722463, z: 0.015076245, w: 0.5421904} - m_LocalPosition: {x: -0.024725521, y: 3.205769e-17, z: -1.8873792e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556785} - m_Father: {fileID: 9146872230401556789} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059605 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556789} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint370 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556789 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059605} - m_LocalRotation: {x: 0.4386161, y: 0.044512197, z: 0.015344692, w: 0.8974403} - m_LocalPosition: {x: -0.027695231, y: -9.5158255e-17, z: -2.879641e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556787} - m_Father: {fileID: 9146872230401556791} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059607 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556791} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint369 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556791 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059607} - m_LocalRotation: {x: -0.0494699, y: -0.008387342, z: 0.049630564, w: 0.9975065} - m_LocalPosition: {x: -0.027173601, y: 6.228325e-17, z: 1.9909203e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556789} - m_Father: {fileID: 9146872230401556777} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059609 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556793} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint376 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556793 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059609} - m_LocalRotation: {x: -0.028901875, y: -0.03783513, z: 0.60635257, w: 0.7937694} - m_LocalPosition: {x: -0.07566251, y: -0.049469274, z: -0.09803266} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556807} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059611 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556795} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint375 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556795 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059611} - m_LocalRotation: {x: 0.41452804, y: 0.909924, z: -0.0059338077, w: 0.013025207} - m_LocalPosition: {x: -0.01313359, y: -4.6708514e-17, z: 1.0061396e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556797} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059613 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556797} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint374 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556797 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059613} - m_LocalRotation: {x: 0.08473575, y: 0.049791496, z: -0.18266082, w: 0.97825134} - m_LocalPosition: {x: -0.02240097, y: -2.3002432e-17, z: 1.9151347e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556795} - m_Father: {fileID: 9146872230401556799} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059615 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556799} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint373 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556799 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059615} - m_LocalRotation: {x: 0.25363404, y: 0.052550364, z: -0.13704094, w: 0.9561004} - m_LocalPosition: {x: -0.020259675, y: -2.0261569e-17, z: -2.019218e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556797} - m_Father: {fileID: 9146872230401556785} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059617 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556801} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint380 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556801 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059617} - m_LocalRotation: {x: 0.62407845, y: 0.024645753, z: 0.003307277, w: 0.7809659} - m_LocalPosition: {x: -0.023637254, y: 1.2490009e-17, z: -3.670675e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556815} - m_Father: {fileID: 9146872230401556803} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059619 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556803} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint379 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556803 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059619} - m_LocalRotation: {x: 0.24381109, y: 0.01576637, z: 0.020236703, w: 0.96948344} - m_LocalPosition: {x: -0.027500808, y: 0, z: 3.6082247e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556801} - m_Father: {fileID: 9146872230401556805} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059621 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556805} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint378 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556805 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059621} - m_LocalRotation: {x: 0.047753848, y: 0.0056227664, z: 0.031715985, w: 0.99833965} - m_LocalPosition: {x: -0.024316043, y: -7.6327835e-18, z: -3.9412916e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556803} - m_Father: {fileID: 9146872230401556807} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059623 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556807} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint377 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556807 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059623} - m_LocalRotation: {x: 0.2930443, y: 0.06170943, z: 0.055864263, w: 0.95246845} - m_LocalPosition: {x: -0.04313565, y: -5.1000867e-18, z: -6.9388935e-19} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556805} - m_Father: {fileID: 9146872230401556793} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059625 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556809} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint384 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556809 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059625} - m_LocalRotation: {x: 0.5580496, y: 0.790632, z: 0.14529102, w: -0.20584501} - m_LocalPosition: {x: -0.0108039165, y: 2.345346e-17, z: -8.4654504e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556811} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059627 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556811} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint383 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556811 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059627} - m_LocalRotation: {x: -0.6487014, y: -0.211641, z: -0.01913524, w: 0.73077255} - m_LocalPosition: {x: -0.024738483, y: -4.6074255e-17, z: -4.9960034e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556809} - m_Father: {fileID: 9146872230401556813} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059629 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556813} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint382 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556813 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059629} - m_LocalRotation: {x: -0.22854999, y: -0.045336887, z: -0.09065927, w: 0.96824086} - m_LocalPosition: {x: -0.024815392, y: -3.8857806e-18, z: 4.614364e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556811} - m_Father: {fileID: 9146872230401556815} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059631 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556815} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint381 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556815 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059631} - m_LocalRotation: {x: 0.87809044, y: 0.060552526, z: -0.015951924, w: 0.4743798} - m_LocalPosition: {x: -0.032359, y: 1.8596234e-17, z: 1.4710454e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556813} - m_Father: {fileID: 9146872230401556801} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059633 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556817} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint388 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556817 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059633} - m_LocalRotation: {x: 0.68555605, y: 0.034662027, z: 0.008059566, w: 0.72714955} - m_LocalPosition: {x: -0.022452498, y: 3.8753723e-17, z: -5.3360095e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556831} - m_Father: {fileID: 9146872230401556819} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059635 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556819} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint387 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556819 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059635} - m_LocalRotation: {x: 0.19661324, y: 0.020462908, z: 0.04125985, w: 0.9793989} - m_LocalPosition: {x: -0.026393622, y: 2.0079425e-18, z: 5.0653923e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556817} - m_Father: {fileID: 9146872230401556821} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059637 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556821} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint386 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556821 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059637} - m_LocalRotation: {x: 0.2075544, y: 0.041077223, z: 0.048437033, w: 0.9761597} - m_LocalPosition: {x: -0.043635577, y: 5.9674484e-18, z: 3.8857806e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556819} - m_Father: {fileID: 9146872230401556823} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059639 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556823} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint385 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556823 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059639} - m_LocalRotation: {x: -0.1014344, y: -0.12991297, z: 0.6070007, w: 0.7774213} - m_LocalPosition: {x: -0.061165933, y: -0.05185925, z: -0.10928473} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556821} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059641 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556825} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint392 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556825 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059641} - m_LocalRotation: {x: -0.57990307, y: -0.1405847, z: -0.082555875, w: 0.7982061} - m_LocalPosition: {x: -0.023450997, y: 2.0816682e-17, z: 2.2204459e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556839} - m_Father: {fileID: 9146872230401556827} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059643 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556827} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint391 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556827 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059643} - m_LocalRotation: {x: -0.32649735, y: -0.035870384, z: -0.023944456, w: 0.9442137} - m_LocalPosition: {x: -0.024806675, y: 1.2934098e-16, z: -1.2129186e-16} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556825} - m_Father: {fileID: 9146872230401556829} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059645 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556829} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint390 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556829 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059645} - m_LocalRotation: {x: -0.044631578, y: -0.0035642015, z: -0.0043780906, w: 0.99898756} - m_LocalPosition: {x: -0.030135887, y: -1.5543122e-17, z: -1.3877787e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556827} - m_Father: {fileID: 9146872230401556831} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059647 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556831} - m_Layer: 11 - m_Name: HAIR_Hair_BLeft_joint389 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556831 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059647} - m_LocalRotation: {x: 0.92909384, y: 0.053361036, z: -0.0065638693, w: 0.36591557} - m_LocalPosition: {x: -0.026180867, y: -2.5118795e-17, z: 1.6514567e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556829} - m_Father: {fileID: 9146872230401556817} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059649 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572449} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_4_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572449 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059649} - m_LocalRotation: {x: -0.057764262, y: -0.07393753, z: -0.6129319, w: 0.7845451} - m_LocalPosition: {x: -0.030137055, y: 1.6896206e-17, z: 8.881784e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572451} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059651 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572451} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_4_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572451 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059651} - m_LocalRotation: {x: 0.88713187, y: 0.411043, z: -0.03953283, w: -0.2061017} - m_LocalPosition: {x: -0.019208334, y: -9.381384e-17, z: 1.5543122e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572449} - m_Father: {fileID: 9146872230401572453} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059653 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572453} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_4_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572453 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059653} - m_LocalRotation: {x: 0.869402, y: 0.4921049, z: -0.0048026857, w: 0.04415734} - m_LocalPosition: {x: -0.02909603, y: -3.216177e-17, z: -2.5535128e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572451} - m_Father: {fileID: 9146872230401572455} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059655 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572455} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_4_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572455 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059655} - m_LocalRotation: {x: 0.96265584, y: 0.26305908, z: -0.008926721, w: 0.06335618} - m_LocalPosition: {x: -0.036676932, y: -5.299038e-19, z: -2.2429973e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572453} - m_Father: {fileID: 9146872230401572441} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059657 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572457} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_5_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572457 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059657} - m_LocalRotation: {x: 0.91986936, y: 0.38950795, z: -0.0043812194, w: -0.04587861} - m_LocalPosition: {x: -0.025536912, y: -1.2878587e-16, z: -3.330669e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572471} - m_Father: {fileID: 9146872230401572459} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059659 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572459} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_5_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572459 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059659} - m_LocalRotation: {x: 0.94981813, y: 0.29268235, z: 0.02158625, w: -0.10824318} - m_LocalPosition: {x: -0.0313617, y: -3.0531133e-18, z: -4.0523138e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572457} - m_Father: {fileID: 9146872230401572461} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059661 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572461} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_5_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572461 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059661} - m_LocalRotation: {x: 0.95631343, y: 0.2664845, z: 0.020301132, w: 0.1184845} - m_LocalPosition: {x: -0.038634725, y: 5.5511148e-18, z: -6.661338e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572459} - m_Father: {fileID: 9146872230401572463} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059663 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572463} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_5_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572463 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059663} - m_LocalRotation: {x: -0.20593384, y: -0.32508627, z: 0.49392617, w: 0.7797097} - m_LocalPosition: {x: -0.08221975, y: -0.0046333023, z: -0.06651929} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572461} - m_Father: {fileID: 9146872230401571487} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059665 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572465} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_6_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572465 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059665} - m_LocalRotation: {x: -0.20691255, y: -0.50558823, z: 0.31724793, w: 0.7751913} - m_LocalPosition: {x: -0.035811994, y: -0.010500692, z: -0.08697957} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572479} - m_Father: {fileID: 9146872230401571487} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059667 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572467} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_5_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572467 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059667} - m_LocalRotation: {x: 0.18795459, y: 0.25126687, z: -0.568736, w: 0.760314} - m_LocalPosition: {x: -0.025988461, y: -4.0523138e-17, z: 1.6653344e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401572469} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059669 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572469} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_5_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572469 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059669} - m_LocalRotation: {x: 0.07978879, y: 0.030270303, z: 0.07593253, w: 0.99345446} - m_LocalPosition: {x: -0.019124681, y: 7.382983e-17, z: 3.9968027e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572467} - m_Father: {fileID: 9146872230401572471} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059671 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572471} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_5_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572471 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059671} - m_LocalRotation: {x: 0.9305835, y: 0.36320513, z: -0.0030551946, w: 0.04568554} - m_LocalPosition: {x: -0.02783235, y: 3.2196467e-17, z: -5.551115e-19} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572469} - m_Father: {fileID: 9146872230401572457} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059673 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572473} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_6_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572473 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059673} - m_LocalRotation: {x: 0.55776006, y: 0.82996404, z: 0.0009935034, w: 0.007901233} - m_LocalPosition: {x: -0.04224601, y: -6.4392934e-17, z: -3.5527136e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556871} - m_Father: {fileID: 9146872230401572475} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059675 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572475} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_6_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572475 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059675} - m_LocalRotation: {x: 0.56824654, y: 0.8225942, z: 0.0028660644, w: -0.020651516} - m_LocalPosition: {x: -0.03159499, y: 5.3290704e-17, z: -3.330669e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572473} - m_Father: {fileID: 9146872230401572477} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059677 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572477} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_6_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572477 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059677} - m_LocalRotation: {x: 0.83985156, y: 0.4990003, z: 0.06155792, w: -0.2045942} - m_LocalPosition: {x: -0.035593595, y: 5.884182e-17, z: -3.316791e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572475} - m_Father: {fileID: 9146872230401572479} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059679 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401572479} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_6_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401572479 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059679} - m_LocalRotation: {x: 0.8357523, y: 0.47726187, z: 0.07374341, w: 0.26134497} - m_LocalPosition: {x: -0.032705076, y: 8.881784e-18, z: 6.661338e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401572477} - m_Father: {fileID: 9146872230401572465} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059681 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556865} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_7_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556865 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059681} - m_LocalRotation: {x: 0.8357523, y: 0.47726187, z: 0.07374341, w: 0.26134497} - m_LocalPosition: {x: -0.027299695, y: -0.005314406, z: -0.01720772} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556879} - m_Father: {fileID: 9146872230401556867} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059683 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556867} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_7_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556867 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059683} - m_LocalRotation: {x: -0.20691255, y: -0.50558823, z: 0.31724793, w: 0.7751913} - m_LocalPosition: {x: 0.035811994, y: -0.010500692, z: -0.08697957} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556865} - m_Father: {fileID: 9146872230401571487} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059685 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556869} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_6_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556869 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059685} - m_LocalRotation: {x: 0.3427118, y: 0.4590404, z: -0.49035412, w: 0.6567978} - m_LocalPosition: {x: -0.028696768, y: -8.2156505e-17, z: -7.771561e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556871} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059687 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556871} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_6_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556871 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059687} - m_LocalRotation: {x: 0.012398321, y: 0.007966027, z: 0.27912644, w: 0.9601413} - m_LocalPosition: {x: -0.036612332, y: 5.3290704e-17, z: -1.3544721e-16} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556869} - m_Father: {fileID: 9146872230401572473} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059689 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556873} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_7_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556873 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059689} - m_LocalRotation: {x: 0.012398321, y: 0.007966027, z: 0.27912644, w: 0.9601413} - m_LocalPosition: {x: -0.032460593, y: -0.0036178418, z: -0.016543396} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556887} - m_Father: {fileID: 9146872230401556875} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059691 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556875} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_7_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556875 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059691} - m_LocalRotation: {x: 0.55776006, y: 0.82996404, z: 0.0009935034, w: 0.007901233} - m_LocalPosition: {x: -0.0348666, y: -0.0037171834, z: -0.023563279} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556873} - m_Father: {fileID: 9146872230401556877} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059693 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556877} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_7_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556877 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059693} - m_LocalRotation: {x: 0.56824654, y: 0.8225942, z: 0.0028660644, w: -0.020651516} - m_LocalPosition: {x: -0.028684268, y: -0.0026707228, z: -0.012973954} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556875} - m_Father: {fileID: 9146872230401556879} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059695 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556879} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_7_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556879 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059695} - m_LocalRotation: {x: 0.83985156, y: 0.4990003, z: 0.06155792, w: -0.2045942} - m_LocalPosition: {x: -0.035518352, y: -0.00030241942, z: 0.0022932722} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556877} - m_Father: {fileID: 9146872230401556865} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059697 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556881} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_8_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556881 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059697} - m_LocalRotation: {x: 0.94981813, y: 0.29268235, z: 0.02158625, w: -0.10824318} - m_LocalPosition: {x: -0.031189699, y: -0.0016792562, z: -0.0028176382} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556895} - m_Father: {fileID: 9146872230401556883} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059699 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556883} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_8_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556883 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059699} - m_LocalRotation: {x: 0.95631343, y: 0.2664845, z: 0.020301132, w: 0.1184845} - m_LocalPosition: {x: -0.031647436, y: -0.014786019, z: -0.016506225} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556881} - m_Father: {fileID: 9146872230401556885} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059701 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556885} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_8_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556885 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059701} - m_LocalRotation: {x: -0.20593384, y: -0.32508627, z: 0.49392617, w: 0.7797097} - m_LocalPosition: {x: 0.08221975, y: -0.0046333023, z: -0.06651929} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556883} - m_Father: {fileID: 9146872230401571487} - m_RootOrder: 7 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059703 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556887} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_7_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556887 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059703} - m_LocalRotation: {x: 0.3427118, y: 0.4590404, z: -0.49035412, w: 0.6567978} - m_LocalPosition: {x: -0.028149273, y: -0.0018469872, z: -0.0052641802} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556873} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059705 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556889} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_8_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556889 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059705} - m_LocalRotation: {x: 0.18795459, y: 0.25126687, z: -0.568736, w: 0.760314} - m_LocalPosition: {x: -0.023314655, y: -0.009081895, z: -0.0070246784} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556891} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059707 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556891} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_8_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556891 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059707} - m_LocalRotation: {x: 0.07978879, y: 0.030270303, z: 0.07593253, w: 0.99345446} - m_LocalPosition: {x: -0.01583595, y: -0.0070058685, z: -0.008117507} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556889} - m_Father: {fileID: 9146872230401556893} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059709 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556893} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_8_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556893 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059709} - m_LocalRotation: {x: 0.9305835, y: 0.36320513, z: -0.0030551946, w: 0.04568554} - m_LocalPosition: {x: -0.024977269, y: -0.009058086, z: -0.008290163} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556891} - m_Father: {fileID: 9146872230401556895} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059711 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556895} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_8_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556895 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059711} - m_LocalRotation: {x: 0.91986936, y: 0.38950795, z: -0.0043812194, w: -0.04587861} - m_LocalPosition: {x: -0.020040635, y: -0.010163183, z: -0.012133277} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556893} - m_Father: {fileID: 9146872230401556881} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059713 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556897} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_9_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556897 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059713} - m_LocalRotation: {x: 0.96265584, y: 0.26305908, z: -0.008926721, w: 0.06335618} - m_LocalPosition: {x: -0.03550467, y: -0.009197163, z: -0.00016704627} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556911} - m_Father: {fileID: 9146872230401556899} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059715 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556899} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_9_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556899 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059715} - m_LocalRotation: {x: 0.8944612, y: 0.4229883, z: -0.04491203, w: -0.13785127} - m_LocalPosition: {x: -0.0032822853, y: -0.020570487, z: -0.009031275} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556897} - m_Father: {fileID: 9146872230401556901} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059717 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556901} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_9_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556901 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059717} - m_LocalRotation: {x: -0.09980055, y: -0.077790245, z: -0.09369827, w: 0.98752683} - m_LocalPosition: {x: -0.013438567, y: -0.02865036, z: -0.0018792059} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556899} - m_Father: {fileID: 9146872230401556903} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059719 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556903} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_9_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556903 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059719} - m_LocalRotation: {x: -0.013283341, y: -0.024219746, z: 0.48069212, w: 0.87645423} - m_LocalPosition: {x: 0.1068477, y: -0.0053688926, z: -0.025466481} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556901} - m_Father: {fileID: 9146872230401571487} - m_RootOrder: 8 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059721 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556905} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_L_1_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556905 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059721} - m_LocalRotation: {x: 0.18689725, y: 0.14833128, z: 0.11098884, w: 0.9647532} - m_LocalPosition: {x: -0.060579643, y: 0.010123035, z: 0.027514316} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556919} - m_Father: {fileID: 9146872230401571585} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059723 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556907} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_9_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556907 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059723} - m_LocalRotation: {x: -0.057764262, y: -0.07393753, z: -0.6129319, w: 0.7845451} - m_LocalPosition: {x: -0.02673162, y: -0.013656437, z: 0.002676631} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556909} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059725 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556909} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_9_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556909 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059725} - m_LocalRotation: {x: 0.88713187, y: 0.411043, z: -0.03953283, w: -0.2061017} - m_LocalPosition: {x: -0.006824509, y: -0.017222313, z: -0.0050772163} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556907} - m_Father: {fileID: 9146872230401556911} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059727 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556911} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Pant_9_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556911 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059727} - m_LocalRotation: {x: 0.869402, y: 0.4921049, z: -0.0048026857, w: 0.04415734} - m_LocalPosition: {x: -0.020181669, y: -0.020695169, z: -0.0033149894} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556909} - m_Father: {fileID: 9146872230401556897} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059729 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556913} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_L_2_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556913 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059729} - m_LocalRotation: {x: -0.011641397, y: -0.010668733, z: 0.04355062, w: 0.99892646} - m_LocalPosition: {x: -0.07977143, y: 0.049341667, z: -0.003767561} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556927} - m_Father: {fileID: 9146872230401571585} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059731 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556915} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_L_1_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556915 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059731} - m_LocalRotation: {x: -0.1571427, y: -0.23085992, z: -0.54030895, w: 0.7937733} - m_LocalPosition: {x: -0.031906556, y: 7.438494e-17, z: 2.3314683e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556917} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059733 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556917} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_L_1_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556917 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059733} - m_LocalRotation: {x: -0.07927777, y: -0.038859032, z: 0.07984027, w: 0.99289} - m_LocalPosition: {x: -0.032233424, y: -5.2180482e-17, z: 6.328271e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556915} - m_Father: {fileID: 9146872230401556919} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059735 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556919} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_L_1_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556919 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059735} - m_LocalRotation: {x: 0.11120421, y: 0.06759251, z: 0.010079007, w: 0.99144506} - m_LocalPosition: {x: -0.02284009, y: 1.6653345e-18, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556917} - m_Father: {fileID: 9146872230401556905} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059737 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556921} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_L_2_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556921 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059737} - m_LocalRotation: {x: -0.0026152679, y: -0.018472916, z: -0.1401509, w: 0.98995435} - m_LocalPosition: {x: -0.030387737, y: -2.0725607e-17, z: 2.4980017e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556923} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059739 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556923} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_L_2_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556923 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059739} - m_LocalRotation: {x: 0.0042778337, y: 0.011609958, z: -0.07168289, w: 0.99735075} - m_LocalPosition: {x: -0.038577743, y: -6.941604e-19, z: 3.538836e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556921} - m_Father: {fileID: 9146872230401556925} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059741 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556925} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_L_2_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556925 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059741} - m_LocalRotation: {x: 0.003704813, y: 0.009321582, z: 0.04645615, w: 0.99887} - m_LocalPosition: {x: -0.026680693, y: -1.4336465e-16, z: 4.3021143e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556923} - m_Father: {fileID: 9146872230401556927} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059743 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556927} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_L_2_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556927 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059743} - m_LocalRotation: {x: 0.0068227346, y: 0.009926216, z: -0.2670549, w: 0.96360606} - m_LocalPosition: {x: -0.020500124, y: -3.577867e-18, z: -1.3877787e-19} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556925} - m_Father: {fileID: 9146872230401556913} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059745 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556929} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_L_3_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556929 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059745} - m_LocalRotation: {x: 0.101002544, y: 0.04577718, z: 0.17825596, w: 0.97771555} - m_LocalPosition: {x: -0.015711598, y: 1.4210854e-16, z: -5.3290704e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556943} - m_Father: {fileID: 9146872230401556931} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059747 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556931} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_L_3_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556931 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059747} - m_LocalRotation: {x: -0.03427926, y: -0.026338477, z: 0.04920303, w: 0.99785286} - m_LocalPosition: {x: -0.018800119, y: -0.001458817, z: 0.0019673612} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556929} - m_Father: {fileID: 9146872230401556933} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059749 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556933} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_L_3_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556933 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059749} - m_LocalRotation: {x: -0.43047404, y: -0.27147296, z: -0.12162737, w: 0.8521745} - m_LocalPosition: {x: -0.016462548, y: 0.0003136457, z: 0.0018723296} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556931} - m_Father: {fileID: 9146872230401556935} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059751 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556935} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_L_3_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556935 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059751} - m_LocalRotation: {x: -0.024604488, y: -0.016946362, z: 0.18117358, w: 0.98299724} - m_LocalPosition: {x: -0.065842584, y: 0.002749609, z: -0.040887155} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556933} - m_Father: {fileID: 9146872230401571585} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059753 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556937} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_L_4_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556937 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059753} - m_LocalRotation: {x: 0.19526246, y: 0.15677921, z: 0.07168357, w: 0.9654814} - m_LocalPosition: {x: -0.015520018, y: 1.04360964e-16, z: -7.771561e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556951} - m_Father: {fileID: 9146872230401556939} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059755 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556939} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_L_4_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556939 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059755} - m_LocalRotation: {x: 0.06346305, y: 0.02690912, z: -0.34170038, w: 0.93727756} - m_LocalPosition: {x: -0.027623476, y: -1.9428903e-18, z: -4.1980305e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556937} - m_Father: {fileID: 9146872230401556941} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059757 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556941} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_L_4_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556941 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059757} - m_LocalRotation: {x: -0.6204423, y: -0.27589732, z: 0.2633998, w: 0.6852391} - m_LocalPosition: {x: -0.053271517, y: -0.03804536, z: -0.008261476} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556939} - m_Father: {fileID: 9146872230401571585} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059759 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556943} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_L_3_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556943 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059759} - m_LocalRotation: {x: 0.2928076, y: 0.3751055, z: -0.5411931, w: 0.6933034} - m_LocalPosition: {x: -0.015741488, y: 2.1316282e-16, z: -3.5527136e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556929} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059761 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556945} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_L_5_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556945 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059761} - m_LocalRotation: {x: 0.09538056, y: 0.057042472, z: -0.27977726, w: 0.9536107} - m_LocalPosition: {x: -0.03008778, y: -5.5511148e-18, z: 6.661338e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556959} - m_Father: {fileID: 9146872230401556947} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059763 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556947} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_L_5_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556947 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059763} - m_LocalRotation: {x: 0.32138887, y: 0.18380266, z: 0.24410056, w: 0.8962928} - m_LocalPosition: {x: -0.050659165, y: -0.037563305, z: 0.014990297} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556945} - m_Father: {fileID: 9146872230401571585} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059765 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556949} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_L_4_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556949 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059765} - m_LocalRotation: {x: -0.03275043, y: -0.056331325, z: -0.50154847, w: 0.86267227} - m_LocalPosition: {x: -0.010110427, y: -1.3717325e-16, z: 4.371503e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556951} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059767 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556951} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_L_4_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556951 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059767} - m_LocalRotation: {x: 0.3984002, y: 0.24976471, z: 0.037433032, w: 0.881756} - m_LocalPosition: {x: -0.007405599, y: 4.4686477e-17, z: -1.9151347e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556949} - m_Father: {fileID: 9146872230401556937} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059769 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556953} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_R_1_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556953 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059769} - m_LocalRotation: {x: 0.027270248, y: 0.23704238, z: 0.7606645, w: 0.6037026} - m_LocalPosition: {x: 0.0605829, y: 0.010119742, z: 0.027514322} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556967} - m_Father: {fileID: 9146872230401571671} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059771 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556955} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_L_5_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556955 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059771} - m_LocalRotation: {x: -0.15085585, y: -0.31748837, z: -0.40178308, w: 0.845585} - m_LocalPosition: {x: -0.0067474763, y: 7.521761e-17, z: -2.6090241e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556957} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059773 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556957} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_L_5_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556957 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059773} - m_LocalRotation: {x: -0.015035845, y: -0.012408195, z: 0.006293759, w: 0.99979013} - m_LocalPosition: {x: -0.0126491, y: -5.606626e-17, z: -1.6098233e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556955} - m_Father: {fileID: 9146872230401556959} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059775 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556959} - m_Layer: 11 - m_Name: CLOTH_CLOTH_Shoulder_L_5_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556959 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059775} - m_LocalRotation: {x: -0.08095559, y: -0.07699082, z: 0.063618496, w: 0.99170125} - m_LocalPosition: {x: -0.019791622, y: 1.9984014e-17, z: 2.4424906e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556957} - m_Father: {fileID: 9146872230401556945} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059777 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557217} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_R_Crystal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557217 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059777} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.05494341, y: -0.0008200509, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557219} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059779 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557219} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_R_Ball - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557219 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059779} - m_LocalRotation: {x: 1, y: -0, z: 0, w: 0.00000001048442} - m_LocalPosition: {x: 0.059847686, y: -0.0013424054, z: 0.0024095066} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557217} - m_Father: {fileID: 9146872230401572205} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059781 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557221} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_L_Crystal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557221 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059781} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.05494341, y: -0.0008200509, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557223} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059783 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557223} - m_Layer: 11 - m_Name: CLOTH_CLOTH_BigRibon_L_Ball - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557223 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059783} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.059850916, y: 0.0013426979, z: -0.0024096647} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557221} - m_Father: {fileID: 9146872230401572167} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059785 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557225} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ChestRibbon_Left_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557225 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059785} - m_LocalRotation: {x: 0.09913123, y: 0.07290125, z: 0.007469269, w: 0.9923722} - m_LocalPosition: {x: -0.0124982, y: -7.105427e-17, z: -3.5527136e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557239} - m_Father: {fileID: 9146872230401557227} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059787 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557227} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ChestRibbon_Left_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557227 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059787} - m_LocalRotation: {x: 0.032595795, y: 0.018038243, z: -0.13566068, w: 0.9900547} - m_LocalPosition: {x: -0.01495318, y: 0, z: 7.105427e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557225} - m_Father: {fileID: 9146872230401557229} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059789 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557229} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ChestRibbon_Left_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557229 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059789} - m_LocalRotation: {x: 0.0012627651, y: 0.002846118, z: 0.70607334, w: 0.70813185} - m_LocalPosition: {x: -0.0012361053, y: -0.011889464, z: -0.0010379973} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557227} - m_Father: {fileID: 9146872230401557245} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059791 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557231} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ChestMedal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557231 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059791} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 1.238372e-12, y: 0.033438917, z: 0.11417743} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557245} - - {fileID: 9146872230401557003} - m_Father: {fileID: 9146872230401571483} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059793 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557233} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ChestRibbon_Left_Ring_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557233 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059793} - m_LocalRotation: {x: -0.090844095, y: -0.36013693, z: -0.076191925, w: 0.92533433} - m_LocalPosition: {x: -0.016463807, y: 0.0023633963, z: -0.003553627} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557247} - m_Father: {fileID: 9146872230401557235} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059795 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557235} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ChestRibbon_Left_Ring_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557235 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059795} - m_LocalRotation: {x: -0.06982702, y: -0.17395806, z: -0.05151175, w: 0.9809227} - m_LocalPosition: {x: -0.012090038, y: 0.0019761713, z: -0.010246538} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557233} - m_Father: {fileID: 9146872230401557237} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059797 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557237} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ChestRibbon_Left_Ring_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557237 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059797} - m_LocalRotation: {x: 0.011677776, y: 0.3442314, z: 0.36582252, w: 0.86460525} - m_LocalPosition: {x: -0.009400522, y: 0.0018145005, z: 0.0007493485} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557235} - m_Father: {fileID: 9146872230401557245} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059799 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557239} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ChestRibbon_Left_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557239 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059799} - m_LocalRotation: {x: -0.046446826, y: -0.15625232, z: -0.60124123, w: 0.78226393} - m_LocalPosition: {x: -0.012873969, y: -1.4210854e-16, z: 7.105427e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557225} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059801 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557241} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ChestRibbon_Right_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557241 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059801} - m_LocalRotation: {x: 0.032595795, y: 0.018038243, z: -0.13566068, w: 0.9900547} - m_LocalPosition: {x: 0.014957641, y: 0.0000017357486, z: 0.0000002601307} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556999} - m_Father: {fileID: 9146872230401557243} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059803 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557243} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ChestRibbon_Right_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557243 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059803} - m_LocalRotation: {x: 0.0012627651, y: 0.002846118, z: 0.70607334, w: 0.70813185} - m_LocalPosition: {x: 0.0012388154, y: 0.011882289, z: 0.0010380346} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557241} - m_Father: {fileID: 9146872230401557003} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059805 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557245} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ChestRibbon_Left_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557245 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059805} - m_LocalRotation: {x: -0.013364611, y: 0.07214165, z: -0.18166484, w: 0.9806196} - m_LocalPosition: {x: -0.0052824253, y: -0.00018080024, z: -0.0000036440888} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557229} - - {fileID: 9146872230401557237} - m_Father: {fileID: 9146872230401557231} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059807 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557247} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ChestRibbon_Left_Ring_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557247 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059807} - m_LocalRotation: {x: 0.011824029, y: 0.14304897, z: -0.081523284, w: 0.9862815} - m_LocalPosition: {x: -0.013606047, y: -0.004782988, z: 0.010402656} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557233} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059809 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556993} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ChestRibbon_Right_Ring_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556993 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059809} - m_LocalRotation: {x: -0.06982702, y: -0.17395806, z: -0.05151175, w: 0.9809227} - m_LocalPosition: {x: 0.012093399, y: -0.0019700737, z: 0.010246023} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557007} - m_Father: {fileID: 9146872230401556995} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059811 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556995} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ChestRibbon_Right_Ring_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556995 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059811} - m_LocalRotation: {x: 0.011677776, y: 0.3442314, z: 0.36582252, w: 0.86460525} - m_LocalPosition: {x: 0.0094035175, y: -0.0018224452, z: -0.00074888504} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556993} - m_Father: {fileID: 9146872230401557003} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059813 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556997} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ChestRibbon_Right_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556997 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059813} - m_LocalRotation: {x: -0.046446826, y: -0.15625232, z: -0.60124123, w: 0.78226393} - m_LocalPosition: {x: 0.012874367, y: 0.0000002909503, z: 0.00000002725721} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556999} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059815 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556999} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ChestRibbon_Right_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556999 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059815} - m_LocalRotation: {x: 0.09913123, y: 0.07290125, z: 0.007469269, w: 0.9923722} - m_LocalPosition: {x: 0.012496851, y: -0.0000009625546, z: -0.000000034419124} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556997} - m_Father: {fileID: 9146872230401557241} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059817 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557001} - m_Layer: 11 - m_Name: CLOTH_CLOTH_LeftLegRibbon_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557001 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059817} - m_LocalRotation: {x: 0.19971412, y: 0.9673898, z: -0.08368764, w: -0.13140655} - m_LocalPosition: {x: 0.01947792, y: -0.33993837, z: -0.021502567} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557015} - m_Father: {fileID: 9146872230401571465} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059819 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557003} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ChestRibbon_Right_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557003 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059819} - m_LocalRotation: {x: 0.9806196, y: 0.18166484, z: 0.07214165, w: 0.013364611} - m_LocalPosition: {x: 0.00528243, y: -0.00018530824, z: -0.0000036000456} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557243} - - {fileID: 9146872230401556995} - m_Father: {fileID: 9146872230401557231} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059821 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557005} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ChestRibbon_Right_Ring_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557005 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059821} - m_LocalRotation: {x: 0.011824029, y: 0.14304897, z: -0.081523284, w: 0.9862815} - m_LocalPosition: {x: 0.013607385, y: 0.0047907867, z: -0.0104025705} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557007} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059823 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557007} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ChestRibbon_Right_Ring_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557007 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059823} - m_LocalRotation: {x: -0.090844095, y: -0.36013693, z: -0.076191925, w: 0.92533433} - m_LocalPosition: {x: 0.016461601, y: -0.0023698588, z: 0.0035537067} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557005} - m_Father: {fileID: 9146872230401556993} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059825 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557009} - m_Layer: 11 - m_Name: CLOTH_CLOTH_necklace_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557009 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059825} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: -0.016678523, z: 0.015006809} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557023} - m_Father: {fileID: 9146872230401557019} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059827 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557011} - m_Layer: 11 - m_Name: CLOTH_CLOTH_LeftLegRibbon_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557011 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059827} - m_LocalRotation: {x: 0.18572032, y: 0.92048335, z: -0.068001986, w: 0.3370374} - m_LocalPosition: {x: -0.010938858, y: 5.2735593e-18, z: 1.498801e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557013} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059829 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557013} - m_Layer: 11 - m_Name: CLOTH_CLOTH_LeftLegRibbon_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557013 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059829} - m_LocalRotation: {x: 0.011712188, y: 0.027454196, z: -0.005047747, w: 0.9995417} - m_LocalPosition: {x: -0.02105345, y: 1.4432899e-17, z: 3.330669e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557011} - m_Father: {fileID: 9146872230401557015} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059831 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557015} - m_Layer: 11 - m_Name: CLOTH_CLOTH_LeftLegRibbon_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557015 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059831} - m_LocalRotation: {x: 0.022630354, y: 0.050349463, z: -0.014105378, w: 0.99837565} - m_LocalPosition: {x: -0.01357205, y: -5.551115e-19, z: 3.330669e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557013} - m_Father: {fileID: 9146872230401557001} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059833 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557017} - m_Layer: 11 - m_Name: CLOTH_CLOTH_StarFishTassel_L_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557017 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059833} - m_LocalRotation: {x: 0.22674245, y: 0.17471084, z: 0.5110863, w: 0.8104658} - m_LocalPosition: {x: -0.029672524, y: -0.03138913, z: 0.0057333694} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557031} - m_Father: {fileID: 9146872230401572511} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059835 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557019} - m_Layer: 11 - m_Name: CLOTH_CLOTH_necklace_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557019 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059835} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -1.2027395e-16, y: 0.08873038, z: 0.040437184} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557009} - m_Father: {fileID: 9146872230401571481} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059837 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557021} - m_Layer: 11 - m_Name: CLOTH_CLOTH_necklace_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557021 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059837} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.000000010726266, y: -0.0065777805, z: 0.0050976477} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557023} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059839 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557023} - m_Layer: 11 - m_Name: CLOTH_CLOTH_necklace_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557023 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059839} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: -0.0052054524, z: 0.0052554896} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557021} - m_Father: {fileID: 9146872230401557009} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059841 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557025} - m_Layer: 11 - m_Name: CLOTH_CLOTH_StarFishTassel_L_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557025 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059841} - m_LocalRotation: {x: 0.040549483, y: 0.058534093, z: -0.5680101, w: 0.8199354} - m_LocalPosition: {x: -0.0049342555, y: -4.0735644e-17, z: -1.7208457e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557027} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059843 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557027} - m_Layer: 11 - m_Name: CLOTH_CLOTH_StarFishTassel_L_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557027 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059843} - m_LocalRotation: {x: -0.08140166, y: -0.023613695, z: -0.07641883, w: 0.99346685} - m_LocalPosition: {x: -0.018601349, y: 1.3833877e-17, z: -1.994932e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557025} - m_Father: {fileID: 9146872230401557029} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059845 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557029} - m_Layer: 11 - m_Name: CLOTH_CLOTH_StarFishTassel_L_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557029 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059845} - m_LocalRotation: {x: 0.022229645, y: 0.004619551, z: -0.00067467167, w: 0.99974203} - m_LocalPosition: {x: -0.018632531, y: 1.2842646e-17, z: -1.853552e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557027} - m_Father: {fileID: 9146872230401557031} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059847 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557031} - m_Layer: 11 - m_Name: CLOTH_CLOTH_StarFishTassel_L_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557031 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059847} - m_LocalRotation: {x: -0.094177626, y: -0.014143082, z: -0.054880086, w: 0.993941} - m_LocalPosition: {x: -0.024219755, y: 0.00066333165, z: -0.00013966546} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557029} - m_Father: {fileID: 9146872230401557017} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059849 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557033} - m_Layer: 11 - m_Name: CLOTH_CLOTH_StarFishTassel_LB_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557033 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059849} - m_LocalRotation: {x: -0.08140166, y: -0.023613695, z: -0.07641883, w: 0.99346685} - m_LocalPosition: {x: -0.018601349, y: 1.3833877e-17, z: -1.994932e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557047} - m_Father: {fileID: 9146872230401557035} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059851 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557035} - m_Layer: 11 - m_Name: CLOTH_CLOTH_StarFishTassel_LB_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557035 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059851} - m_LocalRotation: {x: 0.022229645, y: 0.004619551, z: -0.00067467167, w: 0.99974203} - m_LocalPosition: {x: -0.018632531, y: 1.2842646e-17, z: -1.853552e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557033} - m_Father: {fileID: 9146872230401557037} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059853 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557037} - m_Layer: 11 - m_Name: CLOTH_CLOTH_StarFishTassel_LB_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557037 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059853} - m_LocalRotation: {x: -0.094177626, y: -0.014143082, z: -0.054880086, w: 0.993941} - m_LocalPosition: {x: -0.024219755, y: 0.00066333165, z: -0.00013966546} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557035} - m_Father: {fileID: 9146872230401557039} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059855 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557039} - m_Layer: 11 - m_Name: CLOTH_CLOTH_StarFishTassel_LB_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557039 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059855} - m_LocalRotation: {x: -0.061487313, y: 0.033630684, z: 0.047820434, w: 0.9963943} - m_LocalPosition: {x: -0.02846059, y: 0.001860155, z: -0.00122618} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557037} - m_Father: {fileID: 9146872230401572573} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059857 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557041} - m_Layer: 11 - m_Name: CLOTH_CLOTH_StarFishTassel_Right_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557041 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059857} - m_LocalRotation: {x: 0.022229645, y: 0.004619551, z: -0.00067467167, w: 0.99974203} - m_LocalPosition: {x: -0.017100368, y: -0.00739795, z: -0.00013774131} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557055} - m_Father: {fileID: 9146872230401557043} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059859 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557043} - m_Layer: 11 - m_Name: CLOTH_CLOTH_StarFishTassel_Right_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557043 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059859} - m_LocalRotation: {x: -0.094177626, y: -0.014143082, z: -0.054880086, w: 0.993941} - m_LocalPosition: {x: -0.023681816, y: -0.0050485586, z: 0.0008600868} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557041} - m_Father: {fileID: 9146872230401557045} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059861 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557045} - m_Layer: 11 - m_Name: CLOTH_CLOTH_StarFishTassel_Right_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557045 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059861} - m_LocalRotation: {x: 0.22674245, y: 0.17471084, z: 0.5110863, w: 0.8104658} - m_LocalPosition: {x: 0.004646867, y: -0.043980863, z: -0.010071986} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557043} - m_Father: {fileID: 9146872230401572757} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059863 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557047} - m_Layer: 11 - m_Name: CLOTH_CLOTH_StarFishTassel_LB_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557047 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059863} - m_LocalRotation: {x: 0.040549483, y: 0.058534093, z: -0.5680101, w: 0.8199354} - m_LocalPosition: {x: -0.0049342555, y: -4.0735644e-17, z: -1.7208457e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557033} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059865 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557049} - m_Layer: 11 - m_Name: CLOTH_CLOTH_StarFishTassel_RightB_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557049 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059865} - m_LocalRotation: {x: -0.094177626, y: -0.014143082, z: -0.054880086, w: 0.993941} - m_LocalPosition: {x: -0.023163596, y: -0.0022888032, z: -0.0067279437} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557063} - m_Father: {fileID: 9146872230401557051} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059867 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557051} - m_Layer: 11 - m_Name: CLOTH_CLOTH_StarFishTassel_RightB_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557051 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059867} - m_LocalRotation: {x: -0.13321196, y: 0.4517468, z: 0.8796957, w: -0.06568768} - m_LocalPosition: {x: 0.028460894, y: -0.0018603328, z: 0.0012258755} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557049} - m_Father: {fileID: 9146872230401571921} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059869 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557053} - m_Layer: 11 - m_Name: CLOTH_CLOTH_StarFishTassel_Right_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557053 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059869} - m_LocalRotation: {x: 0.040549483, y: 0.058534093, z: -0.5680101, w: 0.8199354} - m_LocalPosition: {x: -0.0037399866, y: -0.0031814384, z: -0.0004876726} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557055} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059871 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557055} - m_Layer: 11 - m_Name: CLOTH_CLOTH_StarFishTassel_Right_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557055 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059871} - m_LocalRotation: {x: -0.08140166, y: -0.023613695, z: -0.07641883, w: 0.99346685} - m_LocalPosition: {x: -0.01705238, y: -0.007428587, z: 0.00020632608} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557053} - m_Father: {fileID: 9146872230401557041} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059873 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557057} - - component: {fileID: 9146872230388394545} - m_Layer: 11 - m_Name: Else_BigRibbon_geo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557057 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059873} - 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: 9146872230401571501} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &9146872230388394545 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059873} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: aaed5aebdbbbf4b4894aa68835af897c, type: 2} - - {fileID: 2100000, guid: d10953d5193d25f40a8fc689f8b3bcb3, type: 2} - - {fileID: 2100000, guid: 880df4358eeff6b45aa67de6854d4c13, type: 2} - - {fileID: 2100000, guid: 9f243c1093d7e3744a89774ef2d156b7, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - 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 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300228, guid: e0e31ad4796a7e043a94516275e896a7, type: 3} - m_Bones: - - {fileID: 9146872230401571485} - - {fileID: 9146872230401571483} - - {fileID: 9146872230401571601} - - {fileID: 9146872230401571615} - - {fileID: 9146872230401571611} - - {fileID: 9146872230401571637} - - {fileID: 9146872230401571605} - - {fileID: 9146872230401556949} - - {fileID: 9146872230401556933} - - {fileID: 9146872230401556931} - - {fileID: 9146872230401556929} - - {fileID: 9146872230401556943} - - {fileID: 9146872230401571687} - - {fileID: 9146872230401571685} - - {fileID: 9146872230401571681} - - {fileID: 9146872230401571707} - - {fileID: 9146872230401571675} - - {fileID: 9146872230401556741} - - {fileID: 9146872230401556981} - - {fileID: 9146872230401556979} - - {fileID: 9146872230401556977} - - {fileID: 9146872230401556991} - - {fileID: 9146872230401556745} - - {fileID: 9146872230401572221} - - {fileID: 9146872230401572219} - - {fileID: 9146872230401572217} - - {fileID: 9146872230401571975} - - {fileID: 9146872230401571973} - - {fileID: 9146872230401571971} - - {fileID: 9146872230401571969} - - {fileID: 9146872230401571983} - - {fileID: 9146872230401572129} - - {fileID: 9146872230401572155} - - {fileID: 9146872230401572165} - - {fileID: 9146872230401572163} - - {fileID: 9146872230401572161} - - {fileID: 9146872230401572175} - - {fileID: 9146872230401572173} - - {fileID: 9146872230401572171} - - {fileID: 9146872230401572169} - - {fileID: 9146872230401572143} - - {fileID: 9146872230401572141} - - {fileID: 9146872230401572139} - - {fileID: 9146872230401572137} - - {fileID: 9146872230401572151} - - {fileID: 9146872230401572149} - - {fileID: 9146872230401572147} - - {fileID: 9146872230401572145} - - {fileID: 9146872230401572159} - - {fileID: 9146872230401572157} - - {fileID: 9146872230401572153} - - {fileID: 9146872230401572167} - - {fileID: 9146872230401557223} - - {fileID: 9146872230401557221} - - {fileID: 9146872230401571981} - - {fileID: 9146872230401571979} - - {fileID: 9146872230401571977} - - {fileID: 9146872230401571991} - - {fileID: 9146872230401571989} - - {fileID: 9146872230401571987} - - {fileID: 9146872230401571985} - - {fileID: 9146872230401571999} - - {fileID: 9146872230401572183} - - {fileID: 9146872230401572193} - - {fileID: 9146872230401572203} - - {fileID: 9146872230401572201} - - {fileID: 9146872230401572215} - - {fileID: 9146872230401572213} - - {fileID: 9146872230401572211} - - {fileID: 9146872230401572209} - - {fileID: 9146872230401572223} - - {fileID: 9146872230401572181} - - {fileID: 9146872230401572179} - - {fileID: 9146872230401572177} - - {fileID: 9146872230401572191} - - {fileID: 9146872230401572189} - - {fileID: 9146872230401572187} - - {fileID: 9146872230401572185} - - {fileID: 9146872230401572199} - - {fileID: 9146872230401572197} - - {fileID: 9146872230401572195} - - {fileID: 9146872230401572207} - - {fileID: 9146872230401572205} - - {fileID: 9146872230401557219} - - {fileID: 9146872230401557217} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 9146872230401571485} - m_AABB: - m_Center: {x: 0.00000011920929, y: 0.072904244, z: -0.20310663} - m_Extent: {x: 1.8762624, y: 0.19426106, z: 0.19905086} - m_DirtyAABB: 0 ---- !u!1 &9146872230402059875 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557059} - m_Layer: 11 - m_Name: CLOTH_CLOTH_StarFishTassel_RightB_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557059 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059875} - m_LocalRotation: {x: 0.040549483, y: 0.058534093, z: -0.5680101, w: 0.8199354} - m_LocalPosition: {x: -0.0047402657, y: -0.00009875487, z: -0.0013663825} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557061} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059877 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557061} - m_Layer: 11 - m_Name: CLOTH_CLOTH_StarFishTassel_RightB_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557061 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059877} - m_LocalRotation: {x: -0.08140166, y: -0.023613695, z: -0.07641883, w: 0.99346685} - m_LocalPosition: {x: -0.017632851, y: -0.001522454, z: -0.0057249307} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557059} - m_Father: {fileID: 9146872230401557063} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059879 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557063} - m_Layer: 11 - m_Name: CLOTH_CLOTH_StarFishTassel_RightB_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557063 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059879} - m_LocalRotation: {x: 0.022229645, y: 0.004619551, z: -0.00067467167, w: 0.99974203} - m_LocalPosition: {x: -0.017769687, y: -0.0011974272, z: -0.0054749986} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557061} - m_Father: {fileID: 9146872230401557049} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059881 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557065} - - component: {fileID: 9146872230388394553} - m_Layer: 11 - m_Name: Else_LegAccessories_geo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557065 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059881} - 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: 9146872230401571501} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &9146872230388394553 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059881} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: aaed5aebdbbbf4b4894aa68835af897c, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - 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 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300226, guid: e0e31ad4796a7e043a94516275e896a7, type: 3} - m_Bones: - - {fileID: 9146872230401571651} - - {fileID: 9146872230401571593} - - {fileID: 9146872230401571663} - - {fileID: 9146872230401571661} - - {fileID: 9146872230401571465} - - {fileID: 9146872230401571679} - - {fileID: 9146872230401571477} - - {fileID: 9146872230401557001} - - {fileID: 9146872230401557015} - - {fileID: 9146872230401557013} - - {fileID: 9146872230401557011} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 9146872230401571465} - m_AABB: - m_Center: {x: -0.048244894, y: -0.35508472, z: -0.02059457} - m_Extent: {x: 0.11588539, y: 0.020232975, z: 0.034307342} - m_DirtyAABB: 0 ---- !u!1 &9146872230402059883 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557067} - - component: {fileID: 9146872230388394555} - m_Layer: 11 - m_Name: Else_ClothRibon_geo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557067 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059883} - 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: 9146872230401571501} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &9146872230388394555 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059883} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: aaed5aebdbbbf4b4894aa68835af897c, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - 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 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300230, guid: e0e31ad4796a7e043a94516275e896a7, type: 3} - m_Bones: - - {fileID: 9146872230401571585} - - {fileID: 9146872230401571597} - - {fileID: 9146872230401571599} - - {fileID: 9146872230401556913} - - {fileID: 9146872230401556927} - - {fileID: 9146872230401556925} - - {fileID: 9146872230401556923} - - {fileID: 9146872230401556905} - - {fileID: 9146872230401556919} - - {fileID: 9146872230401556917} - - {fileID: 9146872230401556915} - - {fileID: 9146872230401571671} - - {fileID: 9146872230401571667} - - {fileID: 9146872230401571669} - - {fileID: 9146872230401556953} - - {fileID: 9146872230401556967} - - {fileID: 9146872230401556965} - - {fileID: 9146872230401556963} - - {fileID: 9146872230401556961} - - {fileID: 9146872230401556975} - - {fileID: 9146872230401556973} - - {fileID: 9146872230401556971} - - {fileID: 9146872230401572717} - - {fileID: 9146872230401572481} - - {fileID: 9146872230401572797} - - {fileID: 9146872230401572829} - - {fileID: 9146872230401557997} - - {fileID: 9146872230401557981} - - {fileID: 9146872230401557979} - - {fileID: 9146872230401557977} - - {fileID: 9146872230401557991} - - {fileID: 9146872230401557989} - - {fileID: 9146872230401557987} - - {fileID: 9146872230401557985} - - {fileID: 9146872230401557999} - - {fileID: 9146872230401557961} - - {fileID: 9146872230401557975} - - {fileID: 9146872230401557973} - - {fileID: 9146872230401557971} - - {fileID: 9146872230401557969} - - {fileID: 9146872230401557983} - - {fileID: 9146872230401557775} - - {fileID: 9146872230401558015} - - {fileID: 9146872230401558013} - - {fileID: 9146872230401558011} - - {fileID: 9146872230401558009} - - {fileID: 9146872230401557767} - - {fileID: 9146872230401557765} - - {fileID: 9146872230401557763} - - {fileID: 9146872230401557761} - - {fileID: 9146872230401557995} - - {fileID: 9146872230401557993} - - {fileID: 9146872230401558007} - - {fileID: 9146872230401558005} - - {fileID: 9146872230401558003} - - {fileID: 9146872230401558001} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 9146872230401571671} - m_AABB: - m_Center: {x: -0.08955268, y: 0.027898159, z: 0.038810775} - m_Extent: {x: 0.22626153, y: 0.03729682, z: 0.024780227} - m_DirtyAABB: 0 ---- !u!1 &9146872230402059885 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557069} - - component: {fileID: 9146872230388394557} - m_Layer: 11 - m_Name: Else_Chuchu_geo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557069 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059885} - 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: 9146872230401571501} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &9146872230388394557 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059885} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: aaed5aebdbbbf4b4894aa68835af897c, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - 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 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300222, guid: e0e31ad4796a7e043a94516275e896a7, type: 3} - m_Bones: - - {fileID: 9146872230401571677} - - {fileID: 9146872230401571687} - - {fileID: 9146872230401571685} - - {fileID: 9146872230401571673} - - {fileID: 9146872230401571683} - - {fileID: 9146872230401571471} - - {fileID: 9146872230401571469} - - {fileID: 9146872230401571467} - - {fileID: 9146872230401571681} - - {fileID: 9146872230401571689} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 9146872230401571677} - m_AABB: - m_Center: {x: 0.15562986, y: 0.0038181543, z: 0.009811573} - m_Extent: {x: 0.032257214, y: 0.03303182, z: 0.035796456} - m_DirtyAABB: 0 ---- !u!1 &9146872230402059887 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557071} - - component: {fileID: 9146872230388394559} - m_Layer: 11 - m_Name: Else_ChestRibon_geo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557071 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059887} - 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: 9146872230401571501} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &9146872230388394559 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059887} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: aaed5aebdbbbf4b4894aa68835af897c, type: 2} - - {fileID: 2100000, guid: 307716f60a618f345aa4a18c6b74ef55, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - 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 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300220, guid: e0e31ad4796a7e043a94516275e896a7, type: 3} - m_Bones: - - {fileID: 9146872230401557231} - - {fileID: 9146872230401557245} - - {fileID: 9146872230401557237} - - {fileID: 9146872230401557235} - - {fileID: 9146872230401557233} - - {fileID: 9146872230401557247} - - {fileID: 9146872230401557229} - - {fileID: 9146872230401557227} - - {fileID: 9146872230401557225} - - {fileID: 9146872230401557239} - - {fileID: 9146872230401557003} - - {fileID: 9146872230401556995} - - {fileID: 9146872230401556993} - - {fileID: 9146872230401557007} - - {fileID: 9146872230401557005} - - {fileID: 9146872230401557243} - - {fileID: 9146872230401557241} - - {fileID: 9146872230401556999} - - {fileID: 9146872230401556997} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 9146872230401557231} - m_AABB: - m_Center: {x: 0.000000007450581, y: -0.023162909, z: 0.0049805595} - m_Extent: {x: 0.060661808, y: 0.043540597, z: 0.018345319} - m_DirtyAABB: 0 ---- !u!1 &9146872230402059889 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557073} - m_Layer: 11 - m_Name: HAIR_LongHairRight1_joint10 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557073 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059889} - m_LocalRotation: {x: -0.00026443714, y: 0.015146897, z: -0.010276497, w: 0.99983245} - m_LocalPosition: {x: 0.047918875, y: -0.0136363655, z: -0.0012075687} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557087} - m_Father: {fileID: 9146872230401557109} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059891 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557075} - m_Layer: 11 - m_Name: HAIR_LongHairRight1_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557075 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059891} - m_LocalRotation: {x: 0.0015503735, y: -0.032466367, z: -0.047673658, w: 0.998334} - m_LocalPosition: {x: 0.0069449, y: 0.0025999998, z: 0.0016936} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557091} - m_Father: {fileID: 9146872230401557209} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059893 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557077} - - component: {fileID: 9146872230388394565} - m_Layer: 11 - m_Name: Else_StarFishTassel_geo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557077 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059893} - 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: 9146872230401571501} - m_RootOrder: 8 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &9146872230388394565 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059893} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: aaed5aebdbbbf4b4894aa68835af897c, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - 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 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300224, guid: e0e31ad4796a7e043a94516275e896a7, type: 3} - m_Bones: - - {fileID: 9146872230401572497} - - {fileID: 9146872230401572511} - - {fileID: 9146872230401557017} - - {fileID: 9146872230401557031} - - {fileID: 9146872230401557029} - - {fileID: 9146872230401557027} - - {fileID: 9146872230401557025} - - {fileID: 9146872230401572575} - - {fileID: 9146872230401572573} - - {fileID: 9146872230401557039} - - {fileID: 9146872230401557037} - - {fileID: 9146872230401557035} - - {fileID: 9146872230401557033} - - {fileID: 9146872230401557047} - - {fileID: 9146872230401571923} - - {fileID: 9146872230401571921} - - {fileID: 9146872230401557051} - - {fileID: 9146872230401557049} - - {fileID: 9146872230401557063} - - {fileID: 9146872230401557061} - - {fileID: 9146872230401557059} - - {fileID: 9146872230401572759} - - {fileID: 9146872230401572757} - - {fileID: 9146872230401557045} - - {fileID: 9146872230401557043} - - {fileID: 9146872230401557041} - - {fileID: 9146872230401557055} - - {fileID: 9146872230401557053} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 9146872230401571923} - m_AABB: - m_Center: {x: 0.05374399, y: 0.2564221, z: 0.04238625} - m_Extent: {x: 0.23670387, y: 0.2903192, z: 0.46639508} - m_DirtyAABB: 0 ---- !u!1 &9146872230402059895 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557079} - - component: {fileID: 9146872230388394567} - m_Layer: 11 - m_Name: Else_Neckring_geo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557079 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059895} - 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: 9146872230401571501} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &9146872230388394567 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059895} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: aaed5aebdbbbf4b4894aa68835af897c, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - 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 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300218, guid: e0e31ad4796a7e043a94516275e896a7, type: 3} - m_Bones: - - {fileID: 9146872230401571481} - - {fileID: 9146872230401571657} - - {fileID: 9146872230401571591} - - {fileID: 9146872230401571649} - - {fileID: 9146872230401571585} - - {fileID: 9146872230401571479} - - {fileID: 9146872230401571671} - - {fileID: 9146872230401557019} - - {fileID: 9146872230401557009} - - {fileID: 9146872230401557023} - - {fileID: 9146872230401557021} - - {fileID: 9146872230401572579} - - {fileID: 9146872230401572355} - - {fileID: 9146872230401571943} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 9146872230401571481} - m_AABB: - m_Center: {x: -0.000000011175871, y: 0.07737905, z: 0.019684874} - m_Extent: {x: 0.048489086, y: 0.034362733, z: 0.060553953} - m_DirtyAABB: 0 ---- !u!1 &9146872230402059897 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557081} - m_Layer: 11 - m_Name: HAIR_LongHairRight1_joint14 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557081 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059897} - m_LocalRotation: {x: 0.00045177352, y: 0.0071332674, z: 0.026457211, w: 0.99962443} - m_LocalPosition: {x: 0.040251594, y: -0.007235332, z: 0.0054529277} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557095} - m_Father: {fileID: 9146872230401557083} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059899 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557083} - m_Layer: 11 - m_Name: HAIR_LongHairRight1_joint13 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557083 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059899} - m_LocalRotation: {x: -0.00018316651, y: -0.0069087697, z: 0.010281484, w: 0.9999233} - m_LocalPosition: {x: 0.042952847, y: -0.013908668, z: 0.0064229188} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557081} - m_Father: {fileID: 9146872230401557085} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059901 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557085} - m_Layer: 11 - m_Name: HAIR_LongHairRight1_joint12 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557085 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059901} - m_LocalRotation: {x: 0.001246399, y: 0.03244843, z: -0.022155253, w: 0.99922705} - m_LocalPosition: {x: 0.04239087, y: -0.019801991, z: 0.0036080785} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557083} - m_Father: {fileID: 9146872230401557087} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059903 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557087} - m_Layer: 11 - m_Name: HAIR_LongHairRight1_joint11 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557087 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059903} - m_LocalRotation: {x: 0.00063732086, y: 0.038825206, z: 0.044100292, w: 0.9982722} - m_LocalPosition: {x: 0.04624895, y: -0.014162932, z: 0.00023159724} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557085} - m_Father: {fileID: 9146872230401557073} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059929 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557369} - m_Layer: 11 - m_Name: HAIR_LongHairRight2_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557369 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059929} - m_LocalRotation: {x: 0.0015503735, y: -0.032466367, z: -0.047673658, w: 0.998334} - m_LocalPosition: {x: 0.0069449, y: 0.0025999998, z: 0.0016936} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557107} - m_Father: {fileID: 9146872230401557209} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059961 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557145} - m_Layer: 11 - m_Name: HAIR_LongHairRight3_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557145 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059961} - m_LocalRotation: {x: 0.0015503735, y: -0.032466367, z: -0.047673658, w: 0.998334} - m_LocalPosition: {x: 0.0069449, y: 0.0025999998, z: 0.0016936} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557909} - m_Father: {fileID: 9146872230401557209} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402059993 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557177} - m_Layer: 11 - m_Name: HAIR_LongHairRight4_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557177 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402059993} - m_LocalRotation: {x: 0.0015503735, y: -0.032466367, z: -0.047673658, w: 0.998334} - m_LocalPosition: {x: 0.0069449, y: 0.0025999998, z: 0.0016936} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557943} - m_Father: {fileID: 9146872230401557209} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060025 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557209} - m_Layer: 11 - m_Name: HAIR_LongHairRight_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557209 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060025} - m_LocalRotation: {x: 1, y: 0, z: 0, w: -6.123234e-17} - m_LocalPosition: {x: 0.0706532, y: 0.002160072, z: 0.009143576} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557075} - - {fileID: 9146872230401557369} - - {fileID: 9146872230401557145} - - {fileID: 9146872230401557177} - m_Father: {fileID: 9146872230401557469} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060033 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557473} - m_Layer: 11 - m_Name: HAIR_LongHairLeft1_joint13 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557473 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060033} - m_LocalRotation: {x: 0.00045177352, y: 0.0071332674, z: 0.026457211, w: 0.99962443} - m_LocalPosition: {x: -0.04025115, y: 0.0072352784, z: -0.005452868} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557487} - m_Father: {fileID: 9146872230401557475} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060035 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557475} - m_Layer: 11 - m_Name: HAIR_LongHairLeft1_joint12 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557475 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060035} - m_LocalRotation: {x: -0.00018316651, y: -0.0069087697, z: 0.010281484, w: 0.9999233} - m_LocalPosition: {x: -0.042952884, y: 0.013912526, z: -0.0064229337} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557473} - m_Father: {fileID: 9146872230401557477} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060037 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557477} - m_Layer: 11 - m_Name: HAIR_LongHairLeft1_joint11 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557477 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060037} - m_LocalRotation: {x: 0.001246399, y: 0.03244843, z: -0.022155253, w: 0.99922705} - m_LocalPosition: {x: -0.04239178, y: 0.019798767, z: -0.003608138} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557475} - m_Father: {fileID: 9146872230401557479} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060039 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557479} - m_Layer: 11 - m_Name: HAIR_LongHairLeft1_joint10 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557479 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060039} - m_LocalRotation: {x: 0.00063732086, y: 0.038825206, z: 0.044100292, w: 0.9982722} - m_LocalPosition: {x: -0.04624823, y: 0.014169188, z: -0.00023159274} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557477} - m_Father: {fileID: 9146872230401557501} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060041 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557481} - m_Layer: 11 - m_Name: HAIR_LongHairLeft1_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557481 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060041} - m_LocalRotation: {x: 0.00015455106, y: -0.0067326413, z: 0.0121678375, w: 0.9999033} - m_LocalPosition: {x: -0.04810126, y: 0.008963458, z: 0.0017055083} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557495} - m_Father: {fileID: 9146872230401557483} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060043 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557483} - m_Layer: 11 - m_Name: HAIR_LongHairLeft1_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557483 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060043} - m_LocalRotation: {x: -0.00024668145, y: 0.0061546112, z: 0.004939328, w: 0.9999688} - m_LocalPosition: {x: -0.047157582, y: 0.008441066, z: 0.0022455356} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557481} - m_Father: {fileID: 9146872230401557465} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060045 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557485} - m_Layer: 11 - m_Name: HAIR_LongHairLeft1_joint15 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557485 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060045} - m_LocalRotation: {x: 0.00037112838, y: -0.050475296, z: 0.0073431027, w: 0.9986983} - m_LocalPosition: {x: -0.013749269, y: -0.00058734464, z: -0.0013940895} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557487} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060047 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557487} - m_Layer: 11 - m_Name: HAIR_LongHairLeft1_joint14 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557487 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060047} - m_LocalRotation: {x: -0.0008841193, y: -0.023563972, z: -0.052169234, w: 0.99835986} - m_LocalPosition: {x: -0.04374135, y: 0.0058064735, z: -0.006580025} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557485} - m_Father: {fileID: 9146872230401557473} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060049 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557489} - m_Layer: 11 - m_Name: HAIR_LongHairLeft1_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557489 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060049} - m_LocalRotation: {x: -0.00026599728, y: -0.018356208, z: -0.0002642112, w: 0.9998315} - m_LocalPosition: {x: -0.051442888, y: 0.013457265, z: 0.0011732922} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557503} - m_Father: {fileID: 9146872230401557491} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060051 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557491} - m_Layer: 11 - m_Name: HAIR_LongHairLeft1_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557491 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060051} - m_LocalRotation: {x: 0.00031175197, y: 0.010236811, z: -0.015689032, w: 0.99982446} - m_LocalPosition: {x: -0.046916213, y: 0.015598481, z: 0.0020570762} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557489} - m_Father: {fileID: 9146872230401557493} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060053 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557493} - m_Layer: 11 - m_Name: HAIR_LongHairLeft1_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557493 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060053} - m_LocalRotation: {x: -0.00010838862, y: -0.004876911, z: 0.023911348, w: 0.9997022} - m_LocalPosition: {x: -0.049563516, y: 0.012737888, z: 0.0016575828} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557491} - m_Father: {fileID: 9146872230401557495} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060055 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557495} - m_Layer: 11 - m_Name: HAIR_LongHairLeft1_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557495 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060055} - m_LocalRotation: {x: -0.00004902997, y: 0.007859937, z: 0.004545008, w: 0.9999588} - m_LocalPosition: {x: -0.05019726, y: 0.011430264, z: 0.0024637843} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557493} - m_Father: {fileID: 9146872230401557481} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060057 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557497} - m_Layer: 11 - m_Name: HAIR_LongHairLeft2_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557497 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060057} - m_LocalRotation: {x: -0.0005964064, y: 0.008479876, z: 0.025214009, w: 0.99964595} - m_LocalPosition: {x: -0.08451688, y: 0.004394333, z: 0.0065991264} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557259} - m_Father: {fileID: 9146872230401557499} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060059 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557499} - m_Layer: 11 - m_Name: HAIR_LongHairLeft2_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557499 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060059} - m_LocalRotation: {x: 0.0015503735, y: -0.032466367, z: -0.047673658, w: 0.998334} - m_LocalPosition: {x: -0.0069449255, y: -0.0025974908, z: -0.0016935407} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557497} - m_Father: {fileID: 9146872230401557339} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060061 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557501} - m_Layer: 11 - m_Name: HAIR_LongHairLeft1_joint9 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557501 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060061} - m_LocalRotation: {x: -0.00026443714, y: 0.015146897, z: -0.010276497, w: 0.99983245} - m_LocalPosition: {x: -0.047919087, y: 0.013631084, z: 0.0012075749} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557479} - m_Father: {fileID: 9146872230401557503} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060063 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557503} - m_Layer: 11 - m_Name: HAIR_LongHairLeft1_joint8 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557503 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060063} - m_LocalRotation: {x: 0.00006023112, y: 0.017093921, z: -0.010700299, w: 0.9997966} - m_LocalPosition: {x: -0.048335034, y: 0.014352199, z: 0.0028881284} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557501} - m_Father: {fileID: 9146872230401557489} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060065 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557249} - m_Layer: 11 - m_Name: HAIR_LongHairLeft2_joint13 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557249 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060065} - m_LocalRotation: {x: 0.00045177352, y: 0.0071332674, z: 0.026457211, w: 0.99962443} - m_LocalPosition: {x: -0.06177532, y: 0.008534748, z: -0.008356043} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557263} - m_Father: {fileID: 9146872230401557251} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060067 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557251} - m_Layer: 11 - m_Name: HAIR_LongHairLeft2_joint12 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557251 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060067} - m_LocalRotation: {x: -0.00018316651, y: -0.0069087697, z: 0.010281484, w: 0.9999233} - m_LocalPosition: {x: -0.099900685, y: 0.011754319, z: -0.014888861} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557249} - m_Father: {fileID: 9146872230401557253} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060069 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557253} - m_Layer: 11 - m_Name: HAIR_LongHairLeft2_joint11 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557253 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060069} - m_LocalRotation: {x: 0.001246399, y: 0.03244843, z: -0.022155253, w: 0.99922705} - m_LocalPosition: {x: -0.06038061, y: 0.011083183, z: -0.005053333} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557251} - m_Father: {fileID: 9146872230401557255} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060071 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557255} - m_Layer: 11 - m_Name: HAIR_LongHairLeft2_joint10 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557255 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060071} - m_LocalRotation: {x: 0.00063732086, y: 0.038825206, z: 0.044100292, w: 0.9982722} - m_LocalPosition: {x: -0.065734215, y: 0.007121648, z: -0.0003309947} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557253} - m_Father: {fileID: 9146872230401557277} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060073 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557257} - m_Layer: 11 - m_Name: HAIR_LongHairLeft2_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557257 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060073} - m_LocalRotation: {x: 0.00015455106, y: -0.0067326413, z: 0.0121678375, w: 0.9999033} - m_LocalPosition: {x: -0.065118365, y: 0.0054394123, z: 0.002317273} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557271} - m_Father: {fileID: 9146872230401557259} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060075 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557259} - m_Layer: 11 - m_Name: HAIR_LongHairLeft2_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557259 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060075} - m_LocalRotation: {x: -0.00024668145, y: 0.0061546112, z: 0.004939328, w: 0.9999688} - m_LocalPosition: {x: -0.06877951, y: 0.0022401302, z: 0.0032968922} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557257} - m_Father: {fileID: 9146872230401557497} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060077 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557261} - m_Layer: 11 - m_Name: HAIR_LongHairLeft2_joint15 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557261 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060077} - m_LocalRotation: {x: 0.00037112838, y: -0.050475296, z: 0.0073431027, w: 0.9986983} - m_LocalPosition: {x: -0.033290707, y: 0.001993319, z: -0.0033703793} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557263} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060079 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557263} - m_Layer: 11 - m_Name: HAIR_LongHairLeft2_joint14 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557263 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060079} - m_LocalRotation: {x: -0.0008841193, y: -0.023563972, z: -0.052169234, w: 0.99835986} - m_LocalPosition: {x: -0.042939004, y: 0.0064500384, z: -0.006469357} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557261} - m_Father: {fileID: 9146872230401557249} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060081 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557265} - m_Layer: 11 - m_Name: HAIR_LongHairLeft2_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557265 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060081} - m_LocalRotation: {x: -0.00026599728, y: -0.018356208, z: -0.0002642112, w: 0.9998315} - m_LocalPosition: {x: -0.0675403, y: 0.0081152525, z: 0.001537234} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557279} - m_Father: {fileID: 9146872230401557267} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060083 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557267} - m_Layer: 11 - m_Name: HAIR_LongHairLeft2_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557267 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060083} - m_LocalRotation: {x: 0.00031175197, y: 0.010236811, z: -0.015689032, w: 0.99982446} - m_LocalPosition: {x: -0.06404796, y: 0.011529033, z: 0.0027887619} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557265} - m_Father: {fileID: 9146872230401557269} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060085 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557269} - m_Layer: 11 - m_Name: HAIR_LongHairLeft2_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557269 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060085} - m_LocalRotation: {x: -0.00010838862, y: -0.004876911, z: 0.023911348, w: 0.9997022} - m_LocalPosition: {x: -0.066599965, y: 0.0060322336, z: 0.0022279709} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557267} - m_Father: {fileID: 9146872230401557271} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060087 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557271} - m_Layer: 11 - m_Name: HAIR_LongHairLeft2_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557271 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060087} - m_LocalRotation: {x: -0.00004902997, y: 0.007859937, z: 0.004545008, w: 0.9999588} - m_LocalPosition: {x: -0.0649359, y: 0.006179506, z: 0.0031917538} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557269} - m_Father: {fileID: 9146872230401557257} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060089 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557273} - m_Layer: 11 - m_Name: HAIR_LongHairLeft3_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557273 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060089} - m_LocalRotation: {x: -0.0005964064, y: 0.008479876, z: 0.025214009, w: 0.99964595} - m_LocalPosition: {x: -0.067815736, y: 0.000034394703, z: 0.0055437135} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557291} - m_Father: {fileID: 9146872230401557275} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060091 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557275} - m_Layer: 11 - m_Name: HAIR_LongHairLeft3_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557275 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060091} - m_LocalRotation: {x: 0.0015503735, y: -0.032466367, z: -0.047673658, w: 0.998334} - m_LocalPosition: {x: -0.0069449255, y: -0.0025974908, z: -0.0016935407} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557273} - m_Father: {fileID: 9146872230401557339} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060093 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557277} - m_Layer: 11 - m_Name: HAIR_LongHairLeft2_joint9 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557277 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060093} - m_LocalRotation: {x: -0.00026443714, y: 0.015146897, z: -0.010276497, w: 0.99983245} - m_LocalPosition: {x: -0.07011793, y: 0.0058053145, z: 0.0017695556} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557255} - m_Father: {fileID: 9146872230401557279} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060095 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557279} - m_Layer: 11 - m_Name: HAIR_LongHairLeft2_joint8 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557279 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060095} - m_LocalRotation: {x: 0.00006023112, y: 0.017093921, z: -0.010700299, w: 0.9997966} - m_LocalPosition: {x: -0.053882197, y: 0.008103213, z: 0.0032129001} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557277} - m_Father: {fileID: 9146872230401557265} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060097 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557281} - m_Layer: 11 - m_Name: HAIR_LongHairLeft3_joint13 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557281 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060097} - m_LocalRotation: {x: 0.00045177352, y: 0.0071332674, z: 0.026457211, w: 0.99962443} - m_LocalPosition: {x: -0.06378245, y: -0.000042516465, z: -0.00858368} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557295} - m_Father: {fileID: 9146872230401557283} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060099 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557283} - m_Layer: 11 - m_Name: HAIR_LongHairLeft3_joint12 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557283 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060099} - m_LocalRotation: {x: -0.00018316651, y: -0.0069087697, z: 0.010281484, w: 0.9999233} - m_LocalPosition: {x: -0.06922575, y: -0.000024853756, z: -0.010297453} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557281} - m_Father: {fileID: 9146872230401557285} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060101 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557285} - m_Layer: 11 - m_Name: HAIR_LongHairLeft3_joint11 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557285 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060101} - m_LocalRotation: {x: 0.001246399, y: 0.03244843, z: -0.022155253, w: 0.99922705} - m_LocalPosition: {x: -0.07131605, y: -0.000029624547, z: -0.005902687} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557283} - m_Father: {fileID: 9146872230401557287} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060103 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557287} - m_Layer: 11 - m_Name: HAIR_LongHairLeft3_joint10 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557287 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060103} - m_LocalRotation: {x: 0.00063732086, y: 0.038825206, z: 0.044100292, w: 0.9982722} - m_LocalPosition: {x: -0.07363159, y: 0.000000052103342, z: -0.0003718784} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557285} - m_Father: {fileID: 9146872230401557309} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060105 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557289} - m_Layer: 11 - m_Name: HAIR_LongHairLeft3_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557289 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060105} - m_LocalRotation: {x: 0.00015455106, y: -0.0067326413, z: 0.0121678375, w: 0.9999033} - m_LocalPosition: {x: -0.079115406, y: 0.0000035407238, z: 0.0028236476} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557303} - m_Father: {fileID: 9146872230401557291} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060107 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557291} - m_Layer: 11 - m_Name: HAIR_LongHairLeft3_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557291 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060107} - m_LocalRotation: {x: -0.00024668145, y: 0.0061546112, z: 0.004939328, w: 0.9999688} - m_LocalPosition: {x: -0.06028624, y: 0.0000062557006, z: 0.0028940046} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557289} - m_Father: {fileID: 9146872230401557273} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060109 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557293} - m_Layer: 11 - m_Name: HAIR_LongHairLeft3_joint15 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557293 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060109} - m_LocalRotation: {x: 0.00037112838, y: -0.050475296, z: 0.0073431027, w: 0.9986983} - m_LocalPosition: {x: -0.038527567, y: 0.00000581763, z: -0.0039039927} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557295} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060111 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557295} - m_Layer: 11 - m_Name: HAIR_LongHairLeft3_joint14 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557295 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060111} - m_LocalRotation: {x: -0.0008841193, y: -0.023563972, z: -0.052169234, w: 0.99835986} - m_LocalPosition: {x: -0.05806042, y: -0.000115390576, z: -0.008629444} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557293} - m_Father: {fileID: 9146872230401557281} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060113 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557297} - m_Layer: 11 - m_Name: HAIR_LongHairLeft3_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557297 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060113} - m_LocalRotation: {x: -0.00026599728, y: -0.018356208, z: -0.0002642112, w: 0.9998315} - m_LocalPosition: {x: -0.08036073, y: -0.00000061207356, z: 0.0018257931} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557311} - m_Father: {fileID: 9146872230401557299} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060115 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557299} - m_Layer: 11 - m_Name: HAIR_LongHairLeft3_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557299 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060115} - m_LocalRotation: {x: 0.00031175197, y: 0.010236811, z: -0.015689032, w: 0.99982446} - m_LocalPosition: {x: -0.08258826, y: -0.000007110171, z: 0.0035663869} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557297} - m_Father: {fileID: 9146872230401557301} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060117 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557301} - m_Layer: 11 - m_Name: HAIR_LongHairLeft3_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557301 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060117} - m_LocalRotation: {x: -0.00010838862, y: -0.004876911, z: 0.023911348, w: 0.9997022} - m_LocalPosition: {x: -0.08631996, y: 0.00000016356853, z: 0.0028881072} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557299} - m_Father: {fileID: 9146872230401557303} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060119 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557303} - m_Layer: 11 - m_Name: HAIR_LongHairLeft3_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557303 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060119} - m_LocalRotation: {x: -0.00004902997, y: 0.007859937, z: 0.004545008, w: 0.9999588} - m_LocalPosition: {x: -0.08668637, y: 0.0000022630268, z: 0.0042652166} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557301} - m_Father: {fileID: 9146872230401557289} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060121 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557305} - m_Layer: 11 - m_Name: HAIR_LongHairLeft4_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557305 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060121} - m_LocalRotation: {x: -0.0005964064, y: 0.008479876, z: 0.025214009, w: 0.99964595} - m_LocalPosition: {x: -0.08284674, y: -0.013053045, z: 0.0065991264} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557323} - m_Father: {fileID: 9146872230401557307} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060123 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557307} - m_Layer: 11 - m_Name: HAIR_LongHairLeft4_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557307 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060123} - m_LocalRotation: {x: 0.0015503735, y: -0.032466367, z: -0.047673658, w: 0.998334} - m_LocalPosition: {x: -0.0069449255, y: -0.0025974908, z: -0.0016935407} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557305} - m_Father: {fileID: 9146872230401557339} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060125 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557309} - m_Layer: 11 - m_Name: HAIR_LongHairLeft3_joint9 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557309 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060125} - m_LocalRotation: {x: -0.00026443714, y: 0.015146897, z: -0.010276497, w: 0.99983245} - m_LocalPosition: {x: -0.07940789, y: 0.00000036349127, z: 0.0020051966} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557287} - m_Father: {fileID: 9146872230401557311} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060127 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557311} - m_Layer: 11 - m_Name: HAIR_LongHairLeft3_joint8 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557311 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060127} - m_LocalRotation: {x: 0.00006023112, y: 0.017093921, z: -0.010700299, w: 0.9997966} - m_LocalPosition: {x: -0.082472235, y: -0.0000041538865, z: 0.0049071712} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557309} - m_Father: {fileID: 9146872230401557297} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060129 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557313} - m_Layer: 11 - m_Name: HAIR_LongHairLeft4_joint13 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557313 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060129} - m_LocalRotation: {x: 0.00045177352, y: 0.0071332674, z: 0.026457211, w: 0.99962443} - m_LocalPosition: {x: -0.05525875, y: -0.011871453, z: -0.007377963} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557327} - m_Father: {fileID: 9146872230401557315} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060131 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557315} - m_Layer: 11 - m_Name: HAIR_LongHairLeft4_joint12 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557315 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060131} - m_LocalRotation: {x: -0.00018316651, y: -0.0069087697, z: 0.010281484, w: 0.9999233} - m_LocalPosition: {x: -0.05028297, y: -0.0019381603, z: -0.0074750464} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557313} - m_Father: {fileID: 9146872230401557317} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060133 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557317} - m_Layer: 11 - m_Name: HAIR_LongHairLeft4_joint11 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557317 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060133} - m_LocalRotation: {x: 0.001246399, y: 0.03244843, z: -0.022155253, w: 0.99922705} - m_LocalPosition: {x: -0.061706636, y: -0.010785567, z: -0.005053333} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557315} - m_Father: {fileID: 9146872230401557319} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060135 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557319} - m_Layer: 11 - m_Name: HAIR_LongHairLeft4_joint10 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557319 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060135} - m_LocalRotation: {x: 0.00063732086, y: 0.038825206, z: 0.044100292, w: 0.9982722} - m_LocalPosition: {x: -0.06506591, y: -0.01696889, z: -0.0003309947} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557317} - m_Father: {fileID: 9146872230401557341} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060137 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557321} - m_Layer: 11 - m_Name: HAIR_LongHairLeft4_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557321 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060137} - m_LocalRotation: {x: 0.00015455106, y: -0.0067326413, z: 0.0121678375, w: 0.9999033} - m_LocalPosition: {x: -0.06434909, y: -0.016455991, z: 0.002317273} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557335} - m_Father: {fileID: 9146872230401557323} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060139 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557323} - m_Layer: 11 - m_Name: HAIR_LongHairLeft4_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557323 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060139} - m_LocalRotation: {x: -0.00024668145, y: 0.0061546112, z: 0.004939328, w: 0.9999688} - m_LocalPosition: {x: -0.06789253, y: -0.017457932, z: 0.0032968922} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557321} - m_Father: {fileID: 9146872230401557305} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060141 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557325} - m_Layer: 11 - m_Name: HAIR_LongHairLeft4_joint15 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557325 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060141} - m_LocalRotation: {x: 0.00037112838, y: -0.050475296, z: 0.0073431027, w: 0.9986983} - m_LocalPosition: {x: -0.029986782, y: -0.005745212, z: -0.003047124} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557327} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060143 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557327} - m_Layer: 11 - m_Name: HAIR_LongHairLeft4_joint14 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557327 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060143} - m_LocalRotation: {x: -0.0008841193, y: -0.023563972, z: -0.052169234, w: 0.99835986} - m_LocalPosition: {x: -0.031947203, y: -0.007874788, z: -0.00464382} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557325} - m_Father: {fileID: 9146872230401557313} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060145 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557329} - m_Layer: 11 - m_Name: HAIR_LongHairLeft4_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557329 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060145} - m_LocalRotation: {x: -0.00026599728, y: -0.018356208, z: -0.0002642112, w: 0.9998315} - m_LocalPosition: {x: -0.06792819, y: -0.018172584, z: 0.001537234} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557343} - m_Father: {fileID: 9146872230401557331} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060147 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557331} - m_Layer: 11 - m_Name: HAIR_LongHairLeft4_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557331 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060147} - m_LocalRotation: {x: 0.00031175197, y: 0.010236811, z: -0.015689032, w: 0.99982446} - m_LocalPosition: {x: -0.0653615, y: -0.016922252, z: 0.0027887619} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557329} - m_Father: {fileID: 9146872230401557333} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060149 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557333} - m_Layer: 11 - m_Name: HAIR_LongHairLeft4_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557333 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060149} - m_LocalRotation: {x: -0.00010838862, y: -0.004876911, z: 0.023911348, w: 0.9997022} - m_LocalPosition: {x: -0.06655917, y: -0.018067539, z: 0.0022279709} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557331} - m_Father: {fileID: 9146872230401557335} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060151 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557335} - m_Layer: 11 - m_Name: HAIR_LongHairLeft4_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557335 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060151} - m_LocalRotation: {x: -0.00004902997, y: 0.007859937, z: 0.004545008, w: 0.9999588} - m_LocalPosition: {x: -0.06466422, y: -0.019014282, z: 0.0031917538} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557333} - m_Father: {fileID: 9146872230401557321} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060155 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557339} - m_Layer: 11 - m_Name: HAIR_LongHairLeft_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557339 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060155} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.070653185, y: 0.0021621636, z: 0.009143553} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557467} - - {fileID: 9146872230401557499} - - {fileID: 9146872230401557275} - - {fileID: 9146872230401557307} - m_Father: {fileID: 9146872230401557469} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060157 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557341} - m_Layer: 11 - m_Name: HAIR_LongHairLeft4_joint9 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557341 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060157} - m_LocalRotation: {x: -0.00026443714, y: 0.015146897, z: -0.010276497, w: 0.99983245} - m_LocalPosition: {x: -0.06997638, y: -0.013912201, z: 0.0017695556} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557319} - m_Father: {fileID: 9146872230401557343} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060159 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557343} - m_Layer: 11 - m_Name: HAIR_LongHairLeft4_joint8 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557343 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060159} - m_LocalRotation: {x: 0.00006023112, y: 0.017093921, z: -0.010700299, w: 0.9997966} - m_LocalPosition: {x: -0.054256186, y: -0.018184824, z: 0.0032129001} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557341} - m_Father: {fileID: 9146872230401557329} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060161 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556577} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint339 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556577 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060161} - m_LocalRotation: {x: 0.51627713, y: 0.060096934, z: 0.0334196, w: 0.85365653} - m_LocalPosition: {x: 0.03617383, y: -0.00000063828026, z: 0.00000027989103} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556591} - m_Father: {fileID: 9146872230401556579} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060163 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556579} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint338 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556579 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060163} - m_LocalRotation: {x: 0.13802162, y: 0.036499623, z: 0.10227549, w: 0.984458} - m_LocalPosition: {x: 0.044932023, y: 0.0000022207112, z: -0.000000093266124} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556577} - m_Father: {fileID: 9146872230401556607} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060165 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556581} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint336 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556581 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060165} - m_LocalRotation: {x: 0.36279896, y: 0.9144429, z: 0.06614538, w: -0.16672091} - m_LocalPosition: {x: 0.02504682, y: -0.0000019740635, z: 0.0000000310271} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556583} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060167 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556583} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint335 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556583 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060167} - m_LocalRotation: {x: -0.030588238, y: -0.023959482, z: -0.15025014, w: 0.9878842} - m_LocalPosition: {x: 0.020996207, y: 0.000004070228, z: -0.000000009618293} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556581} - m_Father: {fileID: 9146872230401556569} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060169 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556585} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint348 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556585 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060169} - m_LocalRotation: {x: 0.39184773, y: 0.76737297, z: 0.2308153, w: -0.45201594} - m_LocalPosition: {x: 0.012678135, y: 0.00000010680639, z: 0.000000023909669} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557431} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060171 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556587} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint342 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556587 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060171} - m_LocalRotation: {x: -0.47774935, y: -0.5873225, z: -0.4122553, w: 0.5068072} - m_LocalPosition: {x: 0.011592852, y: -0.00000012018442, z: 0.0000005380882} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401556589} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060173 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556589} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint341 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556589 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060173} - m_LocalRotation: {x: -0.16665094, y: -0.034199767, z: -0.00258975, w: 0.9854193} - m_LocalPosition: {x: 0.019783322, y: 0.0000008168073, z: 0.00000028854453} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556587} - m_Father: {fileID: 9146872230401556591} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060175 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556591} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint340 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556591 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060175} - m_LocalRotation: {x: 0.2205989, y: 0.030697398, z: -0.05992989, w: 0.9730376} - m_LocalPosition: {x: 0.026407788, y: -0.00000050558015, z: -0.0000008020128} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556589} - m_Father: {fileID: 9146872230401556577} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060177 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556593} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint445 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556593 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060177} - m_LocalRotation: {x: 0.81175977, y: -0.55934274, z: 0.1382354, w: -0.095251046} - m_LocalPosition: {x: 0.078947, y: -0.026448157, z: 0.021602077} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556565} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 22 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060179 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556595} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint434 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556595 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060179} - m_LocalRotation: {x: 0.768854, y: -0.5511304, z: 0.2635126, w: -0.18889128} - m_LocalPosition: {x: 0.0759978, y: -0.044178154, z: 0.040810276} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556557} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 21 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060181 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556597} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint428 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556597 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060181} - m_LocalRotation: {x: 0.6900977, y: -0.46665087, z: 0.45824078, w: -0.30986694} - m_LocalPosition: {x: 0.067059495, y: -0.042588156, z: 0.053353675} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556547} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 20 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060183 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556599} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint423 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556599 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060183} - m_LocalRotation: {x: 0.686165, y: -0.49030828, z: 0.4372253, w: -0.31242517} - m_LocalPosition: {x: 0.0484556, y: -0.035018157, z: 0.070159175} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556537} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 19 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060185 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556601} - m_Layer: 11 - m_Name: HAIR_Hair_Left_joint345 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556601 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060185} - m_LocalRotation: {x: 0.1944737, y: 0.09579775, z: 0.008046805, w: 0.97618544} - m_LocalPosition: {x: -0.0337026, y: -2.2204459e-17, z: -5.606626e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557383} - m_Father: {fileID: 9146872230401556603} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060187 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556603} - m_Layer: 11 - m_Name: HAIR_Hair_Left_joint344 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556603 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060187} - m_LocalRotation: {x: 0.27808496, y: 0.14059526, z: 0.0020445571, w: 0.9502092} - m_LocalPosition: {x: -0.04103834, y: 9.992007e-18, z: -4.440892e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556601} - m_Father: {fileID: 9146872230401556605} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060189 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556605} - m_Layer: 11 - m_Name: HAIR_Hair_Left_joint343 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556605 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060189} - m_LocalRotation: {x: 0.1705787, y: 0.27805245, z: 0.49431312, w: 0.805757} - m_LocalPosition: {x: -0.09858255, y: -0.033362888, z: -0.022860562} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556603} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 24 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060191 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401556607} - m_Layer: 11 - m_Name: HAIR_Hair_FRight_joint452 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401556607 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060191} - m_LocalRotation: {x: 0.81738794, y: -0.56446904, z: 0.09472436, w: -0.06541443} - m_LocalPosition: {x: 0.08572529, y: -0.025958156, z: 0.0037856766} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556579} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 23 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060193 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557377} - m_Layer: 11 - m_Name: HAIR_Hair_Left_joint349 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557377 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060193} - m_LocalRotation: {x: 0.18325263, y: 0.25611502, z: 0.55228835, w: 0.7718815} - m_LocalPosition: {x: -0.09871225, y: -0.0342121, z: -0.025548348} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557391} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 25 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060195 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557379} - m_Layer: 11 - m_Name: HAIR_Hair_Left_joint348 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557379 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060195} - m_LocalRotation: {x: 0.39184773, y: 0.76737297, z: 0.2308153, w: -0.45201594} - m_LocalPosition: {x: -0.012677961, y: -1.5876189e-16, z: 1.498801e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557381} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060197 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557381} - m_Layer: 11 - m_Name: HAIR_Hair_Left_joint347 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557381 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060197} - m_LocalRotation: {x: 0.06855343, y: 0.048658483, z: -0.009258358, w: 0.99641716} - m_LocalPosition: {x: -0.017744267, y: 1.2212453e-17, z: -3.8857806e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557379} - m_Father: {fileID: 9146872230401557383} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060199 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557383} - m_Layer: 11 - m_Name: HAIR_Hair_Left_joint346 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557383 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060199} - m_LocalRotation: {x: 0.07469266, y: 0.043635443, z: -0.078873865, w: 0.9931243} - m_LocalPosition: {x: -0.015854236, y: -9.6589404e-17, z: 2.0400347e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557381} - m_Father: {fileID: 9146872230401556601} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060201 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557385} - m_Layer: 11 - m_Name: HAIR_Hair_Left_joint353 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557385 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060201} - m_LocalRotation: {x: 0.5741179, y: 0.09280395, z: -0.062316548, w: 0.81110585} - m_LocalPosition: {x: -0.033013973, y: 1.7763568e-17, z: 5.3290704e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557399} - m_Father: {fileID: 9146872230401557387} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060203 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557387} - m_Layer: 11 - m_Name: HAIR_Hair_Left_joint352 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557387 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060203} - m_LocalRotation: {x: 0.1782465, y: 0.012519467, z: -0.013242747, w: 0.9838171} - m_LocalPosition: {x: -0.026339011, y: -3.5527136e-17, z: 5.3290704e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557385} - m_Father: {fileID: 9146872230401557389} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060205 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557389} - m_Layer: 11 - m_Name: HAIR_Hair_Left_joint351 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557389 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060205} - m_LocalRotation: {x: 0.9343212, y: 0.11017229, z: -0.02056773, w: -0.33835325} - m_LocalPosition: {x: -0.028738517, y: -0.0041305856, z: -0.0036330738} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557387} - m_Father: {fileID: 9146872230401557391} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060207 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557391} - m_Layer: 11 - m_Name: HAIR_Hair_Left_joint350 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557391 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060207} - m_LocalRotation: {x: 0.10460802, y: 0.02708811, z: 0.07478351, w: 0.9913278} - m_LocalPosition: {x: -0.03991938, y: -0.003425547, z: -0.004853469} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557389} - m_Father: {fileID: 9146872230401557377} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060209 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557393} - m_Layer: 11 - m_Name: HAIR_Hair_Left_joint357 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557393 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060209} - m_LocalRotation: {x: 0.41007796, y: 0.9120503, z: 0.0002472418, w: -0.000549888} - m_LocalPosition: {x: -0.021319771, y: 4.2632563e-16, z: -9.992007e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557395} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060211 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557395} - m_Layer: 11 - m_Name: HAIR_Hair_Left_joint356 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557395 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060211} - m_LocalRotation: {x: 0.25493804, y: 0.15969726, z: -0.15767886, w: 0.9405534} - m_LocalPosition: {x: -0.016311081, y: -5.684342e-16, z: -1.3322676e-16} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557393} - m_Father: {fileID: 9146872230401557397} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060213 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557397} - m_Layer: 11 - m_Name: HAIR_Hair_Left_joint355 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557397 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060213} - m_LocalRotation: {x: 0.74794364, y: 0.20059326, z: -0.08295758, w: 0.62726444} - m_LocalPosition: {x: -0.023247702, y: 7.105427e-17, z: -5.3290704e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557395} - m_Father: {fileID: 9146872230401557399} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060215 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557399} - m_Layer: 11 - m_Name: HAIR_Hair_Left_joint354 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557399 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060215} - m_LocalRotation: {x: 0.36003387, y: 0.0669064, z: 0.049481876, w: 0.9292205} - m_LocalPosition: {x: -0.027439317, y: -7.105427e-17, z: 4.2188474e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557397} - m_Father: {fileID: 9146872230401557385} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060217 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557401} - m_Layer: 11 - m_Name: HAIR_Hair_Left_joint361 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557401 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060217} - m_LocalRotation: {x: 0.1903021, y: 0.024461223, z: 0.008538035, w: 0.9813837} - m_LocalPosition: {x: -0.027676502, y: -2.3037127e-17, z: -2.1649348e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557415} - m_Father: {fileID: 9146872230401557403} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060219 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557403} - m_Layer: 11 - m_Name: HAIR_Hair_Left_joint360 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557403 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060219} - m_LocalRotation: {x: -0.10454591, y: -0.016218279, z: 0.017267872, w: 0.9942379} - m_LocalPosition: {x: -0.030452501, y: 2.4702462e-17, z: 3.2196467e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557401} - m_Father: {fileID: 9146872230401557405} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060221 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557405} - m_Layer: 11 - m_Name: HAIR_Hair_Left_joint359 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557405 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060221} - m_LocalRotation: {x: -0.30283368, y: -0.07663028, z: 0.0726687, w: 0.94717413} - m_LocalPosition: {x: -0.04131984, y: 7.285838e-18, z: 1.3877787e-19} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557403} - m_Father: {fileID: 9146872230401557407} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060223 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557407} - m_Layer: 11 - m_Name: HAIR_Hair_Left_joint358 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557407 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060223} - m_LocalRotation: {x: -0.01773784, y: -0.02467914, z: 0.58336014, w: 0.8116448} - m_LocalPosition: {x: -0.0993333, y: -0.036520515, z: -0.049322948} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557405} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 26 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060225 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557409} - m_Layer: 11 - m_Name: HAIR_Hair_Left_joint365 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557409 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060225} - m_LocalRotation: {x: -0.0069607524, y: -0.0021796057, z: -0.059613273, w: 0.99819493} - m_LocalPosition: {x: -0.029604107, y: 1.3877787e-19, z: 6.383782e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557423} - m_Father: {fileID: 9146872230401557411} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060227 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557411} - m_Layer: 11 - m_Name: HAIR_Hair_Left_joint364 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557411 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060227} - m_LocalRotation: {x: 0.89531946, y: 0.15689385, z: 0.029294923, w: -0.41584754} - m_LocalPosition: {x: -0.027295517, y: 1.3072876e-16, z: 3.205769e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557409} - m_Father: {fileID: 9146872230401557413} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060229 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557413} - m_Layer: 11 - m_Name: HAIR_Hair_Left_joint363 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557413 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060229} - m_LocalRotation: {x: -0.099066116, y: -0.01503982, z: 0.04726223, w: 0.99384403} - m_LocalPosition: {x: -0.027111296, y: -2.2343239e-17, z: -1.1934897e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557411} - m_Father: {fileID: 9146872230401557415} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060231 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557415} - m_Layer: 11 - m_Name: HAIR_Hair_Left_joint362 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557415 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060231} - m_LocalRotation: {x: 0.09730294, y: 0.015569083, z: -0.039320674, w: 0.9943559} - m_LocalPosition: {x: -0.030357629, y: -1.5820678e-17, z: 4.4408918e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557413} - m_Father: {fileID: 9146872230401557401} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060233 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557417} - m_Layer: 11 - m_Name: HAIR_Hair_Right_joint346 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557417 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060233} - m_LocalRotation: {x: 0.07469266, y: 0.043635443, z: -0.078873865, w: 0.9931243} - m_LocalPosition: {x: 0.015854625, y: 0.0000001753344, z: -0.00000034647138} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557431} - m_Father: {fileID: 9146872230401557419} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060235 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557419} - m_Layer: 11 - m_Name: HAIR_Hair_Right_joint345 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557419 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060235} - m_LocalRotation: {x: 0.1944737, y: 0.09579775, z: 0.008046805, w: 0.97618544} - m_LocalPosition: {x: 0.033702932, y: 0.000000021195042, z: 0.00000036490152} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557417} - m_Father: {fileID: 9146872230401557421} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060237 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557421} - m_Layer: 11 - m_Name: HAIR_Hair_Right_joint344 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557421 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060237} - m_LocalRotation: {x: 0.27808496, y: 0.14059526, z: 0.0020445571, w: 0.9502092} - m_LocalPosition: {x: 0.041043833, y: 0.000003056296, z: -0.00000013449213} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557419} - m_Father: {fileID: 9146872230401557459} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060239 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557423} - m_Layer: 11 - m_Name: HAIR_Hair_Left_joint366 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557423 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060239} - m_LocalRotation: {x: 0.56055695, y: 0.81264174, z: -0.0904752, w: 0.13116229} - m_LocalPosition: {x: -0.012055225, y: -8.222589e-17, z: -2.5535128e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557409} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060241 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557425} - m_Layer: 11 - m_Name: HAIR_Hair_Right_joint352 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557425 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060241} - m_LocalRotation: {x: 0.1782465, y: 0.012519467, z: -0.013242747, w: 0.9838171} - m_LocalPosition: {x: 0.026332282, y: -0.00000042689788, z: 0.0000004162534} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557439} - m_Father: {fileID: 9146872230401557427} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060243 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557427} - m_Layer: 11 - m_Name: HAIR_Hair_Right_joint351 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557427 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060243} - m_LocalRotation: {x: 0.9343212, y: 0.11017229, z: -0.02056773, w: -0.33835325} - m_LocalPosition: {x: 0.028742824, y: 0.004130826, z: 0.0036336966} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557425} - m_Father: {fileID: 9146872230401557429} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060245 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557429} - m_Layer: 11 - m_Name: HAIR_Hair_Right_joint350 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557429 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060245} - m_LocalRotation: {x: 0.10460802, y: 0.02708811, z: 0.07478351, w: 0.9913278} - m_LocalPosition: {x: 0.039920963, y: 0.0034263881, z: 0.0048532365} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557427} - m_Father: {fileID: 9146872230401557457} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060247 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557431} - m_Layer: 11 - m_Name: HAIR_Hair_Right_joint347 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557431 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060247} - m_LocalRotation: {x: 0.06855343, y: 0.048658483, z: -0.009258358, w: 0.99641716} - m_LocalPosition: {x: 0.01774045, y: -0.0000025957281, z: 0.00000021866036} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556585} - m_Father: {fileID: 9146872230401557417} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060249 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557433} - m_Layer: 11 - m_Name: HAIR_Hair_Right_joint356 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557433 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060249} - m_LocalRotation: {x: 0.25493804, y: 0.15969726, z: -0.15767886, w: 0.9405534} - m_LocalPosition: {x: 0.016307056, y: -0.0000016915557, z: -0.0000000020054658} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557447} - m_Father: {fileID: 9146872230401557435} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060251 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557435} - m_Layer: 11 - m_Name: HAIR_Hair_Right_joint355 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557435 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060251} - m_LocalRotation: {x: 0.74794364, y: 0.20059326, z: -0.08295758, w: 0.62726444} - m_LocalPosition: {x: 0.023247788, y: 5.6080907e-10, z: 0.000000046281738} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557433} - m_Father: {fileID: 9146872230401557437} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060253 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557437} - m_Layer: 11 - m_Name: HAIR_Hair_Right_joint354 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557437 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060253} - m_LocalRotation: {x: 0.36003387, y: 0.0669064, z: 0.049481876, w: 0.9292205} - m_LocalPosition: {x: 0.02744652, y: 0.000001288739, z: -0.000000038400344} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557435} - m_Father: {fileID: 9146872230401557439} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060255 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557439} - m_Layer: 11 - m_Name: HAIR_Hair_Right_joint353 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557439 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060255} - m_LocalRotation: {x: 0.5741179, y: 0.09280395, z: -0.062316548, w: 0.81110585} - m_LocalPosition: {x: 0.03301523, y: 0.0000002766501, z: 0.0000004940861} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557437} - m_Father: {fileID: 9146872230401557425} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060257 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557441} - m_Layer: 11 - m_Name: HAIR_Hair_Right_joint360 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557441 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060257} - m_LocalRotation: {x: -0.10454591, y: -0.016218279, z: 0.017267872, w: 0.9942379} - m_LocalPosition: {x: 0.030445611, y: -0.0000009637778, z: 0.00000029735102} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557455} - m_Father: {fileID: 9146872230401557443} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060259 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557443} - m_Layer: 11 - m_Name: HAIR_Hair_Right_joint359 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557443 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060259} - m_LocalRotation: {x: -0.30283368, y: -0.07663028, z: 0.0726687, w: 0.94717413} - m_LocalPosition: {x: 0.04132511, y: 0.0000015412713, z: -0.000000025583493} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557441} - m_Father: {fileID: 9146872230401557445} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060261 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557445} - m_Layer: 11 - m_Name: HAIR_Hair_Right_joint358 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557445 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060261} - m_LocalRotation: {x: 0.8116448, y: -0.58336014, z: -0.02467914, w: 0.01773784} - m_LocalPosition: {x: 0.099333294, y: -0.036518157, z: -0.04932292} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557443} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 27 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060263 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557447} - m_Layer: 11 - m_Name: HAIR_Hair_Right_joint357 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557447 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060263} - m_LocalRotation: {x: 0.41007796, y: 0.9120503, z: 0.0002472418, w: -0.000549888} - m_LocalPosition: {x: 0.02132128, y: 0.0000017739455, z: -0.00000006127101} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557433} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060265 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557449} - m_Layer: 11 - m_Name: HAIR_Hair_Right_joint364 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557449 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060265} - m_LocalRotation: {x: 0.89531946, y: 0.15689385, z: 0.029294923, w: -0.41584754} - m_LocalPosition: {x: 0.02729513, y: -0.0000005783168, z: -0.00000026699215} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557463} - m_Father: {fileID: 9146872230401557451} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060267 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557451} - m_Layer: 11 - m_Name: HAIR_Hair_Right_joint363 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557451 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060267} - m_LocalRotation: {x: -0.099066116, y: -0.01503982, z: 0.04726223, w: 0.99384403} - m_LocalPosition: {x: 0.027110673, y: -0.0000000034604013, z: -0.000000012555124} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557449} - m_Father: {fileID: 9146872230401557453} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060269 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557453} - m_Layer: 11 - m_Name: HAIR_Hair_Right_joint362 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557453 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060269} - m_LocalRotation: {x: 0.09730294, y: 0.015569083, z: -0.039320674, w: 0.9943559} - m_LocalPosition: {x: 0.03036508, y: 0.0000013816611, z: 0.00000034294635} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557451} - m_Father: {fileID: 9146872230401557455} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060271 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557455} - m_Layer: 11 - m_Name: HAIR_Hair_Right_joint361 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557455 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060271} - m_LocalRotation: {x: 0.1903021, y: 0.024461223, z: 0.008538035, w: 0.9813837} - m_LocalPosition: {x: 0.027677605, y: -0.00000011247039, z: -0.00000043217702} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557453} - m_Father: {fileID: 9146872230401557441} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060273 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557457} - m_Layer: 11 - m_Name: HAIR_Hair_Right_joint469 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557457 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060273} - m_LocalRotation: {x: 0.77188164, y: -0.5522883, z: 0.25611505, w: -0.18325262} - m_LocalPosition: {x: 0.0987123, y: -0.034208156, z: -0.025548322} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557429} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 29 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060275 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557459} - m_Layer: 11 - m_Name: HAIR_Hair_Right_joint459 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557459 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060275} - m_LocalRotation: {x: 0.805757, y: -0.49431312, z: 0.27805245, w: -0.1705787} - m_LocalPosition: {x: 0.0985826, y: -0.033358157, z: -0.022860521} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557421} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 28 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060277 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557461} - m_Layer: 11 - m_Name: HAIR_Hair_Right_joint366 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557461 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060277} - m_LocalRotation: {x: 0.56055695, y: 0.81264174, z: -0.0904752, w: 0.13116229} - m_LocalPosition: {x: 0.012056193, y: -0.0000002904255, z: 0.00000018904049} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557463} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060279 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557463} - m_Layer: 11 - m_Name: HAIR_Hair_Right_joint365 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557463 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060279} - m_LocalRotation: {x: -0.0069607524, y: -0.0021796057, z: -0.059613273, w: 0.99819493} - m_LocalPosition: {x: 0.029595766, y: -0.000002084436, z: 0.000000036561897} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557461} - m_Father: {fileID: 9146872230401557449} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060281 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557465} - m_Layer: 11 - m_Name: HAIR_LongHairLeft1_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557465 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060281} - m_LocalRotation: {x: -0.0005964064, y: 0.008479876, z: 0.025214009, w: 0.99964595} - m_LocalPosition: {x: -0.04821236, y: 0.0011964958, z: 0.0042659366} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557483} - m_Father: {fileID: 9146872230401557467} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060283 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557467} - m_Layer: 11 - m_Name: HAIR_LongHairLeft1_joint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557467 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060283} - m_LocalRotation: {x: 0.0015503735, y: -0.032466367, z: -0.047673658, w: 0.998334} - m_LocalPosition: {x: -0.0069449255, y: -0.0025974908, z: -0.0016935407} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557465} - m_Father: {fileID: 9146872230401557339} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060285 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557469} - m_Layer: 11 - m_Name: HAIR_LongHair_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557469 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060285} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 2.1047967e-16, y: 0.007881771, z: -0.0651149} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557339} - - {fileID: 9146872230401557209} - m_Father: {fileID: 9146872230401557471} - m_RootOrder: 30 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060287 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557471} - - component: {fileID: 1971350513740431683} - m_Layer: 11 - m_Name: HAIR_Hair_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557471 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060287} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -2.1047965e-16, y: 1.4036381, z: 0.010753423} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401556781} - - {fileID: 9146872230401556779} - - {fileID: 9146872230401556793} - - {fileID: 9146872230401556823} - - {fileID: 9146872230401556837} - - {fileID: 9146872230401556851} - - {fileID: 9146872230401556611} - - {fileID: 9146872230401556727} - - {fileID: 9146872230401556725} - - {fileID: 9146872230401556723} - - {fileID: 9146872230401556721} - - {fileID: 9146872230401556735} - - {fileID: 9146872230401556733} - - {fileID: 9146872230401556731} - - {fileID: 9146872230401556483} - - {fileID: 9146872230401556491} - - {fileID: 9146872230401556499} - - {fileID: 9146872230401556505} - - {fileID: 9146872230401556533} - - {fileID: 9146872230401556599} - - {fileID: 9146872230401556597} - - {fileID: 9146872230401556595} - - {fileID: 9146872230401556593} - - {fileID: 9146872230401556607} - - {fileID: 9146872230401556605} - - {fileID: 9146872230401557377} - - {fileID: 9146872230401557407} - - {fileID: 9146872230401557445} - - {fileID: 9146872230401557459} - - {fileID: 9146872230401557457} - - {fileID: 9146872230401557469} - m_Father: {fileID: 9146872230401556753} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1773428102 &1971350513740431683 -ParentConstraint: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060287} - m_Enabled: 1 - m_Weight: 1 - m_TranslationAtRest: {x: -2.1047967e-16, y: 1.4036381, z: 0.010753423} - m_RotationAtRest: {x: 0, y: 0, z: 0} - m_TranslationOffsets: - - {x: 0, y: 0, z: 0} - m_RotationOffsets: - - {x: 0, y: 0, z: 0} - m_AffectTranslationX: 1 - m_AffectTranslationY: 1 - m_AffectTranslationZ: 1 - m_AffectRotationX: 1 - m_AffectRotationY: 1 - m_AffectRotationZ: 1 - m_IsContraintActive: 1 - m_IsLocked: 1 - m_Sources: - - sourceTransform: {fileID: 9146872230401572225} - weight: 1 ---- !u!1 &9146872230402060545 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557985} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Left_joint8 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557985 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060545} - m_LocalRotation: {x: 0.14331685, y: -0.164585, z: -0.48245817, w: 0.84829605} - m_LocalPosition: {x: -0.0029524714, y: 0.002498354, z: 0.0016636882} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557999} - m_Father: {fileID: 9146872230401557997} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060547 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557987} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Left_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557987 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060547} - m_LocalRotation: {x: -0.0021894758, y: -0.33601645, z: -0.19249919, w: 0.9219719} - m_LocalPosition: {x: -0.040237892, y: 0, z: 5.3290704e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557989} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060549 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557989} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Left_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557989 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060549} - m_LocalRotation: {x: 0.015605886, y: 0.080715805, z: 0.02128858, w: 0.9963876} - m_LocalPosition: {x: -0.032588314, y: -8.5265126e-16, z: 2.2204459e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557987} - m_Father: {fileID: 9146872230401557991} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060551 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557991} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Left_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557991 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060551} - m_LocalRotation: {x: -0.003822209, y: 0.2574274, z: 0.17724343, w: 0.94989544} - m_LocalPosition: {x: -0.0033303224, y: -0.0024283517, z: 0.0033329257} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557989} - m_Father: {fileID: 9146872230401557997} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060553 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557993} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Right_joint11 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557993 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060553} - m_LocalRotation: {x: 0.0010677644, y: -0.2613674, z: -0.1872512, w: 0.9469018} - m_LocalPosition: {x: 0.011698385, y: 0.0026066657, z: 0.009891129} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557995} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060555 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557995} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Right_joint10 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557995 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060555} - m_LocalRotation: {x: -0.0090686, y: 0.07973303, z: 0.29875198, w: 0.9509509} - m_LocalPosition: {x: 0.008674943, y: 0.012353111, z: 0.0054585314} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557993} - m_Father: {fileID: 9146872230401557761} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060557 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557997} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Left_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557997 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060557} - m_LocalRotation: {x: 0.0065433574, y: -0.065440014, z: -0.09927862, w: 0.992884} - m_LocalPosition: {x: -0.06444466, y: 0.031598985, z: 0.025436528} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557981} - - {fileID: 9146872230401557991} - - {fileID: 9146872230401557985} - - {fileID: 9146872230401557973} - m_Father: {fileID: 9146872230401571585} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060559 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557999} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Left_joint9 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557999 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060559} - m_LocalRotation: {x: -0.28898844, y: 0.26664, z: 0.36477238, w: 0.84399647} - m_LocalPosition: {x: -0.013533079, y: -0.004784381, z: 0.005693415} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557961} - m_Father: {fileID: 9146872230401557985} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060561 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401558001} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Right_joint15 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401558001 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060561} - m_LocalRotation: {x: 0.02147234, y: -0.24129385, z: -0.10705166, w: 0.9642905} - m_LocalPosition: {x: 0.009226271, y: -0.0069372146, z: 0.010073238} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401558003} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060563 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401558003} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Right_joint14 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401558003 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060563} - m_LocalRotation: {x: -0.053618357, y: -0.12972201, z: -0.35816297, w: 0.9230474} - m_LocalPosition: {x: -0.001288007, y: -0.0093963, z: 0.012499473} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401558001} - m_Father: {fileID: 9146872230401558005} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060565 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401558005} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Right_joint13 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401558005 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060565} - m_LocalRotation: {x: -0.5425819, y: -0.34122527, z: -0.18790562, w: 0.7442188} - m_LocalPosition: {x: -0.014808711, y: 0.0041554193, z: 0.0035901158} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401558003} - m_Father: {fileID: 9146872230401558007} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060567 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401558007} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Right_joint12 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401558007 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060567} - m_LocalRotation: {x: 0.44517037, y: 0.7620504, z: 0.3128779, w: 0.35101283} - m_LocalPosition: {x: 0.0026842381, y: -0.0028042693, z: 0.0021867745} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401558005} - m_Father: {fileID: 9146872230401557775} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060569 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401558009} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Right_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401558009 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060569} - m_LocalRotation: {x: -0.003822209, y: 0.2574274, z: 0.17724343, w: 0.94989544} - m_LocalPosition: {x: 0.0047354535, y: -0.0007990655, z: 0.0022435035} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557767} - m_Father: {fileID: 9146872230401557775} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060571 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401558011} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Right_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401558011 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060571} - m_LocalRotation: {x: 0.02082549, y: -0.21530724, z: 0.09399583, w: 0.97178906} - m_LocalPosition: {x: 0.023661751, y: 0.012548388, z: 0.030509967} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401558013} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060573 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401558013} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Right_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401558013 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060573} - m_LocalRotation: {x: -0.008076967, y: 0.058937572, z: -0.05652418, w: 0.9966274} - m_LocalPosition: {x: 0.02584362, y: 0.0046535423, z: 0.019215463} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401558011} - m_Father: {fileID: 9146872230401558015} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060575 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401558015} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Right_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401558015 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060575} - m_LocalRotation: {x: -0.030915389, y: 0.22029032, z: 0.05835365, w: 0.97319645} - m_LocalPosition: {x: 0.004453191, y: 0.002285779, z: 0.0014389596} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401558013} - m_Father: {fileID: 9146872230401557775} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060577 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557761} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Right_joint9 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557761 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060577} - m_LocalRotation: {x: -0.28898844, y: 0.26664, z: 0.36477238, w: 0.84399647} - m_LocalPosition: {x: -0.007609363, y: 0.012109485, z: -0.005823012} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557995} - m_Father: {fileID: 9146872230401557763} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060579 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557763} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Right_joint8 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557763 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060579} - m_LocalRotation: {x: 0.14331685, y: -0.164585, z: -0.48245817, w: 0.84829605} - m_LocalPosition: {x: 0.0020945445, y: 0.0035178508, z: 0.0009820017} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557761} - m_Father: {fileID: 9146872230401557775} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060581 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557765} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Right_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557765 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060581} - m_LocalRotation: {x: -0.0021894758, y: -0.33601645, z: -0.19249919, w: 0.9219719} - m_LocalPosition: {x: 0.015395822, y: -0.01199463, z: 0.035187863} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557767} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060583 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557767} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Right_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557767 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060583} - m_LocalRotation: {x: 0.015605886, y: 0.080715805, z: 0.02128858, w: 0.9963876} - m_LocalPosition: {x: 0.021616437, y: -0.0092836665, z: 0.022550864} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557765} - m_Father: {fileID: 9146872230401558009} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060591 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557775} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Right_root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557775 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060591} - m_LocalRotation: {x: 0.0065433574, y: -0.065440014, z: -0.09927862, w: 0.992884} - m_LocalPosition: {x: 0.06444464, y: 0.03159436, z: 0.025436532} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401558015} - - {fileID: 9146872230401558009} - - {fileID: 9146872230401557763} - - {fileID: 9146872230401558007} - m_Father: {fileID: 9146872230401571671} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060673 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557089} - m_Layer: 11 - m_Name: HAIR_LongHairRight1_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557089 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060673} - m_LocalRotation: {x: -0.00024668145, y: 0.0061546112, z: 0.004939328, w: 0.9999688} - m_LocalPosition: {x: 0.047157347, y: -0.008437235, z: -0.0022455326} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557103} - m_Father: {fileID: 9146872230401557091} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060675 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557091} - m_Layer: 11 - m_Name: HAIR_LongHairRight1_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557091 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060675} - m_LocalRotation: {x: -0.0005964064, y: 0.008479876, z: 0.025214009, w: 0.99964595} - m_LocalPosition: {x: 0.048212755, y: -0.0012013144, z: -0.0042659193} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557089} - m_Father: {fileID: 9146872230401557075} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060677 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557093} - m_Layer: 11 - m_Name: HAIR_LongHairRight1_joint16 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557093 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060677} - m_LocalRotation: {x: 0.00037112838, y: -0.050475296, z: 0.0073431027, w: 0.9986983} - m_LocalPosition: {x: 0.013749318, y: 0.0005922416, z: 0.001394102} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557095} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060679 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557095} - m_Layer: 11 - m_Name: HAIR_LongHairRight1_joint15 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557095 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060679} - m_LocalRotation: {x: -0.0008841193, y: -0.023563972, z: -0.052169234, w: 0.99835986} - m_LocalPosition: {x: 0.04374084, y: -0.0058120936, z: 0.0065800236} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557093} - m_Father: {fileID: 9146872230401557081} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060681 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557097} - m_Layer: 11 - m_Name: HAIR_LongHairRight1_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557097 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060681} - m_LocalRotation: {x: 0.00031175197, y: 0.010236811, z: -0.015689032, w: 0.99982446} - m_LocalPosition: {x: 0.04691601, y: -0.015600307, z: -0.0020570713} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557111} - m_Father: {fileID: 9146872230401557099} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060683 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557099} - m_Layer: 11 - m_Name: HAIR_LongHairRight1_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557099 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060683} - m_LocalRotation: {x: -0.00010838862, y: -0.004876911, z: 0.023911348, w: 0.9997022} - m_LocalPosition: {x: 0.049563907, y: -0.01273612, z: -0.0016575959} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557097} - m_Father: {fileID: 9146872230401557101} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060685 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557101} - m_Layer: 11 - m_Name: HAIR_LongHairRight1_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557101 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060685} - m_LocalRotation: {x: -0.000049029968, y: 0.007859937, z: 0.004545008, w: 0.9999588} - m_LocalPosition: {x: 0.050197575, y: -0.011429392, z: -0.0024638006} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557099} - m_Father: {fileID: 9146872230401557103} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060687 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557103} - m_Layer: 11 - m_Name: HAIR_LongHairRight1_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557103 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060687} - m_LocalRotation: {x: 0.00015455106, y: -0.0067326413, z: 0.0121678375, w: 0.9999033} - m_LocalPosition: {x: 0.048101056, y: -0.0089665735, z: -0.001705497} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557101} - m_Father: {fileID: 9146872230401557089} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060689 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557105} - m_Layer: 11 - m_Name: HAIR_LongHairRight2_joint10 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557105 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060689} - m_LocalRotation: {x: 0.00063732086, y: 0.038825206, z: 0.044100292, w: 0.9982722} - m_LocalPosition: {x: 0.06573388, y: -0.0071198917, z: 0.00033099324} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557119} - m_Father: {fileID: 9146872230401557911} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060691 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557107} - m_Layer: 11 - m_Name: HAIR_LongHairRight2_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557107 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060691} - m_LocalRotation: {x: -0.0005964064, y: 0.008479876, z: 0.025214009, w: 0.99964595} - m_LocalPosition: {x: 0.08451753, y: -0.004396402, z: -0.006599142} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557893} - m_Father: {fileID: 9146872230401557369} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060693 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557109} - m_Layer: 11 - m_Name: HAIR_LongHairRight1_joint9 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557109 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060693} - m_LocalRotation: {x: 0.000060231123, y: 0.017093921, z: -0.010700299, w: 0.9997966} - m_LocalPosition: {x: 0.048334915, y: -0.014349022, z: -0.0028881188} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557073} - m_Father: {fileID: 9146872230401557111} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060695 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557111} - m_Layer: 11 - m_Name: HAIR_LongHairRight1_joint8 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557111 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060695} - m_LocalRotation: {x: -0.00026599728, y: -0.018356208, z: -0.0002642112, w: 0.9998315} - m_LocalPosition: {x: 0.05144268, y: -0.013460428, z: -0.0011732884} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557109} - m_Father: {fileID: 9146872230401557097} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060697 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557113} - m_Layer: 11 - m_Name: HAIR_LongHairRight2_joint14 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557113 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060697} - m_LocalRotation: {x: -0.0008841193, y: -0.023563972, z: -0.052169234, w: 0.99835986} - m_LocalPosition: {x: 0.04293834, y: -0.006442734, z: 0.006469161} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557895} - m_Father: {fileID: 9146872230401557115} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060699 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557115} - m_Layer: 11 - m_Name: HAIR_LongHairRight2_joint13 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557115 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060699} - m_LocalRotation: {x: 0.00045177352, y: 0.0071332674, z: 0.026457211, w: 0.99962443} - m_LocalPosition: {x: 0.06177564, y: -0.008537859, z: 0.008356102} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557113} - m_Father: {fileID: 9146872230401557117} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060701 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557117} - m_Layer: 11 - m_Name: HAIR_LongHairRight2_joint12 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557117 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060701} - m_LocalRotation: {x: -0.00018316651, y: -0.0069087697, z: 0.010281484, w: 0.9999233} - m_LocalPosition: {x: 0.09990004, y: -0.01175226, z: 0.014888759} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557115} - m_Father: {fileID: 9146872230401557119} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060703 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557119} - m_Layer: 11 - m_Name: HAIR_LongHairRight2_joint11 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557119 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060703} - m_LocalRotation: {x: 0.001246399, y: 0.03244843, z: -0.022155253, w: 0.99922705} - m_LocalPosition: {x: 0.06038063, y: -0.011084833, z: 0.0050533433} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557117} - m_Father: {fileID: 9146872230401557105} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060705 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557889} - m_Layer: 11 - m_Name: HAIR_LongHairRight2_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557889 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060705} - m_LocalRotation: {x: -0.000049029968, y: 0.007859937, z: 0.004545008, w: 0.9999588} - m_LocalPosition: {x: 0.06493594, y: -0.006180166, z: -0.0031917552} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557903} - m_Father: {fileID: 9146872230401557891} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060707 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557891} - m_Layer: 11 - m_Name: HAIR_LongHairRight2_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557891 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060707} - m_LocalRotation: {x: 0.00015455106, y: -0.0067326413, z: 0.0121678375, w: 0.9999033} - m_LocalPosition: {x: 0.065118045, y: -0.0054468918, z: -0.0023172519} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557889} - m_Father: {fileID: 9146872230401557893} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060709 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557893} - m_Layer: 11 - m_Name: HAIR_LongHairRight2_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557893 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060709} - m_LocalRotation: {x: -0.00024668145, y: 0.0061546112, z: 0.004939328, w: 0.9999688} - m_LocalPosition: {x: 0.06877914, y: -0.0022383346, z: -0.0032968782} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557891} - m_Father: {fileID: 9146872230401557107} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060711 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557895} - m_Layer: 11 - m_Name: HAIR_LongHairRight2_joint15 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557895 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060711} - m_LocalRotation: {x: 0.00037112838, y: -0.050475296, z: 0.0073431027, w: 0.9986983} - m_LocalPosition: {x: 0.033292666, y: -0.0020006625, z: 0.003370567} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557113} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060713 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557897} - m_Layer: 11 - m_Name: HAIR_LongHairRight2_joint8 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557897 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060713} - m_LocalRotation: {x: 0.000060231123, y: 0.017093921, z: -0.010700299, w: 0.9997966} - m_LocalPosition: {x: 0.053882614, y: -0.008107306, z: -0.003212928} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557911} - m_Father: {fileID: 9146872230401557899} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060715 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557899} - m_Layer: 11 - m_Name: HAIR_LongHairRight2_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557899 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060715} - m_LocalRotation: {x: -0.00026599728, y: -0.018356208, z: -0.0002642112, w: 0.9998315} - m_LocalPosition: {x: 0.06754013, y: -0.008117341, z: -0.0015372307} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557897} - m_Father: {fileID: 9146872230401557901} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060717 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557901} - m_Layer: 11 - m_Name: HAIR_LongHairRight2_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557901 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060717} - m_LocalRotation: {x: 0.00031175197, y: 0.010236811, z: -0.015689032, w: 0.99982446} - m_LocalPosition: {x: 0.064048335, y: -0.011526092, z: -0.0027887719} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557899} - m_Father: {fileID: 9146872230401557903} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060719 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557903} - m_Layer: 11 - m_Name: HAIR_LongHairRight2_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557903 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060719} - m_LocalRotation: {x: -0.00010838862, y: -0.004876911, z: 0.023911348, w: 0.9997022} - m_LocalPosition: {x: 0.06660003, y: -0.0060272734, z: -0.0022279734} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557901} - m_Father: {fileID: 9146872230401557889} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060721 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557905} - m_Layer: 11 - m_Name: HAIR_LongHairRight3_joint11 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557905 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060721} - m_LocalRotation: {x: 0.001246399, y: 0.03244843, z: -0.022155253, w: 0.99922705} - m_LocalPosition: {x: 0.071316466, y: 0.00003366387, z: 0.005902701} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557919} - m_Father: {fileID: 9146872230401557907} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060723 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557907} - m_Layer: 11 - m_Name: HAIR_LongHairRight3_joint10 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557907 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060723} - m_LocalRotation: {x: 0.00063732086, y: 0.038825206, z: 0.044100292, w: 0.9982722} - m_LocalPosition: {x: 0.0736316, y: -0.000008147177, z: 0.00037187728} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557905} - m_Father: {fileID: 9146872230401557929} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060725 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557909} - m_Layer: 11 - m_Name: HAIR_LongHairRight3_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557909 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060725} - m_LocalRotation: {x: -0.0005964064, y: 0.008479876, z: 0.025214009, w: 0.99964595} - m_LocalPosition: {x: 0.06781655, y: -0.00003799192, z: -0.005543731} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557927} - m_Father: {fileID: 9146872230401557145} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060727 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557911} - m_Layer: 11 - m_Name: HAIR_LongHairRight2_joint9 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557911 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060727} - m_LocalRotation: {x: -0.00026443714, y: 0.015146897, z: -0.010276497, w: 0.99983245} - m_LocalPosition: {x: 0.07011815, y: -0.005806808, z: -0.0017695609} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557105} - m_Father: {fileID: 9146872230401557897} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060729 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557913} - m_Layer: 11 - m_Name: HAIR_LongHairRight3_joint15 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557913 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060729} - m_LocalRotation: {x: 0.00037112838, y: -0.050475296, z: 0.0073431027, w: 0.9986983} - m_LocalPosition: {x: 0.038526908, y: -0.0000034794311, z: 0.0039039291} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557915} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060731 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557915} - m_Layer: 11 - m_Name: HAIR_LongHairRight3_joint14 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557915 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060731} - m_LocalRotation: {x: -0.0008841193, y: -0.023563972, z: -0.052169234, w: 0.99835986} - m_LocalPosition: {x: 0.058062732, y: 0.000108623055, z: 0.008629878} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557913} - m_Father: {fileID: 9146872230401557917} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060733 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557917} - m_Layer: 11 - m_Name: HAIR_LongHairRight3_joint13 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557917 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060733} - m_LocalRotation: {x: 0.00045177352, y: 0.0071332674, z: 0.026457211, w: 0.99962443} - m_LocalPosition: {x: 0.06378338, y: 0.00004410411, z: 0.008583796} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557915} - m_Father: {fileID: 9146872230401557919} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060735 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557919} - m_Layer: 11 - m_Name: HAIR_LongHairRight3_joint12 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557919 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060735} - m_LocalRotation: {x: -0.00018316651, y: -0.0069087697, z: 0.010281484, w: 0.9999233} - m_LocalPosition: {x: 0.06922575, y: 0.000026930344, z: 0.010297448} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557917} - m_Father: {fileID: 9146872230401557905} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060737 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557921} - m_Layer: 11 - m_Name: HAIR_LongHairRight3_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557921 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060737} - m_LocalRotation: {x: -0.00010838862, y: -0.004876911, z: 0.023911348, w: 0.9997022} - m_LocalPosition: {x: 0.086319804, y: 0.0000061148125, z: -0.0028881026} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557935} - m_Father: {fileID: 9146872230401557923} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060739 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557923} - m_Layer: 11 - m_Name: HAIR_LongHairRight3_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557923 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060739} - m_LocalRotation: {x: -0.000049029968, y: 0.007859937, z: 0.004545008, w: 0.9999588} - m_LocalPosition: {x: 0.08668622, y: -0.000005277203, z: -0.004265208} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557921} - m_Father: {fileID: 9146872230401557925} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060741 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557925} - m_Layer: 11 - m_Name: HAIR_LongHairRight3_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557925 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060741} - m_LocalRotation: {x: 0.00015455106, y: -0.0067326413, z: 0.0121678375, w: 0.9999033} - m_LocalPosition: {x: 0.07911545, y: -0.0000020480566, z: -0.002823651} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557923} - m_Father: {fileID: 9146872230401557927} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060743 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557927} - m_Layer: 11 - m_Name: HAIR_LongHairRight3_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557927 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060743} - m_LocalRotation: {x: -0.00024668145, y: 0.0061546112, z: 0.004939328, w: 0.9999688} - m_LocalPosition: {x: 0.060285896, y: -0.000008133451, z: -0.0028939839} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557925} - m_Father: {fileID: 9146872230401557909} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060745 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557929} - m_Layer: 11 - m_Name: HAIR_LongHairRight3_joint9 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557929 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060745} - m_LocalRotation: {x: -0.00026443714, y: 0.015146897, z: -0.010276497, w: 0.99983245} - m_LocalPosition: {x: 0.07940773, y: 0.000000026801478, z: -0.0020051927} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557907} - m_Father: {fileID: 9146872230401557931} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060747 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557931} - m_Layer: 11 - m_Name: HAIR_LongHairRight3_joint8 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557931 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060747} - m_LocalRotation: {x: 0.000060231123, y: 0.017093921, z: -0.010700299, w: 0.9997966} - m_LocalPosition: {x: 0.08247256, y: 0.000006819093, z: -0.0049071885} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557929} - m_Father: {fileID: 9146872230401557933} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060749 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557933} - m_Layer: 11 - m_Name: HAIR_LongHairRight3_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557933 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060749} - m_LocalRotation: {x: -0.00026599728, y: -0.018356208, z: -0.0002642112, w: 0.9998315} - m_LocalPosition: {x: 0.08036107, y: 0.000004387839, z: -0.0018257994} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557931} - m_Father: {fileID: 9146872230401557935} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060751 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557935} - m_Layer: 11 - m_Name: HAIR_LongHairRight3_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557935 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060751} - m_LocalRotation: {x: 0.00031175197, y: 0.010236811, z: -0.015689032, w: 0.99982446} - m_LocalPosition: {x: 0.08258788, y: 0.0000011523687, z: -0.0035663822} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557933} - m_Father: {fileID: 9146872230401557921} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060753 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557937} - m_Layer: 11 - m_Name: HAIR_LongHairRight4_joint12 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557937 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060753} - m_LocalRotation: {x: -0.00018316651, y: -0.0069087697, z: 0.010281484, w: 0.9999233} - m_LocalPosition: {x: 0.050283164, y: 0.0019444948, z: 0.00747506} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557951} - m_Father: {fileID: 9146872230401557939} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060755 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557939} - m_Layer: 11 - m_Name: HAIR_LongHairRight4_joint11 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557939 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060755} - m_LocalRotation: {x: 0.001246399, y: 0.03244843, z: -0.022155253, w: 0.99922705} - m_LocalPosition: {x: 0.06170672, y: 0.010784999, z: 0.0050533433} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557937} - m_Father: {fileID: 9146872230401557941} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060757 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557941} - m_Layer: 11 - m_Name: HAIR_LongHairRight4_joint10 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557941 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060757} - m_LocalRotation: {x: 0.00063732086, y: 0.038825206, z: 0.044100292, w: 0.9982722} - m_LocalPosition: {x: 0.06506557, y: 0.016970841, z: 0.00033099324} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557939} - m_Father: {fileID: 9146872230401557963} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060759 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557943} - m_Layer: 11 - m_Name: HAIR_LongHairRight4_joint1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557943 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060759} - m_LocalRotation: {x: -0.0005964064, y: 0.008479876, z: 0.025214009, w: 0.99964595} - m_LocalPosition: {x: 0.08284807, y: 0.013043876, z: -0.006599142} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557945} - m_Father: {fileID: 9146872230401557177} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060761 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557945} - m_Layer: 11 - m_Name: HAIR_LongHairRight4_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557945 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060761} - m_LocalRotation: {x: -0.00024668145, y: 0.0061546112, z: 0.004939328, w: 0.9999688} - m_LocalPosition: {x: 0.06789207, y: 0.017461704, z: -0.0032968782} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557959} - m_Father: {fileID: 9146872230401557943} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060763 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557947} - m_Layer: 11 - m_Name: HAIR_LongHairRight4_joint15 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557947 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060763} - m_LocalRotation: {x: 0.00037112838, y: -0.050475296, z: 0.0073431027, w: 0.9986983} - m_LocalPosition: {x: 0.02998681, y: 0.005741563, z: 0.0030471217} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557949} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060765 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557949} - m_Layer: 11 - m_Name: HAIR_LongHairRight4_joint14 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557949 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060765} - m_LocalRotation: {x: -0.0008841193, y: -0.023563972, z: -0.052169234, w: 0.99835986} - m_LocalPosition: {x: 0.03194774, y: 0.007879502, z: 0.004643837} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557947} - m_Father: {fileID: 9146872230401557951} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060767 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557951} - m_Layer: 11 - m_Name: HAIR_LongHairRight4_joint13 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557951 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060767} - m_LocalRotation: {x: 0.00045177352, y: 0.0071332674, z: 0.026457211, w: 0.99962443} - m_LocalPosition: {x: 0.055258233, y: 0.011865654, z: 0.0073779225} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557949} - m_Father: {fileID: 9146872230401557937} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060769 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557953} - m_Layer: 11 - m_Name: HAIR_LongHairRight4_joint6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557953 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060769} - m_LocalRotation: {x: 0.00031175197, y: 0.010236811, z: -0.015689032, w: 0.99982446} - m_LocalPosition: {x: 0.06536179, y: 0.016923605, z: -0.0027887719} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557967} - m_Father: {fileID: 9146872230401557955} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060771 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557955} - m_Layer: 11 - m_Name: HAIR_LongHairRight4_joint5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557955 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060771} - m_LocalRotation: {x: -0.00010838862, y: -0.004876911, z: 0.023911348, w: 0.9997022} - m_LocalPosition: {x: 0.06655924, y: 0.018072693, z: -0.0022279734} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557953} - m_Father: {fileID: 9146872230401557957} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060773 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557957} - m_Layer: 11 - m_Name: HAIR_LongHairRight4_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557957 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060773} - m_LocalRotation: {x: -0.000049029968, y: 0.007859937, z: 0.004545008, w: 0.9999588} - m_LocalPosition: {x: 0.06466431, y: 0.019008368, z: -0.0031917552} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557955} - m_Father: {fileID: 9146872230401557959} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060775 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557959} - m_Layer: 11 - m_Name: HAIR_LongHairRight4_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557959 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060775} - m_LocalRotation: {x: 0.00015455106, y: -0.0067326413, z: 0.0121678375, w: 0.9999033} - m_LocalPosition: {x: 0.06434838, y: 0.016459592, z: -0.0023172519} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557957} - m_Father: {fileID: 9146872230401557945} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060777 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557961} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Left_joint10 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557961 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060777} - m_LocalRotation: {x: -0.0090686, y: 0.07973303, z: 0.29875198, w: 0.9509509} - m_LocalPosition: {x: -0.015954467, y: 0.0014236998, z: -0.0010380909} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557975} - m_Father: {fileID: 9146872230401557999} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060779 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557963} - m_Layer: 11 - m_Name: HAIR_LongHairRight4_joint9 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557963 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060779} - m_LocalRotation: {x: -0.00026443714, y: 0.015146897, z: -0.010276497, w: 0.99983245} - m_LocalPosition: {x: 0.06997659, y: 0.013912683, z: -0.0017695609} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557941} - m_Father: {fileID: 9146872230401557965} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060781 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557965} - m_Layer: 11 - m_Name: HAIR_LongHairRight4_joint8 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557965 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060781} - m_LocalRotation: {x: 0.000060231123, y: 0.017093921, z: -0.010700299, w: 0.9997966} - m_LocalPosition: {x: 0.054256592, y: 0.018180033, z: -0.003212928} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557963} - m_Father: {fileID: 9146872230401557967} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060783 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557967} - m_Layer: 11 - m_Name: HAIR_LongHairRight4_joint7 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557967 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060783} - m_LocalRotation: {x: -0.00026599728, y: -0.018356208, z: -0.0002642112, w: 0.9998315} - m_LocalPosition: {x: 0.067928, y: 0.018169798, z: -0.0015372307} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557965} - m_Father: {fileID: 9146872230401557953} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060785 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557969} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Left_joint14 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557969 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060785} - m_LocalRotation: {x: -0.053618357, y: -0.12972201, z: -0.35816297, w: 0.9230474} - m_LocalPosition: {x: -0.015123319, y: 0.003808517, z: -0.0017223901} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557983} - m_Father: {fileID: 9146872230401557971} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060787 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557971} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Left_joint13 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557971 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060787} - m_LocalRotation: {x: -0.5425819, y: -0.34122527, z: -0.18790562, w: 0.7442188} - m_LocalPosition: {x: -0.012887344, y: -0.0017596346, z: -0.008959597} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557969} - m_Father: {fileID: 9146872230401557973} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060789 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557973} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Left_joint12 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557973 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060789} - m_LocalRotation: {x: 0.44517037, y: 0.7620504, z: 0.3128779, w: 0.35101283} - m_LocalPosition: {x: -0.00075737335, y: -0.0034994744, z: 0.0026516235} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557971} - m_Father: {fileID: 9146872230401557997} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060791 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557975} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Left_joint11 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557975 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060791} - m_LocalRotation: {x: 0.0010677644, y: -0.2613674, z: -0.1872512, w: 0.9469018} - m_LocalPosition: {x: -0.013580326, y: 0.007498344, z: -0.00091155834} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557961} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060793 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557977} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Left_joint4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557977 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060793} - m_LocalRotation: {x: 0.02082549, y: -0.21530724, z: 0.09399583, w: 0.97178906} - m_LocalPosition: {x: -0.04059801, y: -1.4210854e-16, z: 2.6645352e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557979} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060795 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557979} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Left_joint3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557979 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060795} - m_LocalRotation: {x: -0.008076967, y: 0.058937572, z: -0.05652418, w: 0.9966274} - m_LocalPosition: {x: -0.03253893, y: -4.2632563e-16, z: 3.9968027e-17} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557977} - m_Father: {fileID: 9146872230401557981} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060797 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557981} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Left_joint2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557981 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060797} - m_LocalRotation: {x: -0.030915389, y: 0.22029032, z: 0.05835365, w: 0.97319645} - m_LocalPosition: {x: -0.0044615436, y: 0.0004850033, z: 0.0026430483} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 9146872230401557979} - m_Father: {fileID: 9146872230401557997} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9146872230402060799 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9146872230401557983} - m_Layer: 11 - m_Name: CLOTH_CLOTH_ShoulderRibbon_Left_joint15 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9146872230401557983 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9146872230402060799} - m_LocalRotation: {x: 0.02147234, y: -0.24129385, z: -0.10705166, w: 0.9642905} - m_LocalPosition: {x: -0.013827747, y: -0.0064343563, z: 0.0014531447} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 9146872230401557969} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_Animation.prefab.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_Animation.prefab.meta deleted file mode 100644 index 1bc8268..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_Animation.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 8a33cadbefd90ed4dbb2e58d4a9ea00b -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS.meta deleted file mode 100644 index 38ee586..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 84462b86dc8580146b5f81e0489a3215 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress.meta deleted file mode 100644 index 8bc8e14..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 36d6089654132774aad474438d1fac0c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat.meta deleted file mode 100644 index 0d469e3..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: cc355ab68d191884bacbab76f4607b77 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Accessories_Metal_mat.mat b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Accessories_Metal_mat.mat deleted file mode 100644 index 0919a9e..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Accessories_Metal_mat.mat +++ /dev/null @@ -1,240 +0,0 @@ -%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: 001MainDress_Accessories_Metal_mat - m_Shader: {fileID: 4800000, guid: 9baf30ce95c751649b14d96da3a4b4d5, type: 3} - m_ShaderKeywords: _ _EMISSIVE_SIMPLE _METALLICGLOSSMAP _NORMALMAP _OUTLINE_NML _SPECGLOSSMAP - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _1st_ShadeMap: - m_Texture: {fileID: 2800000, guid: 902244c6f79a0114fba6cda071844b89, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _2nd_ShadeMap: - m_Texture: {fileID: 2800000, guid: 902244c6f79a0114fba6cda071844b89, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BakedNormal: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: 11c459902c5ac9842b7d9d58a072d899, 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: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Emissive_Tex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HighColor_Tex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 902244c6f79a0114fba6cda071844b89, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCap_Sampler: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: 655b22df60ee3a44c8262c78547c5676, 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} - - _NormalMapForMatCap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 2800000, guid: 8a426762da884f348a0594dcf853c466, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OutlineTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Outline_Sampler: - 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} - - _Set_1st_ShadePosition: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_2nd_ShadePosition: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_HighColorMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_MatcapMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_RimLightMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SpecGlossMap: - m_Texture: {fileID: 2800000, guid: b8669f6c59b6cb64496d1e263dee36d3, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _1st2nd_Shades_Feather: 0.0001 - - _1st_ShadeColor_Feather: 0.0001 - - _1st_ShadeColor_Step: 0.5 - - _2nd_ShadeColor_Feather: 0.0001 - - _2nd_ShadeColor_Step: 0.416 - - _Add_Antipodean_RimLight: 0 - - _Ap_RimLight_FeatherOff: 0 - - _Ap_RimLight_Power: 0.1 - - _BaseColor_Step: 0.5 - - _BaseShade_Feather: 0.0001 - - _Base_Speed: 0 - - _BlurLevelMatcap: 0 - - _BumpScale: 1 - - _BumpScaleMatcap: 1 - - _CameraRolling_Stabilizer: 0 - - _ColorShift_Speed: 0 - - _CullMode: 2 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EMISSIVE: 0 - - _Farthest_Distance: 100 - - _GI_Intensity: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _HighColor_Power: 0 - - _Inverse_MatcapMask: 0 - - _Inverse_Z_Axis_BLD: 1 - - _Is_BLD: 0 - - _Is_BakedNormal: 0 - - _Is_BlendAddToHiColor: 0 - - _Is_BlendAddToMatCap: 1 - - _Is_BlendBaseColor: 0 - - _Is_ColorShift: 0 - - _Is_Filter_HiCutPointLightColor: 1 - - _Is_Filter_LightColor: 0 - - _Is_LightColor_1st_Shade: 1 - - _Is_LightColor_2nd_Shade: 1 - - _Is_LightColor_Ap_RimLight: 1 - - _Is_LightColor_Base: 1 - - _Is_LightColor_HighColor: 1 - - _Is_LightColor_MatCap: 1 - - _Is_LightColor_Outline: 1 - - _Is_LightColor_RimLight: 1 - - _Is_NormalMapForMatCap: 0 - - _Is_NormalMapToBase: 0 - - _Is_NormalMapToHighColor: 0 - - _Is_NormalMapToRimLight: 0 - - _Is_Ortho: 0 - - _Is_OutlineTex: 0 - - _Is_PingPong_Base: 0 - - _Is_SpecularToHighColor: 0 - - _Is_UseTweakHighColorOnShadow: 0 - - _Is_UseTweakMatCapOnShadow: 0 - - _Is_ViewCoord_Scroll: 0 - - _Is_ViewShift: 0 - - _LightDirection_MaskOn: 0 - - _MatCap: 0 - - _Metallic: 0 - - _Mode: 0 - - _Nearest_Distance: 0.5 - - _OUTLINE: 0 - - _OcclusionStrength: 1 - - _Offset_X_Axis_BLD: -0.05 - - _Offset_Y_Axis_BLD: 0.09 - - _Offset_Z: 0 - - _Outline_Width: 0 - - _Parallax: 0.02 - - _RimLight: 0 - - _RimLight_FeatherOff: 0 - - _RimLight_InsideMask: 0.0001 - - _RimLight_Power: 0.1 - - _Rotate_EmissiveUV: 0 - - _Rotate_MatCapUV: 0 - - _Rotate_NormalMapForMatCapUV: 0 - - _Scroll_EmissiveU: 0 - - _Scroll_EmissiveV: 0 - - _Set_SystemShadowsToBase: 1 - - _ShadeColor_Step: 0.416 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _StepOffset: 0 - - _TweakHighColorOnShadow: 0 - - _TweakMatCapOnShadow: 0 - - _Tweak_HighColorMaskLevel: 0 - - _Tweak_LightDirection_MaskLevel: 0 - - _Tweak_MatCapUV: 0 - - _Tweak_MatcapMaskLevel: 0 - - _Tweak_RimLightMaskLevel: 0 - - _Tweak_SystemShadowsLevel: 0 - - _UVSec: 0 - - _Unlit_Intensity: 1 - - _Use_1stAs2nd: 0 - - _Use_BaseAs1st: 0 - - _ZWrite: 1 - - _simpleUI: 0 - - _utsTechnique: 0 - - _utsVersion: 2.075 - m_Colors: - - _1st_ShadeColor: {r: 0.8156863, g: 0.85963726, b: 0.8862745, a: 1} - - _2nd_ShadeColor: {r: 0.746262, g: 0.7896346, b: 0.8113208, a: 1} - - _Ap_RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorShift: {r: 0, g: 0, b: 0, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _Emissive_Color: {r: 0, g: 0, b: 0, a: 1} - - _HighColor: {r: 0, g: 0, b: 0, a: 1} - - _MatCapColor: {r: 1, g: 1, b: 1, a: 1} - - _Outline_Color: {r: 0.5, g: 0.5, b: 0.5, a: 1} - - _RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _ViewShift: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Accessories_mat.mat b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Accessories_mat.mat deleted file mode 100644 index 87b2bc1..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Accessories_mat.mat +++ /dev/null @@ -1,240 +0,0 @@ -%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: 001MainDress_Accessories_mat - m_Shader: {fileID: 4800000, guid: 9baf30ce95c751649b14d96da3a4b4d5, type: 3} - m_ShaderKeywords: _ _EMISSIVE_SIMPLE _METALLICGLOSSMAP _NORMALMAP _OUTLINE_NML _SPECGLOSSMAP - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _1st_ShadeMap: - m_Texture: {fileID: 2800000, guid: 902244c6f79a0114fba6cda071844b89, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _2nd_ShadeMap: - m_Texture: {fileID: 2800000, guid: 902244c6f79a0114fba6cda071844b89, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BakedNormal: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: 11c459902c5ac9842b7d9d58a072d899, 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: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Emissive_Tex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HighColor_Tex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 902244c6f79a0114fba6cda071844b89, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCap_Sampler: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: 655b22df60ee3a44c8262c78547c5676, 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} - - _NormalMapForMatCap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 2800000, guid: 8a426762da884f348a0594dcf853c466, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OutlineTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Outline_Sampler: - 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} - - _Set_1st_ShadePosition: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_2nd_ShadePosition: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_HighColorMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_MatcapMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_RimLightMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SpecGlossMap: - m_Texture: {fileID: 2800000, guid: b8669f6c59b6cb64496d1e263dee36d3, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _1st2nd_Shades_Feather: 0.371 - - _1st_ShadeColor_Feather: 0.1 - - _1st_ShadeColor_Step: 0.6 - - _2nd_ShadeColor_Feather: 0.371 - - _2nd_ShadeColor_Step: 0.2 - - _Add_Antipodean_RimLight: 0 - - _Ap_RimLight_FeatherOff: 0 - - _Ap_RimLight_Power: 0.1 - - _BaseColor_Step: 0.6 - - _BaseShade_Feather: 0.1 - - _Base_Speed: 0 - - _BlurLevelMatcap: 0 - - _BumpScale: 1 - - _BumpScaleMatcap: 1 - - _CameraRolling_Stabilizer: 0 - - _ColorShift_Speed: 0 - - _CullMode: 0 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EMISSIVE: 0 - - _Farthest_Distance: 100 - - _GI_Intensity: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _HighColor_Power: 0 - - _Inverse_MatcapMask: 0 - - _Inverse_Z_Axis_BLD: 1 - - _Is_BLD: 0 - - _Is_BakedNormal: 0 - - _Is_BlendAddToHiColor: 0 - - _Is_BlendAddToMatCap: 1 - - _Is_BlendBaseColor: 1 - - _Is_ColorShift: 0 - - _Is_Filter_HiCutPointLightColor: 1 - - _Is_Filter_LightColor: 0 - - _Is_LightColor_1st_Shade: 1 - - _Is_LightColor_2nd_Shade: 1 - - _Is_LightColor_Ap_RimLight: 1 - - _Is_LightColor_Base: 1 - - _Is_LightColor_HighColor: 1 - - _Is_LightColor_MatCap: 1 - - _Is_LightColor_Outline: 0 - - _Is_LightColor_RimLight: 1 - - _Is_NormalMapForMatCap: 0 - - _Is_NormalMapToBase: 1 - - _Is_NormalMapToHighColor: 0 - - _Is_NormalMapToRimLight: 0 - - _Is_Ortho: 0 - - _Is_OutlineTex: 0 - - _Is_PingPong_Base: 0 - - _Is_SpecularToHighColor: 0 - - _Is_UseTweakHighColorOnShadow: 0 - - _Is_UseTweakMatCapOnShadow: 0 - - _Is_ViewCoord_Scroll: 0 - - _Is_ViewShift: 0 - - _LightDirection_MaskOn: 0 - - _MatCap: 0 - - _Metallic: 0 - - _Mode: 0 - - _Nearest_Distance: 0.5 - - _OUTLINE: 0 - - _OcclusionStrength: 1 - - _Offset_X_Axis_BLD: -0.05 - - _Offset_Y_Axis_BLD: 0.09 - - _Offset_Z: 0 - - _Outline_Width: 0.35 - - _Parallax: 0.02 - - _RimLight: 0 - - _RimLight_FeatherOff: 0 - - _RimLight_InsideMask: 0.0001 - - _RimLight_Power: 0.1 - - _Rotate_EmissiveUV: 0 - - _Rotate_MatCapUV: 0 - - _Rotate_NormalMapForMatCapUV: 0 - - _Scroll_EmissiveU: 0 - - _Scroll_EmissiveV: 0 - - _Set_SystemShadowsToBase: 1 - - _ShadeColor_Step: 0.2 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _StepOffset: 0 - - _TweakHighColorOnShadow: 0 - - _TweakMatCapOnShadow: 0 - - _Tweak_HighColorMaskLevel: 0 - - _Tweak_LightDirection_MaskLevel: 0 - - _Tweak_MatCapUV: 0 - - _Tweak_MatcapMaskLevel: 0 - - _Tweak_RimLightMaskLevel: 0 - - _Tweak_SystemShadowsLevel: 0 - - _UVSec: 0 - - _Unlit_Intensity: 1 - - _Use_1stAs2nd: 0 - - _Use_BaseAs1st: 0 - - _ZWrite: 1 - - _simpleUI: 0 - - _utsTechnique: 0 - - _utsVersion: 2.075 - m_Colors: - - _1st_ShadeColor: {r: 0.8503471, g: 0.8417141, b: 0.9150943, a: 1} - - _2nd_ShadeColor: {r: 0.7178076, g: 0.71008366, b: 0.764151, a: 1} - - _Ap_RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorShift: {r: 0, g: 0, b: 0, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _Emissive_Color: {r: 0, g: 0, b: 0, a: 1} - - _HighColor: {r: 0, g: 0, b: 0, a: 1} - - _MatCapColor: {r: 1, g: 1, b: 1, a: 1} - - _Outline_Color: {r: 0.20392157, g: 0.22352941, b: 0.25490198, a: 1} - - _RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _ViewShift: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Accessories_mat.mat.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Accessories_mat.mat.meta deleted file mode 100644 index 7a41961..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Accessories_mat.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: aaed5aebdbbbf4b4894aa68835af897c -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Bigribbon_Ball_mat.mat b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Bigribbon_Ball_mat.mat deleted file mode 100644 index 83f16a2..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Bigribbon_Ball_mat.mat +++ /dev/null @@ -1,238 +0,0 @@ -%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: 001MainDress_Bigribbon_Ball_mat - m_Shader: {fileID: 4800000, guid: 9baf30ce95c751649b14d96da3a4b4d5, type: 3} - m_ShaderKeywords: _IS_BLENDADDTOMATCAP_ON _IS_LIGHTCOLOR_1ST_SHADE_ON _IS_LIGHTCOLOR_2ND_SHADE_ON - _IS_LIGHTCOLOR_AP_RIMLIGHT_ON _IS_LIGHTCOLOR_BASE_ON _IS_LIGHTCOLOR_HIGHCOLOR_ON - _IS_LIGHTCOLOR_MATCAP_ON _IS_LIGHTCOLOR_RIMLIGHT_ON _OUTLINE_NML _SET_SYSTEMSHADOWSTOBASE_ON - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _1st_ShadeMap: - m_Texture: {fileID: 2800000, guid: 902244c6f79a0114fba6cda071844b89, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _2nd_ShadeMap: - m_Texture: {fileID: 2800000, guid: 902244c6f79a0114fba6cda071844b89, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BakedNormal: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 22ad57e470e9b8349bb0e63ed61cbc0e, type: 3} - 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} - - _Emissive_Tex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HighColor_Tex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 902244c6f79a0114fba6cda071844b89, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCap_Sampler: - 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} - - _NormalMap: - m_Texture: {fileID: 2800000, guid: c05a1bc47686e574f9680a9dba8bb3b5, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapForMatCap: - 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} - - _OutlineTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Outline_Sampler: - 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} - - _Set_1st_ShadePosition: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_2nd_ShadePosition: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_HighColorMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_MatcapMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_RimLightMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _1st2nd_Shades_Feather: 0.07 - - _1st_ShadeColor_Feather: 0.08 - - _1st_ShadeColor_Step: 0.6 - - _2nd_ShadeColor_Feather: 0.07 - - _2nd_ShadeColor_Step: 0.4 - - _Add_Antipodean_RimLight: 0 - - _Ap_RimLight_FeatherOff: 0 - - _Ap_RimLight_Power: 0.1 - - _BaseColor_Step: 0.6 - - _BaseShade_Feather: 0.08 - - _Base_Speed: 0 - - _BlurLevelMatcap: 0 - - _BumpScale: 1 - - _BumpScaleMatcap: 1 - - _CameraRolling_Stabilizer: 0 - - _ColorShift_Speed: 0 - - _CullMode: 2 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EMISSIVE: 0 - - _Farthest_Distance: 10 - - _GI_Intensity: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _HighColor_Power: 0 - - _Inverse_MatcapMask: 0 - - _Inverse_Z_Axis_BLD: 1 - - _Is_BLD: 0 - - _Is_BakedNormal: 0 - - _Is_BlendAddToHiColor: 0 - - _Is_BlendAddToMatCap: 1 - - _Is_BlendBaseColor: 1 - - _Is_ColorShift: 0 - - _Is_Filter_HiCutPointLightColor: 1 - - _Is_Filter_LightColor: 0 - - _Is_LightColor_1st_Shade: 1 - - _Is_LightColor_2nd_Shade: 1 - - _Is_LightColor_Ap_RimLight: 1 - - _Is_LightColor_Base: 1 - - _Is_LightColor_HighColor: 1 - - _Is_LightColor_MatCap: 1 - - _Is_LightColor_Outline: 0 - - _Is_LightColor_RimLight: 1 - - _Is_NormalMapForMatCap: 0 - - _Is_NormalMapToBase: 1 - - _Is_NormalMapToHighColor: 0 - - _Is_NormalMapToRimLight: 0 - - _Is_Ortho: 0 - - _Is_OutlineTex: 0 - - _Is_PingPong_Base: 0 - - _Is_SpecularToHighColor: 0 - - _Is_UseTweakHighColorOnShadow: 0 - - _Is_UseTweakMatCapOnShadow: 0 - - _Is_ViewCoord_Scroll: 0 - - _Is_ViewShift: 0 - - _LightDirection_MaskOn: 0 - - _MatCap: 0 - - _Metallic: 0 - - _Mode: 0 - - _Nearest_Distance: 0.5 - - _OUTLINE: 0 - - _OcclusionStrength: 1 - - _Offset_X_Axis_BLD: -0.05 - - _Offset_Y_Axis_BLD: 0.09 - - _Offset_Z: 0 - - _Outline_Width: 1 - - _Parallax: 0.02 - - _RimLight: 0 - - _RimLight_FeatherOff: 0 - - _RimLight_InsideMask: 0.0001 - - _RimLight_Power: 0.1 - - _Rotate_EmissiveUV: 0 - - _Rotate_MatCapUV: 0 - - _Rotate_NormalMapForMatCapUV: 0 - - _Scroll_EmissiveU: 0 - - _Scroll_EmissiveV: 0 - - _Set_SystemShadowsToBase: 1 - - _ShadeColor_Step: 0.4 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _StepOffset: 0 - - _TweakHighColorOnShadow: 0 - - _TweakMatCapOnShadow: 0 - - _Tweak_HighColorMaskLevel: 0 - - _Tweak_LightDirection_MaskLevel: 0 - - _Tweak_MatCapUV: 0 - - _Tweak_MatcapMaskLevel: 0 - - _Tweak_RimLightMaskLevel: 0 - - _Tweak_SystemShadowsLevel: 0 - - _UVSec: 0 - - _Unlit_Intensity: 1 - - _Use_1stAs2nd: 0 - - _Use_BaseAs1st: 0 - - _ZWrite: 1 - - _simpleUI: 0 - - _utsTechnique: 0 - - _utsVersion: 2.075 - m_Colors: - - _1st_ShadeColor: {r: 0.91764706, g: 0.8118442, b: 0.8, a: 1} - - _2nd_ShadeColor: {r: 0.8666667, g: 0.6963493, b: 0.6901961, a: 1} - - _Ap_RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorShift: {r: 0, g: 0, b: 0, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _Emissive_Color: {r: 0, g: 0, b: 0, a: 1} - - _HighColor: {r: 0, g: 0, b: 0, a: 1} - - _MatCapColor: {r: 1, g: 1, b: 1, a: 1} - - _Outline_Color: {r: 0.5, g: 0.5, b: 0.5, a: 1} - - _RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _ViewShift: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Bigribbon_Ball_mat.mat.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Bigribbon_Ball_mat.mat.meta deleted file mode 100644 index f27bef2..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Bigribbon_Ball_mat.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 9f243c1093d7e3744a89774ef2d156b7 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Bigribbon_Crystal_mat.mat b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Bigribbon_Crystal_mat.mat deleted file mode 100644 index ff6d9e2..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Bigribbon_Crystal_mat.mat +++ /dev/null @@ -1,238 +0,0 @@ -%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: 001MainDress_Bigribbon_Crystal_mat - m_Shader: {fileID: 4800000, guid: 9baf30ce95c751649b14d96da3a4b4d5, type: 3} - m_ShaderKeywords: _IS_BLENDADDTOMATCAP_ON _IS_LIGHTCOLOR_1ST_SHADE_ON _IS_LIGHTCOLOR_2ND_SHADE_ON - _IS_LIGHTCOLOR_AP_RIMLIGHT_ON _IS_LIGHTCOLOR_BASE_ON _IS_LIGHTCOLOR_HIGHCOLOR_ON - _IS_LIGHTCOLOR_MATCAP_ON _IS_LIGHTCOLOR_RIMLIGHT_ON _OUTLINE_NML _SET_SYSTEMSHADOWSTOBASE_ON - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _1st_ShadeMap: - m_Texture: {fileID: 2800000, guid: 902244c6f79a0114fba6cda071844b89, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _2nd_ShadeMap: - m_Texture: {fileID: 2800000, guid: 902244c6f79a0114fba6cda071844b89, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BakedNormal: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 22ad57e470e9b8349bb0e63ed61cbc0e, type: 3} - 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} - - _Emissive_Tex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HighColor_Tex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 902244c6f79a0114fba6cda071844b89, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCap_Sampler: - 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} - - _NormalMap: - m_Texture: {fileID: 2800000, guid: c05a1bc47686e574f9680a9dba8bb3b5, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapForMatCap: - 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} - - _OutlineTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Outline_Sampler: - 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} - - _Set_1st_ShadePosition: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_2nd_ShadePosition: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_HighColorMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_MatcapMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_RimLightMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _1st2nd_Shades_Feather: 0.07 - - _1st_ShadeColor_Feather: 0.08 - - _1st_ShadeColor_Step: 0.6 - - _2nd_ShadeColor_Feather: 0.07 - - _2nd_ShadeColor_Step: 0.4 - - _Add_Antipodean_RimLight: 0 - - _Ap_RimLight_FeatherOff: 0 - - _Ap_RimLight_Power: 0.1 - - _BaseColor_Step: 0.6 - - _BaseShade_Feather: 0.08 - - _Base_Speed: 0 - - _BlurLevelMatcap: 0 - - _BumpScale: 1 - - _BumpScaleMatcap: 1 - - _CameraRolling_Stabilizer: 0 - - _ColorShift_Speed: 0 - - _CullMode: 2 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EMISSIVE: 0 - - _Farthest_Distance: 10 - - _GI_Intensity: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _HighColor_Power: 0 - - _Inverse_MatcapMask: 0 - - _Inverse_Z_Axis_BLD: 1 - - _Is_BLD: 0 - - _Is_BakedNormal: 0 - - _Is_BlendAddToHiColor: 0 - - _Is_BlendAddToMatCap: 1 - - _Is_BlendBaseColor: 0 - - _Is_ColorShift: 0 - - _Is_Filter_HiCutPointLightColor: 1 - - _Is_Filter_LightColor: 0 - - _Is_LightColor_1st_Shade: 1 - - _Is_LightColor_2nd_Shade: 1 - - _Is_LightColor_Ap_RimLight: 1 - - _Is_LightColor_Base: 1 - - _Is_LightColor_HighColor: 1 - - _Is_LightColor_MatCap: 1 - - _Is_LightColor_Outline: 1 - - _Is_LightColor_RimLight: 1 - - _Is_NormalMapForMatCap: 0 - - _Is_NormalMapToBase: 1 - - _Is_NormalMapToHighColor: 0 - - _Is_NormalMapToRimLight: 0 - - _Is_Ortho: 0 - - _Is_OutlineTex: 0 - - _Is_PingPong_Base: 0 - - _Is_SpecularToHighColor: 0 - - _Is_UseTweakHighColorOnShadow: 0 - - _Is_UseTweakMatCapOnShadow: 0 - - _Is_ViewCoord_Scroll: 0 - - _Is_ViewShift: 0 - - _LightDirection_MaskOn: 0 - - _MatCap: 0 - - _Metallic: 0 - - _Mode: 0 - - _Nearest_Distance: 0.5 - - _OUTLINE: 0 - - _OcclusionStrength: 1 - - _Offset_X_Axis_BLD: -0.05 - - _Offset_Y_Axis_BLD: 0.09 - - _Offset_Z: 0 - - _Outline_Width: 1 - - _Parallax: 0.02 - - _RimLight: 0 - - _RimLight_FeatherOff: 0 - - _RimLight_InsideMask: 0.0001 - - _RimLight_Power: 0.1 - - _Rotate_EmissiveUV: 0 - - _Rotate_MatCapUV: 0 - - _Rotate_NormalMapForMatCapUV: 0 - - _Scroll_EmissiveU: 0 - - _Scroll_EmissiveV: 0 - - _Set_SystemShadowsToBase: 1 - - _ShadeColor_Step: 0.4 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _StepOffset: 0 - - _TweakHighColorOnShadow: 0 - - _TweakMatCapOnShadow: 0 - - _Tweak_HighColorMaskLevel: 0 - - _Tweak_LightDirection_MaskLevel: 0 - - _Tweak_MatCapUV: 0 - - _Tweak_MatcapMaskLevel: 0 - - _Tweak_RimLightMaskLevel: 0 - - _Tweak_SystemShadowsLevel: 0 - - _UVSec: 0 - - _Unlit_Intensity: 1 - - _Use_1stAs2nd: 0 - - _Use_BaseAs1st: 0 - - _ZWrite: 1 - - _simpleUI: 0 - - _utsTechnique: 0 - - _utsVersion: 2.075 - m_Colors: - - _1st_ShadeColor: {r: 0.9622642, g: 0.9622642, b: 0.9622642, a: 1} - - _2nd_ShadeColor: {r: 0.8396226, g: 0.8396226, b: 0.8396226, a: 1} - - _Ap_RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorShift: {r: 0, g: 0, b: 0, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _Emissive_Color: {r: 0, g: 0, b: 0, a: 1} - - _HighColor: {r: 0, g: 0, b: 0, a: 1} - - _MatCapColor: {r: 1, g: 1, b: 1, a: 1} - - _Outline_Color: {r: 0.5, g: 0.5, b: 0.5, a: 1} - - _RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _ViewShift: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Bigribbon_Crystal_mat.mat.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Bigribbon_Crystal_mat.mat.meta deleted file mode 100644 index 9d41713..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Bigribbon_Crystal_mat.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 880df4358eeff6b45aa67de6854d4c13 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Bigribbon_mat.mat b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Bigribbon_mat.mat deleted file mode 100644 index c8a193e..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Bigribbon_mat.mat +++ /dev/null @@ -1,238 +0,0 @@ -%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: 001MainDress_Bigribbon_mat - m_Shader: {fileID: 4800000, guid: 9baf30ce95c751649b14d96da3a4b4d5, type: 3} - m_ShaderKeywords: _IS_BLENDADDTOMATCAP_ON _IS_LIGHTCOLOR_1ST_SHADE_ON _IS_LIGHTCOLOR_2ND_SHADE_ON - _IS_LIGHTCOLOR_AP_RIMLIGHT_ON _IS_LIGHTCOLOR_BASE_ON _IS_LIGHTCOLOR_HIGHCOLOR_ON - _IS_LIGHTCOLOR_MATCAP_ON _IS_LIGHTCOLOR_RIMLIGHT_ON _OUTLINE_NML _SET_SYSTEMSHADOWSTOBASE_ON - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _1st_ShadeMap: - m_Texture: {fileID: 2800000, guid: 22ad57e470e9b8349bb0e63ed61cbc0e, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _2nd_ShadeMap: - m_Texture: {fileID: 2800000, guid: 22ad57e470e9b8349bb0e63ed61cbc0e, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BakedNormal: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 22ad57e470e9b8349bb0e63ed61cbc0e, type: 3} - 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} - - _Emissive_Tex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HighColor_Tex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 22ad57e470e9b8349bb0e63ed61cbc0e, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCap_Sampler: - 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} - - _NormalMap: - m_Texture: {fileID: 2800000, guid: c05a1bc47686e574f9680a9dba8bb3b5, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapForMatCap: - 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} - - _OutlineTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Outline_Sampler: - 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} - - _Set_1st_ShadePosition: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_2nd_ShadePosition: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_HighColorMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_MatcapMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_RimLightMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _1st2nd_Shades_Feather: 0.07 - - _1st_ShadeColor_Feather: 0.1 - - _1st_ShadeColor_Step: 0.6 - - _2nd_ShadeColor_Feather: 0.07 - - _2nd_ShadeColor_Step: 0.15 - - _Add_Antipodean_RimLight: 0 - - _Ap_RimLight_FeatherOff: 0 - - _Ap_RimLight_Power: 0.1 - - _BaseColor_Step: 0.6 - - _BaseShade_Feather: 0.1 - - _Base_Speed: 0 - - _BlurLevelMatcap: 0 - - _BumpScale: 1 - - _BumpScaleMatcap: 1 - - _CameraRolling_Stabilizer: 0 - - _ColorShift_Speed: 0 - - _CullMode: 2 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EMISSIVE: 0 - - _Farthest_Distance: 10 - - _GI_Intensity: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _HighColor_Power: 0 - - _Inverse_MatcapMask: 0 - - _Inverse_Z_Axis_BLD: 1 - - _Is_BLD: 0 - - _Is_BakedNormal: 0 - - _Is_BlendAddToHiColor: 0 - - _Is_BlendAddToMatCap: 1 - - _Is_BlendBaseColor: 0 - - _Is_ColorShift: 0 - - _Is_Filter_HiCutPointLightColor: 1 - - _Is_Filter_LightColor: 0 - - _Is_LightColor_1st_Shade: 1 - - _Is_LightColor_2nd_Shade: 1 - - _Is_LightColor_Ap_RimLight: 1 - - _Is_LightColor_Base: 1 - - _Is_LightColor_HighColor: 1 - - _Is_LightColor_MatCap: 1 - - _Is_LightColor_Outline: 1 - - _Is_LightColor_RimLight: 1 - - _Is_NormalMapForMatCap: 0 - - _Is_NormalMapToBase: 1 - - _Is_NormalMapToHighColor: 0 - - _Is_NormalMapToRimLight: 0 - - _Is_Ortho: 0 - - _Is_OutlineTex: 0 - - _Is_PingPong_Base: 0 - - _Is_SpecularToHighColor: 0 - - _Is_UseTweakHighColorOnShadow: 0 - - _Is_UseTweakMatCapOnShadow: 0 - - _Is_ViewCoord_Scroll: 0 - - _Is_ViewShift: 0 - - _LightDirection_MaskOn: 0 - - _MatCap: 0 - - _Metallic: 0 - - _Mode: 0 - - _Nearest_Distance: 0.5 - - _OUTLINE: 0 - - _OcclusionStrength: 1 - - _Offset_X_Axis_BLD: -0.05 - - _Offset_Y_Axis_BLD: 0.09 - - _Offset_Z: 0 - - _Outline_Width: 1 - - _Parallax: 0.02 - - _RimLight: 0 - - _RimLight_FeatherOff: 0 - - _RimLight_InsideMask: 0.0001 - - _RimLight_Power: 0.1 - - _Rotate_EmissiveUV: 0 - - _Rotate_MatCapUV: 0 - - _Rotate_NormalMapForMatCapUV: 0 - - _Scroll_EmissiveU: 0 - - _Scroll_EmissiveV: 0 - - _Set_SystemShadowsToBase: 1 - - _ShadeColor_Step: 0.15 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _StepOffset: 0 - - _TweakHighColorOnShadow: 0 - - _TweakMatCapOnShadow: 0 - - _Tweak_HighColorMaskLevel: 0 - - _Tweak_LightDirection_MaskLevel: 0 - - _Tweak_MatCapUV: 0 - - _Tweak_MatcapMaskLevel: 0 - - _Tweak_RimLightMaskLevel: 0 - - _Tweak_SystemShadowsLevel: 0 - - _UVSec: 0 - - _Unlit_Intensity: 1 - - _Use_1stAs2nd: 0 - - _Use_BaseAs1st: 0 - - _ZWrite: 1 - - _simpleUI: 0 - - _utsTechnique: 0 - - _utsVersion: 2.075 - m_Colors: - - _1st_ShadeColor: {r: 0.85898006, g: 0.8862927, b: 0.9150943, a: 1} - - _2nd_ShadeColor: {r: 0.7969918, g: 0.8230242, b: 0.8490566, a: 1} - - _Ap_RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorShift: {r: 0, g: 0, b: 0, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _Emissive_Color: {r: 0, g: 0, b: 0, a: 1} - - _HighColor: {r: 0, g: 0, b: 0, a: 1} - - _MatCapColor: {r: 1, g: 1, b: 1, a: 1} - - _Outline_Color: {r: 0.47726062, g: 0.56404483, b: 0.6132076, a: 1} - - _RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _ViewShift: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Bigribbon_mat.mat.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Bigribbon_mat.mat.meta deleted file mode 100644 index dd6d961..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Bigribbon_mat.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d10953d5193d25f40a8fc689f8b3bcb3 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Cloth_mat.mat b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Cloth_mat.mat deleted file mode 100644 index 7b8d827..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Cloth_mat.mat +++ /dev/null @@ -1,238 +0,0 @@ -%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: 001MainDress_Cloth_mat - m_Shader: {fileID: 4800000, guid: 9baf30ce95c751649b14d96da3a4b4d5, type: 3} - m_ShaderKeywords: _IS_BLENDADDTOMATCAP_ON _IS_LIGHTCOLOR_1ST_SHADE_ON _IS_LIGHTCOLOR_2ND_SHADE_ON - _IS_LIGHTCOLOR_AP_RIMLIGHT_ON _IS_LIGHTCOLOR_BASE_ON _IS_LIGHTCOLOR_HIGHCOLOR_ON - _IS_LIGHTCOLOR_MATCAP_ON _IS_LIGHTCOLOR_RIMLIGHT_ON _OUTLINE_NML _SET_SYSTEMSHADOWSTOBASE_ON - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _1st_ShadeMap: - m_Texture: {fileID: 2800000, guid: c8cf870287b184a4fb2b11044b5bf0af, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _2nd_ShadeMap: - m_Texture: {fileID: 2800000, guid: c8cf870287b184a4fb2b11044b5bf0af, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BakedNormal: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseMap: - m_Texture: {fileID: 2800000, guid: c8cf870287b184a4fb2b11044b5bf0af, type: 3} - 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} - - _Emissive_Tex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HighColor_Tex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: c8cf870287b184a4fb2b11044b5bf0af, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCap_Sampler: - 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} - - _NormalMap: - m_Texture: {fileID: 2800000, guid: f74851b68b90de1429cc8a95b58135c8, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapForMatCap: - 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} - - _OutlineTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Outline_Sampler: - 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} - - _Set_1st_ShadePosition: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_2nd_ShadePosition: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_HighColorMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_MatcapMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_RimLightMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _1st2nd_Shades_Feather: 0.278 - - _1st_ShadeColor_Feather: 0.08 - - _1st_ShadeColor_Step: 0.6 - - _2nd_ShadeColor_Feather: 0.278 - - _2nd_ShadeColor_Step: 0.3 - - _Add_Antipodean_RimLight: 0 - - _Ap_RimLight_FeatherOff: 0 - - _Ap_RimLight_Power: 0.1 - - _BaseColor_Step: 0.6 - - _BaseShade_Feather: 0.08 - - _Base_Speed: 0 - - _BlurLevelMatcap: 0 - - _BumpScale: 1 - - _BumpScaleMatcap: 1 - - _CameraRolling_Stabilizer: 0 - - _ColorShift_Speed: 0 - - _CullMode: 0 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EMISSIVE: 0 - - _Farthest_Distance: 13.27 - - _GI_Intensity: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _HighColor_Power: 0 - - _Inverse_MatcapMask: 0 - - _Inverse_Z_Axis_BLD: 1 - - _Is_BLD: 0 - - _Is_BakedNormal: 0 - - _Is_BlendAddToHiColor: 0 - - _Is_BlendAddToMatCap: 1 - - _Is_BlendBaseColor: 1 - - _Is_ColorShift: 0 - - _Is_Filter_HiCutPointLightColor: 1 - - _Is_Filter_LightColor: 0 - - _Is_LightColor_1st_Shade: 1 - - _Is_LightColor_2nd_Shade: 1 - - _Is_LightColor_Ap_RimLight: 1 - - _Is_LightColor_Base: 1 - - _Is_LightColor_HighColor: 1 - - _Is_LightColor_MatCap: 1 - - _Is_LightColor_Outline: 0 - - _Is_LightColor_RimLight: 1 - - _Is_NormalMapForMatCap: 0 - - _Is_NormalMapToBase: 1 - - _Is_NormalMapToHighColor: 0 - - _Is_NormalMapToRimLight: 0 - - _Is_Ortho: 0 - - _Is_OutlineTex: 0 - - _Is_PingPong_Base: 0 - - _Is_SpecularToHighColor: 0 - - _Is_UseTweakHighColorOnShadow: 0 - - _Is_UseTweakMatCapOnShadow: 0 - - _Is_ViewCoord_Scroll: 0 - - _Is_ViewShift: 0 - - _LightDirection_MaskOn: 0 - - _MatCap: 0 - - _Metallic: 0 - - _Mode: 0 - - _Nearest_Distance: 0.5 - - _OUTLINE: 0 - - _OcclusionStrength: 1 - - _Offset_X_Axis_BLD: -0.05 - - _Offset_Y_Axis_BLD: 0.09 - - _Offset_Z: 1 - - _Outline_Width: 1.34 - - _Parallax: 0.02 - - _RimLight: 0 - - _RimLight_FeatherOff: 0 - - _RimLight_InsideMask: 0.0001 - - _RimLight_Power: 0.1 - - _Rotate_EmissiveUV: 0 - - _Rotate_MatCapUV: 0 - - _Rotate_NormalMapForMatCapUV: 0 - - _Scroll_EmissiveU: 0 - - _Scroll_EmissiveV: 0 - - _Set_SystemShadowsToBase: 1 - - _ShadeColor_Step: 0.3 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _StepOffset: 0 - - _TweakHighColorOnShadow: 0 - - _TweakMatCapOnShadow: 0 - - _Tweak_HighColorMaskLevel: 0 - - _Tweak_LightDirection_MaskLevel: 0 - - _Tweak_MatCapUV: 0 - - _Tweak_MatcapMaskLevel: 0 - - _Tweak_RimLightMaskLevel: 0 - - _Tweak_SystemShadowsLevel: 0 - - _UVSec: 0 - - _Unlit_Intensity: 1 - - _Use_1stAs2nd: 0 - - _Use_BaseAs1st: 0 - - _ZWrite: 1 - - _simpleUI: 0 - - _utsTechnique: 0 - - _utsVersion: 2.075 - m_Colors: - - _1st_ShadeColor: {r: 0.8504992, g: 0.8503471, b: 0.9150943, a: 1} - - _2nd_ShadeColor: {r: 0.73001957, g: 0.73001957, b: 0.8018868, a: 1} - - _Ap_RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorShift: {r: 0, g: 0, b: 0, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _Emissive_Color: {r: 0, g: 0, b: 0, a: 1} - - _HighColor: {r: 0, g: 0, b: 0, a: 1} - - _MatCapColor: {r: 1, g: 1, b: 1, a: 1} - - _Outline_Color: {r: 0.20545569, g: 0.22259006, b: 0.254717, a: 1} - - _RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _ViewShift: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Cloth_mat.mat.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Cloth_mat.mat.meta deleted file mode 100644 index 771b909..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Cloth_mat.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c40aac831ef72734aa95b1d6c9657079 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Pants_mat.mat b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Pants_mat.mat deleted file mode 100644 index 011161b..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Pants_mat.mat +++ /dev/null @@ -1,238 +0,0 @@ -%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: 001MainDress_Pants_mat - m_Shader: {fileID: 4800000, guid: 9baf30ce95c751649b14d96da3a4b4d5, type: 3} - m_ShaderKeywords: _IS_BLENDADDTOMATCAP_ON _IS_LIGHTCOLOR_1ST_SHADE_ON _IS_LIGHTCOLOR_2ND_SHADE_ON - _IS_LIGHTCOLOR_AP_RIMLIGHT_ON _IS_LIGHTCOLOR_BASE_ON _IS_LIGHTCOLOR_HIGHCOLOR_ON - _IS_LIGHTCOLOR_MATCAP_ON _IS_LIGHTCOLOR_RIMLIGHT_ON _OUTLINE_NML _SET_SYSTEMSHADOWSTOBASE_ON - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _1st_ShadeMap: - m_Texture: {fileID: 2800000, guid: 22ad57e470e9b8349bb0e63ed61cbc0e, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _2nd_ShadeMap: - m_Texture: {fileID: 2800000, guid: 22ad57e470e9b8349bb0e63ed61cbc0e, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BakedNormal: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 22ad57e470e9b8349bb0e63ed61cbc0e, type: 3} - 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} - - _Emissive_Tex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HighColor_Tex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 22ad57e470e9b8349bb0e63ed61cbc0e, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCap_Sampler: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapForMatCap: - 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} - - _OutlineTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Outline_Sampler: - 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} - - _Set_1st_ShadePosition: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_2nd_ShadePosition: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_HighColorMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_MatcapMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_RimLightMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _1st2nd_Shades_Feather: 0.07 - - _1st_ShadeColor_Feather: 0.08 - - _1st_ShadeColor_Step: 0.6 - - _2nd_ShadeColor_Feather: 0.07 - - _2nd_ShadeColor_Step: 0.4 - - _Add_Antipodean_RimLight: 0 - - _Ap_RimLight_FeatherOff: 0 - - _Ap_RimLight_Power: 0.1 - - _BaseColor_Step: 0.6 - - _BaseShade_Feather: 0.08 - - _Base_Speed: 0 - - _BlurLevelMatcap: 0 - - _BumpScale: 1 - - _BumpScaleMatcap: 1 - - _CameraRolling_Stabilizer: 0 - - _ColorShift_Speed: 0 - - _CullMode: 2 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EMISSIVE: 0 - - _Farthest_Distance: 10 - - _GI_Intensity: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _HighColor_Power: 0 - - _Inverse_MatcapMask: 0 - - _Inverse_Z_Axis_BLD: 1 - - _Is_BLD: 0 - - _Is_BakedNormal: 0 - - _Is_BlendAddToHiColor: 0 - - _Is_BlendAddToMatCap: 1 - - _Is_BlendBaseColor: 1 - - _Is_ColorShift: 0 - - _Is_Filter_HiCutPointLightColor: 1 - - _Is_Filter_LightColor: 0 - - _Is_LightColor_1st_Shade: 1 - - _Is_LightColor_2nd_Shade: 1 - - _Is_LightColor_Ap_RimLight: 1 - - _Is_LightColor_Base: 1 - - _Is_LightColor_HighColor: 1 - - _Is_LightColor_MatCap: 1 - - _Is_LightColor_Outline: 0 - - _Is_LightColor_RimLight: 1 - - _Is_NormalMapForMatCap: 0 - - _Is_NormalMapToBase: 0 - - _Is_NormalMapToHighColor: 0 - - _Is_NormalMapToRimLight: 0 - - _Is_Ortho: 0 - - _Is_OutlineTex: 0 - - _Is_PingPong_Base: 0 - - _Is_SpecularToHighColor: 0 - - _Is_UseTweakHighColorOnShadow: 0 - - _Is_UseTweakMatCapOnShadow: 0 - - _Is_ViewCoord_Scroll: 0 - - _Is_ViewShift: 0 - - _LightDirection_MaskOn: 0 - - _MatCap: 0 - - _Metallic: 0 - - _Mode: 0 - - _Nearest_Distance: 0.5 - - _OUTLINE: 0 - - _OcclusionStrength: 1 - - _Offset_X_Axis_BLD: -0.05 - - _Offset_Y_Axis_BLD: 0.09 - - _Offset_Z: 0 - - _Outline_Width: 1 - - _Parallax: 0.02 - - _RimLight: 0 - - _RimLight_FeatherOff: 0 - - _RimLight_InsideMask: 0.0001 - - _RimLight_Power: 0.1 - - _Rotate_EmissiveUV: 0 - - _Rotate_MatCapUV: 0 - - _Rotate_NormalMapForMatCapUV: 0 - - _Scroll_EmissiveU: 0 - - _Scroll_EmissiveV: 0 - - _Set_SystemShadowsToBase: 1 - - _ShadeColor_Step: 0.4 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _StepOffset: 0 - - _TweakHighColorOnShadow: 0 - - _TweakMatCapOnShadow: 0 - - _Tweak_HighColorMaskLevel: 0 - - _Tweak_LightDirection_MaskLevel: 0 - - _Tweak_MatCapUV: 0 - - _Tweak_MatcapMaskLevel: 0 - - _Tweak_RimLightMaskLevel: 0 - - _Tweak_SystemShadowsLevel: 0 - - _UVSec: 0 - - _Unlit_Intensity: 1 - - _Use_1stAs2nd: 0 - - _Use_BaseAs1st: 0 - - _ZWrite: 1 - - _simpleUI: 0 - - _utsTechnique: 0 - - _utsVersion: 2.075 - m_Colors: - - _1st_ShadeColor: {r: 0.8, g: 0.8745098, b: 0.91764706, a: 1} - - _2nd_ShadeColor: {r: 0.6901961, g: 0.8039216, b: 0.8666667, a: 1} - - _Ap_RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorShift: {r: 0, g: 0, b: 0, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _Emissive_Color: {r: 0, g: 0, b: 0, a: 1} - - _HighColor: {r: 0, g: 0, b: 0, a: 1} - - _MatCapColor: {r: 1, g: 1, b: 1, a: 1} - - _Outline_Color: {r: 0.19486472, g: 0.21297236, b: 0.2735849, a: 1} - - _RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _ViewShift: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Pants_mat.mat.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Pants_mat.mat.meta deleted file mode 100644 index 5e36416..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_mat/001MainDress_Pants_mat.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c63bb4a9f66571a4b87ffd5ea50530da -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex.meta deleted file mode 100644 index 01abc52..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 9ed30b6b1b4eb4a42b34c46464143d8c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_AO.png b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_AO.png deleted file mode 100644 index f725924..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_AO.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:926d257b4c174be6b5b9a034973beb149994a41f4fb5086810164624e20c6743 -size 30493819 diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_AO.png.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_AO.png.meta deleted file mode 100644 index a16f150..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_AO.png.meta +++ /dev/null @@ -1,88 +0,0 @@ -fileFormatVersion: 2 -guid: 8a426762da884f348a0594dcf853c466 -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 9 - 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: 2 - 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: [] - bones: [] - spriteID: - vertices: [] - indices: - edges: [] - weights: [] - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_Diffuse.png b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_Diffuse.png deleted file mode 100644 index 96ae9a4..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_Diffuse.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d0f5fe3560333907ad830166d7339cf52450e0469785a0b6ac872138411312ca -size 8377012 diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_Diffuse.png.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_Diffuse.png.meta deleted file mode 100644 index 5c7a2cd..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_Diffuse.png.meta +++ /dev/null @@ -1,99 +0,0 @@ -fileFormatVersion: 2 -guid: 902244c6f79a0114fba6cda071844b89 -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 9 - 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: 2 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - serializedVersion: 2 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - vertices: [] - indices: - edges: [] - weights: [] - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_Metaric.png b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_Metaric.png deleted file mode 100644 index 3661732..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_Metaric.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a839eceb8bace49f1adf80c8deb1ffc73f263e4e96d9d56cc2c4d58303053efb -size 31486 diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_Metaric.png.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_Metaric.png.meta deleted file mode 100644 index 4c7042e..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_Metaric.png.meta +++ /dev/null @@ -1,88 +0,0 @@ -fileFormatVersion: 2 -guid: 655b22df60ee3a44c8262c78547c5676 -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 9 - 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: 2 - 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: [] - bones: [] - spriteID: - vertices: [] - indices: - edges: [] - weights: [] - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_Normal_detail.png b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_Normal_detail.png deleted file mode 100644 index cd86cad..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_Normal_detail.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7579b5ee7ce701f62a988e402101ae710d51e58852efa3309e7cffc3f3eeca74 -size 52196616 diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_Normal_detail.png.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_Normal_detail.png.meta deleted file mode 100644 index c6fc960..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_Normal_detail.png.meta +++ /dev/null @@ -1,88 +0,0 @@ -fileFormatVersion: 2 -guid: 11c459902c5ac9842b7d9d58a072d899 -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 9 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 0 - 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: 1 - textureShape: 1 - singleChannelComponent: 0 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - serializedVersion: 2 - 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: [] - bones: [] - spriteID: - vertices: [] - indices: - edges: [] - weights: [] - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_Roughness.png b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_Roughness.png deleted file mode 100644 index 1b84f9f..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_Roughness.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ef72c5f31d0dc070171af98190eb92f115bcd8258f7e360ab1fde7bfccc2390e -size 26880262 diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_Roughness.png.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_Roughness.png.meta deleted file mode 100644 index 47f4967..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Accessories_Roughness.png.meta +++ /dev/null @@ -1,88 +0,0 @@ -fileFormatVersion: 2 -guid: b8669f6c59b6cb64496d1e263dee36d3 -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 9 - 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: 2 - 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: [] - bones: [] - spriteID: - vertices: [] - indices: - edges: [] - weights: [] - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Cloth_Diffuse.png b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Cloth_Diffuse.png deleted file mode 100644 index c88aa1b..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Cloth_Diffuse.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:812010dd9bda841fe251b636c6e3e4375a41de4fa94a25c96749ed528d417293 -size 7523019 diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Cloth_Nomal.png b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Cloth_Nomal.png deleted file mode 100644 index 6f09dbf..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Cloth_Nomal.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f29482ed3e6254245bcdfc2b0f3259f9dc381cf3c8a5b317eb8348e570095bc5 -size 37784531 diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Cloth_Nomal.png.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Cloth_Nomal.png.meta deleted file mode 100644 index 534827c..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Cloth_Nomal.png.meta +++ /dev/null @@ -1,88 +0,0 @@ -fileFormatVersion: 2 -guid: f74851b68b90de1429cc8a95b58135c8 -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 9 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 0 - 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: 1 - textureShape: 1 - singleChannelComponent: 0 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - serializedVersion: 2 - 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: [] - bones: [] - spriteID: - vertices: [] - indices: - edges: [] - weights: [] - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_PantsRibbon_Diffuse.png b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_PantsRibbon_Diffuse.png deleted file mode 100644 index 9c480fe..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_PantsRibbon_Diffuse.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7f3e8a165180d5f50e19a76d7d130901d0c24f46c693a058fa74bb3bd84f23d5 -size 4607294 diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Ribbon_Nomal.png b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Ribbon_Nomal.png deleted file mode 100644 index 701624c..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_CLS/001MainDress/001_tex/001MainDress_Ribbon_Nomal.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8206d75c0753a2c062a02be32b4e1a2cdcf895a58d0a0c9a82797d7a9499cf5e -size 8915269 diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_FBX.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_FBX.meta deleted file mode 100644 index 51d83c6..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_FBX.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 8a0b5fb8f05104f4aa37688296770573 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_FBX/Else2019.fbx b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_FBX/Else2019.fbx deleted file mode 100644 index ae15d82..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_FBX/Else2019.fbx +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:975b457709bb76de1fc49a974abcadc4dfb44ed8e4b3efd7e368e5e41c4766b5 -size 11435872 diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_FBX/Else2019.fbx.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_FBX/Else2019.fbx.meta deleted file mode 100644 index e9eacac..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_FBX/Else2019.fbx.meta +++ /dev/null @@ -1,9059 +0,0 @@ -fileFormatVersion: 2 -guid: e0e31ad4796a7e043a94516275e896a7 -ModelImporter: - serializedVersion: 23 - fileIDToRecycleName: - 100000: CLOTH_Head - 100002: CLOTH_Head1 - 100004: CLOTH_Hips - 100006: CLOTH_LeftArm - 100008: CLOTH_LeftArmRoll - 100010: CLOTH_LeftArmTwist1 - 100012: CLOTH_LeftArmTwist2 - 100014: CLOTH_LeftFoot - 100016: CLOTH_LeftForeArm - 100018: CLOTH_LeftForeArmElbow - 100020: CLOTH_LeftForeArmRoll - 100022: CLOTH_LeftForeArmTwist1 - 100024: CLOTH_LeftForeArmTwist2 - 100026: CLOTH_LeftHand - 100028: CLOTH_LeftHandAttach - 100030: CLOTH_LeftHandIndex1 - 100032: CLOTH_LeftHandIndex2 - 100034: CLOTH_LeftHandIndex3 - 100036: CLOTH_LeftHandIndex_root - 100038: CLOTH_LeftHandMiddle1 - 100040: CLOTH_LeftHandMiddle2 - 100042: CLOTH_LeftHandMiddle3 - 100044: CLOTH_LeftHandMiddle_root - 100046: CLOTH_LeftHandPinky1 - 100048: CLOTH_LeftHandPinky2 - 100050: CLOTH_LeftHandPinky3 - 100052: CLOTH_LeftHandPinky_root - 100054: CLOTH_LeftHandRing1 - 100056: CLOTH_LeftHandRing2 - 100058: CLOTH_LeftHandRing3 - 100060: CLOTH_LeftHandRing_root - 100062: CLOTH_LeftHandThumb1 - 100064: CLOTH_LeftHandThumb2 - 100066: CLOTH_LeftHandThumb3 - 100068: CLOTH_LeftLeg - 100070: CLOTH_LeftShoulder - 100072: CLOTH_LeftToeBase - 100074: CLOTH_LeftToeBase1 - 100076: CLOTH_LeftUpLeg - 100078: CLOTH_Neck - 100080: CLOTH_RightArm - 100082: CLOTH_RightArmRoll - 100084: CLOTH_RightArmTwist1 - 100086: CLOTH_RightArmTwist2 - 100088: CLOTH_RightFoot - 100090: CLOTH_RightForeArm - 100092: CLOTH_RightForeArmElbow - 100094: CLOTH_RightForeArmRoll - 100096: CLOTH_RightForeArmTwist1 - 100098: CLOTH_RightForeArmTwist2 - 100100: CLOTH_RightHand - 100102: CLOTH_RightHandAttach - 100104: CLOTH_RightHandIndex1 - 100106: CLOTH_RightHandIndex2 - 100108: CLOTH_RightHandIndex3 - 100110: CLOTH_RightHandIndex_root - 100112: CLOTH_RightHandMiddle1 - 100114: CLOTH_RightHandMiddle2 - 100116: CLOTH_RightHandMiddle3 - 100118: CLOTH_RightHandMiddle_root - 100120: CLOTH_RightHandPinky1 - 100122: CLOTH_RightHandPinky2 - 100124: CLOTH_RightHandPinky3 - 100126: CLOTH_RightHandPinky_root - 100128: CLOTH_RightHandRing1 - 100130: CLOTH_RightHandRing2 - 100132: CLOTH_RightHandRing3 - 100134: CLOTH_RightHandRing_root - 100136: CLOTH_RightHandThumb1 - 100138: CLOTH_RightHandThumb2 - 100140: CLOTH_RightHandThumb3 - 100142: CLOTH_RightLeg - 100144: CLOTH_RightShoulder - 100146: CLOTH_RightToeBase - 100148: CLOTH_RightToeBase1 - 100150: CLOTH_RightUpLeg - 100152: CLOTH_Spine - 100154: CLOTH_Spine1 - 100156: CLOTH_Spine2 - 100158: CLOTH_Spine3 - 100160: //RootNode - 100162: Else_BigRibon_A_geo - 100164: Else_BigRibon_B_L_geo - 100166: Else_BigRibon_B_R_geo - 100168: Else_body_geo - 100170: Else_Cloth - 100172: Else_Cloth_geo - 100174: Else_face_geo - 100176: Else_Hair - 100178: Else_mesh - 100180: Else_Pants_geo - 100182: Else_root - 100184: ElseCLOTH_socket - 100186: ElseMAIN_socket - 100188: HairParts_BackUnder_geo - 100190: HairParts_Front_geo - 100192: HairParts_FrontTip_geo - 100194: HairParts_geo_special - 100196: HairParts_L - 100198: HairParts_L_geo1 - 100200: HairParts_L_geo10 - 100202: HairParts_L_geo11 - 100204: HairParts_L_geo12 - 100206: HairParts_L_geo13 - 100208: HairParts_L_geo14 - 100210: HairParts_L_geo15 - 100212: HairParts_L_geo16 - 100214: HairParts_L_geo17 - 100216: HairParts_L_geo18 - 100218: HairParts_L_geo19 - 100220: HairParts_L_geo2 - 100222: HairParts_L_geo20 - 100224: HairParts_L_geo21 - 100226: HairParts_L_geo22 - 100228: HairParts_L_geo23 - 100230: HairParts_L_geo24 - 100232: HairParts_L_geo25 - 100234: HairParts_L_geo26 - 100236: HairParts_L_geo27 - 100238: HairParts_L_geo28 - 100240: HairParts_L_geo29 - 100242: HairParts_L_geo3 - 100244: HairParts_L_geo30 - 100246: HairParts_L_geo31 - 100248: HairParts_L_geo32 - 100250: HairParts_L_geo33 - 100252: HairParts_L_geo34 - 100254: HairParts_L_geo35 - 100256: HairParts_L_geo36 - 100258: HairParts_L_geo37 - 100260: HairParts_L_geo38 - 100262: HairParts_L_geo39 - 100264: HairParts_L_geo4 - 100266: HairParts_L_geo40 - 100268: HairParts_L_geo41 - 100270: HairParts_L_geo42 - 100272: HairParts_L_geo43 - 100274: HairParts_L_geo44 - 100276: HairParts_L_geo45 - 100278: HairParts_L_geo46 - 100280: HairParts_L_geo47 - 100282: HairParts_L_geo5 - 100284: HairParts_L_geo6 - 100286: HairParts_L_geo7 - 100288: HairParts_L_geo8 - 100290: HairParts_L_geo9 - 100292: HairParts_R - 100294: HairParts_R_geo1 - 100296: HairParts_R_geo10 - 100298: HairParts_R_geo11 - 100300: HairParts_R_geo12 - 100302: HairParts_R_geo13 - 100304: HairParts_R_geo14 - 100306: HairParts_R_geo15 - 100308: HairParts_R_geo16 - 100310: HairParts_R_geo17 - 100312: HairParts_R_geo18 - 100314: HairParts_R_geo19 - 100316: HairParts_R_geo2 - 100318: HairParts_R_geo20 - 100320: HairParts_R_geo21 - 100322: HairParts_R_geo22 - 100324: HairParts_R_geo23 - 100326: HairParts_R_geo24 - 100328: HairParts_R_geo25 - 100330: HairParts_R_geo26 - 100332: HairParts_R_geo27 - 100334: HairParts_R_geo28 - 100336: HairParts_R_geo29 - 100338: HairParts_R_geo3 - 100340: HairParts_R_geo30 - 100342: HairParts_R_geo31 - 100344: HairParts_R_geo32 - 100346: HairParts_R_geo33 - 100348: HairParts_R_geo34 - 100350: HairParts_R_geo35 - 100352: HairParts_R_geo36 - 100354: HairParts_R_geo37 - 100356: HairParts_R_geo38 - 100358: HairParts_R_geo39 - 100360: HairParts_R_geo4 - 100362: HairParts_R_geo40 - 100364: HairParts_R_geo41 - 100366: HairParts_R_geo42 - 100368: HairParts_R_geo43 - 100370: HairParts_R_geo44 - 100372: HairParts_R_geo45 - 100374: HairParts_R_geo46 - 100376: HairParts_R_geo47 - 100378: HairParts_R_geo5 - 100380: HairParts_R_geo6 - 100382: HairParts_R_geo7 - 100384: HairParts_R_geo8 - 100386: HairParts_R_geo9 - 100388: MAIN_Head - 100390: MAIN_Head1 - 100392: MAIN_Hips - 100394: MAIN_LeftArm - 100396: MAIN_LeftArmRoll - 100398: MAIN_LeftArmTwist1 - 100400: MAIN_LeftArmTwist2 - 100402: MAIN_LeftFoot - 100404: MAIN_LeftForeArm - 100406: MAIN_LeftForeArmElbow - 100408: MAIN_LeftForeArmRoll - 100410: MAIN_LeftForeArmTwist1 - 100412: MAIN_LeftForeArmTwist2 - 100414: MAIN_LeftHand - 100416: MAIN_LeftHandAttach - 100418: MAIN_LeftHandIndex1 - 100420: MAIN_LeftHandIndex2 - 100422: MAIN_LeftHandIndex3 - 100424: MAIN_LeftHandIndex_root - 100426: MAIN_LeftHandMiddle1 - 100428: MAIN_LeftHandMiddle2 - 100430: MAIN_LeftHandMiddle3 - 100432: MAIN_LeftHandMiddle_root - 100434: MAIN_LeftHandPinky1 - 100436: MAIN_LeftHandPinky2 - 100438: MAIN_LeftHandPinky3 - 100440: MAIN_LeftHandPinky_root - 100442: MAIN_LeftHandRing1 - 100444: MAIN_LeftHandRing2 - 100446: MAIN_LeftHandRing3 - 100448: MAIN_LeftHandRing_root - 100450: MAIN_LeftHandThumb1 - 100452: MAIN_LeftHandThumb2 - 100454: MAIN_LeftHandThumb3 - 100456: MAIN_LeftLeg - 100458: MAIN_LeftShoulder - 100460: MAIN_LeftToeBase - 100462: MAIN_LeftToeBase1 - 100464: MAIN_LeftUpLeg - 100466: MAIN_Neck - 100468: MAIN_RightArm - 100470: MAIN_RightArmRoll - 100472: MAIN_RightArmTwist1 - 100474: MAIN_RightArmTwist2 - 100476: MAIN_RightFoot - 100478: MAIN_RightForeArm - 100480: MAIN_RightForeArmElbow - 100482: MAIN_RightForeArmRoll - 100484: MAIN_RightForeArmTwist1 - 100486: MAIN_RightForeArmTwist2 - 100488: MAIN_RightHand - 100490: MAIN_RightHandAttach - 100492: MAIN_RightHandIndex1 - 100494: MAIN_RightHandIndex2 - 100496: MAIN_RightHandIndex3 - 100498: MAIN_RightHandIndex_root - 100500: MAIN_RightHandMiddle1 - 100502: MAIN_RightHandMiddle2 - 100504: MAIN_RightHandMiddle3 - 100506: MAIN_RightHandMiddle_root - 100508: MAIN_RightHandPinky1 - 100510: MAIN_RightHandPinky2 - 100512: MAIN_RightHandPinky3 - 100514: MAIN_RightHandPinky_root - 100516: MAIN_RightHandRing1 - 100518: MAIN_RightHandRing2 - 100520: MAIN_RightHandRing3 - 100522: MAIN_RightHandRing_root - 100524: MAIN_RightHandThumb1 - 100526: MAIN_RightHandThumb2 - 100528: MAIN_RightHandThumb3 - 100530: MAIN_RightLeg - 100532: MAIN_RightShoulder - 100534: MAIN_RightToeBase - 100536: MAIN_RightToeBase1 - 100538: MAIN_RightUpLeg - 100540: MAIN_Spine - 100542: MAIN_Spine1 - 100544: MAIN_Spine2 - 100546: MAIN_Spine3 - 100548: Else_Hair_geo - 100550: CLOTH_CLOTH_BigRibon_L_joint1 - 100552: CLOTH_CLOTH_BigRibon_L_joint10 - 100554: CLOTH_CLOTH_BigRibon_L_joint11 - 100556: CLOTH_CLOTH_BigRibon_L_joint12 - 100558: CLOTH_CLOTH_BigRibon_L_joint13 - 100560: CLOTH_CLOTH_BigRibon_L_joint14 - 100562: CLOTH_CLOTH_BigRibon_L_joint15 - 100564: CLOTH_CLOTH_BigRibon_L_joint16 - 100566: CLOTH_CLOTH_BigRibon_L_joint17 - 100568: CLOTH_CLOTH_BigRibon_L_joint18 - 100570: CLOTH_CLOTH_BigRibon_L_joint19 - 100572: CLOTH_CLOTH_BigRibon_L_joint2 - 100574: CLOTH_CLOTH_BigRibon_L_joint20 - 100576: CLOTH_CLOTH_BigRibon_L_joint21 - 100578: CLOTH_CLOTH_BigRibon_L_joint3 - 100580: CLOTH_CLOTH_BigRibon_L_joint4 - 100582: CLOTH_CLOTH_BigRibon_L_joint5 - 100584: CLOTH_CLOTH_BigRibon_L_joint6 - 100586: CLOTH_CLOTH_BigRibon_L_joint7 - 100588: CLOTH_CLOTH_BigRibon_L_joint8 - 100590: CLOTH_CLOTH_BigRibon_L_joint9 - 100592: CLOTH_CLOTH_BigRibon_R_joint1 - 100594: CLOTH_CLOTH_BigRibon_R_joint10 - 100596: CLOTH_CLOTH_BigRibon_R_joint11 - 100598: CLOTH_CLOTH_BigRibon_R_joint12 - 100600: CLOTH_CLOTH_BigRibon_R_joint13 - 100602: CLOTH_CLOTH_BigRibon_R_joint14 - 100604: CLOTH_CLOTH_BigRibon_R_joint15 - 100606: CLOTH_CLOTH_BigRibon_R_joint16 - 100608: CLOTH_CLOTH_BigRibon_R_joint17 - 100610: CLOTH_CLOTH_BigRibon_R_joint18 - 100612: CLOTH_CLOTH_BigRibon_R_joint19 - 100614: CLOTH_CLOTH_BigRibon_R_joint2 - 100616: CLOTH_CLOTH_BigRibon_R_joint20 - 100618: CLOTH_CLOTH_BigRibon_R_joint21 - 100620: CLOTH_CLOTH_BigRibon_R_joint3 - 100622: CLOTH_CLOTH_BigRibon_R_joint4 - 100624: CLOTH_CLOTH_BigRibon_R_joint5 - 100626: CLOTH_CLOTH_BigRibon_R_joint6 - 100628: CLOTH_CLOTH_BigRibon_R_joint7 - 100630: CLOTH_CLOTH_BigRibon_R_joint8 - 100632: CLOTH_CLOTH_BigRibon_R_joint9 - 100634: CLOTH_CLOTH_BigRibon_Ring_L_joint1 - 100636: CLOTH_CLOTH_BigRibon_Ring_L_joint2 - 100638: CLOTH_CLOTH_BigRibon_Ring_L_joint3 - 100640: CLOTH_CLOTH_BigRibon_Ring_L_joint4 - 100642: CLOTH_CLOTH_BigRibon_Ring_L_joint5 - 100644: CLOTH_CLOTH_BigRibon_Ring_L_joint6 - 100646: CLOTH_CLOTH_BigRibon_Ring_L_joint7 - 100648: CLOTH_CLOTH_BigRibon_Ring_L_joint8 - 100650: CLOTH_CLOTH_BigRibon_Ring_R_joint1 - 100652: CLOTH_CLOTH_BigRibon_Ring_R_joint2 - 100654: CLOTH_CLOTH_BigRibon_Ring_R_joint3 - 100656: CLOTH_CLOTH_BigRibon_Ring_R_joint4 - 100658: CLOTH_CLOTH_BigRibon_Ring_R_joint5 - 100660: CLOTH_CLOTH_BigRibon_Ring_R_joint6 - 100662: CLOTH_CLOTH_BigRibon_Ring_R_joint7 - 100664: CLOTH_CLOTH_BigRibon_Ring_R_joint8 - 100666: CLOTH_CLOTH_InSkirt_0_joint1 - 100668: CLOTH_CLOTH_InSkirt_0_joint2 - 100670: CLOTH_CLOTH_InSkirt_0_joint3 - 100672: CLOTH_CLOTH_InSkirt_0_joint4 - 100674: CLOTH_CLOTH_InSkirt_0_joint5 - 100676: CLOTH_CLOTH_InSkirt_10_joint1 - 100678: CLOTH_CLOTH_InSkirt_10_joint2 - 100680: CLOTH_CLOTH_InSkirt_10_joint3 - 100682: CLOTH_CLOTH_InSkirt_10_joint4 - 100684: CLOTH_CLOTH_InSkirt_10_joint5 - 100686: CLOTH_CLOTH_InSkirt_11_joint1 - 100688: CLOTH_CLOTH_InSkirt_11_joint2 - 100690: CLOTH_CLOTH_InSkirt_11_joint3 - 100692: CLOTH_CLOTH_InSkirt_11_joint4 - 100694: CLOTH_CLOTH_InSkirt_11_joint5 - 100696: CLOTH_CLOTH_InSkirt_12_joint1 - 100698: CLOTH_CLOTH_InSkirt_12_joint2 - 100700: CLOTH_CLOTH_InSkirt_12_joint3 - 100702: CLOTH_CLOTH_InSkirt_12_joint4 - 100704: CLOTH_CLOTH_InSkirt_12_joint5 - 100706: CLOTH_CLOTH_InSkirt_13_joint1 - 100708: CLOTH_CLOTH_InSkirt_13_joint2 - 100710: CLOTH_CLOTH_InSkirt_13_joint3 - 100712: CLOTH_CLOTH_InSkirt_13_joint4 - 100714: CLOTH_CLOTH_InSkirt_13_joint5 - 100716: CLOTH_CLOTH_InSkirt_1_joint1 - 100718: CLOTH_CLOTH_InSkirt_1_joint2 - 100720: CLOTH_CLOTH_InSkirt_1_joint3 - 100722: CLOTH_CLOTH_InSkirt_1_joint4 - 100724: CLOTH_CLOTH_InSkirt_1_joint5 - 100726: CLOTH_CLOTH_InSkirt_2_joint1 - 100728: CLOTH_CLOTH_InSkirt_2_joint2 - 100730: CLOTH_CLOTH_InSkirt_2_joint3 - 100732: CLOTH_CLOTH_InSkirt_2_joint4 - 100734: CLOTH_CLOTH_InSkirt_2_joint5 - 100736: CLOTH_CLOTH_InSkirt_3_joint1 - 100738: CLOTH_CLOTH_InSkirt_3_joint2 - 100740: CLOTH_CLOTH_InSkirt_3_joint3 - 100742: CLOTH_CLOTH_InSkirt_3_joint4 - 100744: CLOTH_CLOTH_InSkirt_3_joint5 - 100746: CLOTH_CLOTH_InSkirt_4_joint1 - 100748: CLOTH_CLOTH_InSkirt_4_joint2 - 100750: CLOTH_CLOTH_InSkirt_4_joint3 - 100752: CLOTH_CLOTH_InSkirt_4_joint4 - 100754: CLOTH_CLOTH_InSkirt_4_joint5 - 100756: CLOTH_CLOTH_InSkirt_4_joint6 - 100758: CLOTH_CLOTH_InSkirt_5_joint1 - 100760: CLOTH_CLOTH_InSkirt_5_joint2 - 100762: CLOTH_CLOTH_InSkirt_5_joint3 - 100764: CLOTH_CLOTH_InSkirt_5_joint4 - 100766: CLOTH_CLOTH_InSkirt_5_joint5 - 100768: CLOTH_CLOTH_InSkirt_5_joint6 - 100770: CLOTH_CLOTH_InSkirt_6_joint1 - 100772: CLOTH_CLOTH_InSkirt_6_joint2 - 100774: CLOTH_CLOTH_InSkirt_6_joint3 - 100776: CLOTH_CLOTH_InSkirt_6_joint4 - 100778: CLOTH_CLOTH_InSkirt_6_joint5 - 100780: CLOTH_CLOTH_InSkirt_6_joint6 - 100782: CLOTH_CLOTH_InSkirt_7_joint1 - 100784: CLOTH_CLOTH_InSkirt_7_joint2 - 100786: CLOTH_CLOTH_InSkirt_7_joint3 - 100788: CLOTH_CLOTH_InSkirt_7_joint4 - 100790: CLOTH_CLOTH_InSkirt_7_joint5 - 100792: CLOTH_CLOTH_InSkirt_7_joint6 - 100794: CLOTH_CLOTH_InSkirt_8_joint1 - 100796: CLOTH_CLOTH_InSkirt_8_joint2 - 100798: CLOTH_CLOTH_InSkirt_8_joint3 - 100800: CLOTH_CLOTH_InSkirt_8_joint4 - 100802: CLOTH_CLOTH_InSkirt_8_joint5 - 100804: CLOTH_CLOTH_InSkirt_8_joint6 - 100806: CLOTH_CLOTH_InSkirt_9_joint1 - 100808: CLOTH_CLOTH_InSkirt_9_joint2 - 100810: CLOTH_CLOTH_InSkirt_9_joint3 - 100812: CLOTH_CLOTH_InSkirt_9_joint4 - 100814: CLOTH_CLOTH_InSkirt_9_joint5 - 100816: CLOTH_CLOTH_InSkirt_9_joint6 - 100818: CLOTH_CLOTH_OutSkirt_0_Btm_joint1 - 100820: CLOTH_CLOTH_OutSkirt_0_Btm_joint2 - 100822: CLOTH_CLOTH_OutSkirt_0_Btm_joint3 - 100824: CLOTH_CLOTH_OutSkirt_0_joint - 100826: CLOTH_CLOTH_OutSkirt_0_Up_joint1 - 100828: CLOTH_CLOTH_OutSkirt_0_Up_joint2 - 100830: CLOTH_CLOTH_OutSkirt_0_Up_joint3 - 100832: CLOTH_CLOTH_OutSkirt_0_Up_joint4 - 100834: CLOTH_CLOTH_OutSkirt_10_Btm_joint1 - 100836: CLOTH_CLOTH_OutSkirt_10_Btm_joint10 - 100838: CLOTH_CLOTH_OutSkirt_10_Btm_joint11 - 100840: CLOTH_CLOTH_OutSkirt_10_Btm_joint2 - 100842: CLOTH_CLOTH_OutSkirt_10_Btm_joint3 - 100844: CLOTH_CLOTH_OutSkirt_10_Btm_joint4 - 100846: CLOTH_CLOTH_OutSkirt_10_Btm_joint5 - 100848: CLOTH_CLOTH_OutSkirt_10_Btm_joint6 - 100850: CLOTH_CLOTH_OutSkirt_10_Btm_joint7 - 100852: CLOTH_CLOTH_OutSkirt_10_Btm_joint8 - 100854: CLOTH_CLOTH_OutSkirt_10_Btm_joint9 - 100856: CLOTH_CLOTH_OutSkirt_10_joint - 100858: CLOTH_CLOTH_OutSkirt_10_Up_joint1 - 100860: CLOTH_CLOTH_OutSkirt_10_Up_joint2 - 100862: CLOTH_CLOTH_OutSkirt_10_Up_joint3 - 100864: CLOTH_CLOTH_OutSkirt_10_Up_joint4 - 100866: CLOTH_CLOTH_OutSkirt_11_Btm_joint1 - 100868: CLOTH_CLOTH_OutSkirt_11_Btm_joint10 - 100870: CLOTH_CLOTH_OutSkirt_11_Btm_joint11 - 100872: CLOTH_CLOTH_OutSkirt_11_Btm_joint2 - 100874: CLOTH_CLOTH_OutSkirt_11_Btm_joint3 - 100876: CLOTH_CLOTH_OutSkirt_11_Btm_joint4 - 100878: CLOTH_CLOTH_OutSkirt_11_Btm_joint5 - 100880: CLOTH_CLOTH_OutSkirt_11_Btm_joint6 - 100882: CLOTH_CLOTH_OutSkirt_11_Btm_joint7 - 100884: CLOTH_CLOTH_OutSkirt_11_Btm_joint8 - 100886: CLOTH_CLOTH_OutSkirt_11_Btm_joint9 - 100888: CLOTH_CLOTH_OutSkirt_11_joint - 100890: CLOTH_CLOTH_OutSkirt_11_Up_joint1 - 100892: CLOTH_CLOTH_OutSkirt_11_Up_joint2 - 100894: CLOTH_CLOTH_OutSkirt_11_Up_joint3 - 100896: CLOTH_CLOTH_OutSkirt_11_Up_joint4 - 100898: CLOTH_CLOTH_OutSkirt_12_Btm_joint1 - 100900: CLOTH_CLOTH_OutSkirt_12_Btm_joint10 - 100902: CLOTH_CLOTH_OutSkirt_12_Btm_joint2 - 100904: CLOTH_CLOTH_OutSkirt_12_Btm_joint3 - 100906: CLOTH_CLOTH_OutSkirt_12_Btm_joint4 - 100908: CLOTH_CLOTH_OutSkirt_12_Btm_joint5 - 100910: CLOTH_CLOTH_OutSkirt_12_Btm_joint6 - 100912: CLOTH_CLOTH_OutSkirt_12_Btm_joint7 - 100914: CLOTH_CLOTH_OutSkirt_12_Btm_joint8 - 100916: CLOTH_CLOTH_OutSkirt_12_Btm_joint9 - 100918: CLOTH_CLOTH_OutSkirt_12_joint - 100920: CLOTH_CLOTH_OutSkirt_12_Up_joint1 - 100922: CLOTH_CLOTH_OutSkirt_12_Up_joint2 - 100924: CLOTH_CLOTH_OutSkirt_12_Up_joint3 - 100926: CLOTH_CLOTH_OutSkirt_12_Up_joint4 - 100928: CLOTH_CLOTH_OutSkirt_13_Btm_joint1 - 100930: CLOTH_CLOTH_OutSkirt_13_Btm_joint2 - 100932: CLOTH_CLOTH_OutSkirt_13_Btm_joint3 - 100934: CLOTH_CLOTH_OutSkirt_13_Btm_joint4 - 100936: CLOTH_CLOTH_OutSkirt_13_Btm_joint5 - 100938: CLOTH_CLOTH_OutSkirt_13_Btm_joint6 - 100940: CLOTH_CLOTH_OutSkirt_13_Btm_joint7 - 100942: CLOTH_CLOTH_OutSkirt_13_Btm_joint8 - 100944: CLOTH_CLOTH_OutSkirt_13_Btm_joint9 - 100946: CLOTH_CLOTH_OutSkirt_13_joint - 100948: CLOTH_CLOTH_OutSkirt_13_Up_joint1 - 100950: CLOTH_CLOTH_OutSkirt_13_Up_joint2 - 100952: CLOTH_CLOTH_OutSkirt_13_Up_joint3 - 100954: CLOTH_CLOTH_OutSkirt_13_Up_joint4 - 100956: CLOTH_CLOTH_OutSkirt_14_Btm_joint1 - 100958: CLOTH_CLOTH_OutSkirt_14_Btm_joint10 - 100960: CLOTH_CLOTH_OutSkirt_14_Btm_joint11 - 100962: CLOTH_CLOTH_OutSkirt_14_Btm_joint2 - 100964: CLOTH_CLOTH_OutSkirt_14_Btm_joint3 - 100966: CLOTH_CLOTH_OutSkirt_14_Btm_joint4 - 100968: CLOTH_CLOTH_OutSkirt_14_Btm_joint5 - 100970: CLOTH_CLOTH_OutSkirt_14_Btm_joint6 - 100972: CLOTH_CLOTH_OutSkirt_14_Btm_joint7 - 100974: CLOTH_CLOTH_OutSkirt_14_Btm_joint8 - 100976: CLOTH_CLOTH_OutSkirt_14_Btm_joint9 - 100978: CLOTH_CLOTH_OutSkirt_14_joint - 100980: CLOTH_CLOTH_OutSkirt_14_Up_joint1 - 100982: CLOTH_CLOTH_OutSkirt_14_Up_joint2 - 100984: CLOTH_CLOTH_OutSkirt_14_Up_joint3 - 100986: CLOTH_CLOTH_OutSkirt_14_Up_joint4 - 100988: CLOTH_CLOTH_OutSkirt_15_Btm_joint1 - 100990: CLOTH_CLOTH_OutSkirt_15_Btm_joint2 - 100992: CLOTH_CLOTH_OutSkirt_15_Btm_joint3 - 100994: CLOTH_CLOTH_OutSkirt_15_Btm_joint4 - 100996: CLOTH_CLOTH_OutSkirt_15_Btm_joint5 - 100998: CLOTH_CLOTH_OutSkirt_15_Btm_joint6 - 101000: CLOTH_CLOTH_OutSkirt_15_joint - 101002: CLOTH_CLOTH_OutSkirt_15_Up_joint1 - 101004: CLOTH_CLOTH_OutSkirt_15_Up_joint2 - 101006: CLOTH_CLOTH_OutSkirt_15_Up_joint3 - 101008: CLOTH_CLOTH_OutSkirt_15_Up_joint4 - 101010: CLOTH_CLOTH_OutSkirt_16_Btm_joint1 - 101012: CLOTH_CLOTH_OutSkirt_16_Btm_joint2 - 101014: CLOTH_CLOTH_OutSkirt_16_Btm_joint3 - 101016: CLOTH_CLOTH_OutSkirt_16_Btm_joint4 - 101018: CLOTH_CLOTH_OutSkirt_16_joint - 101020: CLOTH_CLOTH_OutSkirt_16_Up_joint1 - 101022: CLOTH_CLOTH_OutSkirt_16_Up_joint2 - 101024: CLOTH_CLOTH_OutSkirt_16_Up_joint3 - 101026: CLOTH_CLOTH_OutSkirt_16_Up_joint4 - 101028: CLOTH_CLOTH_OutSkirt_17_Btm_joint1 - 101030: CLOTH_CLOTH_OutSkirt_17_Btm_joint2 - 101032: CLOTH_CLOTH_OutSkirt_17_Btm_joint3 - 101034: CLOTH_CLOTH_OutSkirt_17_joint - 101036: CLOTH_CLOTH_OutSkirt_17_Up_joint1 - 101038: CLOTH_CLOTH_OutSkirt_17_Up_joint2 - 101040: CLOTH_CLOTH_OutSkirt_17_Up_joint3 - 101042: CLOTH_CLOTH_OutSkirt_17_Up_joint4 - 101044: CLOTH_CLOTH_OutSkirt_1_Btm_joint1 - 101046: CLOTH_CLOTH_OutSkirt_1_Btm_joint2 - 101048: CLOTH_CLOTH_OutSkirt_1_Btm_joint3 - 101050: CLOTH_CLOTH_OutSkirt_1_joint - 101052: CLOTH_CLOTH_OutSkirt_1_Up_joint1 - 101054: CLOTH_CLOTH_OutSkirt_1_Up_joint2 - 101056: CLOTH_CLOTH_OutSkirt_1_Up_joint3 - 101058: CLOTH_CLOTH_OutSkirt_1_Up_joint4 - 101060: CLOTH_CLOTH_OutSkirt_2_Btm_joint1 - 101062: CLOTH_CLOTH_OutSkirt_2_Btm_joint2 - 101064: CLOTH_CLOTH_OutSkirt_2_Btm_joint3 - 101066: CLOTH_CLOTH_OutSkirt_2_Btm_joint4 - 101068: CLOTH_CLOTH_OutSkirt_2_joint - 101070: CLOTH_CLOTH_OutSkirt_2_Up_joint1 - 101072: CLOTH_CLOTH_OutSkirt_2_Up_joint2 - 101074: CLOTH_CLOTH_OutSkirt_2_Up_joint3 - 101076: CLOTH_CLOTH_OutSkirt_2_Up_joint4 - 101078: CLOTH_CLOTH_OutSkirt_3_Btm_joint1 - 101080: CLOTH_CLOTH_OutSkirt_3_Btm_joint2 - 101082: CLOTH_CLOTH_OutSkirt_3_Btm_joint3 - 101084: CLOTH_CLOTH_OutSkirt_3_Btm_joint4 - 101086: CLOTH_CLOTH_OutSkirt_3_Btm_joint5 - 101088: CLOTH_CLOTH_OutSkirt_3_Btm_joint6 - 101090: CLOTH_CLOTH_OutSkirt_3_joint - 101092: CLOTH_CLOTH_OutSkirt_3_Up_joint1 - 101094: CLOTH_CLOTH_OutSkirt_3_Up_joint2 - 101096: CLOTH_CLOTH_OutSkirt_3_Up_joint3 - 101098: CLOTH_CLOTH_OutSkirt_3_Up_joint4 - 101100: CLOTH_CLOTH_OutSkirt_4_Btm_joint1 - 101102: CLOTH_CLOTH_OutSkirt_4_Btm_joint10 - 101104: CLOTH_CLOTH_OutSkirt_4_Btm_joint11 - 101106: CLOTH_CLOTH_OutSkirt_4_Btm_joint2 - 101108: CLOTH_CLOTH_OutSkirt_4_Btm_joint3 - 101110: CLOTH_CLOTH_OutSkirt_4_Btm_joint4 - 101112: CLOTH_CLOTH_OutSkirt_4_Btm_joint5 - 101114: CLOTH_CLOTH_OutSkirt_4_Btm_joint6 - 101116: CLOTH_CLOTH_OutSkirt_4_Btm_joint7 - 101118: CLOTH_CLOTH_OutSkirt_4_Btm_joint8 - 101120: CLOTH_CLOTH_OutSkirt_4_Btm_joint9 - 101122: CLOTH_CLOTH_OutSkirt_4_joint - 101124: CLOTH_CLOTH_OutSkirt_4_Up_joint1 - 101126: CLOTH_CLOTH_OutSkirt_4_Up_joint2 - 101128: CLOTH_CLOTH_OutSkirt_4_Up_joint3 - 101130: CLOTH_CLOTH_OutSkirt_4_Up_joint4 - 101132: CLOTH_CLOTH_OutSkirt_5_Btm_joint1 - 101134: CLOTH_CLOTH_OutSkirt_5_Btm_joint2 - 101136: CLOTH_CLOTH_OutSkirt_5_Btm_joint3 - 101138: CLOTH_CLOTH_OutSkirt_5_Btm_joint4 - 101140: CLOTH_CLOTH_OutSkirt_5_Btm_joint5 - 101142: CLOTH_CLOTH_OutSkirt_5_Btm_joint6 - 101144: CLOTH_CLOTH_OutSkirt_5_Btm_joint7 - 101146: CLOTH_CLOTH_OutSkirt_5_Btm_joint8 - 101148: CLOTH_CLOTH_OutSkirt_5_Btm_joint9 - 101150: CLOTH_CLOTH_OutSkirt_5_joint - 101152: CLOTH_CLOTH_OutSkirt_5_Up_joint1 - 101154: CLOTH_CLOTH_OutSkirt_5_Up_joint2 - 101156: CLOTH_CLOTH_OutSkirt_5_Up_joint3 - 101158: CLOTH_CLOTH_OutSkirt_5_Up_joint4 - 101160: CLOTH_CLOTH_OutSkirt_6_Btm_joint1 - 101162: CLOTH_CLOTH_OutSkirt_6_Btm_joint10 - 101164: CLOTH_CLOTH_OutSkirt_6_Btm_joint2 - 101166: CLOTH_CLOTH_OutSkirt_6_Btm_joint3 - 101168: CLOTH_CLOTH_OutSkirt_6_Btm_joint4 - 101170: CLOTH_CLOTH_OutSkirt_6_Btm_joint5 - 101172: CLOTH_CLOTH_OutSkirt_6_Btm_joint6 - 101174: CLOTH_CLOTH_OutSkirt_6_Btm_joint7 - 101176: CLOTH_CLOTH_OutSkirt_6_Btm_joint8 - 101178: CLOTH_CLOTH_OutSkirt_6_Btm_joint9 - 101180: CLOTH_CLOTH_OutSkirt_6_joint - 101182: CLOTH_CLOTH_OutSkirt_6_Up_joint1 - 101184: CLOTH_CLOTH_OutSkirt_6_Up_joint2 - 101186: CLOTH_CLOTH_OutSkirt_6_Up_joint3 - 101188: CLOTH_CLOTH_OutSkirt_6_Up_joint4 - 101190: CLOTH_CLOTH_OutSkirt_7_Btm_joint1 - 101192: CLOTH_CLOTH_OutSkirt_7_Btm_joint10 - 101194: CLOTH_CLOTH_OutSkirt_7_Btm_joint11 - 101196: CLOTH_CLOTH_OutSkirt_7_Btm_joint2 - 101198: CLOTH_CLOTH_OutSkirt_7_Btm_joint3 - 101200: CLOTH_CLOTH_OutSkirt_7_Btm_joint4 - 101202: CLOTH_CLOTH_OutSkirt_7_Btm_joint5 - 101204: CLOTH_CLOTH_OutSkirt_7_Btm_joint6 - 101206: CLOTH_CLOTH_OutSkirt_7_Btm_joint7 - 101208: CLOTH_CLOTH_OutSkirt_7_Btm_joint8 - 101210: CLOTH_CLOTH_OutSkirt_7_Btm_joint9 - 101212: CLOTH_CLOTH_OutSkirt_7_joint - 101214: CLOTH_CLOTH_OutSkirt_7_Up_joint1 - 101216: CLOTH_CLOTH_OutSkirt_7_Up_joint2 - 101218: CLOTH_CLOTH_OutSkirt_7_Up_joint3 - 101220: CLOTH_CLOTH_OutSkirt_7_Up_joint4 - 101222: CLOTH_CLOTH_OutSkirt_8_Btm_joint1 - 101224: CLOTH_CLOTH_OutSkirt_8_Btm_joint10 - 101226: CLOTH_CLOTH_OutSkirt_8_Btm_joint11 - 101228: CLOTH_CLOTH_OutSkirt_8_Btm_joint2 - 101230: CLOTH_CLOTH_OutSkirt_8_Btm_joint3 - 101232: CLOTH_CLOTH_OutSkirt_8_Btm_joint4 - 101234: CLOTH_CLOTH_OutSkirt_8_Btm_joint5 - 101236: CLOTH_CLOTH_OutSkirt_8_Btm_joint6 - 101238: CLOTH_CLOTH_OutSkirt_8_Btm_joint7 - 101240: CLOTH_CLOTH_OutSkirt_8_Btm_joint8 - 101242: CLOTH_CLOTH_OutSkirt_8_Btm_joint9 - 101244: CLOTH_CLOTH_OutSkirt_8_joint - 101246: CLOTH_CLOTH_OutSkirt_8_Up_joint1 - 101248: CLOTH_CLOTH_OutSkirt_8_Up_joint2 - 101250: CLOTH_CLOTH_OutSkirt_8_Up_joint3 - 101252: CLOTH_CLOTH_OutSkirt_8_Up_joint4 - 101254: CLOTH_CLOTH_OutSkirt_9_Btm_joint1 - 101256: CLOTH_CLOTH_OutSkirt_9_Btm_joint10 - 101258: CLOTH_CLOTH_OutSkirt_9_Btm_joint11 - 101260: CLOTH_CLOTH_OutSkirt_9_Btm_joint2 - 101262: CLOTH_CLOTH_OutSkirt_9_Btm_joint3 - 101264: CLOTH_CLOTH_OutSkirt_9_Btm_joint4 - 101266: CLOTH_CLOTH_OutSkirt_9_Btm_joint5 - 101268: CLOTH_CLOTH_OutSkirt_9_Btm_joint6 - 101270: CLOTH_CLOTH_OutSkirt_9_Btm_joint7 - 101272: CLOTH_CLOTH_OutSkirt_9_Btm_joint8 - 101274: CLOTH_CLOTH_OutSkirt_9_Btm_joint9 - 101276: CLOTH_CLOTH_OutSkirt_9_joint - 101278: CLOTH_CLOTH_OutSkirt_9_Up_joint1 - 101280: CLOTH_CLOTH_OutSkirt_9_Up_joint2 - 101282: CLOTH_CLOTH_OutSkirt_9_Up_joint3 - 101284: CLOTH_CLOTH_OutSkirt_9_Up_joint4 - 101286: CLOTH_CLOTH_Pant_10_joint1 - 101288: CLOTH_CLOTH_Pant_10_joint2 - 101290: CLOTH_CLOTH_Pant_10_joint3 - 101292: CLOTH_CLOTH_Pant_10_joint4 - 101294: CLOTH_CLOTH_Pant_10_joint5 - 101296: CLOTH_CLOTH_Pant_10_joint6 - 101298: CLOTH_CLOTH_Pant_10_joint7 - 101300: CLOTH_CLOTH_Pant_11_joint1 - 101302: CLOTH_CLOTH_Pant_11_joint2 - 101304: CLOTH_CLOTH_Pant_11_joint3 - 101306: CLOTH_CLOTH_Pant_11_joint4 - 101308: CLOTH_CLOTH_Pant_11_joint5 - 101310: CLOTH_CLOTH_Pant_11_joint6 - 101312: CLOTH_CLOTH_Pant_11_joint7 - 101314: CLOTH_CLOTH_Pant_12_joint1 - 101316: CLOTH_CLOTH_Pant_12_joint2 - 101318: CLOTH_CLOTH_Pant_12_joint3 - 101320: CLOTH_CLOTH_Pant_12_joint4 - 101322: CLOTH_CLOTH_Pant_12_joint5 - 101324: CLOTH_CLOTH_Pant_12_joint6 - 101326: CLOTH_CLOTH_Pant_12_joint7 - 101328: CLOTH_CLOTH_Pant_1_joint1 - 101330: CLOTH_CLOTH_Pant_1_joint2 - 101332: CLOTH_CLOTH_Pant_1_joint3 - 101334: CLOTH_CLOTH_Pant_1_joint4 - 101336: CLOTH_CLOTH_Pant_1_joint5 - 101338: CLOTH_CLOTH_Pant_1_joint6 - 101340: CLOTH_CLOTH_Pant_1_joint7 - 101342: CLOTH_CLOTH_Pant_2_joint1 - 101344: CLOTH_CLOTH_Pant_2_joint2 - 101346: CLOTH_CLOTH_Pant_2_joint3 - 101348: CLOTH_CLOTH_Pant_2_joint4 - 101350: CLOTH_CLOTH_Pant_2_joint5 - 101352: CLOTH_CLOTH_Pant_2_joint6 - 101354: CLOTH_CLOTH_Pant_2_joint7 - 101356: CLOTH_CLOTH_Pant_3_joint1 - 101358: CLOTH_CLOTH_Pant_3_joint2 - 101360: CLOTH_CLOTH_Pant_3_joint3 - 101362: CLOTH_CLOTH_Pant_3_joint4 - 101364: CLOTH_CLOTH_Pant_3_joint5 - 101366: CLOTH_CLOTH_Pant_3_joint6 - 101368: CLOTH_CLOTH_Pant_3_joint7 - 101370: CLOTH_CLOTH_Pant_4_joint1 - 101372: CLOTH_CLOTH_Pant_4_joint2 - 101374: CLOTH_CLOTH_Pant_4_joint3 - 101376: CLOTH_CLOTH_Pant_4_joint4 - 101378: CLOTH_CLOTH_Pant_4_joint5 - 101380: CLOTH_CLOTH_Pant_4_joint6 - 101382: CLOTH_CLOTH_Pant_4_joint7 - 101384: CLOTH_CLOTH_Pant_5_joint1 - 101386: CLOTH_CLOTH_Pant_5_joint2 - 101388: CLOTH_CLOTH_Pant_5_joint3 - 101390: CLOTH_CLOTH_Pant_5_joint4 - 101392: CLOTH_CLOTH_Pant_5_joint5 - 101394: CLOTH_CLOTH_Pant_5_joint6 - 101396: CLOTH_CLOTH_Pant_5_joint7 - 101398: CLOTH_CLOTH_Pant_6_joint1 - 101400: CLOTH_CLOTH_Pant_6_joint2 - 101402: CLOTH_CLOTH_Pant_6_joint3 - 101404: CLOTH_CLOTH_Pant_6_joint4 - 101406: CLOTH_CLOTH_Pant_6_joint5 - 101408: CLOTH_CLOTH_Pant_6_joint6 - 101410: CLOTH_CLOTH_Pant_6_joint7 - 101412: CLOTH_CLOTH_Pant_7_joint1 - 101414: CLOTH_CLOTH_Pant_7_joint2 - 101416: CLOTH_CLOTH_Pant_7_joint3 - 101418: CLOTH_CLOTH_Pant_7_joint4 - 101420: CLOTH_CLOTH_Pant_7_joint5 - 101422: CLOTH_CLOTH_Pant_7_joint6 - 101424: CLOTH_CLOTH_Pant_7_joint7 - 101426: CLOTH_CLOTH_Pant_8_joint1 - 101428: CLOTH_CLOTH_Pant_8_joint2 - 101430: CLOTH_CLOTH_Pant_8_joint3 - 101432: CLOTH_CLOTH_Pant_8_joint4 - 101434: CLOTH_CLOTH_Pant_8_joint5 - 101436: CLOTH_CLOTH_Pant_8_joint6 - 101438: CLOTH_CLOTH_Pant_8_joint7 - 101440: CLOTH_CLOTH_Pant_9_joint1 - 101442: CLOTH_CLOTH_Pant_9_joint2 - 101444: CLOTH_CLOTH_Pant_9_joint3 - 101446: CLOTH_CLOTH_Pant_9_joint4 - 101448: CLOTH_CLOTH_Pant_9_joint5 - 101450: CLOTH_CLOTH_Pant_9_joint6 - 101452: CLOTH_CLOTH_Pant_9_joint7 - 101454: CLOTH_CLOTH_Shoulder_L_1_joint1 - 101456: CLOTH_CLOTH_Shoulder_L_1_joint2 - 101458: CLOTH_CLOTH_Shoulder_L_1_joint3 - 101460: CLOTH_CLOTH_Shoulder_L_1_joint4 - 101462: CLOTH_CLOTH_Shoulder_L_2_joint1 - 101464: CLOTH_CLOTH_Shoulder_L_2_joint2 - 101466: CLOTH_CLOTH_Shoulder_L_2_joint3 - 101468: CLOTH_CLOTH_Shoulder_L_2_joint4 - 101470: CLOTH_CLOTH_Shoulder_L_2_joint5 - 101472: CLOTH_CLOTH_Shoulder_L_3_joint1 - 101474: CLOTH_CLOTH_Shoulder_L_3_joint2 - 101476: CLOTH_CLOTH_Shoulder_L_3_joint3 - 101478: CLOTH_CLOTH_Shoulder_L_3_joint4 - 101480: CLOTH_CLOTH_Shoulder_L_3_joint5 - 101482: CLOTH_CLOTH_Shoulder_L_4_joint1 - 101484: CLOTH_CLOTH_Shoulder_L_4_joint2 - 101486: CLOTH_CLOTH_Shoulder_L_4_joint3 - 101488: CLOTH_CLOTH_Shoulder_L_4_joint4 - 101490: CLOTH_CLOTH_Shoulder_L_4_joint5 - 101492: CLOTH_CLOTH_Shoulder_L_5_joint1 - 101494: CLOTH_CLOTH_Shoulder_L_5_joint2 - 101496: CLOTH_CLOTH_Shoulder_L_5_joint3 - 101498: CLOTH_CLOTH_Shoulder_L_5_joint4 - 101500: CLOTH_CLOTH_Shoulder_L_5_joint5 - 101502: CLOTH_CLOTH_Shoulder_R_1_joint1 - 101504: CLOTH_CLOTH_Shoulder_R_1_joint2 - 101506: CLOTH_CLOTH_Shoulder_R_1_joint3 - 101508: CLOTH_CLOTH_Shoulder_R_1_joint4 - 101510: CLOTH_CLOTH_Shoulder_R_2_joint1 - 101512: CLOTH_CLOTH_Shoulder_R_2_joint2 - 101514: CLOTH_CLOTH_Shoulder_R_2_joint3 - 101516: CLOTH_CLOTH_Shoulder_R_2_joint4 - 101518: CLOTH_CLOTH_Shoulder_R_2_joint5 - 101520: CLOTH_CLOTH_Shoulder_R_3_joint1 - 101522: CLOTH_CLOTH_Shoulder_R_3_joint2 - 101524: CLOTH_CLOTH_Shoulder_R_3_joint3 - 101526: CLOTH_CLOTH_Shoulder_R_3_joint4 - 101528: CLOTH_CLOTH_Shoulder_R_3_joint5 - 101530: CLOTH_CLOTH_Shoulder_R_4_joint1 - 101532: CLOTH_CLOTH_Shoulder_R_4_joint2 - 101534: CLOTH_CLOTH_Shoulder_R_4_joint3 - 101536: CLOTH_CLOTH_Shoulder_R_4_joint4 - 101538: CLOTH_CLOTH_Shoulder_R_4_joint5 - 101540: CLOTH_CLOTH_Shoulder_R_5_joint1 - 101542: CLOTH_CLOTH_Shoulder_R_5_joint2 - 101544: CLOTH_CLOTH_Shoulder_R_5_joint3 - 101546: CLOTH_CLOTH_Shoulder_R_5_joint4 - 101548: CLOTH_CLOTH_Shoulder_R_5_joint5 - 101550: CLOTH_Else_BigRibon_root - 101552: Else_BigRibon_geo - 101554: Else_Body_geo - 101556: Else_Face_geo - 101558: ElseHAIR_socket - 101560: HAIR_Hair_Ahoge_joint291 - 101562: HAIR_Hair_Ahoge_joint292 - 101564: HAIR_Hair_Ahoge_joint293 - 101566: HAIR_Hair_Ahoge_joint294 - 101568: HAIR_Hair_Ahoge_joint295 - 101570: HAIR_Hair_Ahoge_joint296 - 101572: HAIR_Hair_Ahoge_joint297 - 101574: HAIR_Hair_Ahoge_joint298 - 101576: HAIR_Hair_Ahoge_joint299 - 101578: HAIR_Hair_Ahoge_root - 101580: HAIR_Hair_BLeft_joint367 - 101582: HAIR_Hair_BLeft_joint368 - 101584: HAIR_Hair_BLeft_joint369 - 101586: HAIR_Hair_BLeft_joint370 - 101588: HAIR_Hair_BLeft_joint371 - 101590: HAIR_Hair_BLeft_joint372 - 101592: HAIR_Hair_BLeft_joint373 - 101594: HAIR_Hair_BLeft_joint374 - 101596: HAIR_Hair_BLeft_joint375 - 101598: HAIR_Hair_BLeft_joint376 - 101600: HAIR_Hair_BLeft_joint377 - 101602: HAIR_Hair_BLeft_joint378 - 101604: HAIR_Hair_BLeft_joint379 - 101606: HAIR_Hair_BLeft_joint380 - 101608: HAIR_Hair_BLeft_joint381 - 101610: HAIR_Hair_BLeft_joint382 - 101612: HAIR_Hair_BLeft_joint383 - 101614: HAIR_Hair_BLeft_joint384 - 101616: HAIR_Hair_BLeft_joint385 - 101618: HAIR_Hair_BLeft_joint386 - 101620: HAIR_Hair_BLeft_joint387 - 101622: HAIR_Hair_BLeft_joint388 - 101624: HAIR_Hair_BLeft_joint389 - 101626: HAIR_Hair_BLeft_joint390 - 101628: HAIR_Hair_BLeft_joint391 - 101630: HAIR_Hair_BLeft_joint392 - 101632: HAIR_Hair_BLeft_joint393 - 101634: HAIR_Hair_BLeft_joint394 - 101636: HAIR_Hair_BLeft_joint395 - 101638: HAIR_Hair_BLeft_joint396 - 101640: HAIR_Hair_BLeft_joint397 - 101642: HAIR_Hair_BLeft_joint398 - 101644: HAIR_Hair_BLeft_joint399 - 101646: HAIR_Hair_BLeft_joint400 - 101648: HAIR_Hair_BLeft_joint401 - 101650: HAIR_Hair_BLeft_joint402 - 101652: HAIR_Hair_BLeft_joint403 - 101654: HAIR_Hair_BLeft_joint404 - 101656: HAIR_Hair_BLeft_joint405 - 101658: HAIR_Hair_BLeft_joint406 - 101660: HAIR_Hair_BLeft_joint407 - 101662: HAIR_Hair_BLeft_joint408 - 101664: HAIR_Hair_BLeft_joint409 - 101666: HAIR_Hair_BLeft_joint410 - 101668: HAIR_Hair_BLeft_joint411 - 101670: HAIR_Hair_BLeft_joint412 - 101672: HAIR_Hair_BLeft_joint413 - 101674: HAIR_Hair_BLeft_joint414 - 101676: HAIR_Hair_BLeft_joint415 - 101678: HAIR_Hair_BLeft_joint416 - 101680: HAIR_Hair_BLeft_joint417 - 101682: HAIR_Hair_BLeft_joint418 - 101684: HAIR_Hair_BRight_joint368 - 101686: HAIR_Hair_BRight_joint369 - 101688: HAIR_Hair_BRight_joint370 - 101690: HAIR_Hair_BRight_joint371 - 101692: HAIR_Hair_BRight_joint372 - 101694: HAIR_Hair_BRight_joint373 - 101696: HAIR_Hair_BRight_joint374 - 101698: HAIR_Hair_BRight_joint375 - 101700: HAIR_Hair_BRight_joint377 - 101702: HAIR_Hair_BRight_joint378 - 101704: HAIR_Hair_BRight_joint379 - 101706: HAIR_Hair_BRight_joint380 - 101708: HAIR_Hair_BRight_joint381 - 101710: HAIR_Hair_BRight_joint382 - 101712: HAIR_Hair_BRight_joint383 - 101714: HAIR_Hair_BRight_joint384 - 101716: HAIR_Hair_BRight_joint386 - 101718: HAIR_Hair_BRight_joint387 - 101720: HAIR_Hair_BRight_joint388 - 101722: HAIR_Hair_BRight_joint389 - 101724: HAIR_Hair_BRight_joint390 - 101726: HAIR_Hair_BRight_joint391 - 101728: HAIR_Hair_BRight_joint392 - 101730: HAIR_Hair_BRight_joint393 - 101732: HAIR_Hair_BRight_joint395 - 101734: HAIR_Hair_BRight_joint396 - 101736: HAIR_Hair_BRight_joint397 - 101738: HAIR_Hair_BRight_joint398 - 101740: HAIR_Hair_BRight_joint399 - 101742: HAIR_Hair_BRight_joint400 - 101744: HAIR_Hair_BRight_joint401 - 101746: HAIR_Hair_BRight_joint402 - 101748: HAIR_Hair_BRight_joint404 - 101750: HAIR_Hair_BRight_joint405 - 101752: HAIR_Hair_BRight_joint406 - 101754: HAIR_Hair_BRight_joint407 - 101756: HAIR_Hair_BRight_joint408 - 101758: HAIR_Hair_BRight_joint409 - 101760: HAIR_Hair_BRight_joint410 - 101762: HAIR_Hair_BRight_joint412 - 101764: HAIR_Hair_BRight_joint413 - 101766: HAIR_Hair_BRight_joint414 - 101768: HAIR_Hair_BRight_joint415 - 101770: HAIR_Hair_BRight_joint416 - 101772: HAIR_Hair_BRight_joint417 - 101774: HAIR_Hair_BRight_joint418 - 101776: HAIR_Hair_BRight_joint479 - 101778: HAIR_Hair_BRight_joint489 - 101780: HAIR_Hair_BRight_joint499 - 101782: HAIR_Hair_BRight_joint509 - 101784: HAIR_Hair_BRight_joint518 - 101786: HAIR_Hair_BRight_joint527 - 101788: HAIR_Hair_F_joint310 - 101790: HAIR_Hair_F_joint311 - 101792: HAIR_Hair_F_joint312 - 101794: HAIR_Hair_F_joint313 - 101796: HAIR_Hair_FLeft_joint314 - 101798: HAIR_Hair_FLeft_joint315 - 101800: HAIR_Hair_FLeft_joint316 - 101802: HAIR_Hair_FLeft_joint317 - 101804: HAIR_Hair_FLeft_joint318 - 101806: HAIR_Hair_FLeft_joint319 - 101808: HAIR_Hair_FLeft_joint320 - 101810: HAIR_Hair_FLeft_joint321 - 101812: HAIR_Hair_FLeft_joint322 - 101814: HAIR_Hair_FLeft_joint323 - 101816: HAIR_Hair_FLeft_joint324 - 101818: HAIR_Hair_FLeft_joint325 - 101820: HAIR_Hair_FLeft_joint326 - 101822: HAIR_Hair_FLeft_joint327 - 101824: HAIR_Hair_FLeft_joint328 - 101826: HAIR_Hair_FLeft_joint329 - 101828: HAIR_Hair_FLeft_joint330 - 101830: HAIR_Hair_FLeft_joint331 - 101832: HAIR_Hair_FLeft_joint332 - 101834: HAIR_Hair_FLeft_joint333 - 101836: HAIR_Hair_FLeft_joint334 - 101838: HAIR_Hair_FLeft_joint335 - 101840: HAIR_Hair_FLeft_joint336 - 101842: HAIR_Hair_FLeft_joint337 - 101844: HAIR_Hair_FLeft_joint338 - 101846: HAIR_Hair_FLeft_joint339 - 101848: HAIR_Hair_FLeft_joint340 - 101850: HAIR_Hair_FLeft_joint341 - 101852: HAIR_Hair_FLeft_joint342 - 101854: HAIR_Hair_FRight_joint315 - 101856: HAIR_Hair_FRight_joint316 - 101858: HAIR_Hair_FRight_joint317 - 101860: HAIR_Hair_FRight_joint319 - 101862: HAIR_Hair_FRight_joint320 - 101864: HAIR_Hair_FRight_joint321 - 101866: HAIR_Hair_FRight_joint323 - 101868: HAIR_Hair_FRight_joint324 - 101870: HAIR_Hair_FRight_joint325 - 101872: HAIR_Hair_FRight_joint326 - 101874: HAIR_Hair_FRight_joint328 - 101876: HAIR_Hair_FRight_joint329 - 101878: HAIR_Hair_FRight_joint330 - 101880: HAIR_Hair_FRight_joint331 - 101882: HAIR_Hair_FRight_joint332 - 101884: HAIR_Hair_FRight_joint333 - 101886: HAIR_Hair_FRight_joint334 - 101888: HAIR_Hair_FRight_joint335 - 101890: HAIR_Hair_FRight_joint336 - 101892: HAIR_Hair_FRight_joint338 - 101894: HAIR_Hair_FRight_joint339 - 101896: HAIR_Hair_FRight_joint340 - 101898: HAIR_Hair_FRight_joint341 - 101900: HAIR_Hair_FRight_joint342 - 101902: HAIR_Hair_FRight_joint348 - 101904: HAIR_Hair_FRight_joint423 - 101906: HAIR_Hair_FRight_joint428 - 101908: HAIR_Hair_FRight_joint434 - 101910: HAIR_Hair_FRight_joint445 - 101912: HAIR_Hair_FRight_joint452 - 101914: HAIR_Hair_Left_joint343 - 101916: HAIR_Hair_Left_joint344 - 101918: HAIR_Hair_Left_joint345 - 101920: HAIR_Hair_Left_joint346 - 101922: HAIR_Hair_Left_joint347 - 101924: HAIR_Hair_Left_joint348 - 101926: HAIR_Hair_Left_joint349 - 101928: HAIR_Hair_Left_joint350 - 101930: HAIR_Hair_Left_joint351 - 101932: HAIR_Hair_Left_joint352 - 101934: HAIR_Hair_Left_joint353 - 101936: HAIR_Hair_Left_joint354 - 101938: HAIR_Hair_Left_joint355 - 101940: HAIR_Hair_Left_joint356 - 101942: HAIR_Hair_Left_joint357 - 101944: HAIR_Hair_Left_joint358 - 101946: HAIR_Hair_Left_joint359 - 101948: HAIR_Hair_Left_joint360 - 101950: HAIR_Hair_Left_joint361 - 101952: HAIR_Hair_Left_joint362 - 101954: HAIR_Hair_Left_joint363 - 101956: HAIR_Hair_Left_joint364 - 101958: HAIR_Hair_Left_joint365 - 101960: HAIR_Hair_Left_joint366 - 101962: HAIR_Hair_Right_joint344 - 101964: HAIR_Hair_Right_joint345 - 101966: HAIR_Hair_Right_joint346 - 101968: HAIR_Hair_Right_joint347 - 101970: HAIR_Hair_Right_joint350 - 101972: HAIR_Hair_Right_joint351 - 101974: HAIR_Hair_Right_joint352 - 101976: HAIR_Hair_Right_joint353 - 101978: HAIR_Hair_Right_joint354 - 101980: HAIR_Hair_Right_joint355 - 101982: HAIR_Hair_Right_joint356 - 101984: HAIR_Hair_Right_joint357 - 101986: HAIR_Hair_Right_joint358 - 101988: HAIR_Hair_Right_joint359 - 101990: HAIR_Hair_Right_joint360 - 101992: HAIR_Hair_Right_joint361 - 101994: HAIR_Hair_Right_joint362 - 101996: HAIR_Hair_Right_joint363 - 101998: HAIR_Hair_Right_joint364 - 102000: HAIR_Hair_Right_joint365 - 102002: HAIR_Hair_Right_joint366 - 102004: HAIR_Hair_Right_joint459 - 102006: HAIR_Hair_Right_joint469 - 102008: HAIR_Hair_root - 102010: HAIR_LongHair_root - 102012: HAIR_LongHairLeft1_joint - 102014: HAIR_LongHairLeft1_joint1 - 102016: HAIR_LongHairLeft1_joint10 - 102018: HAIR_LongHairLeft1_joint11 - 102020: HAIR_LongHairLeft1_joint12 - 102022: HAIR_LongHairLeft1_joint13 - 102024: HAIR_LongHairLeft1_joint14 - 102026: HAIR_LongHairLeft1_joint15 - 102028: HAIR_LongHairLeft1_joint2 - 102030: HAIR_LongHairLeft1_joint3 - 102032: HAIR_LongHairLeft1_joint4 - 102034: HAIR_LongHairLeft1_joint5 - 102036: HAIR_LongHairLeft1_joint6 - 102038: HAIR_LongHairLeft1_joint7 - 102040: HAIR_LongHairLeft1_joint8 - 102042: HAIR_LongHairLeft1_joint9 - 102044: HAIR_LongHairLeft2_joint - 102046: HAIR_LongHairLeft2_joint1 - 102048: HAIR_LongHairLeft2_joint10 - 102050: HAIR_LongHairLeft2_joint11 - 102052: HAIR_LongHairLeft2_joint12 - 102054: HAIR_LongHairLeft2_joint13 - 102056: HAIR_LongHairLeft2_joint14 - 102058: HAIR_LongHairLeft2_joint15 - 102060: HAIR_LongHairLeft2_joint2 - 102062: HAIR_LongHairLeft2_joint3 - 102064: HAIR_LongHairLeft2_joint4 - 102066: HAIR_LongHairLeft2_joint5 - 102068: HAIR_LongHairLeft2_joint6 - 102070: HAIR_LongHairLeft2_joint7 - 102072: HAIR_LongHairLeft2_joint8 - 102074: HAIR_LongHairLeft2_joint9 - 102076: HAIR_LongHairLeft3_joint - 102078: HAIR_LongHairLeft3_joint1 - 102080: HAIR_LongHairLeft3_joint10 - 102082: HAIR_LongHairLeft3_joint11 - 102084: HAIR_LongHairLeft3_joint12 - 102086: HAIR_LongHairLeft3_joint13 - 102088: HAIR_LongHairLeft3_joint14 - 102090: HAIR_LongHairLeft3_joint15 - 102092: HAIR_LongHairLeft3_joint2 - 102094: HAIR_LongHairLeft3_joint3 - 102096: HAIR_LongHairLeft3_joint4 - 102098: HAIR_LongHairLeft3_joint5 - 102100: HAIR_LongHairLeft3_joint6 - 102102: HAIR_LongHairLeft3_joint7 - 102104: HAIR_LongHairLeft3_joint8 - 102106: HAIR_LongHairLeft3_joint9 - 102108: HAIR_LongHairLeft4_joint - 102110: HAIR_LongHairLeft4_joint1 - 102112: HAIR_LongHairLeft4_joint10 - 102114: HAIR_LongHairLeft4_joint11 - 102116: HAIR_LongHairLeft4_joint12 - 102118: HAIR_LongHairLeft4_joint13 - 102120: HAIR_LongHairLeft4_joint14 - 102122: HAIR_LongHairLeft4_joint15 - 102124: HAIR_LongHairLeft4_joint2 - 102126: HAIR_LongHairLeft4_joint3 - 102128: HAIR_LongHairLeft4_joint4 - 102130: HAIR_LongHairLeft4_joint5 - 102132: HAIR_LongHairLeft4_joint6 - 102134: HAIR_LongHairLeft4_joint7 - 102136: HAIR_LongHairLeft4_joint8 - 102138: HAIR_LongHairLeft4_joint9 - 102140: HAIR_LongHairLeft_root - 102142: HAIR_LongHairRight1_joint - 102144: HAIR_LongHairRight1_joint 1 - 102146: HAIR_LongHairRight1_joint 10 - 102148: HAIR_LongHairRight1_joint 11 - 102150: HAIR_LongHairRight1_joint 12 - 102152: HAIR_LongHairRight1_joint 13 - 102154: HAIR_LongHairRight1_joint 14 - 102156: HAIR_LongHairRight1_joint 15 - 102158: HAIR_LongHairRight1_joint 2 - 102160: HAIR_LongHairRight1_joint 3 - 102162: HAIR_LongHairRight1_joint 4 - 102164: HAIR_LongHairRight1_joint 5 - 102166: HAIR_LongHairRight1_joint 6 - 102168: HAIR_LongHairRight1_joint 7 - 102170: HAIR_LongHairRight1_joint 8 - 102172: HAIR_LongHairRight1_joint 9 - 102174: HAIR_LongHairRight2_joint - 102176: HAIR_LongHairRight2_joint 1 - 102178: HAIR_LongHairRight2_joint 10 - 102180: HAIR_LongHairRight2_joint 11 - 102182: HAIR_LongHairRight2_joint 12 - 102184: HAIR_LongHairRight2_joint 13 - 102186: HAIR_LongHairRight2_joint 14 - 102188: HAIR_LongHairRight2_joint 15 - 102190: HAIR_LongHairRight2_joint 2 - 102192: HAIR_LongHairRight2_joint 3 - 102194: HAIR_LongHairRight2_joint 4 - 102196: HAIR_LongHairRight2_joint 5 - 102198: HAIR_LongHairRight2_joint 6 - 102200: HAIR_LongHairRight2_joint 7 - 102202: HAIR_LongHairRight2_joint 8 - 102204: HAIR_LongHairRight2_joint 9 - 102206: HAIR_LongHairRight3_joint - 102208: HAIR_LongHairRight3_joint 1 - 102210: HAIR_LongHairRight3_joint 10 - 102212: HAIR_LongHairRight3_joint 11 - 102214: HAIR_LongHairRight3_joint 12 - 102216: HAIR_LongHairRight3_joint 13 - 102218: HAIR_LongHairRight3_joint 14 - 102220: HAIR_LongHairRight3_joint 15 - 102222: HAIR_LongHairRight3_joint 2 - 102224: HAIR_LongHairRight3_joint 3 - 102226: HAIR_LongHairRight3_joint 4 - 102228: HAIR_LongHairRight3_joint 5 - 102230: HAIR_LongHairRight3_joint 6 - 102232: HAIR_LongHairRight3_joint 7 - 102234: HAIR_LongHairRight3_joint 8 - 102236: HAIR_LongHairRight3_joint 9 - 102238: HAIR_LongHairRight4_joint - 102240: HAIR_LongHairRight4_joint 1 - 102242: HAIR_LongHairRight4_joint 10 - 102244: HAIR_LongHairRight4_joint 11 - 102246: HAIR_LongHairRight4_joint 12 - 102248: HAIR_LongHairRight4_joint 13 - 102250: HAIR_LongHairRight4_joint 14 - 102252: HAIR_LongHairRight4_joint 15 - 102254: HAIR_LongHairRight4_joint 2 - 102256: HAIR_LongHairRight4_joint 3 - 102258: HAIR_LongHairRight4_joint 4 - 102260: HAIR_LongHairRight4_joint 5 - 102262: HAIR_LongHairRight4_joint 6 - 102264: HAIR_LongHairRight4_joint 7 - 102266: HAIR_LongHairRight4_joint 8 - 102268: HAIR_LongHairRight4_joint 9 - 102270: HAIR_LongHairRight_root - 102272: CLOTH_CLOTH_BigRibon_L_Ball - 102274: CLOTH_CLOTH_BigRibon_L_Crystal - 102276: CLOTH_CLOTH_BigRibon_R_Ball - 102278: CLOTH_CLOTH_BigRibon_R_Crystal - 102280: CLOTH_CLOTH_ChestMedal - 102282: CLOTH_CLOTH_ChestRibbon_Left_joint1 - 102284: CLOTH_CLOTH_ChestRibbon_Left_joint2 - 102286: CLOTH_CLOTH_ChestRibbon_Left_joint3 - 102288: CLOTH_CLOTH_ChestRibbon_Left_joint4 - 102290: CLOTH_CLOTH_ChestRibbon_Left_Ring_joint1 - 102292: CLOTH_CLOTH_ChestRibbon_Left_Ring_joint2 - 102294: CLOTH_CLOTH_ChestRibbon_Left_Ring_joint3 - 102296: CLOTH_CLOTH_ChestRibbon_Left_Ring_joint4 - 102298: CLOTH_CLOTH_ChestRibbon_Left_root - 102300: CLOTH_CLOTH_ChestRibbon_Right_joint1 - 102302: CLOTH_CLOTH_ChestRibbon_Right_joint2 - 102304: CLOTH_CLOTH_ChestRibbon_Right_joint3 - 102306: CLOTH_CLOTH_ChestRibbon_Right_joint4 - 102308: CLOTH_CLOTH_ChestRibbon_Right_Ring_joint1 - 102310: CLOTH_CLOTH_ChestRibbon_Right_Ring_joint2 - 102312: CLOTH_CLOTH_ChestRibbon_Right_Ring_joint3 - 102314: CLOTH_CLOTH_ChestRibbon_Right_Ring_joint4 - 102316: CLOTH_CLOTH_ChestRibbon_Right_root - 102318: CLOTH_CLOTH_LeftLegRibbon_joint - 102320: CLOTH_CLOTH_LeftLegRibbon_joint1 - 102322: CLOTH_CLOTH_LeftLegRibbon_joint2 - 102324: CLOTH_CLOTH_LeftLegRibbon_joint3 - 102326: CLOTH_CLOTH_necklace_joint1 - 102328: CLOTH_CLOTH_necklace_joint2 - 102330: CLOTH_CLOTH_necklace_joint3 - 102332: CLOTH_CLOTH_necklace_root - 102334: CLOTH_CLOTH_StarFishTassel_L_joint - 102336: CLOTH_CLOTH_StarFishTassel_L_joint1 - 102338: CLOTH_CLOTH_StarFishTassel_L_joint2 - 102340: CLOTH_CLOTH_StarFishTassel_L_joint3 - 102342: CLOTH_CLOTH_StarFishTassel_L_joint4 - 102344: CLOTH_CLOTH_StarFishTassel_LB_joint - 102346: CLOTH_CLOTH_StarFishTassel_LB_joint1 - 102348: CLOTH_CLOTH_StarFishTassel_LB_joint2 - 102350: CLOTH_CLOTH_StarFishTassel_LB_joint3 - 102352: CLOTH_CLOTH_StarFishTassel_LB_joint4 - 102354: CLOTH_CLOTH_StarFishTassel_Right_joint - 102356: CLOTH_CLOTH_StarFishTassel_Right_joint1 - 102358: CLOTH_CLOTH_StarFishTassel_Right_joint2 - 102360: CLOTH_CLOTH_StarFishTassel_Right_joint3 - 102362: CLOTH_CLOTH_StarFishTassel_Right_joint4 - 102364: CLOTH_CLOTH_StarFishTassel_RightB_joint - 102366: CLOTH_CLOTH_StarFishTassel_RightB_joint1 - 102368: CLOTH_CLOTH_StarFishTassel_RightB_joint2 - 102370: CLOTH_CLOTH_StarFishTassel_RightB_joint3 - 102372: CLOTH_CLOTH_StarFishTassel_RightB_joint4 - 102374: Else_BigRibbon_geo - 102376: Else_ChestRibon_geo - 102378: Else_Chuchu_geo - 102380: Else_ClothRibon_geo - 102382: Else_LegAccessories_geo - 102384: Else_Neckring_geo - 102386: Else_StarFishTassel_geo - 102388: HAIR_LongHairRight1_joint1 - 102390: HAIR_LongHairRight1_joint10 - 102392: HAIR_LongHairRight1_joint11 - 102394: HAIR_LongHairRight1_joint12 - 102396: HAIR_LongHairRight1_joint13 - 102398: HAIR_LongHairRight1_joint14 - 102400: HAIR_LongHairRight1_joint15 - 102402: HAIR_LongHairRight1_joint16 - 102404: HAIR_LongHairRight1_joint2 - 102406: HAIR_LongHairRight1_joint3 - 102408: HAIR_LongHairRight1_joint4 - 102410: HAIR_LongHairRight1_joint5 - 102412: HAIR_LongHairRight1_joint6 - 102414: HAIR_LongHairRight1_joint7 - 102416: HAIR_LongHairRight1_joint8 - 102418: HAIR_LongHairRight1_joint9 - 102420: HAIR_LongHairRight2_joint1 - 102422: HAIR_LongHairRight2_joint10 - 102424: HAIR_LongHairRight2_joint11 - 102426: HAIR_LongHairRight2_joint12 - 102428: HAIR_LongHairRight2_joint13 - 102430: HAIR_LongHairRight2_joint14 - 102432: HAIR_LongHairRight2_joint15 - 102434: HAIR_LongHairRight2_joint2 - 102436: HAIR_LongHairRight2_joint3 - 102438: HAIR_LongHairRight2_joint4 - 102440: HAIR_LongHairRight2_joint5 - 102442: HAIR_LongHairRight2_joint6 - 102444: HAIR_LongHairRight2_joint7 - 102446: HAIR_LongHairRight2_joint8 - 102448: HAIR_LongHairRight2_joint9 - 102450: HAIR_LongHairRight3_joint1 - 102452: HAIR_LongHairRight3_joint10 - 102454: HAIR_LongHairRight3_joint11 - 102456: HAIR_LongHairRight3_joint12 - 102458: HAIR_LongHairRight3_joint13 - 102460: HAIR_LongHairRight3_joint14 - 102462: HAIR_LongHairRight3_joint15 - 102464: HAIR_LongHairRight3_joint2 - 102466: HAIR_LongHairRight3_joint3 - 102468: HAIR_LongHairRight3_joint4 - 102470: HAIR_LongHairRight3_joint5 - 102472: HAIR_LongHairRight3_joint6 - 102474: HAIR_LongHairRight3_joint7 - 102476: HAIR_LongHairRight3_joint8 - 102478: HAIR_LongHairRight3_joint9 - 102480: HAIR_LongHairRight4_joint1 - 102482: HAIR_LongHairRight4_joint10 - 102484: HAIR_LongHairRight4_joint11 - 102486: HAIR_LongHairRight4_joint12 - 102488: HAIR_LongHairRight4_joint13 - 102490: HAIR_LongHairRight4_joint14 - 102492: HAIR_LongHairRight4_joint15 - 102494: HAIR_LongHairRight4_joint2 - 102496: HAIR_LongHairRight4_joint3 - 102498: HAIR_LongHairRight4_joint4 - 102500: HAIR_LongHairRight4_joint5 - 102502: HAIR_LongHairRight4_joint6 - 102504: HAIR_LongHairRight4_joint7 - 102506: HAIR_LongHairRight4_joint8 - 102508: HAIR_LongHairRight4_joint9 - 102510: CLOTH_CLOTH_ShoulderRibbon_Left_joint10 - 102512: CLOTH_CLOTH_ShoulderRibbon_Left_joint11 - 102514: CLOTH_CLOTH_ShoulderRibbon_Left_joint12 - 102516: CLOTH_CLOTH_ShoulderRibbon_Left_joint13 - 102518: CLOTH_CLOTH_ShoulderRibbon_Left_joint14 - 102520: CLOTH_CLOTH_ShoulderRibbon_Left_joint15 - 102522: CLOTH_CLOTH_ShoulderRibbon_Left_joint2 - 102524: CLOTH_CLOTH_ShoulderRibbon_Left_joint3 - 102526: CLOTH_CLOTH_ShoulderRibbon_Left_joint4 - 102528: CLOTH_CLOTH_ShoulderRibbon_Left_joint5 - 102530: CLOTH_CLOTH_ShoulderRibbon_Left_joint6 - 102532: CLOTH_CLOTH_ShoulderRibbon_Left_joint7 - 102534: CLOTH_CLOTH_ShoulderRibbon_Left_joint8 - 102536: CLOTH_CLOTH_ShoulderRibbon_Left_joint9 - 102538: CLOTH_CLOTH_ShoulderRibbon_Left_root - 102540: CLOTH_CLOTH_ShoulderRibbon_Right_joint10 - 102542: CLOTH_CLOTH_ShoulderRibbon_Right_joint11 - 102544: CLOTH_CLOTH_ShoulderRibbon_Right_joint12 - 102546: CLOTH_CLOTH_ShoulderRibbon_Right_joint13 - 102548: CLOTH_CLOTH_ShoulderRibbon_Right_joint14 - 102550: CLOTH_CLOTH_ShoulderRibbon_Right_joint15 - 102552: CLOTH_CLOTH_ShoulderRibbon_Right_joint2 - 102554: CLOTH_CLOTH_ShoulderRibbon_Right_joint3 - 102556: CLOTH_CLOTH_ShoulderRibbon_Right_joint4 - 102558: CLOTH_CLOTH_ShoulderRibbon_Right_joint5 - 102560: CLOTH_CLOTH_ShoulderRibbon_Right_joint6 - 102562: CLOTH_CLOTH_ShoulderRibbon_Right_joint7 - 102564: CLOTH_CLOTH_ShoulderRibbon_Right_joint8 - 102566: CLOTH_CLOTH_ShoulderRibbon_Right_joint9 - 102568: CLOTH_CLOTH_ShoulderRibbon_Right_root - 102570: blendShape - 400000: CLOTH_Head - 400002: CLOTH_Head1 - 400004: CLOTH_Hips - 400006: CLOTH_LeftArm - 400008: CLOTH_LeftArmRoll - 400010: CLOTH_LeftArmTwist1 - 400012: CLOTH_LeftArmTwist2 - 400014: CLOTH_LeftFoot - 400016: CLOTH_LeftForeArm - 400018: CLOTH_LeftForeArmElbow - 400020: CLOTH_LeftForeArmRoll - 400022: CLOTH_LeftForeArmTwist1 - 400024: CLOTH_LeftForeArmTwist2 - 400026: CLOTH_LeftHand - 400028: CLOTH_LeftHandAttach - 400030: CLOTH_LeftHandIndex1 - 400032: CLOTH_LeftHandIndex2 - 400034: CLOTH_LeftHandIndex3 - 400036: CLOTH_LeftHandIndex_root - 400038: CLOTH_LeftHandMiddle1 - 400040: CLOTH_LeftHandMiddle2 - 400042: CLOTH_LeftHandMiddle3 - 400044: CLOTH_LeftHandMiddle_root - 400046: CLOTH_LeftHandPinky1 - 400048: CLOTH_LeftHandPinky2 - 400050: CLOTH_LeftHandPinky3 - 400052: CLOTH_LeftHandPinky_root - 400054: CLOTH_LeftHandRing1 - 400056: CLOTH_LeftHandRing2 - 400058: CLOTH_LeftHandRing3 - 400060: CLOTH_LeftHandRing_root - 400062: CLOTH_LeftHandThumb1 - 400064: CLOTH_LeftHandThumb2 - 400066: CLOTH_LeftHandThumb3 - 400068: CLOTH_LeftLeg - 400070: CLOTH_LeftShoulder - 400072: CLOTH_LeftToeBase - 400074: CLOTH_LeftToeBase1 - 400076: CLOTH_LeftUpLeg - 400078: CLOTH_Neck - 400080: CLOTH_RightArm - 400082: CLOTH_RightArmRoll - 400084: CLOTH_RightArmTwist1 - 400086: CLOTH_RightArmTwist2 - 400088: CLOTH_RightFoot - 400090: CLOTH_RightForeArm - 400092: CLOTH_RightForeArmElbow - 400094: CLOTH_RightForeArmRoll - 400096: CLOTH_RightForeArmTwist1 - 400098: CLOTH_RightForeArmTwist2 - 400100: CLOTH_RightHand - 400102: CLOTH_RightHandAttach - 400104: CLOTH_RightHandIndex1 - 400106: CLOTH_RightHandIndex2 - 400108: CLOTH_RightHandIndex3 - 400110: CLOTH_RightHandIndex_root - 400112: CLOTH_RightHandMiddle1 - 400114: CLOTH_RightHandMiddle2 - 400116: CLOTH_RightHandMiddle3 - 400118: CLOTH_RightHandMiddle_root - 400120: CLOTH_RightHandPinky1 - 400122: CLOTH_RightHandPinky2 - 400124: CLOTH_RightHandPinky3 - 400126: CLOTH_RightHandPinky_root - 400128: CLOTH_RightHandRing1 - 400130: CLOTH_RightHandRing2 - 400132: CLOTH_RightHandRing3 - 400134: CLOTH_RightHandRing_root - 400136: CLOTH_RightHandThumb1 - 400138: CLOTH_RightHandThumb2 - 400140: CLOTH_RightHandThumb3 - 400142: CLOTH_RightLeg - 400144: CLOTH_RightShoulder - 400146: CLOTH_RightToeBase - 400148: CLOTH_RightToeBase1 - 400150: CLOTH_RightUpLeg - 400152: CLOTH_Spine - 400154: CLOTH_Spine1 - 400156: CLOTH_Spine2 - 400158: CLOTH_Spine3 - 400160: //RootNode - 400162: Else_BigRibon_A_geo - 400164: Else_BigRibon_B_L_geo - 400166: Else_BigRibon_B_R_geo - 400168: Else_body_geo - 400170: Else_Cloth - 400172: Else_Cloth_geo - 400174: Else_face_geo - 400176: Else_Hair - 400178: Else_mesh - 400180: Else_Pants_geo - 400182: Else_root - 400184: ElseCLOTH_socket - 400186: ElseMAIN_socket - 400188: HairParts_BackUnder_geo - 400190: HairParts_Front_geo - 400192: HairParts_FrontTip_geo - 400194: HairParts_geo_special - 400196: HairParts_L - 400198: HairParts_L_geo1 - 400200: HairParts_L_geo10 - 400202: HairParts_L_geo11 - 400204: HairParts_L_geo12 - 400206: HairParts_L_geo13 - 400208: HairParts_L_geo14 - 400210: HairParts_L_geo15 - 400212: HairParts_L_geo16 - 400214: HairParts_L_geo17 - 400216: HairParts_L_geo18 - 400218: HairParts_L_geo19 - 400220: HairParts_L_geo2 - 400222: HairParts_L_geo20 - 400224: HairParts_L_geo21 - 400226: HairParts_L_geo22 - 400228: HairParts_L_geo23 - 400230: HairParts_L_geo24 - 400232: HairParts_L_geo25 - 400234: HairParts_L_geo26 - 400236: HairParts_L_geo27 - 400238: HairParts_L_geo28 - 400240: HairParts_L_geo29 - 400242: HairParts_L_geo3 - 400244: HairParts_L_geo30 - 400246: HairParts_L_geo31 - 400248: HairParts_L_geo32 - 400250: HairParts_L_geo33 - 400252: HairParts_L_geo34 - 400254: HairParts_L_geo35 - 400256: HairParts_L_geo36 - 400258: HairParts_L_geo37 - 400260: HairParts_L_geo38 - 400262: HairParts_L_geo39 - 400264: HairParts_L_geo4 - 400266: HairParts_L_geo40 - 400268: HairParts_L_geo41 - 400270: HairParts_L_geo42 - 400272: HairParts_L_geo43 - 400274: HairParts_L_geo44 - 400276: HairParts_L_geo45 - 400278: HairParts_L_geo46 - 400280: HairParts_L_geo47 - 400282: HairParts_L_geo5 - 400284: HairParts_L_geo6 - 400286: HairParts_L_geo7 - 400288: HairParts_L_geo8 - 400290: HairParts_L_geo9 - 400292: HairParts_R - 400294: HairParts_R_geo1 - 400296: HairParts_R_geo10 - 400298: HairParts_R_geo11 - 400300: HairParts_R_geo12 - 400302: HairParts_R_geo13 - 400304: HairParts_R_geo14 - 400306: HairParts_R_geo15 - 400308: HairParts_R_geo16 - 400310: HairParts_R_geo17 - 400312: HairParts_R_geo18 - 400314: HairParts_R_geo19 - 400316: HairParts_R_geo2 - 400318: HairParts_R_geo20 - 400320: HairParts_R_geo21 - 400322: HairParts_R_geo22 - 400324: HairParts_R_geo23 - 400326: HairParts_R_geo24 - 400328: HairParts_R_geo25 - 400330: HairParts_R_geo26 - 400332: HairParts_R_geo27 - 400334: HairParts_R_geo28 - 400336: HairParts_R_geo29 - 400338: HairParts_R_geo3 - 400340: HairParts_R_geo30 - 400342: HairParts_R_geo31 - 400344: HairParts_R_geo32 - 400346: HairParts_R_geo33 - 400348: HairParts_R_geo34 - 400350: HairParts_R_geo35 - 400352: HairParts_R_geo36 - 400354: HairParts_R_geo37 - 400356: HairParts_R_geo38 - 400358: HairParts_R_geo39 - 400360: HairParts_R_geo4 - 400362: HairParts_R_geo40 - 400364: HairParts_R_geo41 - 400366: HairParts_R_geo42 - 400368: HairParts_R_geo43 - 400370: HairParts_R_geo44 - 400372: HairParts_R_geo45 - 400374: HairParts_R_geo46 - 400376: HairParts_R_geo47 - 400378: HairParts_R_geo5 - 400380: HairParts_R_geo6 - 400382: HairParts_R_geo7 - 400384: HairParts_R_geo8 - 400386: HairParts_R_geo9 - 400388: MAIN_Head - 400390: MAIN_Head1 - 400392: MAIN_Hips - 400394: MAIN_LeftArm - 400396: MAIN_LeftArmRoll - 400398: MAIN_LeftArmTwist1 - 400400: MAIN_LeftArmTwist2 - 400402: MAIN_LeftFoot - 400404: MAIN_LeftForeArm - 400406: MAIN_LeftForeArmElbow - 400408: MAIN_LeftForeArmRoll - 400410: MAIN_LeftForeArmTwist1 - 400412: MAIN_LeftForeArmTwist2 - 400414: MAIN_LeftHand - 400416: MAIN_LeftHandAttach - 400418: MAIN_LeftHandIndex1 - 400420: MAIN_LeftHandIndex2 - 400422: MAIN_LeftHandIndex3 - 400424: MAIN_LeftHandIndex_root - 400426: MAIN_LeftHandMiddle1 - 400428: MAIN_LeftHandMiddle2 - 400430: MAIN_LeftHandMiddle3 - 400432: MAIN_LeftHandMiddle_root - 400434: MAIN_LeftHandPinky1 - 400436: MAIN_LeftHandPinky2 - 400438: MAIN_LeftHandPinky3 - 400440: MAIN_LeftHandPinky_root - 400442: MAIN_LeftHandRing1 - 400444: MAIN_LeftHandRing2 - 400446: MAIN_LeftHandRing3 - 400448: MAIN_LeftHandRing_root - 400450: MAIN_LeftHandThumb1 - 400452: MAIN_LeftHandThumb2 - 400454: MAIN_LeftHandThumb3 - 400456: MAIN_LeftLeg - 400458: MAIN_LeftShoulder - 400460: MAIN_LeftToeBase - 400462: MAIN_LeftToeBase1 - 400464: MAIN_LeftUpLeg - 400466: MAIN_Neck - 400468: MAIN_RightArm - 400470: MAIN_RightArmRoll - 400472: MAIN_RightArmTwist1 - 400474: MAIN_RightArmTwist2 - 400476: MAIN_RightFoot - 400478: MAIN_RightForeArm - 400480: MAIN_RightForeArmElbow - 400482: MAIN_RightForeArmRoll - 400484: MAIN_RightForeArmTwist1 - 400486: MAIN_RightForeArmTwist2 - 400488: MAIN_RightHand - 400490: MAIN_RightHandAttach - 400492: MAIN_RightHandIndex1 - 400494: MAIN_RightHandIndex2 - 400496: MAIN_RightHandIndex3 - 400498: MAIN_RightHandIndex_root - 400500: MAIN_RightHandMiddle1 - 400502: MAIN_RightHandMiddle2 - 400504: MAIN_RightHandMiddle3 - 400506: MAIN_RightHandMiddle_root - 400508: MAIN_RightHandPinky1 - 400510: MAIN_RightHandPinky2 - 400512: MAIN_RightHandPinky3 - 400514: MAIN_RightHandPinky_root - 400516: MAIN_RightHandRing1 - 400518: MAIN_RightHandRing2 - 400520: MAIN_RightHandRing3 - 400522: MAIN_RightHandRing_root - 400524: MAIN_RightHandThumb1 - 400526: MAIN_RightHandThumb2 - 400528: MAIN_RightHandThumb3 - 400530: MAIN_RightLeg - 400532: MAIN_RightShoulder - 400534: MAIN_RightToeBase - 400536: MAIN_RightToeBase1 - 400538: MAIN_RightUpLeg - 400540: MAIN_Spine - 400542: MAIN_Spine1 - 400544: MAIN_Spine2 - 400546: MAIN_Spine3 - 400548: Else_Hair_geo - 400550: CLOTH_CLOTH_BigRibon_L_joint1 - 400552: CLOTH_CLOTH_BigRibon_L_joint10 - 400554: CLOTH_CLOTH_BigRibon_L_joint11 - 400556: CLOTH_CLOTH_BigRibon_L_joint12 - 400558: CLOTH_CLOTH_BigRibon_L_joint13 - 400560: CLOTH_CLOTH_BigRibon_L_joint14 - 400562: CLOTH_CLOTH_BigRibon_L_joint15 - 400564: CLOTH_CLOTH_BigRibon_L_joint16 - 400566: CLOTH_CLOTH_BigRibon_L_joint17 - 400568: CLOTH_CLOTH_BigRibon_L_joint18 - 400570: CLOTH_CLOTH_BigRibon_L_joint19 - 400572: CLOTH_CLOTH_BigRibon_L_joint2 - 400574: CLOTH_CLOTH_BigRibon_L_joint20 - 400576: CLOTH_CLOTH_BigRibon_L_joint21 - 400578: CLOTH_CLOTH_BigRibon_L_joint3 - 400580: CLOTH_CLOTH_BigRibon_L_joint4 - 400582: CLOTH_CLOTH_BigRibon_L_joint5 - 400584: CLOTH_CLOTH_BigRibon_L_joint6 - 400586: CLOTH_CLOTH_BigRibon_L_joint7 - 400588: CLOTH_CLOTH_BigRibon_L_joint8 - 400590: CLOTH_CLOTH_BigRibon_L_joint9 - 400592: CLOTH_CLOTH_BigRibon_R_joint1 - 400594: CLOTH_CLOTH_BigRibon_R_joint10 - 400596: CLOTH_CLOTH_BigRibon_R_joint11 - 400598: CLOTH_CLOTH_BigRibon_R_joint12 - 400600: CLOTH_CLOTH_BigRibon_R_joint13 - 400602: CLOTH_CLOTH_BigRibon_R_joint14 - 400604: CLOTH_CLOTH_BigRibon_R_joint15 - 400606: CLOTH_CLOTH_BigRibon_R_joint16 - 400608: CLOTH_CLOTH_BigRibon_R_joint17 - 400610: CLOTH_CLOTH_BigRibon_R_joint18 - 400612: CLOTH_CLOTH_BigRibon_R_joint19 - 400614: CLOTH_CLOTH_BigRibon_R_joint2 - 400616: CLOTH_CLOTH_BigRibon_R_joint20 - 400618: CLOTH_CLOTH_BigRibon_R_joint21 - 400620: CLOTH_CLOTH_BigRibon_R_joint3 - 400622: CLOTH_CLOTH_BigRibon_R_joint4 - 400624: CLOTH_CLOTH_BigRibon_R_joint5 - 400626: CLOTH_CLOTH_BigRibon_R_joint6 - 400628: CLOTH_CLOTH_BigRibon_R_joint7 - 400630: CLOTH_CLOTH_BigRibon_R_joint8 - 400632: CLOTH_CLOTH_BigRibon_R_joint9 - 400634: CLOTH_CLOTH_BigRibon_Ring_L_joint1 - 400636: CLOTH_CLOTH_BigRibon_Ring_L_joint2 - 400638: CLOTH_CLOTH_BigRibon_Ring_L_joint3 - 400640: CLOTH_CLOTH_BigRibon_Ring_L_joint4 - 400642: CLOTH_CLOTH_BigRibon_Ring_L_joint5 - 400644: CLOTH_CLOTH_BigRibon_Ring_L_joint6 - 400646: CLOTH_CLOTH_BigRibon_Ring_L_joint7 - 400648: CLOTH_CLOTH_BigRibon_Ring_L_joint8 - 400650: CLOTH_CLOTH_BigRibon_Ring_R_joint1 - 400652: CLOTH_CLOTH_BigRibon_Ring_R_joint2 - 400654: CLOTH_CLOTH_BigRibon_Ring_R_joint3 - 400656: CLOTH_CLOTH_BigRibon_Ring_R_joint4 - 400658: CLOTH_CLOTH_BigRibon_Ring_R_joint5 - 400660: CLOTH_CLOTH_BigRibon_Ring_R_joint6 - 400662: CLOTH_CLOTH_BigRibon_Ring_R_joint7 - 400664: CLOTH_CLOTH_BigRibon_Ring_R_joint8 - 400666: CLOTH_CLOTH_InSkirt_0_joint1 - 400668: CLOTH_CLOTH_InSkirt_0_joint2 - 400670: CLOTH_CLOTH_InSkirt_0_joint3 - 400672: CLOTH_CLOTH_InSkirt_0_joint4 - 400674: CLOTH_CLOTH_InSkirt_0_joint5 - 400676: CLOTH_CLOTH_InSkirt_10_joint1 - 400678: CLOTH_CLOTH_InSkirt_10_joint2 - 400680: CLOTH_CLOTH_InSkirt_10_joint3 - 400682: CLOTH_CLOTH_InSkirt_10_joint4 - 400684: CLOTH_CLOTH_InSkirt_10_joint5 - 400686: CLOTH_CLOTH_InSkirt_11_joint1 - 400688: CLOTH_CLOTH_InSkirt_11_joint2 - 400690: CLOTH_CLOTH_InSkirt_11_joint3 - 400692: CLOTH_CLOTH_InSkirt_11_joint4 - 400694: CLOTH_CLOTH_InSkirt_11_joint5 - 400696: CLOTH_CLOTH_InSkirt_12_joint1 - 400698: CLOTH_CLOTH_InSkirt_12_joint2 - 400700: CLOTH_CLOTH_InSkirt_12_joint3 - 400702: CLOTH_CLOTH_InSkirt_12_joint4 - 400704: CLOTH_CLOTH_InSkirt_12_joint5 - 400706: CLOTH_CLOTH_InSkirt_13_joint1 - 400708: CLOTH_CLOTH_InSkirt_13_joint2 - 400710: CLOTH_CLOTH_InSkirt_13_joint3 - 400712: CLOTH_CLOTH_InSkirt_13_joint4 - 400714: CLOTH_CLOTH_InSkirt_13_joint5 - 400716: CLOTH_CLOTH_InSkirt_1_joint1 - 400718: CLOTH_CLOTH_InSkirt_1_joint2 - 400720: CLOTH_CLOTH_InSkirt_1_joint3 - 400722: CLOTH_CLOTH_InSkirt_1_joint4 - 400724: CLOTH_CLOTH_InSkirt_1_joint5 - 400726: CLOTH_CLOTH_InSkirt_2_joint1 - 400728: CLOTH_CLOTH_InSkirt_2_joint2 - 400730: CLOTH_CLOTH_InSkirt_2_joint3 - 400732: CLOTH_CLOTH_InSkirt_2_joint4 - 400734: CLOTH_CLOTH_InSkirt_2_joint5 - 400736: CLOTH_CLOTH_InSkirt_3_joint1 - 400738: CLOTH_CLOTH_InSkirt_3_joint2 - 400740: CLOTH_CLOTH_InSkirt_3_joint3 - 400742: CLOTH_CLOTH_InSkirt_3_joint4 - 400744: CLOTH_CLOTH_InSkirt_3_joint5 - 400746: CLOTH_CLOTH_InSkirt_4_joint1 - 400748: CLOTH_CLOTH_InSkirt_4_joint2 - 400750: CLOTH_CLOTH_InSkirt_4_joint3 - 400752: CLOTH_CLOTH_InSkirt_4_joint4 - 400754: CLOTH_CLOTH_InSkirt_4_joint5 - 400756: CLOTH_CLOTH_InSkirt_4_joint6 - 400758: CLOTH_CLOTH_InSkirt_5_joint1 - 400760: CLOTH_CLOTH_InSkirt_5_joint2 - 400762: CLOTH_CLOTH_InSkirt_5_joint3 - 400764: CLOTH_CLOTH_InSkirt_5_joint4 - 400766: CLOTH_CLOTH_InSkirt_5_joint5 - 400768: CLOTH_CLOTH_InSkirt_5_joint6 - 400770: CLOTH_CLOTH_InSkirt_6_joint1 - 400772: CLOTH_CLOTH_InSkirt_6_joint2 - 400774: CLOTH_CLOTH_InSkirt_6_joint3 - 400776: CLOTH_CLOTH_InSkirt_6_joint4 - 400778: CLOTH_CLOTH_InSkirt_6_joint5 - 400780: CLOTH_CLOTH_InSkirt_6_joint6 - 400782: CLOTH_CLOTH_InSkirt_7_joint1 - 400784: CLOTH_CLOTH_InSkirt_7_joint2 - 400786: CLOTH_CLOTH_InSkirt_7_joint3 - 400788: CLOTH_CLOTH_InSkirt_7_joint4 - 400790: CLOTH_CLOTH_InSkirt_7_joint5 - 400792: CLOTH_CLOTH_InSkirt_7_joint6 - 400794: CLOTH_CLOTH_InSkirt_8_joint1 - 400796: CLOTH_CLOTH_InSkirt_8_joint2 - 400798: CLOTH_CLOTH_InSkirt_8_joint3 - 400800: CLOTH_CLOTH_InSkirt_8_joint4 - 400802: CLOTH_CLOTH_InSkirt_8_joint5 - 400804: CLOTH_CLOTH_InSkirt_8_joint6 - 400806: CLOTH_CLOTH_InSkirt_9_joint1 - 400808: CLOTH_CLOTH_InSkirt_9_joint2 - 400810: CLOTH_CLOTH_InSkirt_9_joint3 - 400812: CLOTH_CLOTH_InSkirt_9_joint4 - 400814: CLOTH_CLOTH_InSkirt_9_joint5 - 400816: CLOTH_CLOTH_InSkirt_9_joint6 - 400818: CLOTH_CLOTH_OutSkirt_0_Btm_joint1 - 400820: CLOTH_CLOTH_OutSkirt_0_Btm_joint2 - 400822: CLOTH_CLOTH_OutSkirt_0_Btm_joint3 - 400824: CLOTH_CLOTH_OutSkirt_0_joint - 400826: CLOTH_CLOTH_OutSkirt_0_Up_joint1 - 400828: CLOTH_CLOTH_OutSkirt_0_Up_joint2 - 400830: CLOTH_CLOTH_OutSkirt_0_Up_joint3 - 400832: CLOTH_CLOTH_OutSkirt_0_Up_joint4 - 400834: CLOTH_CLOTH_OutSkirt_10_Btm_joint1 - 400836: CLOTH_CLOTH_OutSkirt_10_Btm_joint10 - 400838: CLOTH_CLOTH_OutSkirt_10_Btm_joint11 - 400840: CLOTH_CLOTH_OutSkirt_10_Btm_joint2 - 400842: CLOTH_CLOTH_OutSkirt_10_Btm_joint3 - 400844: CLOTH_CLOTH_OutSkirt_10_Btm_joint4 - 400846: CLOTH_CLOTH_OutSkirt_10_Btm_joint5 - 400848: CLOTH_CLOTH_OutSkirt_10_Btm_joint6 - 400850: CLOTH_CLOTH_OutSkirt_10_Btm_joint7 - 400852: CLOTH_CLOTH_OutSkirt_10_Btm_joint8 - 400854: CLOTH_CLOTH_OutSkirt_10_Btm_joint9 - 400856: CLOTH_CLOTH_OutSkirt_10_joint - 400858: CLOTH_CLOTH_OutSkirt_10_Up_joint1 - 400860: CLOTH_CLOTH_OutSkirt_10_Up_joint2 - 400862: CLOTH_CLOTH_OutSkirt_10_Up_joint3 - 400864: CLOTH_CLOTH_OutSkirt_10_Up_joint4 - 400866: CLOTH_CLOTH_OutSkirt_11_Btm_joint1 - 400868: CLOTH_CLOTH_OutSkirt_11_Btm_joint10 - 400870: CLOTH_CLOTH_OutSkirt_11_Btm_joint11 - 400872: CLOTH_CLOTH_OutSkirt_11_Btm_joint2 - 400874: CLOTH_CLOTH_OutSkirt_11_Btm_joint3 - 400876: CLOTH_CLOTH_OutSkirt_11_Btm_joint4 - 400878: CLOTH_CLOTH_OutSkirt_11_Btm_joint5 - 400880: CLOTH_CLOTH_OutSkirt_11_Btm_joint6 - 400882: CLOTH_CLOTH_OutSkirt_11_Btm_joint7 - 400884: CLOTH_CLOTH_OutSkirt_11_Btm_joint8 - 400886: CLOTH_CLOTH_OutSkirt_11_Btm_joint9 - 400888: CLOTH_CLOTH_OutSkirt_11_joint - 400890: CLOTH_CLOTH_OutSkirt_11_Up_joint1 - 400892: CLOTH_CLOTH_OutSkirt_11_Up_joint2 - 400894: CLOTH_CLOTH_OutSkirt_11_Up_joint3 - 400896: CLOTH_CLOTH_OutSkirt_11_Up_joint4 - 400898: CLOTH_CLOTH_OutSkirt_12_Btm_joint1 - 400900: CLOTH_CLOTH_OutSkirt_12_Btm_joint10 - 400902: CLOTH_CLOTH_OutSkirt_12_Btm_joint2 - 400904: CLOTH_CLOTH_OutSkirt_12_Btm_joint3 - 400906: CLOTH_CLOTH_OutSkirt_12_Btm_joint4 - 400908: CLOTH_CLOTH_OutSkirt_12_Btm_joint5 - 400910: CLOTH_CLOTH_OutSkirt_12_Btm_joint6 - 400912: CLOTH_CLOTH_OutSkirt_12_Btm_joint7 - 400914: CLOTH_CLOTH_OutSkirt_12_Btm_joint8 - 400916: CLOTH_CLOTH_OutSkirt_12_Btm_joint9 - 400918: CLOTH_CLOTH_OutSkirt_12_joint - 400920: CLOTH_CLOTH_OutSkirt_12_Up_joint1 - 400922: CLOTH_CLOTH_OutSkirt_12_Up_joint2 - 400924: CLOTH_CLOTH_OutSkirt_12_Up_joint3 - 400926: CLOTH_CLOTH_OutSkirt_12_Up_joint4 - 400928: CLOTH_CLOTH_OutSkirt_13_Btm_joint1 - 400930: CLOTH_CLOTH_OutSkirt_13_Btm_joint2 - 400932: CLOTH_CLOTH_OutSkirt_13_Btm_joint3 - 400934: CLOTH_CLOTH_OutSkirt_13_Btm_joint4 - 400936: CLOTH_CLOTH_OutSkirt_13_Btm_joint5 - 400938: CLOTH_CLOTH_OutSkirt_13_Btm_joint6 - 400940: CLOTH_CLOTH_OutSkirt_13_Btm_joint7 - 400942: CLOTH_CLOTH_OutSkirt_13_Btm_joint8 - 400944: CLOTH_CLOTH_OutSkirt_13_Btm_joint9 - 400946: CLOTH_CLOTH_OutSkirt_13_joint - 400948: CLOTH_CLOTH_OutSkirt_13_Up_joint1 - 400950: CLOTH_CLOTH_OutSkirt_13_Up_joint2 - 400952: CLOTH_CLOTH_OutSkirt_13_Up_joint3 - 400954: CLOTH_CLOTH_OutSkirt_13_Up_joint4 - 400956: CLOTH_CLOTH_OutSkirt_14_Btm_joint1 - 400958: CLOTH_CLOTH_OutSkirt_14_Btm_joint10 - 400960: CLOTH_CLOTH_OutSkirt_14_Btm_joint11 - 400962: CLOTH_CLOTH_OutSkirt_14_Btm_joint2 - 400964: CLOTH_CLOTH_OutSkirt_14_Btm_joint3 - 400966: CLOTH_CLOTH_OutSkirt_14_Btm_joint4 - 400968: CLOTH_CLOTH_OutSkirt_14_Btm_joint5 - 400970: CLOTH_CLOTH_OutSkirt_14_Btm_joint6 - 400972: CLOTH_CLOTH_OutSkirt_14_Btm_joint7 - 400974: CLOTH_CLOTH_OutSkirt_14_Btm_joint8 - 400976: CLOTH_CLOTH_OutSkirt_14_Btm_joint9 - 400978: CLOTH_CLOTH_OutSkirt_14_joint - 400980: CLOTH_CLOTH_OutSkirt_14_Up_joint1 - 400982: CLOTH_CLOTH_OutSkirt_14_Up_joint2 - 400984: CLOTH_CLOTH_OutSkirt_14_Up_joint3 - 400986: CLOTH_CLOTH_OutSkirt_14_Up_joint4 - 400988: CLOTH_CLOTH_OutSkirt_15_Btm_joint1 - 400990: CLOTH_CLOTH_OutSkirt_15_Btm_joint2 - 400992: CLOTH_CLOTH_OutSkirt_15_Btm_joint3 - 400994: CLOTH_CLOTH_OutSkirt_15_Btm_joint4 - 400996: CLOTH_CLOTH_OutSkirt_15_Btm_joint5 - 400998: CLOTH_CLOTH_OutSkirt_15_Btm_joint6 - 401000: CLOTH_CLOTH_OutSkirt_15_joint - 401002: CLOTH_CLOTH_OutSkirt_15_Up_joint1 - 401004: CLOTH_CLOTH_OutSkirt_15_Up_joint2 - 401006: CLOTH_CLOTH_OutSkirt_15_Up_joint3 - 401008: CLOTH_CLOTH_OutSkirt_15_Up_joint4 - 401010: CLOTH_CLOTH_OutSkirt_16_Btm_joint1 - 401012: CLOTH_CLOTH_OutSkirt_16_Btm_joint2 - 401014: CLOTH_CLOTH_OutSkirt_16_Btm_joint3 - 401016: CLOTH_CLOTH_OutSkirt_16_Btm_joint4 - 401018: CLOTH_CLOTH_OutSkirt_16_joint - 401020: CLOTH_CLOTH_OutSkirt_16_Up_joint1 - 401022: CLOTH_CLOTH_OutSkirt_16_Up_joint2 - 401024: CLOTH_CLOTH_OutSkirt_16_Up_joint3 - 401026: CLOTH_CLOTH_OutSkirt_16_Up_joint4 - 401028: CLOTH_CLOTH_OutSkirt_17_Btm_joint1 - 401030: CLOTH_CLOTH_OutSkirt_17_Btm_joint2 - 401032: CLOTH_CLOTH_OutSkirt_17_Btm_joint3 - 401034: CLOTH_CLOTH_OutSkirt_17_joint - 401036: CLOTH_CLOTH_OutSkirt_17_Up_joint1 - 401038: CLOTH_CLOTH_OutSkirt_17_Up_joint2 - 401040: CLOTH_CLOTH_OutSkirt_17_Up_joint3 - 401042: CLOTH_CLOTH_OutSkirt_17_Up_joint4 - 401044: CLOTH_CLOTH_OutSkirt_1_Btm_joint1 - 401046: CLOTH_CLOTH_OutSkirt_1_Btm_joint2 - 401048: CLOTH_CLOTH_OutSkirt_1_Btm_joint3 - 401050: CLOTH_CLOTH_OutSkirt_1_joint - 401052: CLOTH_CLOTH_OutSkirt_1_Up_joint1 - 401054: CLOTH_CLOTH_OutSkirt_1_Up_joint2 - 401056: CLOTH_CLOTH_OutSkirt_1_Up_joint3 - 401058: CLOTH_CLOTH_OutSkirt_1_Up_joint4 - 401060: CLOTH_CLOTH_OutSkirt_2_Btm_joint1 - 401062: CLOTH_CLOTH_OutSkirt_2_Btm_joint2 - 401064: CLOTH_CLOTH_OutSkirt_2_Btm_joint3 - 401066: CLOTH_CLOTH_OutSkirt_2_Btm_joint4 - 401068: CLOTH_CLOTH_OutSkirt_2_joint - 401070: CLOTH_CLOTH_OutSkirt_2_Up_joint1 - 401072: CLOTH_CLOTH_OutSkirt_2_Up_joint2 - 401074: CLOTH_CLOTH_OutSkirt_2_Up_joint3 - 401076: CLOTH_CLOTH_OutSkirt_2_Up_joint4 - 401078: CLOTH_CLOTH_OutSkirt_3_Btm_joint1 - 401080: CLOTH_CLOTH_OutSkirt_3_Btm_joint2 - 401082: CLOTH_CLOTH_OutSkirt_3_Btm_joint3 - 401084: CLOTH_CLOTH_OutSkirt_3_Btm_joint4 - 401086: CLOTH_CLOTH_OutSkirt_3_Btm_joint5 - 401088: CLOTH_CLOTH_OutSkirt_3_Btm_joint6 - 401090: CLOTH_CLOTH_OutSkirt_3_joint - 401092: CLOTH_CLOTH_OutSkirt_3_Up_joint1 - 401094: CLOTH_CLOTH_OutSkirt_3_Up_joint2 - 401096: CLOTH_CLOTH_OutSkirt_3_Up_joint3 - 401098: CLOTH_CLOTH_OutSkirt_3_Up_joint4 - 401100: CLOTH_CLOTH_OutSkirt_4_Btm_joint1 - 401102: CLOTH_CLOTH_OutSkirt_4_Btm_joint10 - 401104: CLOTH_CLOTH_OutSkirt_4_Btm_joint11 - 401106: CLOTH_CLOTH_OutSkirt_4_Btm_joint2 - 401108: CLOTH_CLOTH_OutSkirt_4_Btm_joint3 - 401110: CLOTH_CLOTH_OutSkirt_4_Btm_joint4 - 401112: CLOTH_CLOTH_OutSkirt_4_Btm_joint5 - 401114: CLOTH_CLOTH_OutSkirt_4_Btm_joint6 - 401116: CLOTH_CLOTH_OutSkirt_4_Btm_joint7 - 401118: CLOTH_CLOTH_OutSkirt_4_Btm_joint8 - 401120: CLOTH_CLOTH_OutSkirt_4_Btm_joint9 - 401122: CLOTH_CLOTH_OutSkirt_4_joint - 401124: CLOTH_CLOTH_OutSkirt_4_Up_joint1 - 401126: CLOTH_CLOTH_OutSkirt_4_Up_joint2 - 401128: CLOTH_CLOTH_OutSkirt_4_Up_joint3 - 401130: CLOTH_CLOTH_OutSkirt_4_Up_joint4 - 401132: CLOTH_CLOTH_OutSkirt_5_Btm_joint1 - 401134: CLOTH_CLOTH_OutSkirt_5_Btm_joint2 - 401136: CLOTH_CLOTH_OutSkirt_5_Btm_joint3 - 401138: CLOTH_CLOTH_OutSkirt_5_Btm_joint4 - 401140: CLOTH_CLOTH_OutSkirt_5_Btm_joint5 - 401142: CLOTH_CLOTH_OutSkirt_5_Btm_joint6 - 401144: CLOTH_CLOTH_OutSkirt_5_Btm_joint7 - 401146: CLOTH_CLOTH_OutSkirt_5_Btm_joint8 - 401148: CLOTH_CLOTH_OutSkirt_5_Btm_joint9 - 401150: CLOTH_CLOTH_OutSkirt_5_joint - 401152: CLOTH_CLOTH_OutSkirt_5_Up_joint1 - 401154: CLOTH_CLOTH_OutSkirt_5_Up_joint2 - 401156: CLOTH_CLOTH_OutSkirt_5_Up_joint3 - 401158: CLOTH_CLOTH_OutSkirt_5_Up_joint4 - 401160: CLOTH_CLOTH_OutSkirt_6_Btm_joint1 - 401162: CLOTH_CLOTH_OutSkirt_6_Btm_joint10 - 401164: CLOTH_CLOTH_OutSkirt_6_Btm_joint2 - 401166: CLOTH_CLOTH_OutSkirt_6_Btm_joint3 - 401168: CLOTH_CLOTH_OutSkirt_6_Btm_joint4 - 401170: CLOTH_CLOTH_OutSkirt_6_Btm_joint5 - 401172: CLOTH_CLOTH_OutSkirt_6_Btm_joint6 - 401174: CLOTH_CLOTH_OutSkirt_6_Btm_joint7 - 401176: CLOTH_CLOTH_OutSkirt_6_Btm_joint8 - 401178: CLOTH_CLOTH_OutSkirt_6_Btm_joint9 - 401180: CLOTH_CLOTH_OutSkirt_6_joint - 401182: CLOTH_CLOTH_OutSkirt_6_Up_joint1 - 401184: CLOTH_CLOTH_OutSkirt_6_Up_joint2 - 401186: CLOTH_CLOTH_OutSkirt_6_Up_joint3 - 401188: CLOTH_CLOTH_OutSkirt_6_Up_joint4 - 401190: CLOTH_CLOTH_OutSkirt_7_Btm_joint1 - 401192: CLOTH_CLOTH_OutSkirt_7_Btm_joint10 - 401194: CLOTH_CLOTH_OutSkirt_7_Btm_joint11 - 401196: CLOTH_CLOTH_OutSkirt_7_Btm_joint2 - 401198: CLOTH_CLOTH_OutSkirt_7_Btm_joint3 - 401200: CLOTH_CLOTH_OutSkirt_7_Btm_joint4 - 401202: CLOTH_CLOTH_OutSkirt_7_Btm_joint5 - 401204: CLOTH_CLOTH_OutSkirt_7_Btm_joint6 - 401206: CLOTH_CLOTH_OutSkirt_7_Btm_joint7 - 401208: CLOTH_CLOTH_OutSkirt_7_Btm_joint8 - 401210: CLOTH_CLOTH_OutSkirt_7_Btm_joint9 - 401212: CLOTH_CLOTH_OutSkirt_7_joint - 401214: CLOTH_CLOTH_OutSkirt_7_Up_joint1 - 401216: CLOTH_CLOTH_OutSkirt_7_Up_joint2 - 401218: CLOTH_CLOTH_OutSkirt_7_Up_joint3 - 401220: CLOTH_CLOTH_OutSkirt_7_Up_joint4 - 401222: CLOTH_CLOTH_OutSkirt_8_Btm_joint1 - 401224: CLOTH_CLOTH_OutSkirt_8_Btm_joint10 - 401226: CLOTH_CLOTH_OutSkirt_8_Btm_joint11 - 401228: CLOTH_CLOTH_OutSkirt_8_Btm_joint2 - 401230: CLOTH_CLOTH_OutSkirt_8_Btm_joint3 - 401232: CLOTH_CLOTH_OutSkirt_8_Btm_joint4 - 401234: CLOTH_CLOTH_OutSkirt_8_Btm_joint5 - 401236: CLOTH_CLOTH_OutSkirt_8_Btm_joint6 - 401238: CLOTH_CLOTH_OutSkirt_8_Btm_joint7 - 401240: CLOTH_CLOTH_OutSkirt_8_Btm_joint8 - 401242: CLOTH_CLOTH_OutSkirt_8_Btm_joint9 - 401244: CLOTH_CLOTH_OutSkirt_8_joint - 401246: CLOTH_CLOTH_OutSkirt_8_Up_joint1 - 401248: CLOTH_CLOTH_OutSkirt_8_Up_joint2 - 401250: CLOTH_CLOTH_OutSkirt_8_Up_joint3 - 401252: CLOTH_CLOTH_OutSkirt_8_Up_joint4 - 401254: CLOTH_CLOTH_OutSkirt_9_Btm_joint1 - 401256: CLOTH_CLOTH_OutSkirt_9_Btm_joint10 - 401258: CLOTH_CLOTH_OutSkirt_9_Btm_joint11 - 401260: CLOTH_CLOTH_OutSkirt_9_Btm_joint2 - 401262: CLOTH_CLOTH_OutSkirt_9_Btm_joint3 - 401264: CLOTH_CLOTH_OutSkirt_9_Btm_joint4 - 401266: CLOTH_CLOTH_OutSkirt_9_Btm_joint5 - 401268: CLOTH_CLOTH_OutSkirt_9_Btm_joint6 - 401270: CLOTH_CLOTH_OutSkirt_9_Btm_joint7 - 401272: CLOTH_CLOTH_OutSkirt_9_Btm_joint8 - 401274: CLOTH_CLOTH_OutSkirt_9_Btm_joint9 - 401276: CLOTH_CLOTH_OutSkirt_9_joint - 401278: CLOTH_CLOTH_OutSkirt_9_Up_joint1 - 401280: CLOTH_CLOTH_OutSkirt_9_Up_joint2 - 401282: CLOTH_CLOTH_OutSkirt_9_Up_joint3 - 401284: CLOTH_CLOTH_OutSkirt_9_Up_joint4 - 401286: CLOTH_CLOTH_Pant_10_joint1 - 401288: CLOTH_CLOTH_Pant_10_joint2 - 401290: CLOTH_CLOTH_Pant_10_joint3 - 401292: CLOTH_CLOTH_Pant_10_joint4 - 401294: CLOTH_CLOTH_Pant_10_joint5 - 401296: CLOTH_CLOTH_Pant_10_joint6 - 401298: CLOTH_CLOTH_Pant_10_joint7 - 401300: CLOTH_CLOTH_Pant_11_joint1 - 401302: CLOTH_CLOTH_Pant_11_joint2 - 401304: CLOTH_CLOTH_Pant_11_joint3 - 401306: CLOTH_CLOTH_Pant_11_joint4 - 401308: CLOTH_CLOTH_Pant_11_joint5 - 401310: CLOTH_CLOTH_Pant_11_joint6 - 401312: CLOTH_CLOTH_Pant_11_joint7 - 401314: CLOTH_CLOTH_Pant_12_joint1 - 401316: CLOTH_CLOTH_Pant_12_joint2 - 401318: CLOTH_CLOTH_Pant_12_joint3 - 401320: CLOTH_CLOTH_Pant_12_joint4 - 401322: CLOTH_CLOTH_Pant_12_joint5 - 401324: CLOTH_CLOTH_Pant_12_joint6 - 401326: CLOTH_CLOTH_Pant_12_joint7 - 401328: CLOTH_CLOTH_Pant_1_joint1 - 401330: CLOTH_CLOTH_Pant_1_joint2 - 401332: CLOTH_CLOTH_Pant_1_joint3 - 401334: CLOTH_CLOTH_Pant_1_joint4 - 401336: CLOTH_CLOTH_Pant_1_joint5 - 401338: CLOTH_CLOTH_Pant_1_joint6 - 401340: CLOTH_CLOTH_Pant_1_joint7 - 401342: CLOTH_CLOTH_Pant_2_joint1 - 401344: CLOTH_CLOTH_Pant_2_joint2 - 401346: CLOTH_CLOTH_Pant_2_joint3 - 401348: CLOTH_CLOTH_Pant_2_joint4 - 401350: CLOTH_CLOTH_Pant_2_joint5 - 401352: CLOTH_CLOTH_Pant_2_joint6 - 401354: CLOTH_CLOTH_Pant_2_joint7 - 401356: CLOTH_CLOTH_Pant_3_joint1 - 401358: CLOTH_CLOTH_Pant_3_joint2 - 401360: CLOTH_CLOTH_Pant_3_joint3 - 401362: CLOTH_CLOTH_Pant_3_joint4 - 401364: CLOTH_CLOTH_Pant_3_joint5 - 401366: CLOTH_CLOTH_Pant_3_joint6 - 401368: CLOTH_CLOTH_Pant_3_joint7 - 401370: CLOTH_CLOTH_Pant_4_joint1 - 401372: CLOTH_CLOTH_Pant_4_joint2 - 401374: CLOTH_CLOTH_Pant_4_joint3 - 401376: CLOTH_CLOTH_Pant_4_joint4 - 401378: CLOTH_CLOTH_Pant_4_joint5 - 401380: CLOTH_CLOTH_Pant_4_joint6 - 401382: CLOTH_CLOTH_Pant_4_joint7 - 401384: CLOTH_CLOTH_Pant_5_joint1 - 401386: CLOTH_CLOTH_Pant_5_joint2 - 401388: CLOTH_CLOTH_Pant_5_joint3 - 401390: CLOTH_CLOTH_Pant_5_joint4 - 401392: CLOTH_CLOTH_Pant_5_joint5 - 401394: CLOTH_CLOTH_Pant_5_joint6 - 401396: CLOTH_CLOTH_Pant_5_joint7 - 401398: CLOTH_CLOTH_Pant_6_joint1 - 401400: CLOTH_CLOTH_Pant_6_joint2 - 401402: CLOTH_CLOTH_Pant_6_joint3 - 401404: CLOTH_CLOTH_Pant_6_joint4 - 401406: CLOTH_CLOTH_Pant_6_joint5 - 401408: CLOTH_CLOTH_Pant_6_joint6 - 401410: CLOTH_CLOTH_Pant_6_joint7 - 401412: CLOTH_CLOTH_Pant_7_joint1 - 401414: CLOTH_CLOTH_Pant_7_joint2 - 401416: CLOTH_CLOTH_Pant_7_joint3 - 401418: CLOTH_CLOTH_Pant_7_joint4 - 401420: CLOTH_CLOTH_Pant_7_joint5 - 401422: CLOTH_CLOTH_Pant_7_joint6 - 401424: CLOTH_CLOTH_Pant_7_joint7 - 401426: CLOTH_CLOTH_Pant_8_joint1 - 401428: CLOTH_CLOTH_Pant_8_joint2 - 401430: CLOTH_CLOTH_Pant_8_joint3 - 401432: CLOTH_CLOTH_Pant_8_joint4 - 401434: CLOTH_CLOTH_Pant_8_joint5 - 401436: CLOTH_CLOTH_Pant_8_joint6 - 401438: CLOTH_CLOTH_Pant_8_joint7 - 401440: CLOTH_CLOTH_Pant_9_joint1 - 401442: CLOTH_CLOTH_Pant_9_joint2 - 401444: CLOTH_CLOTH_Pant_9_joint3 - 401446: CLOTH_CLOTH_Pant_9_joint4 - 401448: CLOTH_CLOTH_Pant_9_joint5 - 401450: CLOTH_CLOTH_Pant_9_joint6 - 401452: CLOTH_CLOTH_Pant_9_joint7 - 401454: CLOTH_CLOTH_Shoulder_L_1_joint1 - 401456: CLOTH_CLOTH_Shoulder_L_1_joint2 - 401458: CLOTH_CLOTH_Shoulder_L_1_joint3 - 401460: CLOTH_CLOTH_Shoulder_L_1_joint4 - 401462: CLOTH_CLOTH_Shoulder_L_2_joint1 - 401464: CLOTH_CLOTH_Shoulder_L_2_joint2 - 401466: CLOTH_CLOTH_Shoulder_L_2_joint3 - 401468: CLOTH_CLOTH_Shoulder_L_2_joint4 - 401470: CLOTH_CLOTH_Shoulder_L_2_joint5 - 401472: CLOTH_CLOTH_Shoulder_L_3_joint1 - 401474: CLOTH_CLOTH_Shoulder_L_3_joint2 - 401476: CLOTH_CLOTH_Shoulder_L_3_joint3 - 401478: CLOTH_CLOTH_Shoulder_L_3_joint4 - 401480: CLOTH_CLOTH_Shoulder_L_3_joint5 - 401482: CLOTH_CLOTH_Shoulder_L_4_joint1 - 401484: CLOTH_CLOTH_Shoulder_L_4_joint2 - 401486: CLOTH_CLOTH_Shoulder_L_4_joint3 - 401488: CLOTH_CLOTH_Shoulder_L_4_joint4 - 401490: CLOTH_CLOTH_Shoulder_L_4_joint5 - 401492: CLOTH_CLOTH_Shoulder_L_5_joint1 - 401494: CLOTH_CLOTH_Shoulder_L_5_joint2 - 401496: CLOTH_CLOTH_Shoulder_L_5_joint3 - 401498: CLOTH_CLOTH_Shoulder_L_5_joint4 - 401500: CLOTH_CLOTH_Shoulder_L_5_joint5 - 401502: CLOTH_CLOTH_Shoulder_R_1_joint1 - 401504: CLOTH_CLOTH_Shoulder_R_1_joint2 - 401506: CLOTH_CLOTH_Shoulder_R_1_joint3 - 401508: CLOTH_CLOTH_Shoulder_R_1_joint4 - 401510: CLOTH_CLOTH_Shoulder_R_2_joint1 - 401512: CLOTH_CLOTH_Shoulder_R_2_joint2 - 401514: CLOTH_CLOTH_Shoulder_R_2_joint3 - 401516: CLOTH_CLOTH_Shoulder_R_2_joint4 - 401518: CLOTH_CLOTH_Shoulder_R_2_joint5 - 401520: CLOTH_CLOTH_Shoulder_R_3_joint1 - 401522: CLOTH_CLOTH_Shoulder_R_3_joint2 - 401524: CLOTH_CLOTH_Shoulder_R_3_joint3 - 401526: CLOTH_CLOTH_Shoulder_R_3_joint4 - 401528: CLOTH_CLOTH_Shoulder_R_3_joint5 - 401530: CLOTH_CLOTH_Shoulder_R_4_joint1 - 401532: CLOTH_CLOTH_Shoulder_R_4_joint2 - 401534: CLOTH_CLOTH_Shoulder_R_4_joint3 - 401536: CLOTH_CLOTH_Shoulder_R_4_joint4 - 401538: CLOTH_CLOTH_Shoulder_R_4_joint5 - 401540: CLOTH_CLOTH_Shoulder_R_5_joint1 - 401542: CLOTH_CLOTH_Shoulder_R_5_joint2 - 401544: CLOTH_CLOTH_Shoulder_R_5_joint3 - 401546: CLOTH_CLOTH_Shoulder_R_5_joint4 - 401548: CLOTH_CLOTH_Shoulder_R_5_joint5 - 401550: CLOTH_Else_BigRibon_root - 401552: Else_BigRibon_geo - 401554: Else_Body_geo - 401556: Else_Face_geo - 401558: ElseHAIR_socket - 401560: HAIR_Hair_Ahoge_joint291 - 401562: HAIR_Hair_Ahoge_joint292 - 401564: HAIR_Hair_Ahoge_joint293 - 401566: HAIR_Hair_Ahoge_joint294 - 401568: HAIR_Hair_Ahoge_joint295 - 401570: HAIR_Hair_Ahoge_joint296 - 401572: HAIR_Hair_Ahoge_joint297 - 401574: HAIR_Hair_Ahoge_joint298 - 401576: HAIR_Hair_Ahoge_joint299 - 401578: HAIR_Hair_Ahoge_root - 401580: HAIR_Hair_BLeft_joint367 - 401582: HAIR_Hair_BLeft_joint368 - 401584: HAIR_Hair_BLeft_joint369 - 401586: HAIR_Hair_BLeft_joint370 - 401588: HAIR_Hair_BLeft_joint371 - 401590: HAIR_Hair_BLeft_joint372 - 401592: HAIR_Hair_BLeft_joint373 - 401594: HAIR_Hair_BLeft_joint374 - 401596: HAIR_Hair_BLeft_joint375 - 401598: HAIR_Hair_BLeft_joint376 - 401600: HAIR_Hair_BLeft_joint377 - 401602: HAIR_Hair_BLeft_joint378 - 401604: HAIR_Hair_BLeft_joint379 - 401606: HAIR_Hair_BLeft_joint380 - 401608: HAIR_Hair_BLeft_joint381 - 401610: HAIR_Hair_BLeft_joint382 - 401612: HAIR_Hair_BLeft_joint383 - 401614: HAIR_Hair_BLeft_joint384 - 401616: HAIR_Hair_BLeft_joint385 - 401618: HAIR_Hair_BLeft_joint386 - 401620: HAIR_Hair_BLeft_joint387 - 401622: HAIR_Hair_BLeft_joint388 - 401624: HAIR_Hair_BLeft_joint389 - 401626: HAIR_Hair_BLeft_joint390 - 401628: HAIR_Hair_BLeft_joint391 - 401630: HAIR_Hair_BLeft_joint392 - 401632: HAIR_Hair_BLeft_joint393 - 401634: HAIR_Hair_BLeft_joint394 - 401636: HAIR_Hair_BLeft_joint395 - 401638: HAIR_Hair_BLeft_joint396 - 401640: HAIR_Hair_BLeft_joint397 - 401642: HAIR_Hair_BLeft_joint398 - 401644: HAIR_Hair_BLeft_joint399 - 401646: HAIR_Hair_BLeft_joint400 - 401648: HAIR_Hair_BLeft_joint401 - 401650: HAIR_Hair_BLeft_joint402 - 401652: HAIR_Hair_BLeft_joint403 - 401654: HAIR_Hair_BLeft_joint404 - 401656: HAIR_Hair_BLeft_joint405 - 401658: HAIR_Hair_BLeft_joint406 - 401660: HAIR_Hair_BLeft_joint407 - 401662: HAIR_Hair_BLeft_joint408 - 401664: HAIR_Hair_BLeft_joint409 - 401666: HAIR_Hair_BLeft_joint410 - 401668: HAIR_Hair_BLeft_joint411 - 401670: HAIR_Hair_BLeft_joint412 - 401672: HAIR_Hair_BLeft_joint413 - 401674: HAIR_Hair_BLeft_joint414 - 401676: HAIR_Hair_BLeft_joint415 - 401678: HAIR_Hair_BLeft_joint416 - 401680: HAIR_Hair_BLeft_joint417 - 401682: HAIR_Hair_BLeft_joint418 - 401684: HAIR_Hair_BRight_joint368 - 401686: HAIR_Hair_BRight_joint369 - 401688: HAIR_Hair_BRight_joint370 - 401690: HAIR_Hair_BRight_joint371 - 401692: HAIR_Hair_BRight_joint372 - 401694: HAIR_Hair_BRight_joint373 - 401696: HAIR_Hair_BRight_joint374 - 401698: HAIR_Hair_BRight_joint375 - 401700: HAIR_Hair_BRight_joint377 - 401702: HAIR_Hair_BRight_joint378 - 401704: HAIR_Hair_BRight_joint379 - 401706: HAIR_Hair_BRight_joint380 - 401708: HAIR_Hair_BRight_joint381 - 401710: HAIR_Hair_BRight_joint382 - 401712: HAIR_Hair_BRight_joint383 - 401714: HAIR_Hair_BRight_joint384 - 401716: HAIR_Hair_BRight_joint386 - 401718: HAIR_Hair_BRight_joint387 - 401720: HAIR_Hair_BRight_joint388 - 401722: HAIR_Hair_BRight_joint389 - 401724: HAIR_Hair_BRight_joint390 - 401726: HAIR_Hair_BRight_joint391 - 401728: HAIR_Hair_BRight_joint392 - 401730: HAIR_Hair_BRight_joint393 - 401732: HAIR_Hair_BRight_joint395 - 401734: HAIR_Hair_BRight_joint396 - 401736: HAIR_Hair_BRight_joint397 - 401738: HAIR_Hair_BRight_joint398 - 401740: HAIR_Hair_BRight_joint399 - 401742: HAIR_Hair_BRight_joint400 - 401744: HAIR_Hair_BRight_joint401 - 401746: HAIR_Hair_BRight_joint402 - 401748: HAIR_Hair_BRight_joint404 - 401750: HAIR_Hair_BRight_joint405 - 401752: HAIR_Hair_BRight_joint406 - 401754: HAIR_Hair_BRight_joint407 - 401756: HAIR_Hair_BRight_joint408 - 401758: HAIR_Hair_BRight_joint409 - 401760: HAIR_Hair_BRight_joint410 - 401762: HAIR_Hair_BRight_joint412 - 401764: HAIR_Hair_BRight_joint413 - 401766: HAIR_Hair_BRight_joint414 - 401768: HAIR_Hair_BRight_joint415 - 401770: HAIR_Hair_BRight_joint416 - 401772: HAIR_Hair_BRight_joint417 - 401774: HAIR_Hair_BRight_joint418 - 401776: HAIR_Hair_BRight_joint479 - 401778: HAIR_Hair_BRight_joint489 - 401780: HAIR_Hair_BRight_joint499 - 401782: HAIR_Hair_BRight_joint509 - 401784: HAIR_Hair_BRight_joint518 - 401786: HAIR_Hair_BRight_joint527 - 401788: HAIR_Hair_F_joint310 - 401790: HAIR_Hair_F_joint311 - 401792: HAIR_Hair_F_joint312 - 401794: HAIR_Hair_F_joint313 - 401796: HAIR_Hair_FLeft_joint314 - 401798: HAIR_Hair_FLeft_joint315 - 401800: HAIR_Hair_FLeft_joint316 - 401802: HAIR_Hair_FLeft_joint317 - 401804: HAIR_Hair_FLeft_joint318 - 401806: HAIR_Hair_FLeft_joint319 - 401808: HAIR_Hair_FLeft_joint320 - 401810: HAIR_Hair_FLeft_joint321 - 401812: HAIR_Hair_FLeft_joint322 - 401814: HAIR_Hair_FLeft_joint323 - 401816: HAIR_Hair_FLeft_joint324 - 401818: HAIR_Hair_FLeft_joint325 - 401820: HAIR_Hair_FLeft_joint326 - 401822: HAIR_Hair_FLeft_joint327 - 401824: HAIR_Hair_FLeft_joint328 - 401826: HAIR_Hair_FLeft_joint329 - 401828: HAIR_Hair_FLeft_joint330 - 401830: HAIR_Hair_FLeft_joint331 - 401832: HAIR_Hair_FLeft_joint332 - 401834: HAIR_Hair_FLeft_joint333 - 401836: HAIR_Hair_FLeft_joint334 - 401838: HAIR_Hair_FLeft_joint335 - 401840: HAIR_Hair_FLeft_joint336 - 401842: HAIR_Hair_FLeft_joint337 - 401844: HAIR_Hair_FLeft_joint338 - 401846: HAIR_Hair_FLeft_joint339 - 401848: HAIR_Hair_FLeft_joint340 - 401850: HAIR_Hair_FLeft_joint341 - 401852: HAIR_Hair_FLeft_joint342 - 401854: HAIR_Hair_FRight_joint315 - 401856: HAIR_Hair_FRight_joint316 - 401858: HAIR_Hair_FRight_joint317 - 401860: HAIR_Hair_FRight_joint319 - 401862: HAIR_Hair_FRight_joint320 - 401864: HAIR_Hair_FRight_joint321 - 401866: HAIR_Hair_FRight_joint323 - 401868: HAIR_Hair_FRight_joint324 - 401870: HAIR_Hair_FRight_joint325 - 401872: HAIR_Hair_FRight_joint326 - 401874: HAIR_Hair_FRight_joint328 - 401876: HAIR_Hair_FRight_joint329 - 401878: HAIR_Hair_FRight_joint330 - 401880: HAIR_Hair_FRight_joint331 - 401882: HAIR_Hair_FRight_joint332 - 401884: HAIR_Hair_FRight_joint333 - 401886: HAIR_Hair_FRight_joint334 - 401888: HAIR_Hair_FRight_joint335 - 401890: HAIR_Hair_FRight_joint336 - 401892: HAIR_Hair_FRight_joint338 - 401894: HAIR_Hair_FRight_joint339 - 401896: HAIR_Hair_FRight_joint340 - 401898: HAIR_Hair_FRight_joint341 - 401900: HAIR_Hair_FRight_joint342 - 401902: HAIR_Hair_FRight_joint348 - 401904: HAIR_Hair_FRight_joint423 - 401906: HAIR_Hair_FRight_joint428 - 401908: HAIR_Hair_FRight_joint434 - 401910: HAIR_Hair_FRight_joint445 - 401912: HAIR_Hair_FRight_joint452 - 401914: HAIR_Hair_Left_joint343 - 401916: HAIR_Hair_Left_joint344 - 401918: HAIR_Hair_Left_joint345 - 401920: HAIR_Hair_Left_joint346 - 401922: HAIR_Hair_Left_joint347 - 401924: HAIR_Hair_Left_joint348 - 401926: HAIR_Hair_Left_joint349 - 401928: HAIR_Hair_Left_joint350 - 401930: HAIR_Hair_Left_joint351 - 401932: HAIR_Hair_Left_joint352 - 401934: HAIR_Hair_Left_joint353 - 401936: HAIR_Hair_Left_joint354 - 401938: HAIR_Hair_Left_joint355 - 401940: HAIR_Hair_Left_joint356 - 401942: HAIR_Hair_Left_joint357 - 401944: HAIR_Hair_Left_joint358 - 401946: HAIR_Hair_Left_joint359 - 401948: HAIR_Hair_Left_joint360 - 401950: HAIR_Hair_Left_joint361 - 401952: HAIR_Hair_Left_joint362 - 401954: HAIR_Hair_Left_joint363 - 401956: HAIR_Hair_Left_joint364 - 401958: HAIR_Hair_Left_joint365 - 401960: HAIR_Hair_Left_joint366 - 401962: HAIR_Hair_Right_joint344 - 401964: HAIR_Hair_Right_joint345 - 401966: HAIR_Hair_Right_joint346 - 401968: HAIR_Hair_Right_joint347 - 401970: HAIR_Hair_Right_joint350 - 401972: HAIR_Hair_Right_joint351 - 401974: HAIR_Hair_Right_joint352 - 401976: HAIR_Hair_Right_joint353 - 401978: HAIR_Hair_Right_joint354 - 401980: HAIR_Hair_Right_joint355 - 401982: HAIR_Hair_Right_joint356 - 401984: HAIR_Hair_Right_joint357 - 401986: HAIR_Hair_Right_joint358 - 401988: HAIR_Hair_Right_joint359 - 401990: HAIR_Hair_Right_joint360 - 401992: HAIR_Hair_Right_joint361 - 401994: HAIR_Hair_Right_joint362 - 401996: HAIR_Hair_Right_joint363 - 401998: HAIR_Hair_Right_joint364 - 402000: HAIR_Hair_Right_joint365 - 402002: HAIR_Hair_Right_joint366 - 402004: HAIR_Hair_Right_joint459 - 402006: HAIR_Hair_Right_joint469 - 402008: HAIR_Hair_root - 402010: HAIR_LongHair_root - 402012: HAIR_LongHairLeft1_joint - 402014: HAIR_LongHairLeft1_joint1 - 402016: HAIR_LongHairLeft1_joint10 - 402018: HAIR_LongHairLeft1_joint11 - 402020: HAIR_LongHairLeft1_joint12 - 402022: HAIR_LongHairLeft1_joint13 - 402024: HAIR_LongHairLeft1_joint14 - 402026: HAIR_LongHairLeft1_joint15 - 402028: HAIR_LongHairLeft1_joint2 - 402030: HAIR_LongHairLeft1_joint3 - 402032: HAIR_LongHairLeft1_joint4 - 402034: HAIR_LongHairLeft1_joint5 - 402036: HAIR_LongHairLeft1_joint6 - 402038: HAIR_LongHairLeft1_joint7 - 402040: HAIR_LongHairLeft1_joint8 - 402042: HAIR_LongHairLeft1_joint9 - 402044: HAIR_LongHairLeft2_joint - 402046: HAIR_LongHairLeft2_joint1 - 402048: HAIR_LongHairLeft2_joint10 - 402050: HAIR_LongHairLeft2_joint11 - 402052: HAIR_LongHairLeft2_joint12 - 402054: HAIR_LongHairLeft2_joint13 - 402056: HAIR_LongHairLeft2_joint14 - 402058: HAIR_LongHairLeft2_joint15 - 402060: HAIR_LongHairLeft2_joint2 - 402062: HAIR_LongHairLeft2_joint3 - 402064: HAIR_LongHairLeft2_joint4 - 402066: HAIR_LongHairLeft2_joint5 - 402068: HAIR_LongHairLeft2_joint6 - 402070: HAIR_LongHairLeft2_joint7 - 402072: HAIR_LongHairLeft2_joint8 - 402074: HAIR_LongHairLeft2_joint9 - 402076: HAIR_LongHairLeft3_joint - 402078: HAIR_LongHairLeft3_joint1 - 402080: HAIR_LongHairLeft3_joint10 - 402082: HAIR_LongHairLeft3_joint11 - 402084: HAIR_LongHairLeft3_joint12 - 402086: HAIR_LongHairLeft3_joint13 - 402088: HAIR_LongHairLeft3_joint14 - 402090: HAIR_LongHairLeft3_joint15 - 402092: HAIR_LongHairLeft3_joint2 - 402094: HAIR_LongHairLeft3_joint3 - 402096: HAIR_LongHairLeft3_joint4 - 402098: HAIR_LongHairLeft3_joint5 - 402100: HAIR_LongHairLeft3_joint6 - 402102: HAIR_LongHairLeft3_joint7 - 402104: HAIR_LongHairLeft3_joint8 - 402106: HAIR_LongHairLeft3_joint9 - 402108: HAIR_LongHairLeft4_joint - 402110: HAIR_LongHairLeft4_joint1 - 402112: HAIR_LongHairLeft4_joint10 - 402114: HAIR_LongHairLeft4_joint11 - 402116: HAIR_LongHairLeft4_joint12 - 402118: HAIR_LongHairLeft4_joint13 - 402120: HAIR_LongHairLeft4_joint14 - 402122: HAIR_LongHairLeft4_joint15 - 402124: HAIR_LongHairLeft4_joint2 - 402126: HAIR_LongHairLeft4_joint3 - 402128: HAIR_LongHairLeft4_joint4 - 402130: HAIR_LongHairLeft4_joint5 - 402132: HAIR_LongHairLeft4_joint6 - 402134: HAIR_LongHairLeft4_joint7 - 402136: HAIR_LongHairLeft4_joint8 - 402138: HAIR_LongHairLeft4_joint9 - 402140: HAIR_LongHairLeft_root - 402142: HAIR_LongHairRight1_joint - 402144: HAIR_LongHairRight1_joint 1 - 402146: HAIR_LongHairRight1_joint 10 - 402148: HAIR_LongHairRight1_joint 11 - 402150: HAIR_LongHairRight1_joint 12 - 402152: HAIR_LongHairRight1_joint 13 - 402154: HAIR_LongHairRight1_joint 14 - 402156: HAIR_LongHairRight1_joint 15 - 402158: HAIR_LongHairRight1_joint 2 - 402160: HAIR_LongHairRight1_joint 3 - 402162: HAIR_LongHairRight1_joint 4 - 402164: HAIR_LongHairRight1_joint 5 - 402166: HAIR_LongHairRight1_joint 6 - 402168: HAIR_LongHairRight1_joint 7 - 402170: HAIR_LongHairRight1_joint 8 - 402172: HAIR_LongHairRight1_joint 9 - 402174: HAIR_LongHairRight2_joint - 402176: HAIR_LongHairRight2_joint 1 - 402178: HAIR_LongHairRight2_joint 10 - 402180: HAIR_LongHairRight2_joint 11 - 402182: HAIR_LongHairRight2_joint 12 - 402184: HAIR_LongHairRight2_joint 13 - 402186: HAIR_LongHairRight2_joint 14 - 402188: HAIR_LongHairRight2_joint 15 - 402190: HAIR_LongHairRight2_joint 2 - 402192: HAIR_LongHairRight2_joint 3 - 402194: HAIR_LongHairRight2_joint 4 - 402196: HAIR_LongHairRight2_joint 5 - 402198: HAIR_LongHairRight2_joint 6 - 402200: HAIR_LongHairRight2_joint 7 - 402202: HAIR_LongHairRight2_joint 8 - 402204: HAIR_LongHairRight2_joint 9 - 402206: HAIR_LongHairRight3_joint - 402208: HAIR_LongHairRight3_joint 1 - 402210: HAIR_LongHairRight3_joint 10 - 402212: HAIR_LongHairRight3_joint 11 - 402214: HAIR_LongHairRight3_joint 12 - 402216: HAIR_LongHairRight3_joint 13 - 402218: HAIR_LongHairRight3_joint 14 - 402220: HAIR_LongHairRight3_joint 15 - 402222: HAIR_LongHairRight3_joint 2 - 402224: HAIR_LongHairRight3_joint 3 - 402226: HAIR_LongHairRight3_joint 4 - 402228: HAIR_LongHairRight3_joint 5 - 402230: HAIR_LongHairRight3_joint 6 - 402232: HAIR_LongHairRight3_joint 7 - 402234: HAIR_LongHairRight3_joint 8 - 402236: HAIR_LongHairRight3_joint 9 - 402238: HAIR_LongHairRight4_joint - 402240: HAIR_LongHairRight4_joint 1 - 402242: HAIR_LongHairRight4_joint 10 - 402244: HAIR_LongHairRight4_joint 11 - 402246: HAIR_LongHairRight4_joint 12 - 402248: HAIR_LongHairRight4_joint 13 - 402250: HAIR_LongHairRight4_joint 14 - 402252: HAIR_LongHairRight4_joint 15 - 402254: HAIR_LongHairRight4_joint 2 - 402256: HAIR_LongHairRight4_joint 3 - 402258: HAIR_LongHairRight4_joint 4 - 402260: HAIR_LongHairRight4_joint 5 - 402262: HAIR_LongHairRight4_joint 6 - 402264: HAIR_LongHairRight4_joint 7 - 402266: HAIR_LongHairRight4_joint 8 - 402268: HAIR_LongHairRight4_joint 9 - 402270: HAIR_LongHairRight_root - 402272: CLOTH_CLOTH_BigRibon_L_Ball - 402274: CLOTH_CLOTH_BigRibon_L_Crystal - 402276: CLOTH_CLOTH_BigRibon_R_Ball - 402278: CLOTH_CLOTH_BigRibon_R_Crystal - 402280: CLOTH_CLOTH_ChestMedal - 402282: CLOTH_CLOTH_ChestRibbon_Left_joint1 - 402284: CLOTH_CLOTH_ChestRibbon_Left_joint2 - 402286: CLOTH_CLOTH_ChestRibbon_Left_joint3 - 402288: CLOTH_CLOTH_ChestRibbon_Left_joint4 - 402290: CLOTH_CLOTH_ChestRibbon_Left_Ring_joint1 - 402292: CLOTH_CLOTH_ChestRibbon_Left_Ring_joint2 - 402294: CLOTH_CLOTH_ChestRibbon_Left_Ring_joint3 - 402296: CLOTH_CLOTH_ChestRibbon_Left_Ring_joint4 - 402298: CLOTH_CLOTH_ChestRibbon_Left_root - 402300: CLOTH_CLOTH_ChestRibbon_Right_joint1 - 402302: CLOTH_CLOTH_ChestRibbon_Right_joint2 - 402304: CLOTH_CLOTH_ChestRibbon_Right_joint3 - 402306: CLOTH_CLOTH_ChestRibbon_Right_joint4 - 402308: CLOTH_CLOTH_ChestRibbon_Right_Ring_joint1 - 402310: CLOTH_CLOTH_ChestRibbon_Right_Ring_joint2 - 402312: CLOTH_CLOTH_ChestRibbon_Right_Ring_joint3 - 402314: CLOTH_CLOTH_ChestRibbon_Right_Ring_joint4 - 402316: CLOTH_CLOTH_ChestRibbon_Right_root - 402318: CLOTH_CLOTH_LeftLegRibbon_joint - 402320: CLOTH_CLOTH_LeftLegRibbon_joint1 - 402322: CLOTH_CLOTH_LeftLegRibbon_joint2 - 402324: CLOTH_CLOTH_LeftLegRibbon_joint3 - 402326: CLOTH_CLOTH_necklace_joint1 - 402328: CLOTH_CLOTH_necklace_joint2 - 402330: CLOTH_CLOTH_necklace_joint3 - 402332: CLOTH_CLOTH_necklace_root - 402334: CLOTH_CLOTH_StarFishTassel_L_joint - 402336: CLOTH_CLOTH_StarFishTassel_L_joint1 - 402338: CLOTH_CLOTH_StarFishTassel_L_joint2 - 402340: CLOTH_CLOTH_StarFishTassel_L_joint3 - 402342: CLOTH_CLOTH_StarFishTassel_L_joint4 - 402344: CLOTH_CLOTH_StarFishTassel_LB_joint - 402346: CLOTH_CLOTH_StarFishTassel_LB_joint1 - 402348: CLOTH_CLOTH_StarFishTassel_LB_joint2 - 402350: CLOTH_CLOTH_StarFishTassel_LB_joint3 - 402352: CLOTH_CLOTH_StarFishTassel_LB_joint4 - 402354: CLOTH_CLOTH_StarFishTassel_Right_joint - 402356: CLOTH_CLOTH_StarFishTassel_Right_joint1 - 402358: CLOTH_CLOTH_StarFishTassel_Right_joint2 - 402360: CLOTH_CLOTH_StarFishTassel_Right_joint3 - 402362: CLOTH_CLOTH_StarFishTassel_Right_joint4 - 402364: CLOTH_CLOTH_StarFishTassel_RightB_joint - 402366: CLOTH_CLOTH_StarFishTassel_RightB_joint1 - 402368: CLOTH_CLOTH_StarFishTassel_RightB_joint2 - 402370: CLOTH_CLOTH_StarFishTassel_RightB_joint3 - 402372: CLOTH_CLOTH_StarFishTassel_RightB_joint4 - 402374: Else_BigRibbon_geo - 402376: Else_ChestRibon_geo - 402378: Else_Chuchu_geo - 402380: Else_ClothRibon_geo - 402382: Else_LegAccessories_geo - 402384: Else_Neckring_geo - 402386: Else_StarFishTassel_geo - 402388: HAIR_LongHairRight1_joint1 - 402390: HAIR_LongHairRight1_joint10 - 402392: HAIR_LongHairRight1_joint11 - 402394: HAIR_LongHairRight1_joint12 - 402396: HAIR_LongHairRight1_joint13 - 402398: HAIR_LongHairRight1_joint14 - 402400: HAIR_LongHairRight1_joint15 - 402402: HAIR_LongHairRight1_joint16 - 402404: HAIR_LongHairRight1_joint2 - 402406: HAIR_LongHairRight1_joint3 - 402408: HAIR_LongHairRight1_joint4 - 402410: HAIR_LongHairRight1_joint5 - 402412: HAIR_LongHairRight1_joint6 - 402414: HAIR_LongHairRight1_joint7 - 402416: HAIR_LongHairRight1_joint8 - 402418: HAIR_LongHairRight1_joint9 - 402420: HAIR_LongHairRight2_joint1 - 402422: HAIR_LongHairRight2_joint10 - 402424: HAIR_LongHairRight2_joint11 - 402426: HAIR_LongHairRight2_joint12 - 402428: HAIR_LongHairRight2_joint13 - 402430: HAIR_LongHairRight2_joint14 - 402432: HAIR_LongHairRight2_joint15 - 402434: HAIR_LongHairRight2_joint2 - 402436: HAIR_LongHairRight2_joint3 - 402438: HAIR_LongHairRight2_joint4 - 402440: HAIR_LongHairRight2_joint5 - 402442: HAIR_LongHairRight2_joint6 - 402444: HAIR_LongHairRight2_joint7 - 402446: HAIR_LongHairRight2_joint8 - 402448: HAIR_LongHairRight2_joint9 - 402450: HAIR_LongHairRight3_joint1 - 402452: HAIR_LongHairRight3_joint10 - 402454: HAIR_LongHairRight3_joint11 - 402456: HAIR_LongHairRight3_joint12 - 402458: HAIR_LongHairRight3_joint13 - 402460: HAIR_LongHairRight3_joint14 - 402462: HAIR_LongHairRight3_joint15 - 402464: HAIR_LongHairRight3_joint2 - 402466: HAIR_LongHairRight3_joint3 - 402468: HAIR_LongHairRight3_joint4 - 402470: HAIR_LongHairRight3_joint5 - 402472: HAIR_LongHairRight3_joint6 - 402474: HAIR_LongHairRight3_joint7 - 402476: HAIR_LongHairRight3_joint8 - 402478: HAIR_LongHairRight3_joint9 - 402480: HAIR_LongHairRight4_joint1 - 402482: HAIR_LongHairRight4_joint10 - 402484: HAIR_LongHairRight4_joint11 - 402486: HAIR_LongHairRight4_joint12 - 402488: HAIR_LongHairRight4_joint13 - 402490: HAIR_LongHairRight4_joint14 - 402492: HAIR_LongHairRight4_joint15 - 402494: HAIR_LongHairRight4_joint2 - 402496: HAIR_LongHairRight4_joint3 - 402498: HAIR_LongHairRight4_joint4 - 402500: HAIR_LongHairRight4_joint5 - 402502: HAIR_LongHairRight4_joint6 - 402504: HAIR_LongHairRight4_joint7 - 402506: HAIR_LongHairRight4_joint8 - 402508: HAIR_LongHairRight4_joint9 - 402510: CLOTH_CLOTH_ShoulderRibbon_Left_joint10 - 402512: CLOTH_CLOTH_ShoulderRibbon_Left_joint11 - 402514: CLOTH_CLOTH_ShoulderRibbon_Left_joint12 - 402516: CLOTH_CLOTH_ShoulderRibbon_Left_joint13 - 402518: CLOTH_CLOTH_ShoulderRibbon_Left_joint14 - 402520: CLOTH_CLOTH_ShoulderRibbon_Left_joint15 - 402522: CLOTH_CLOTH_ShoulderRibbon_Left_joint2 - 402524: CLOTH_CLOTH_ShoulderRibbon_Left_joint3 - 402526: CLOTH_CLOTH_ShoulderRibbon_Left_joint4 - 402528: CLOTH_CLOTH_ShoulderRibbon_Left_joint5 - 402530: CLOTH_CLOTH_ShoulderRibbon_Left_joint6 - 402532: CLOTH_CLOTH_ShoulderRibbon_Left_joint7 - 402534: CLOTH_CLOTH_ShoulderRibbon_Left_joint8 - 402536: CLOTH_CLOTH_ShoulderRibbon_Left_joint9 - 402538: CLOTH_CLOTH_ShoulderRibbon_Left_root - 402540: CLOTH_CLOTH_ShoulderRibbon_Right_joint10 - 402542: CLOTH_CLOTH_ShoulderRibbon_Right_joint11 - 402544: CLOTH_CLOTH_ShoulderRibbon_Right_joint12 - 402546: CLOTH_CLOTH_ShoulderRibbon_Right_joint13 - 402548: CLOTH_CLOTH_ShoulderRibbon_Right_joint14 - 402550: CLOTH_CLOTH_ShoulderRibbon_Right_joint15 - 402552: CLOTH_CLOTH_ShoulderRibbon_Right_joint2 - 402554: CLOTH_CLOTH_ShoulderRibbon_Right_joint3 - 402556: CLOTH_CLOTH_ShoulderRibbon_Right_joint4 - 402558: CLOTH_CLOTH_ShoulderRibbon_Right_joint5 - 402560: CLOTH_CLOTH_ShoulderRibbon_Right_joint6 - 402562: CLOTH_CLOTH_ShoulderRibbon_Right_joint7 - 402564: CLOTH_CLOTH_ShoulderRibbon_Right_joint8 - 402566: CLOTH_CLOTH_ShoulderRibbon_Right_joint9 - 402568: CLOTH_CLOTH_ShoulderRibbon_Right_root - 402570: blendShape - 2100000: ARIA_Mt_HairLine - 2100002: lambert2 - 2100004: Else_face_mat - 2100006: Else_body_mat - 2100008: Else_Hair_mat - 2100010: Else_Cloth_mat - 2100012: Else_Pants_mat - 2100014: Else_BigRibon_A_mat - 2100016: Else_BigRibon_B_L_mat - 2100018: Else_BigRibon_B_R_mat - 2100020: Else_BigRibon_mat - 2100022: Else_eye_mat - 2100024: Else_Accessories_mat - 2100026: Else_Accessories_metal_mat - 2100028: Else_Eye_mat - 2100030: Else_Face_mat - 2100032: Else_Body_mat - 2100034: Else_BigRibon_Crystal_mat - 2100036: Else_BigRibon_Ball_mat - 2300000: Else_BigRibon_A_geo - 2300002: Else_BigRibon_B_L_geo - 2300004: Else_BigRibon_B_R_geo - 2300006: Else_Cloth_geo - 2300008: Else_Pants_geo - 2300010: HairParts_BackUnder_geo - 2300012: HairParts_Front_geo - 2300014: HairParts_FrontTip_geo - 2300016: HairParts_geo_special - 2300018: HairParts_L_geo1 - 2300020: HairParts_L_geo10 - 2300022: HairParts_L_geo11 - 2300024: HairParts_L_geo12 - 2300026: HairParts_L_geo13 - 2300028: HairParts_L_geo14 - 2300030: HairParts_L_geo15 - 2300032: HairParts_L_geo16 - 2300034: HairParts_L_geo17 - 2300036: HairParts_L_geo18 - 2300038: HairParts_L_geo19 - 2300040: HairParts_L_geo2 - 2300042: HairParts_L_geo20 - 2300044: HairParts_L_geo21 - 2300046: HairParts_L_geo22 - 2300048: HairParts_L_geo23 - 2300050: HairParts_L_geo24 - 2300052: HairParts_L_geo25 - 2300054: HairParts_L_geo26 - 2300056: HairParts_L_geo27 - 2300058: HairParts_L_geo28 - 2300060: HairParts_L_geo29 - 2300062: HairParts_L_geo3 - 2300064: HairParts_L_geo30 - 2300066: HairParts_L_geo31 - 2300068: HairParts_L_geo32 - 2300070: HairParts_L_geo33 - 2300072: HairParts_L_geo34 - 2300074: HairParts_L_geo35 - 2300076: HairParts_L_geo36 - 2300078: HairParts_L_geo37 - 2300080: HairParts_L_geo38 - 2300082: HairParts_L_geo39 - 2300084: HairParts_L_geo4 - 2300086: HairParts_L_geo40 - 2300088: HairParts_L_geo41 - 2300090: HairParts_L_geo42 - 2300092: HairParts_L_geo43 - 2300094: HairParts_L_geo44 - 2300096: HairParts_L_geo45 - 2300098: HairParts_L_geo46 - 2300100: HairParts_L_geo47 - 2300102: HairParts_L_geo5 - 2300104: HairParts_L_geo6 - 2300106: HairParts_L_geo7 - 2300108: HairParts_L_geo8 - 2300110: HairParts_L_geo9 - 2300112: HairParts_R_geo1 - 2300114: HairParts_R_geo10 - 2300116: HairParts_R_geo11 - 2300118: HairParts_R_geo12 - 2300120: HairParts_R_geo13 - 2300122: HairParts_R_geo14 - 2300124: HairParts_R_geo15 - 2300126: HairParts_R_geo16 - 2300128: HairParts_R_geo17 - 2300130: HairParts_R_geo18 - 2300132: HairParts_R_geo19 - 2300134: HairParts_R_geo2 - 2300136: HairParts_R_geo20 - 2300138: HairParts_R_geo21 - 2300140: HairParts_R_geo22 - 2300142: HairParts_R_geo23 - 2300144: HairParts_R_geo24 - 2300146: HairParts_R_geo25 - 2300148: HairParts_R_geo26 - 2300150: HairParts_R_geo27 - 2300152: HairParts_R_geo28 - 2300154: HairParts_R_geo29 - 2300156: HairParts_R_geo3 - 2300158: HairParts_R_geo30 - 2300160: HairParts_R_geo31 - 2300162: HairParts_R_geo32 - 2300164: HairParts_R_geo33 - 2300166: HairParts_R_geo34 - 2300168: HairParts_R_geo35 - 2300170: HairParts_R_geo36 - 2300172: HairParts_R_geo37 - 2300174: HairParts_R_geo38 - 2300176: HairParts_R_geo39 - 2300178: HairParts_R_geo4 - 2300180: HairParts_R_geo40 - 2300182: HairParts_R_geo41 - 2300184: HairParts_R_geo42 - 2300186: HairParts_R_geo43 - 2300188: HairParts_R_geo44 - 2300190: HairParts_R_geo45 - 2300192: HairParts_R_geo46 - 2300194: HairParts_R_geo47 - 2300196: HairParts_R_geo5 - 2300198: HairParts_R_geo6 - 2300200: HairParts_R_geo7 - 2300202: HairParts_R_geo8 - 2300204: HairParts_R_geo9 - 3300000: Else_BigRibon_A_geo - 3300002: Else_BigRibon_B_L_geo - 3300004: Else_BigRibon_B_R_geo - 3300006: Else_Cloth_geo - 3300008: Else_Pants_geo - 3300010: HairParts_BackUnder_geo - 3300012: HairParts_Front_geo - 3300014: HairParts_FrontTip_geo - 3300016: HairParts_geo_special - 3300018: HairParts_L_geo1 - 3300020: HairParts_L_geo10 - 3300022: HairParts_L_geo11 - 3300024: HairParts_L_geo12 - 3300026: HairParts_L_geo13 - 3300028: HairParts_L_geo14 - 3300030: HairParts_L_geo15 - 3300032: HairParts_L_geo16 - 3300034: HairParts_L_geo17 - 3300036: HairParts_L_geo18 - 3300038: HairParts_L_geo19 - 3300040: HairParts_L_geo2 - 3300042: HairParts_L_geo20 - 3300044: HairParts_L_geo21 - 3300046: HairParts_L_geo22 - 3300048: HairParts_L_geo23 - 3300050: HairParts_L_geo24 - 3300052: HairParts_L_geo25 - 3300054: HairParts_L_geo26 - 3300056: HairParts_L_geo27 - 3300058: HairParts_L_geo28 - 3300060: HairParts_L_geo29 - 3300062: HairParts_L_geo3 - 3300064: HairParts_L_geo30 - 3300066: HairParts_L_geo31 - 3300068: HairParts_L_geo32 - 3300070: HairParts_L_geo33 - 3300072: HairParts_L_geo34 - 3300074: HairParts_L_geo35 - 3300076: HairParts_L_geo36 - 3300078: HairParts_L_geo37 - 3300080: HairParts_L_geo38 - 3300082: HairParts_L_geo39 - 3300084: HairParts_L_geo4 - 3300086: HairParts_L_geo40 - 3300088: HairParts_L_geo41 - 3300090: HairParts_L_geo42 - 3300092: HairParts_L_geo43 - 3300094: HairParts_L_geo44 - 3300096: HairParts_L_geo45 - 3300098: HairParts_L_geo46 - 3300100: HairParts_L_geo47 - 3300102: HairParts_L_geo5 - 3300104: HairParts_L_geo6 - 3300106: HairParts_L_geo7 - 3300108: HairParts_L_geo8 - 3300110: HairParts_L_geo9 - 3300112: HairParts_R_geo1 - 3300114: HairParts_R_geo10 - 3300116: HairParts_R_geo11 - 3300118: HairParts_R_geo12 - 3300120: HairParts_R_geo13 - 3300122: HairParts_R_geo14 - 3300124: HairParts_R_geo15 - 3300126: HairParts_R_geo16 - 3300128: HairParts_R_geo17 - 3300130: HairParts_R_geo18 - 3300132: HairParts_R_geo19 - 3300134: HairParts_R_geo2 - 3300136: HairParts_R_geo20 - 3300138: HairParts_R_geo21 - 3300140: HairParts_R_geo22 - 3300142: HairParts_R_geo23 - 3300144: HairParts_R_geo24 - 3300146: HairParts_R_geo25 - 3300148: HairParts_R_geo26 - 3300150: HairParts_R_geo27 - 3300152: HairParts_R_geo28 - 3300154: HairParts_R_geo29 - 3300156: HairParts_R_geo3 - 3300158: HairParts_R_geo30 - 3300160: HairParts_R_geo31 - 3300162: HairParts_R_geo32 - 3300164: HairParts_R_geo33 - 3300166: HairParts_R_geo34 - 3300168: HairParts_R_geo35 - 3300170: HairParts_R_geo36 - 3300172: HairParts_R_geo37 - 3300174: HairParts_R_geo38 - 3300176: HairParts_R_geo39 - 3300178: HairParts_R_geo4 - 3300180: HairParts_R_geo40 - 3300182: HairParts_R_geo41 - 3300184: HairParts_R_geo42 - 3300186: HairParts_R_geo43 - 3300188: HairParts_R_geo44 - 3300190: HairParts_R_geo45 - 3300192: HairParts_R_geo46 - 3300194: HairParts_R_geo47 - 3300196: HairParts_R_geo5 - 3300198: HairParts_R_geo6 - 3300200: HairParts_R_geo7 - 3300202: HairParts_R_geo8 - 3300204: HairParts_R_geo9 - 4300000: Else_face_geo - 4300002: Else_body_geo - 4300004: Else_Cloth_geo - 4300006: Else_Pants_geo - 4300008: Else_BigRibon_A_geo - 4300010: Else_BigRibon_B_L_geo - 4300012: Else_BigRibon_B_R_geo - 4300014: HairParts_geo_special - 4300016: HairParts_Front_geo - 4300018: HairParts_FrontTip_geo - 4300020: HairParts_BackUnder_geo - 4300022: HairParts_L_geo1 - 4300024: HairParts_L_geo2 - 4300026: HairParts_L_geo3 - 4300028: HairParts_L_geo4 - 4300030: HairParts_L_geo5 - 4300032: HairParts_L_geo6 - 4300034: HairParts_L_geo7 - 4300036: HairParts_L_geo8 - 4300038: HairParts_L_geo9 - 4300040: HairParts_L_geo10 - 4300042: HairParts_L_geo11 - 4300044: HairParts_L_geo12 - 4300046: HairParts_L_geo13 - 4300048: HairParts_L_geo14 - 4300050: HairParts_L_geo15 - 4300052: HairParts_L_geo16 - 4300054: HairParts_L_geo17 - 4300056: HairParts_L_geo18 - 4300058: HairParts_L_geo19 - 4300060: HairParts_L_geo20 - 4300062: HairParts_L_geo21 - 4300064: HairParts_L_geo22 - 4300066: HairParts_L_geo23 - 4300068: HairParts_L_geo24 - 4300070: HairParts_L_geo25 - 4300072: HairParts_L_geo26 - 4300074: HairParts_L_geo27 - 4300076: HairParts_L_geo28 - 4300078: HairParts_L_geo29 - 4300080: HairParts_L_geo30 - 4300082: HairParts_L_geo31 - 4300084: HairParts_L_geo32 - 4300086: HairParts_L_geo33 - 4300088: HairParts_L_geo34 - 4300090: HairParts_L_geo35 - 4300092: HairParts_L_geo36 - 4300094: HairParts_L_geo37 - 4300096: HairParts_L_geo38 - 4300098: HairParts_L_geo39 - 4300100: HairParts_L_geo40 - 4300102: HairParts_L_geo41 - 4300104: HairParts_L_geo42 - 4300106: HairParts_L_geo43 - 4300108: HairParts_L_geo44 - 4300110: HairParts_L_geo45 - 4300112: HairParts_L_geo46 - 4300114: HairParts_L_geo47 - 4300116: HairParts_R_geo1 - 4300118: HairParts_R_geo2 - 4300120: HairParts_R_geo3 - 4300122: HairParts_R_geo4 - 4300124: HairParts_R_geo5 - 4300126: HairParts_R_geo6 - 4300128: HairParts_R_geo7 - 4300130: HairParts_R_geo8 - 4300132: HairParts_R_geo9 - 4300134: HairParts_R_geo10 - 4300136: HairParts_R_geo11 - 4300138: HairParts_R_geo12 - 4300140: HairParts_R_geo13 - 4300142: HairParts_R_geo14 - 4300144: HairParts_R_geo15 - 4300146: HairParts_R_geo16 - 4300148: HairParts_R_geo17 - 4300150: HairParts_R_geo18 - 4300152: HairParts_R_geo19 - 4300154: HairParts_R_geo20 - 4300156: HairParts_R_geo21 - 4300158: HairParts_R_geo22 - 4300160: HairParts_R_geo23 - 4300162: HairParts_R_geo24 - 4300164: HairParts_R_geo25 - 4300166: HairParts_R_geo26 - 4300168: HairParts_R_geo27 - 4300170: HairParts_R_geo28 - 4300172: HairParts_R_geo29 - 4300174: HairParts_R_geo30 - 4300176: HairParts_R_geo31 - 4300178: HairParts_R_geo32 - 4300180: HairParts_R_geo33 - 4300182: HairParts_R_geo34 - 4300184: HairParts_R_geo35 - 4300186: HairParts_R_geo36 - 4300188: HairParts_R_geo37 - 4300190: HairParts_R_geo38 - 4300192: HairParts_R_geo39 - 4300194: HairParts_R_geo40 - 4300196: HairParts_R_geo41 - 4300198: HairParts_R_geo42 - 4300200: HairParts_R_geo43 - 4300202: HairParts_R_geo44 - 4300204: HairParts_R_geo45 - 4300206: HairParts_R_geo46 - 4300208: HairParts_R_geo47 - 4300210: Else_Hair_geo - 4300212: Else_BigRibon_geo - 4300214: Else_Face_geo - 4300216: Else_Body_geo - 4300218: Else_Neckring_geo - 4300220: Else_ChestRibon_geo - 4300222: Else_Chuchu_geo - 4300224: Else_StarFishTassel_geo - 4300226: Else_LegAccessories_geo - 4300228: Else_BigRibbon_geo - 4300230: Else_ClothRibon_geo - 9500000: //RootNode - 13700000: Else_body_geo - 13700002: Else_face_geo - 13700004: Else_BigRibon_A_geo - 13700006: Else_BigRibon_B_L_geo - 13700008: Else_BigRibon_B_R_geo - 13700010: Else_Cloth_geo - 13700012: Else_Hair_geo - 13700014: Else_Pants_geo - 13700016: Else_BigRibon_geo - 13700018: Else_Body_geo - 13700020: Else_Face_geo - 13700022: Else_BigRibbon_geo - 13700024: Else_ChestRibon_geo - 13700026: Else_Chuchu_geo - 13700028: Else_ClothRibon_geo - 13700030: Else_LegAccessories_geo - 13700032: Else_Neckring_geo - 13700034: Else_StarFishTassel_geo - 2186277476908879412: ImportLogs - externalObjects: - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: Else_Accessories_mat - second: {fileID: 2100000, guid: aaed5aebdbbbf4b4894aa68835af897c, type: 2} - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: Else_Accessories_metal_mat - second: {fileID: 2100000, guid: 307716f60a618f345aa4a18c6b74ef55, type: 2} - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: Else_BigRibon_A_mat - second: {fileID: 2100000, guid: 8a9dffc9160674e4d9b2bba9275fd59b, type: 2} - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: Else_BigRibon_B_L_mat - second: {fileID: 2100000, guid: ba526721020bb7a41b8c68c2bb4a383a, type: 2} - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: Else_BigRibon_B_R_mat - second: {fileID: 2100000, guid: 77d46330be23ec14296cca809aa15c32, type: 2} - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: Else_BigRibon_Ball_mat - second: {fileID: 2100000, guid: 9f243c1093d7e3744a89774ef2d156b7, type: 2} - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: Else_BigRibon_Crystal_mat - second: {fileID: 2100000, guid: 880df4358eeff6b45aa67de6854d4c13, type: 2} - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: Else_BigRibon_mat - second: {fileID: 2100000, guid: d10953d5193d25f40a8fc689f8b3bcb3, type: 2} - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: Else_Body_mat - second: {fileID: 2100000, guid: 8031e60026885b34d9e635a4da6b91ab, type: 2} - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: Else_Cloth_mat - second: {fileID: 2100000, guid: c40aac831ef72734aa95b1d6c9657079, type: 2} - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: Else_Eye_mat - second: {fileID: 2100000, guid: a6bc30051d49c404e917851d634ec2e0, type: 2} - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: Else_Face_mat - second: {fileID: 2100000, guid: 74e272ec1629efb45bb6a72654404dc2, type: 2} - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: Else_Hair_mat - second: {fileID: 2100000, guid: 17c7f8a38e2c595419e236ac274eb7b0, type: 2} - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: Else_Pants_mat - second: {fileID: 2100000, guid: c63bb4a9f66571a4b87ffd5ea50530da, type: 2} - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: Else_body_mat - second: {fileID: 2100000, guid: 1fbadca5c0ca04a4e9cbeb7179194a4d, type: 2} - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: Else_eye_mat - second: {fileID: 2100000, guid: a6bc30051d49c404e917851d634ec2e0, type: 2} - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: Else_face_mat - second: {fileID: 2100000, guid: d0adf3ff2a40cb64284a77b0825c635a, type: 2} - 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 - importConstraints: 1 - animationCompression: 3 - animationRotationError: 0.5 - animationPositionError: 0.5 - animationScaleError: 0.5 - animationWrapMode: 0 - extraExposedTransformPaths: [] - extraUserProperties: [] - clipAnimations: [] - isReadable: 1 - meshes: - lODScreenPercentages: [] - globalScale: 1 - meshCompression: 0 - addColliders: 0 - useSRGBMaterialColor: 1 - importVisibility: 0 - importBlendShapes: 1 - importCameras: 0 - importLights: 0 - 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 - previousCalculatedGlobalScale: 0.01 - hasPreviousCalculatedGlobalScale: 1 - tangentSpace: - normalSmoothAngle: 60 - normalImportMode: 0 - tangentImportMode: 3 - normalCalculationMode: 4 - legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 - blendShapeNormalImportMode: 1 - normalSmoothingSource: 0 - importAnimation: 0 - copyAvatar: 0 - humanDescription: - serializedVersion: 2 - human: - - boneName: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: MAIN_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: Else2019(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: blendShape - parentName: Else2019(Clone) - position: {x: -0.000000009536743, y: 1.2693679, z: -0.0020426272} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Else_Cloth - parentName: Else2019(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: Else_BigRibbon_geo - parentName: Else_Cloth - position: {x: -0, y: 0, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Else_ChestRibon_geo - parentName: Else_Cloth - position: {x: -0, y: 0, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Else_Chuchu_geo - parentName: Else_Cloth - position: {x: -0, y: 0, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Else_Cloth_geo - parentName: Else_Cloth - position: {x: -0, y: 0, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Else_ClothRibon_geo - parentName: Else_Cloth - position: {x: -0, y: 0, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Else_LegAccessories_geo - parentName: Else_Cloth - position: {x: -0, y: 0, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Else_Neckring_geo - parentName: Else_Cloth - position: {x: -0, y: 0, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Else_Pants_geo - parentName: Else_Cloth - position: {x: -0, y: 0, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Else_StarFishTassel_geo - parentName: Else_Cloth - position: {x: -0, y: 0, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Else_mesh - parentName: Else2019(Clone) - position: {x: -0, y: 0.69858086, z: 0.011064615} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Else_Body_geo - parentName: Else_mesh - position: {x: -0, y: -0.69858086, z: -0.011064615} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Else_Face_geo - parentName: Else_mesh - position: {x: -0, y: -0.69858086, z: -0.011064615} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Else_Hair_geo - parentName: Else_mesh - position: {x: -0, y: -0.69858086, z: -0.011064615} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Else_root - parentName: Else2019(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: ElseCLOTH_socket - parentName: Else_root - position: {x: -0, y: 0, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_Hips - parentName: ElseCLOTH_socket - position: {x: -0, y: 0.78903234, z: -0.019063689} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftUpLeg - parentName: CLOTH_Hips - position: {x: -0.06932031, y: -0.042844355, z: -2.4424906e-17} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftLeg - parentName: CLOTH_LeftUpLeg - position: {x: -8.881784e-18, y: -0.32775813, z: 0.02230836} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftFoot - parentName: CLOTH_LeftLeg - position: {x: -4.4408918e-17, y: -0.35686812, z: -0.022643397} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftToeBase - parentName: CLOTH_LeftFoot - position: {x: -0.000000085830685, y: -0.05336319, z: 0.00910088} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftToeBase1 - parentName: CLOTH_LeftToeBase - position: {x: 1.1546319e-16, y: -8.1046276e-17, z: 0.095362365} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_Spine - parentName: CLOTH_Hips - position: {x: -0, y: 0.043449212, z: 0.010691154} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_Spine1 - parentName: CLOTH_Spine - position: {x: 1.5939289e-17, y: 0.09316341, z: -0.0020552282} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_Spine2 - parentName: CLOTH_Spine1 - position: {x: -2.7296601e-17, y: 0.07334137, z: -0.0037601667} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ChestMedal - parentName: CLOTH_Spine2 - position: {x: 1.238372e-12, y: 0.033438917, z: 0.11417743} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ChestRibbon_Left_root - parentName: CLOTH_CLOTH_ChestMedal - position: {x: -0.0052824253, y: -0.00018080024, z: -0.0000036440888} - rotation: {x: -0.013364611, y: 0.07214165, z: -0.18166484, w: 0.9806196} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ChestRibbon_Left_Ring_joint1 - parentName: CLOTH_CLOTH_ChestRibbon_Left_root - position: {x: -0.009400522, y: 0.0018145005, z: 0.0007493485} - rotation: {x: 0.011677776, y: 0.3442314, z: 0.36582252, w: 0.86460525} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ChestRibbon_Left_Ring_joint2 - parentName: CLOTH_CLOTH_ChestRibbon_Left_Ring_joint1 - position: {x: -0.012090038, y: 0.0019761713, z: -0.010246538} - rotation: {x: -0.06982702, y: -0.17395806, z: -0.05151175, w: 0.9809227} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ChestRibbon_Left_Ring_joint3 - parentName: CLOTH_CLOTH_ChestRibbon_Left_Ring_joint2 - position: {x: -0.016463807, y: 0.0023633963, z: -0.003553627} - rotation: {x: -0.090844095, y: -0.36013693, z: -0.076191925, w: 0.92533433} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ChestRibbon_Left_Ring_joint4 - parentName: CLOTH_CLOTH_ChestRibbon_Left_Ring_joint3 - position: {x: -0.013606047, y: -0.004782988, z: 0.010402656} - rotation: {x: 0.011824029, y: 0.14304897, z: -0.081523284, w: 0.9862815} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ChestRibbon_Left_joint1 - parentName: CLOTH_CLOTH_ChestRibbon_Left_root - position: {x: -0.0012361053, y: -0.011889464, z: -0.0010379973} - rotation: {x: 0.0012627651, y: 0.002846118, z: 0.70607334, w: 0.70813185} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ChestRibbon_Left_joint2 - parentName: CLOTH_CLOTH_ChestRibbon_Left_joint1 - position: {x: -0.01495318, y: 0, z: 7.105427e-17} - rotation: {x: 0.032595795, y: 0.018038243, z: -0.13566068, w: 0.9900547} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ChestRibbon_Left_joint3 - parentName: CLOTH_CLOTH_ChestRibbon_Left_joint2 - position: {x: -0.0124982, y: -7.105427e-17, z: -3.5527136e-17} - rotation: {x: 0.09913123, y: 0.07290125, z: 0.007469269, w: 0.9923722} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ChestRibbon_Left_joint4 - parentName: CLOTH_CLOTH_ChestRibbon_Left_joint3 - position: {x: -0.012873969, y: -1.4210854e-16, z: 7.105427e-17} - rotation: {x: -0.046446826, y: -0.15625232, z: -0.60124123, w: 0.78226393} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ChestRibbon_Right_root - parentName: CLOTH_CLOTH_ChestMedal - position: {x: 0.00528243, y: -0.00018530824, z: -0.0000036000456} - rotation: {x: 0.9806196, y: 0.18166484, z: 0.07214165, w: 0.013364611} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ChestRibbon_Right_Ring_joint1 - parentName: CLOTH_CLOTH_ChestRibbon_Right_root - position: {x: 0.0094035175, y: -0.0018224452, z: -0.00074888504} - rotation: {x: 0.011677776, y: 0.3442314, z: 0.36582252, w: 0.86460525} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ChestRibbon_Right_Ring_joint2 - parentName: CLOTH_CLOTH_ChestRibbon_Right_Ring_joint1 - position: {x: 0.012093399, y: -0.0019700737, z: 0.010246023} - rotation: {x: -0.06982702, y: -0.17395806, z: -0.05151175, w: 0.9809227} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ChestRibbon_Right_Ring_joint3 - parentName: CLOTH_CLOTH_ChestRibbon_Right_Ring_joint2 - position: {x: 0.016461601, y: -0.0023698588, z: 0.0035537067} - rotation: {x: -0.090844095, y: -0.36013693, z: -0.076191925, w: 0.92533433} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ChestRibbon_Right_Ring_joint4 - parentName: CLOTH_CLOTH_ChestRibbon_Right_Ring_joint3 - position: {x: 0.013607385, y: 0.0047907867, z: -0.0104025705} - rotation: {x: 0.011824029, y: 0.14304897, z: -0.081523284, w: 0.9862815} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ChestRibbon_Right_joint1 - parentName: CLOTH_CLOTH_ChestRibbon_Right_root - position: {x: 0.0012388154, y: 0.011882289, z: 0.0010380346} - rotation: {x: 0.0012627651, y: 0.002846118, z: 0.70607334, w: 0.70813185} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ChestRibbon_Right_joint2 - parentName: CLOTH_CLOTH_ChestRibbon_Right_joint1 - position: {x: 0.014957641, y: 0.0000017357486, z: 0.0000002601307} - rotation: {x: 0.032595795, y: 0.018038243, z: -0.13566068, w: 0.9900547} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ChestRibbon_Right_joint3 - parentName: CLOTH_CLOTH_ChestRibbon_Right_joint2 - position: {x: 0.012496851, y: -0.0000009625546, z: -0.000000034419124} - rotation: {x: 0.09913123, y: 0.07290125, z: 0.007469269, w: 0.9923722} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ChestRibbon_Right_joint4 - parentName: CLOTH_CLOTH_ChestRibbon_Right_joint3 - position: {x: 0.012874367, y: 0.0000002909503, z: 0.00000002725721} - rotation: {x: -0.046446826, y: -0.15625232, z: -0.60124123, w: 0.78226393} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_Spine3 - parentName: CLOTH_Spine2 - position: {x: 1.3163128e-16, y: 0.059184693, z: -0.0018002244} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_Neck - parentName: CLOTH_Spine3 - position: {x: -1.7856474e-16, y: 0.089610346, z: -0.007940619} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_Head - parentName: CLOTH_Neck - position: {x: -7.609444e-17, y: 0.06479072, z: 0.0015891057} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_Head1 - parentName: CLOTH_Head - position: {x: -7.609445e-17, y: 0.19106601, z: 0.03309309} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftShoulder - parentName: CLOTH_Spine3 - position: {x: -0.036415335, y: 0.040963326, z: 0.0059526456} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftArm - parentName: CLOTH_LeftShoulder - position: {x: -0.05313894, y: 0.01617096, z: 0.006739083} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftArmTwist2 - parentName: CLOTH_LeftArm - position: {x: -0.16981958, y: 0.00021225827, z: -0.011259599} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_L_5_joint1 - parentName: CLOTH_LeftArm - position: {x: -0.050659165, y: -0.037563305, z: 0.014990297} - rotation: {x: 0.32138887, y: 0.18380266, z: 0.24410056, w: 0.8962928} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_L_5_joint2 - parentName: CLOTH_CLOTH_Shoulder_L_5_joint1 - position: {x: -0.03008778, y: -5.5511148e-18, z: 6.661338e-18} - rotation: {x: 0.09538056, y: 0.057042472, z: -0.27977726, w: 0.9536107} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_L_5_joint3 - parentName: CLOTH_CLOTH_Shoulder_L_5_joint2 - position: {x: -0.019791622, y: 1.9984014e-17, z: 2.4424906e-17} - rotation: {x: -0.08095559, y: -0.07699082, z: 0.063618496, w: 0.99170125} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_L_5_joint4 - parentName: CLOTH_CLOTH_Shoulder_L_5_joint3 - position: {x: -0.0126491, y: -5.606626e-17, z: -1.6098233e-17} - rotation: {x: -0.015035845, y: -0.012408195, z: 0.006293759, w: 0.99979013} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_L_5_joint5 - parentName: CLOTH_CLOTH_Shoulder_L_5_joint4 - position: {x: -0.0067474763, y: 7.521761e-17, z: -2.6090241e-17} - rotation: {x: -0.15085585, y: -0.31748837, z: -0.40178308, w: 0.845585} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_L_4_joint1 - parentName: CLOTH_LeftArm - position: {x: -0.053271517, y: -0.03804536, z: -0.008261476} - rotation: {x: -0.6204423, y: -0.27589732, z: 0.2633998, w: 0.6852391} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_L_4_joint2 - parentName: CLOTH_CLOTH_Shoulder_L_4_joint1 - position: {x: -0.027623476, y: -1.9428903e-18, z: -4.1980305e-18} - rotation: {x: 0.06346305, y: 0.02690912, z: -0.34170038, w: 0.93727756} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_L_4_joint3 - parentName: CLOTH_CLOTH_Shoulder_L_4_joint2 - position: {x: -0.015520018, y: 1.04360964e-16, z: -7.771561e-18} - rotation: {x: 0.19526246, y: 0.15677921, z: 0.07168357, w: 0.9654814} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_L_4_joint4 - parentName: CLOTH_CLOTH_Shoulder_L_4_joint3 - position: {x: -0.007405599, y: 4.4686477e-17, z: -1.9151347e-17} - rotation: {x: 0.3984002, y: 0.24976471, z: 0.037433032, w: 0.881756} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_L_4_joint5 - parentName: CLOTH_CLOTH_Shoulder_L_4_joint4 - position: {x: -0.010110427, y: -1.3717325e-16, z: 4.371503e-17} - rotation: {x: -0.03275043, y: -0.056331325, z: -0.50154847, w: 0.86267227} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_L_3_joint1 - parentName: CLOTH_LeftArm - position: {x: -0.065842584, y: 0.002749609, z: -0.040887155} - rotation: {x: -0.024604488, y: -0.016946362, z: 0.18117358, w: 0.98299724} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_L_3_joint2 - parentName: CLOTH_CLOTH_Shoulder_L_3_joint1 - position: {x: -0.016462548, y: 0.0003136457, z: 0.0018723296} - rotation: {x: -0.43047404, y: -0.27147296, z: -0.12162737, w: 0.8521745} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_L_3_joint3 - parentName: CLOTH_CLOTH_Shoulder_L_3_joint2 - position: {x: -0.018800119, y: -0.001458817, z: 0.0019673612} - rotation: {x: -0.03427926, y: -0.026338477, z: 0.04920303, w: 0.99785286} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_L_3_joint4 - parentName: CLOTH_CLOTH_Shoulder_L_3_joint3 - position: {x: -0.015711598, y: 1.4210854e-16, z: -5.3290704e-17} - rotation: {x: 0.101002544, y: 0.04577718, z: 0.17825596, w: 0.97771555} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_L_3_joint5 - parentName: CLOTH_CLOTH_Shoulder_L_3_joint4 - position: {x: -0.015741488, y: 2.1316282e-16, z: -3.5527136e-17} - rotation: {x: 0.2928076, y: 0.3751055, z: -0.5411931, w: 0.6933034} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftArmTwist1 - parentName: CLOTH_LeftArm - position: {x: -0.06571589, y: 0.00033202162, z: -0.004394941} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftArmRoll - parentName: CLOTH_LeftArm - position: {x: -0.10001103, y: 0.00031358856, z: -0.006830717} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftForeArm - parentName: CLOTH_LeftArmRoll - position: {x: -0.10176778, y: -0.00031358804, z: -0.0062186806} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftForeArmRoll - parentName: CLOTH_LeftForeArm - position: {x: -0.104046226, y: 0.000004631092, z: 0.0019584484} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftHand - parentName: CLOTH_LeftForeArmRoll - position: {x: -0.0794451, y: -0.000004630837, z: 0.0020188647} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftHandIndex_root - parentName: CLOTH_LeftHand - position: {x: -0.02031392, y: 0.0044666682, z: 0.013609801} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftHandIndex1 - parentName: CLOTH_LeftHandIndex_root - position: {x: -0.03906172, y: 0.0027322038, z: 0.007967873} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftHandIndex2 - parentName: CLOTH_LeftHandIndex1 - position: {x: -0.023240242, y: -0.0021021971, z: 0.0013506818} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftHandIndex3 - parentName: CLOTH_LeftHandIndex2 - position: {x: -0.016417064, y: -0.002694084, z: 0.0000865889} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftHandMiddle_root - parentName: CLOTH_LeftHand - position: {x: -0.021387493, y: 0.004902672, z: 0.004770821} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftHandMiddle1 - parentName: CLOTH_LeftHandMiddle_root - position: {x: -0.041672688, y: 0.004121655, z: 0.0021215254} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftHandMiddle2 - parentName: CLOTH_LeftHandMiddle1 - position: {x: -0.024395825, y: -0.0021449206, z: -0.000048176924} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftHandMiddle3 - parentName: CLOTH_LeftHandMiddle2 - position: {x: -0.02666596, y: -0.006477729, z: 0.0012118154} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftHandPinky_root - parentName: CLOTH_LeftHand - position: {x: -0.018355774, y: -0.00091083936, z: -0.011001123} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftHandPinky1 - parentName: CLOTH_LeftHandPinky_root - position: {x: -0.03854013, y: 0.0020158726, z: -0.01033078} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftHandPinky2 - parentName: CLOTH_LeftHandPinky1 - position: {x: -0.018019266, y: -0.003098898, z: -0.0012304814} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftHandPinky3 - parentName: CLOTH_LeftHandPinky2 - position: {x: -0.016572235, y: -0.0029528718, z: -0.0007368273} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftHandRing_root - parentName: CLOTH_LeftHand - position: {x: -0.020289928, y: 0.0034872452, z: -0.0048778644} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftHandRing1 - parentName: CLOTH_LeftHandRing_root - position: {x: -0.043116268, y: 0.004086777, z: -0.0044361716} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftHandRing2 - parentName: CLOTH_LeftHandRing1 - position: {x: -0.025653074, y: -0.0034448125, z: -0.00014834596} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftHandRing3 - parentName: CLOTH_LeftHandRing2 - position: {x: -0.01854632, y: -0.0030331318, z: -0.00021339174} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftHandThumb1 - parentName: CLOTH_LeftHand - position: {x: -0.013517325, y: -0.0019250435, z: 0.020137712} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftHandThumb2 - parentName: CLOTH_LeftHandThumb1 - position: {x: -0.01910693, y: -0.0058329613, z: 0.012700477} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftHandThumb3 - parentName: CLOTH_LeftHandThumb2 - position: {x: -0.014996353, y: -0.0054081255, z: 0.010471193} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftHandAttach - parentName: CLOTH_LeftHand - position: {x: -0.054060366, y: -0.022025926, z: -8.0250984e-10} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftForeArmTwist1 - parentName: CLOTH_LeftForeArm - position: {x: -0.05860997, y: -0.0009076013, z: 0.0013805516} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftForeArmTwist2 - parentName: CLOTH_LeftForeArm - position: {x: -0.13390101, y: 0.000004631092, z: 0.0025850632} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_LeftForeArmElbow - parentName: CLOTH_LeftForeArm - position: {x: 0.012721951, y: 0.0037528386, z: -0.015877938} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_L_2_joint1 - parentName: CLOTH_LeftArm - position: {x: -0.07977143, y: 0.049341667, z: -0.003767561} - rotation: {x: -0.011641397, y: -0.010668733, z: 0.04355062, w: 0.99892646} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_L_2_joint2 - parentName: CLOTH_CLOTH_Shoulder_L_2_joint1 - position: {x: -0.020500124, y: -3.577867e-18, z: -1.3877787e-19} - rotation: {x: 0.0068227346, y: 0.009926216, z: -0.2670549, w: 0.96360606} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_L_2_joint3 - parentName: CLOTH_CLOTH_Shoulder_L_2_joint2 - position: {x: -0.026680693, y: -1.4336465e-16, z: 4.3021143e-18} - rotation: {x: 0.003704813, y: 0.009321582, z: 0.04645615, w: 0.99887} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_L_2_joint4 - parentName: CLOTH_CLOTH_Shoulder_L_2_joint3 - position: {x: -0.038577743, y: -6.941604e-19, z: 3.538836e-18} - rotation: {x: 0.0042778337, y: 0.011609958, z: -0.07168289, w: 0.99735075} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_L_2_joint5 - parentName: CLOTH_CLOTH_Shoulder_L_2_joint4 - position: {x: -0.030387737, y: -2.0725607e-17, z: 2.4980017e-18} - rotation: {x: -0.0026152679, y: -0.018472916, z: -0.1401509, w: 0.98995435} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_L_1_joint1 - parentName: CLOTH_LeftArm - position: {x: -0.060579643, y: 0.010123035, z: 0.027514316} - rotation: {x: 0.18689725, y: 0.14833128, z: 0.11098884, w: 0.9647532} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_L_1_joint2 - parentName: CLOTH_CLOTH_Shoulder_L_1_joint1 - position: {x: -0.02284009, y: 1.6653345e-18, z: 0} - rotation: {x: 0.11120421, y: 0.06759251, z: 0.010079007, w: 0.99144506} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_L_1_joint3 - parentName: CLOTH_CLOTH_Shoulder_L_1_joint2 - position: {x: -0.032233424, y: -5.2180482e-17, z: 6.328271e-17} - rotation: {x: -0.07927777, y: -0.038859032, z: 0.07984027, w: 0.99289} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_L_1_joint4 - parentName: CLOTH_CLOTH_Shoulder_L_1_joint3 - position: {x: -0.031906556, y: 7.438494e-17, z: 2.3314683e-17} - rotation: {x: -0.15714271, y: -0.23085992, z: -0.540309, w: 0.7937733} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Left_root - parentName: CLOTH_LeftArm - position: {x: -0.06444466, y: 0.031598985, z: 0.025436528} - rotation: {x: 0.0065433574, y: -0.065440014, z: -0.09927862, w: 0.992884} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Left_joint2 - parentName: CLOTH_CLOTH_ShoulderRibbon_Left_root - position: {x: -0.0044615436, y: 0.0004850033, z: 0.0026430483} - rotation: {x: -0.030915389, y: 0.22029032, z: 0.05835365, w: 0.97319645} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Left_joint3 - parentName: CLOTH_CLOTH_ShoulderRibbon_Left_joint2 - position: {x: -0.03253893, y: -4.2632563e-16, z: 3.9968027e-17} - rotation: {x: -0.008076967, y: 0.058937572, z: -0.05652418, w: 0.9966274} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Left_joint4 - parentName: CLOTH_CLOTH_ShoulderRibbon_Left_joint3 - position: {x: -0.04059801, y: -1.4210854e-16, z: 2.6645352e-17} - rotation: {x: 0.02082549, y: -0.21530724, z: 0.09399583, w: 0.97178906} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Left_joint5 - parentName: CLOTH_CLOTH_ShoulderRibbon_Left_root - position: {x: -0.0033303224, y: -0.0024283517, z: 0.0033329257} - rotation: {x: -0.003822209, y: 0.2574274, z: 0.17724343, w: 0.94989544} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Left_joint6 - parentName: CLOTH_CLOTH_ShoulderRibbon_Left_joint5 - position: {x: -0.032588314, y: -8.5265126e-16, z: 2.2204459e-17} - rotation: {x: 0.015605886, y: 0.080715805, z: 0.02128858, w: 0.9963876} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Left_joint7 - parentName: CLOTH_CLOTH_ShoulderRibbon_Left_joint6 - position: {x: -0.040237892, y: 0, z: 5.3290704e-17} - rotation: {x: -0.0021894758, y: -0.33601645, z: -0.19249919, w: 0.9219719} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Left_joint8 - parentName: CLOTH_CLOTH_ShoulderRibbon_Left_root - position: {x: -0.0029524714, y: 0.002498354, z: 0.0016636882} - rotation: {x: 0.14331685, y: -0.164585, z: -0.48245817, w: 0.84829605} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Left_joint9 - parentName: CLOTH_CLOTH_ShoulderRibbon_Left_joint8 - position: {x: -0.013533079, y: -0.004784381, z: 0.005693415} - rotation: {x: -0.28898844, y: 0.26664, z: 0.36477238, w: 0.84399647} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Left_joint10 - parentName: CLOTH_CLOTH_ShoulderRibbon_Left_joint9 - position: {x: -0.015954467, y: 0.0014236998, z: -0.0010380909} - rotation: {x: -0.0090686, y: 0.07973303, z: 0.29875198, w: 0.9509509} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Left_joint11 - parentName: CLOTH_CLOTH_ShoulderRibbon_Left_joint10 - position: {x: -0.013580326, y: 0.007498344, z: -0.00091155834} - rotation: {x: 0.0010677644, y: -0.2613674, z: -0.1872512, w: 0.9469018} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Left_joint12 - parentName: CLOTH_CLOTH_ShoulderRibbon_Left_root - position: {x: -0.00075737335, y: -0.0034994744, z: 0.0026516235} - rotation: {x: 0.44517037, y: 0.7620504, z: 0.3128779, w: 0.35101283} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Left_joint13 - parentName: CLOTH_CLOTH_ShoulderRibbon_Left_joint12 - position: {x: -0.012887344, y: -0.0017596346, z: -0.008959597} - rotation: {x: -0.5425819, y: -0.34122527, z: -0.18790562, w: 0.7442188} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Left_joint14 - parentName: CLOTH_CLOTH_ShoulderRibbon_Left_joint13 - position: {x: -0.015123319, y: 0.003808517, z: -0.0017223901} - rotation: {x: -0.053618357, y: -0.12972201, z: -0.35816297, w: 0.9230474} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Left_joint15 - parentName: CLOTH_CLOTH_ShoulderRibbon_Left_joint14 - position: {x: -0.013827747, y: -0.0064343563, z: 0.0014531447} - rotation: {x: 0.02147234, y: -0.24129385, z: -0.10705166, w: 0.9642905} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightShoulder - parentName: CLOTH_Spine3 - position: {x: 0.0364153, y: 0.040958915, z: 0.0059526553} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightArm - parentName: CLOTH_RightShoulder - position: {x: 0.053138997, y: 0.01618, z: 0.0067390697} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightArmTwist2 - parentName: CLOTH_RightArm - position: {x: 0.1698197, y: 0.00021, z: -0.01125957} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_R_4_joint1 - parentName: CLOTH_RightArm - position: {x: 0.053274773, y: -0.038048655, z: -0.008261472} - rotation: {x: -0.2436301, y: -0.63380784, z: 0.670789, w: 0.2982854} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_R_4_joint2 - parentName: CLOTH_CLOTH_Shoulder_R_4_joint1 - position: {x: -0.027622592, y: -0.000017199962, z: -0.0002205184} - rotation: {x: 0.06346305, y: 0.02690912, z: -0.34170038, w: 0.93727756} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_R_4_joint3 - parentName: CLOTH_CLOTH_Shoulder_R_4_joint2 - position: {x: -0.014857148, y: -0.0007106488, z: -0.0044306987} - rotation: {x: 0.19526246, y: 0.15677921, z: 0.07168357, w: 0.9654814} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_R_4_joint4 - parentName: CLOTH_CLOTH_Shoulder_R_4_joint3 - position: {x: -0.0053279675, y: -0.003021245, z: -0.0041626603} - rotation: {x: 0.3984002, y: 0.24976471, z: 0.037433032, w: 0.881756} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_R_4_joint5 - parentName: CLOTH_CLOTH_Shoulder_R_4_joint4 - position: {x: -0.0052444558, y: -0.008547073, z: 0.0012899437} - rotation: {x: -0.03275043, y: -0.056331325, z: -0.50154847, w: 0.86267227} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_R_5_joint1 - parentName: CLOTH_RightArm - position: {x: 0.05066242, y: -0.0375666, z: 0.0149903} - rotation: {x: 0.09728815, y: 0.35722435, z: 0.80637985, w: 0.46116954} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_R_5_joint2 - parentName: CLOTH_CLOTH_Shoulder_R_5_joint1 - position: {x: -0.028092034, y: -0.0077000246, z: 0.007538021} - rotation: {x: 0.09538056, y: 0.057042472, z: -0.27977726, w: 0.9536107} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_R_5_joint3 - parentName: CLOTH_CLOTH_Shoulder_R_5_joint2 - position: {x: -0.013197516, y: -0.0060992423, z: 0.0134288175} - rotation: {x: -0.08095559, y: -0.07699082, z: 0.063618496, w: 0.99170125} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_R_5_joint4 - parentName: CLOTH_CLOTH_Shoulder_R_5_joint3 - position: {x: -0.007154672, y: -0.00657324, z: 0.008099564} - rotation: {x: -0.015035845, y: -0.012408195, z: 0.006293759, w: 0.99979013} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_R_5_joint5 - parentName: CLOTH_CLOTH_Shoulder_R_5_joint4 - position: {x: -0.0036957127, y: -0.0037458125, z: 0.0042236284} - rotation: {x: -0.15085585, y: -0.31748837, z: -0.40178308, w: 0.845585} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_R_3_joint1 - parentName: CLOTH_RightArm - position: {x: 0.06584584, y: 0.0027463164, z: -0.04088715} - rotation: {x: -0.005415113, y: -0.029380888, z: 0.82319313, w: 0.56697494} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_R_3_joint2 - parentName: CLOTH_CLOTH_Shoulder_R_3_joint1 - position: {x: -0.010661994, y: -0.012644964, z: 0.0010228639} - rotation: {x: -0.43047404, y: -0.27147296, z: -0.12162737, w: 0.8521745} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_R_3_joint3 - parentName: CLOTH_CLOTH_Shoulder_R_3_joint2 - position: {x: -0.015178481, y: -0.0057202843, z: -0.00981505} - rotation: {x: -0.03427926, y: -0.026338477, z: 0.04920303, w: 0.99785286} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_R_3_joint4 - parentName: CLOTH_CLOTH_Shoulder_R_3_joint3 - position: {x: -0.014469194, y: -0.001793325, z: -0.005854975} - rotation: {x: 0.101002544, y: 0.04577718, z: 0.17825596, w: 0.97771555} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_R_3_joint5 - parentName: CLOTH_CLOTH_Shoulder_R_3_joint4 - position: {x: -0.015186161, y: -0.0022192493, z: -0.0034999857} - rotation: {x: 0.2928076, y: 0.3751055, z: -0.5411931, w: 0.6933034} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightArmTwist1 - parentName: CLOTH_RightArm - position: {x: 0.0657157, y: 0.00032999998, z: -0.00439494} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightArmRoll - parentName: CLOTH_RightArm - position: {x: 0.1000107, y: 0.00030999997, z: -0.00683067} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightForeArm - parentName: CLOTH_RightArmRoll - position: {x: 0.101767994, y: -0.00030999997, z: -0.0062186997} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightForeArmTwist1 - parentName: CLOTH_RightForeArm - position: {x: 0.05861, y: -0.00090999994, z: 0.0013805} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightForeArmTwist2 - parentName: CLOTH_RightForeArm - position: {x: 0.13390099, y: -1.4210854e-16, z: 0.0025850001} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightForeArmRoll - parentName: CLOTH_RightForeArm - position: {x: 0.104046, y: -1.4210854e-16, z: 0.0019584} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightHand - parentName: CLOTH_RightForeArmRoll - position: {x: 0.079445, y: 0, z: 0.0020189001} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightHandMiddle_root - parentName: CLOTH_RightHand - position: {x: 0.021387998, y: 0.0049, z: 0.00477081} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightHandMiddle1 - parentName: CLOTH_RightHandMiddle_root - position: {x: 0.041673, y: 0.0041199997, z: 0.00212152} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightHandMiddle2 - parentName: CLOTH_RightHandMiddle1 - position: {x: 0.024395, y: -0.00215, z: -0.00004817} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightHandMiddle3 - parentName: CLOTH_RightHandMiddle2 - position: {x: 0.026665999, y: -0.00647, z: 0.0012118099} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightHandPinky_root - parentName: CLOTH_RightHand - position: {x: 0.018356, y: -0.00091999996, z: -0.0110011} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightHandPinky1 - parentName: CLOTH_RightHandPinky_root - position: {x: 0.03854, y: 0.00202, z: -0.0103308} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightHandPinky2 - parentName: CLOTH_RightHandPinky1 - position: {x: 0.01802, y: -0.0030999999, z: -0.0012304999} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightHandPinky3 - parentName: CLOTH_RightHandPinky2 - position: {x: 0.016571999, y: -0.0029499999, z: -0.0007368} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightHandRing_root - parentName: CLOTH_RightHand - position: {x: 0.02029, y: 0.0034799997, z: -0.0048779} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightHandRing1 - parentName: CLOTH_RightHandRing_root - position: {x: 0.043116998, y: 0.00409, z: -0.0044361} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightHandRing2 - parentName: CLOTH_RightHandRing1 - position: {x: 0.025652999, y: -0.00345, z: -0.0001484} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightHandRing3 - parentName: CLOTH_RightHandRing2 - position: {x: 0.018545998, y: -0.00303, z: -0.00021340007} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightHandThumb1 - parentName: CLOTH_RightHand - position: {x: 0.013517999, y: -0.00193, z: 0.020137701} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightHandThumb2 - parentName: CLOTH_RightHandThumb1 - position: {x: 0.019106999, y: -0.0058299997, z: 0.0127005} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightHandThumb3 - parentName: CLOTH_RightHandThumb2 - position: {x: 0.014996001, y: -0.0054099998, z: 0.0104712} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightHandAttach - parentName: CLOTH_RightHand - position: {x: 0.054060996, y: -0.02203, z: 2.220446e-18} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightHandIndex_root - parentName: CLOTH_RightHand - position: {x: 0.020313999, y: 0.00446, z: 0.013609789} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightHandIndex1 - parentName: CLOTH_RightHandIndex_root - position: {x: 0.039061997, y: 0.00273, z: 0.00796787} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightHandIndex2 - parentName: CLOTH_RightHandIndex1 - position: {x: 0.023239998, y: -0.0021, z: 0.0013506401} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightHandIndex3 - parentName: CLOTH_RightHandIndex2 - position: {x: 0.016417, y: -0.00269, z: 0.00008659994} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightForeArmElbow - parentName: CLOTH_RightForeArm - position: {x: -0.012722, y: 0.00375, z: -0.015878} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_R_1_joint1 - parentName: CLOTH_RightArm - position: {x: 0.0605829, y: 0.010119742, z: 0.027514322} - rotation: {x: 0.027270248, y: 0.23704238, z: 0.7606645, w: 0.6037026} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_R_1_joint2 - parentName: CLOTH_CLOTH_Shoulder_R_1_joint1 - position: {x: -0.012837827, y: -0.016085159, z: 0.0099059325} - rotation: {x: 0.11120421, y: 0.06759251, z: 0.010079007, w: 0.99144506} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_R_1_joint3 - parentName: CLOTH_CLOTH_Shoulder_R_1_joint2 - position: {x: -0.023112662, y: -0.015355157, z: 0.01640176} - rotation: {x: -0.07927777, y: -0.038859032, z: 0.07984027, w: 0.99289} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_R_1_joint4 - parentName: CLOTH_CLOTH_Shoulder_R_1_joint3 - position: {x: -0.025792303, y: -0.01551002, z: 0.010593618} - rotation: {x: -0.15714271, y: -0.23085992, z: -0.540309, w: 0.7937733} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_R_2_joint1 - parentName: CLOTH_RightArm - position: {x: 0.079774685, y: 0.049338374, z: -0.0037675577} - rotation: {x: -0.00068777736, y: -0.015775643, z: 0.73714256, w: 0.6755527} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_R_2_joint2 - parentName: CLOTH_CLOTH_Shoulder_R_2_joint1 - position: {x: -0.0035715855, y: -0.02016945, z: -0.00083191355} - rotation: {x: 0.0068227346, y: 0.009926216, z: -0.2670549, w: 0.96360606} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_R_2_joint3 - parentName: CLOTH_CLOTH_Shoulder_R_2_joint2 - position: {x: 0.02101497, y: -0.01643434, z: -0.00037797086} - rotation: {x: 0.003704813, y: 0.009321582, z: 0.04645615, w: 0.99887} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_R_2_joint4 - parentName: CLOTH_CLOTH_Shoulder_R_2_joint3 - position: {x: 0.025463475, y: -0.028966755, z: 0.00088354736} - rotation: {x: 0.0042778337, y: 0.011609958, z: -0.07168289, w: 0.99735075} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Shoulder_R_2_joint5 - parentName: CLOTH_CLOTH_Shoulder_R_2_joint4 - position: {x: 0.025626786, y: -0.016184688, z: 0.0021767751} - rotation: {x: -0.0026152679, y: -0.018472916, z: -0.1401509, w: 0.98995435} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Right_root - parentName: CLOTH_RightArm - position: {x: 0.06444464, y: 0.03159436, z: 0.025436532} - rotation: {x: 0.0065433574, y: -0.065440014, z: -0.09927862, w: 0.992884} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Right_joint2 - parentName: CLOTH_CLOTH_ShoulderRibbon_Right_root - position: {x: 0.004453191, y: 0.002285779, z: 0.0014389596} - rotation: {x: -0.030915389, y: 0.22029032, z: 0.05835365, w: 0.97319645} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Right_joint3 - parentName: CLOTH_CLOTH_ShoulderRibbon_Right_joint2 - position: {x: 0.02584362, y: 0.0046535423, z: 0.019215463} - rotation: {x: -0.008076967, y: 0.058937572, z: -0.05652418, w: 0.9966274} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Right_joint4 - parentName: CLOTH_CLOTH_ShoulderRibbon_Right_joint3 - position: {x: 0.023661751, y: 0.012548388, z: 0.030509967} - rotation: {x: 0.02082549, y: -0.21530724, z: 0.09399583, w: 0.97178906} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Right_joint5 - parentName: CLOTH_CLOTH_ShoulderRibbon_Right_root - position: {x: 0.0047354535, y: -0.0007990655, z: 0.0022435035} - rotation: {x: -0.003822209, y: 0.2574274, z: 0.17724343, w: 0.94989544} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Right_joint6 - parentName: CLOTH_CLOTH_ShoulderRibbon_Right_joint5 - position: {x: 0.021616437, y: -0.0092836665, z: 0.022550864} - rotation: {x: 0.015605886, y: 0.080715805, z: 0.02128858, w: 0.9963876} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Right_joint7 - parentName: CLOTH_CLOTH_ShoulderRibbon_Right_joint6 - position: {x: 0.015395822, y: -0.01199463, z: 0.035187863} - rotation: {x: -0.0021894758, y: -0.33601645, z: -0.19249919, w: 0.9219719} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Right_joint8 - parentName: CLOTH_CLOTH_ShoulderRibbon_Right_root - position: {x: 0.0020945445, y: 0.0035178508, z: 0.0009820017} - rotation: {x: 0.14331685, y: -0.164585, z: -0.48245817, w: 0.84829605} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Right_joint9 - parentName: CLOTH_CLOTH_ShoulderRibbon_Right_joint8 - position: {x: -0.007609363, y: 0.012109485, z: -0.005823012} - rotation: {x: -0.28898844, y: 0.26664, z: 0.36477238, w: 0.84399647} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Right_joint10 - parentName: CLOTH_CLOTH_ShoulderRibbon_Right_joint9 - position: {x: 0.008674943, y: 0.012353111, z: 0.0054585314} - rotation: {x: -0.0090686, y: 0.07973303, z: 0.29875198, w: 0.9509509} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Right_joint11 - parentName: CLOTH_CLOTH_ShoulderRibbon_Right_joint10 - position: {x: 0.011698385, y: 0.0026066657, z: 0.009891129} - rotation: {x: 0.0010677644, y: -0.2613674, z: -0.1872512, w: 0.9469018} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Right_joint12 - parentName: CLOTH_CLOTH_ShoulderRibbon_Right_root - position: {x: 0.0026842381, y: -0.0028042693, z: 0.0021867745} - rotation: {x: 0.44517037, y: 0.7620504, z: 0.3128779, w: 0.35101283} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Right_joint13 - parentName: CLOTH_CLOTH_ShoulderRibbon_Right_joint12 - position: {x: -0.014808711, y: 0.0041554193, z: 0.0035901158} - rotation: {x: -0.5425819, y: -0.34122527, z: -0.18790562, w: 0.7442188} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Right_joint14 - parentName: CLOTH_CLOTH_ShoulderRibbon_Right_joint13 - position: {x: -0.001288007, y: -0.0093963, z: 0.012499473} - rotation: {x: -0.053618357, y: -0.12972201, z: -0.35816297, w: 0.9230474} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_ShoulderRibbon_Right_joint15 - parentName: CLOTH_CLOTH_ShoulderRibbon_Right_joint14 - position: {x: 0.009226271, y: -0.0069372146, z: 0.010073238} - rotation: {x: 0.02147234, y: -0.24129385, z: -0.10705166, w: 0.9642905} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_necklace_root - parentName: CLOTH_Spine3 - position: {x: -1.2027395e-16, y: 0.08873038, z: 0.040437184} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_necklace_joint1 - parentName: CLOTH_CLOTH_necklace_root - position: {x: -0, y: -0.016678523, z: 0.015006809} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_necklace_joint2 - parentName: CLOTH_CLOTH_necklace_joint1 - position: {x: -0, y: -0.0052054524, z: 0.0052554896} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_necklace_joint3 - parentName: CLOTH_CLOTH_necklace_joint2 - position: {x: -0.000000010726266, y: -0.0065777805, z: 0.0050976477} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_0_joint - parentName: CLOTH_Spine1 - position: {x: -0.0019929667, y: 0.03609995, z: 0.1095543} - rotation: {x: 0.4541384, y: -0.5419948, z: -0.4541384, w: 0.5419948} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_0_Up_joint1 - parentName: CLOTH_CLOTH_OutSkirt_0_joint - position: {x: -0.028074207, y: -3.8857806e-18, z: -4.314083e-34} - rotation: {x: 0, y: -0, z: -0.07941235, w: 0.9968419} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_0_Up_joint2 - parentName: CLOTH_CLOTH_OutSkirt_0_Up_joint1 - position: {x: -0.03624538, y: -5.3429482e-17, z: 6.370993e-19} - rotation: {x: 0, y: 0, z: 0.0983971, w: 0.9951472} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_0_Up_joint3 - parentName: CLOTH_CLOTH_OutSkirt_0_Up_joint2 - position: {x: -0.043372497, y: -1.2212453e-17, z: -1.8352042e-19} - rotation: {x: 0.9069214, y: -0.4212999, z: -2.579718e-17, w: 5.5532916e-17} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_0_Up_joint4 - parentName: CLOTH_CLOTH_OutSkirt_0_Up_joint3 - position: {x: -0.020148577, y: 1.04360964e-16, z: -1.6531758e-18} - rotation: {x: 0.31236568, y: -0.6343719, z: 0.31236568, w: 0.6343719} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_0_Btm_joint1 - parentName: CLOTH_CLOTH_OutSkirt_0_joint - position: {x: 0.026999049, y: 0.012003481, z: 1.3326541e-18} - rotation: {x: -0.16932578, y: 0.9855602, z: 6.034816e-17, w: -1.0368214e-17} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_0_Btm_joint2 - parentName: CLOTH_CLOTH_OutSkirt_0_Btm_joint1 - position: {x: -0.03141685, y: 2.5535128e-17, z: -1.1641503e-18} - rotation: {x: 0, y: 0, z: 0.089657374, w: 0.9959727} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_0_Btm_joint3 - parentName: CLOTH_CLOTH_OutSkirt_0_Btm_joint2 - position: {x: -0.015647555, y: -1.3877788e-17, z: -6.2026495e-19} - rotation: {x: -0.08028111, y: 0.9967723, z: 6.10347e-17, w: -4.9158004e-18} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_1_joint - parentName: CLOTH_Spine1 - position: {x: -0.031461854, y: 0.034977578, z: 0.102269314} - rotation: {x: -0.6053009, y: 0.62160546, z: 0.3468775, w: -0.35622108} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_1_Up_joint1 - parentName: CLOTH_CLOTH_OutSkirt_1_joint - position: {x: -0.032490157, y: -3.5527136e-17, z: 4.440892e-18} - rotation: {x: 0.9970871, y: -0.04194391, z: 0.0009851134, w: 0.06369488} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_1_Up_joint2 - parentName: CLOTH_CLOTH_OutSkirt_1_Up_joint1 - position: {x: -0.033360466, y: -8.881784e-18, z: -4.440892e-18} - rotation: {x: 0.9287296, y: -0.08714834, z: 0.0129905185, w: 0.3601358} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_1_Up_joint3 - parentName: CLOTH_CLOTH_OutSkirt_1_Up_joint2 - position: {x: -0.04390696, y: -7.105427e-17, z: -2.6645352e-17} - rotation: {x: 0.8812972, y: -0.34812567, z: -0.07800431, w: -0.309902} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_1_Up_joint4 - parentName: CLOTH_CLOTH_OutSkirt_1_Up_joint3 - position: {x: -0.014479711, y: 0, z: 8.326672e-18} - rotation: {x: 0.2680003, y: -0.52240247, z: 0.369494, w: 0.7202401} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_1_Btm_joint1 - parentName: CLOTH_CLOTH_OutSkirt_1_joint - position: {x: 0.026226575, y: 0.01194028, z: -0.00301312} - rotation: {x: -0.2318332, y: 0.9656119, z: -0.11365184, w: -0.030502493} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_1_Btm_joint2 - parentName: CLOTH_CLOTH_OutSkirt_1_Btm_joint1 - position: {x: -0.05096058, y: 2.1316282e-16, z: 5.2735593e-18} - rotation: {x: 0.14856896, y: 0.052790843, z: 0.15383595, w: 0.9754358} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_1_Btm_joint3 - parentName: CLOTH_CLOTH_OutSkirt_1_Btm_joint2 - position: {x: -0.018824935, y: -7.105427e-17, z: -3.5527136e-17} - rotation: {x: -0.07612455, y: 0.95906126, z: -0.27125108, w: 0.02880173} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_2_joint - parentName: CLOTH_Spine1 - position: {x: -0.058327325, y: 0.031699527, z: 0.08691281} - rotation: {x: 0.26355156, y: 0.36255595, z: 0.52561504, w: 0.7230647} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_2_Up_joint1 - parentName: CLOTH_CLOTH_OutSkirt_2_joint - position: {x: 0.032966375, y: 0.011700911, z: 0.000049696442} - rotation: {x: 0.0073562637, y: -0.08032691, z: 0.9722075, w: -0.21978651} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_2_Up_joint2 - parentName: CLOTH_CLOTH_OutSkirt_2_Up_joint1 - position: {x: -0.03500781, y: -5.3290704e-17, z: -2.4424906e-17} - rotation: {x: 0.9197057, y: -0.09685545, z: -0.009922892, w: 0.38034454} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_2_Up_joint3 - parentName: CLOTH_CLOTH_OutSkirt_2_Up_joint2 - position: {x: -0.04101473, y: 5.3290704e-17, z: 1.7763568e-17} - rotation: {x: 0.8348105, y: -0.40619949, z: -0.13576798, w: -0.34591985} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_2_Up_joint4 - parentName: CLOTH_CLOTH_OutSkirt_2_Up_joint3 - position: {x: -0.017442621, y: 0, z: 3.5527136e-17} - rotation: {x: -0.02289111, y: -0.08724178, z: 0.8383302, w: 0.5376499} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_2_Btm_joint1 - parentName: CLOTH_CLOTH_OutSkirt_2_joint - position: {x: -0.037958883, y: 7.105427e-17, z: 2.6922907e-17} - rotation: {x: 0.010522789, y: 0.004044758, z: -0.053284243, w: 0.9985158} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_2_Btm_joint2 - parentName: CLOTH_CLOTH_OutSkirt_2_Btm_joint1 - position: {x: -0.031482175, y: 7.105427e-17, z: -6.217249e-17} - rotation: {x: -0.02843015, y: -0.013325646, z: -0.018015888, w: 0.9993446} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_2_Btm_joint3 - parentName: CLOTH_CLOTH_OutSkirt_2_Btm_joint2 - position: {x: -0.037048586, y: 0, z: -3.5527136e-17} - rotation: {x: 0.039657276, y: 0.025846476, z: -0.12083532, w: 0.9915433} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_2_Btm_joint4 - parentName: CLOTH_CLOTH_OutSkirt_2_Btm_joint3 - position: {x: -0.019313527, y: -1.4210854e-16, z: -1.7763568e-17} - rotation: {x: -0.19948393, y: -0.42820713, z: -0.3721959, w: 0.7989462} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_3_joint - parentName: CLOTH_Spine1 - position: {x: -0.07745632, y: 0.028489832, z: 0.062263012} - rotation: {x: 0.12960148, y: 0.2491692, z: 0.4428729, w: 0.8514586} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_3_Up_joint1 - parentName: CLOTH_CLOTH_OutSkirt_3_joint - position: {x: 0.027069824, y: 0.02640845, z: 0.000035350473} - rotation: {x: -0.0033052275, y: 0.011091134, z: 0.9485664, w: -0.3163668} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_3_Up_joint2 - parentName: CLOTH_CLOTH_OutSkirt_3_Up_joint1 - position: {x: -0.033008624, y: 7.105427e-17, z: -5.995204e-17} - rotation: {x: 0.16411567, y: -0.008797475, z: 0.020970654, w: 0.98617893} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_3_Up_joint3 - parentName: CLOTH_CLOTH_OutSkirt_3_Up_joint2 - position: {x: -0.038602043, y: -5.551115e-17, z: -5.3290704e-17} - rotation: {x: -0.18972409, y: 0.07340532, z: 0.28405324, w: 0.9369793} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_3_Up_joint4 - parentName: CLOTH_CLOTH_OutSkirt_3_Up_joint3 - position: {x: -0.020483978, y: -7.105427e-17, z: 4.4408918e-17} - rotation: {x: -0.0007322713, y: -0.028172439, z: 0.8032476, w: 0.5949783} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_3_Btm_joint1 - parentName: CLOTH_CLOTH_OutSkirt_3_joint - position: {x: -0.074312106, y: 0, z: 2.7200463e-17} - rotation: {x: 0.03866313, y: 0.02777813, z: -0.011452418, w: 0.9988005} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_3_Btm_joint2 - parentName: CLOTH_CLOTH_OutSkirt_3_Btm_joint1 - position: {x: -0.039826415, y: 0, z: 4.2188474e-17} - rotation: {x: 0.010060853, y: 0.00617056, z: 0.08421291, w: 0.9963779} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_3_Btm_joint3 - parentName: CLOTH_CLOTH_OutSkirt_3_Btm_joint2 - position: {x: -0.0399433, y: -1.4210854e-16, z: 2.8865798e-17} - rotation: {x: -0.034101665, y: -0.013982103, z: 0.07660503, w: 0.9963801} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_3_Btm_joint4 - parentName: CLOTH_CLOTH_OutSkirt_3_Btm_joint3 - position: {x: -0.044665933, y: 0, z: 0} - rotation: {x: 0.024865195, y: 0.011235943, z: -0.11176024, w: 0.9933605} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_3_Btm_joint5 - parentName: CLOTH_CLOTH_OutSkirt_3_Btm_joint4 - position: {x: -0.03744697, y: 7.105427e-17, z: -1.5543122e-17} - rotation: {x: 0.04839449, y: 0.042900898, z: -0.18733568, w: 0.9801647} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_3_Btm_joint6 - parentName: CLOTH_CLOTH_OutSkirt_3_Btm_joint5 - position: {x: -0.013481149, y: 1.4210854e-16, z: 6.217249e-17} - rotation: {x: -0.12535095, y: -0.36797085, z: -0.29709655, w: 0.87213427} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_4_joint - parentName: CLOTH_Spine1 - position: {x: -0.08718562, y: 0.022259988, z: 0.037361547} - rotation: {x: 0.09032145, y: 0.15217002, z: 0.50236046, w: 0.84635705} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_4_Up_joint1 - parentName: CLOTH_CLOTH_OutSkirt_4_joint - position: {x: 0.032812595, y: 0.023382233, z: 0.0013363813} - rotation: {x: 0.15146768, y: -0.6544126, z: 0.713574, w: -0.19903223} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_4_Up_joint2 - parentName: CLOTH_CLOTH_OutSkirt_4_Up_joint1 - position: {x: -0.03419668, y: -3.1086245e-17, z: -8.8817837e-17} - rotation: {x: 0.68639493, y: -0.058839004, z: 0.02967678, w: 0.724237} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_4_Up_joint3 - parentName: CLOTH_CLOTH_OutSkirt_4_Up_joint2 - position: {x: -0.036745377, y: -3.1086245e-17, z: -1.7763568e-17} - rotation: {x: -0.17153694, y: 0.052515663, z: 0.16703978, w: 0.9694921} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_4_Up_joint4 - parentName: CLOTH_CLOTH_OutSkirt_4_Up_joint3 - position: {x: -0.011316129, y: -7.105427e-17, z: 6.661338e-17} - rotation: {x: 0.0024806936, y: -0.15624088, z: 0.8744585, w: 0.45924404} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_4_Btm_joint1 - parentName: CLOTH_CLOTH_OutSkirt_4_joint - position: {x: -0.046316423, y: 7.105427e-17, z: -5.5511148e-18} - rotation: {x: -0.047050036, y: -0.029082837, z: -0.054070815, w: 0.9970039} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_4_Btm_joint2 - parentName: CLOTH_CLOTH_OutSkirt_4_Btm_joint1 - position: {x: -0.048728555, y: -7.105427e-17, z: 3.7747583e-17} - rotation: {x: 0.03569513, y: 0.022106389, z: 0.053250723, w: 0.9976981} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_4_Btm_joint3 - parentName: CLOTH_CLOTH_OutSkirt_4_Btm_joint2 - position: {x: -0.049783215, y: 7.105427e-17, z: -3.6637358e-17} - rotation: {x: 0.0063135237, y: 0.00402277, z: -0.06607594, w: 0.9977865} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_4_Btm_joint4 - parentName: CLOTH_CLOTH_OutSkirt_4_Btm_joint3 - position: {x: -0.051030967, y: -7.105427e-17, z: 2.6645352e-17} - rotation: {x: 0.008274578, y: 0.009274824, z: -0.2073735, w: 0.9781829} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_4_Btm_joint5 - parentName: CLOTH_CLOTH_OutSkirt_4_Btm_joint4 - position: {x: -0.046288103, y: 1.4210854e-16, z: -3.7747583e-17} - rotation: {x: 0.0068838894, y: 0.010896698, z: 0.043856263, w: 0.9989547} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_4_Btm_joint6 - parentName: CLOTH_CLOTH_OutSkirt_4_Btm_joint5 - position: {x: -0.055256624, y: -1.4210854e-16, z: 3.9968027e-17} - rotation: {x: -0.035975892, y: -0.036348313, z: 0.17185685, w: 0.98379356} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_4_Btm_joint7 - parentName: CLOTH_CLOTH_OutSkirt_4_Btm_joint6 - position: {x: -0.048699677, y: -1.4210854e-16, z: -6.661338e-17} - rotation: {x: -0.40852284, y: -0.18300836, z: 0.17452753, w: 0.87701607} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_4_Btm_joint8 - parentName: CLOTH_CLOTH_OutSkirt_4_Btm_joint7 - position: {x: -0.06905561, y: 0, z: -3.5527136e-17} - rotation: {x: 0.12201271, y: 0.09537142, z: -0.41965482, w: 0.8943752} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_4_Btm_joint9 - parentName: CLOTH_CLOTH_OutSkirt_4_Btm_joint8 - position: {x: -0.07011213, y: 1.4210854e-16, z: -3.5527136e-17} - rotation: {x: -0.015517808, y: -0.017470276, z: 0.2547433, w: 0.96672636} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_4_Btm_joint10 - parentName: CLOTH_CLOTH_OutSkirt_4_Btm_joint9 - position: {x: -0.06437392, y: 0, z: 3.5527136e-17} - rotation: {x: 0.5469883, y: 0.21478811, z: 0.1707942, w: 0.7908851} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_4_Btm_joint11 - parentName: CLOTH_CLOTH_OutSkirt_4_Btm_joint10 - position: {x: -0.01825774, y: 0, z: 0} - rotation: {x: -0.27727905, y: -0.3261048, z: -0.5854254, w: 0.68851227} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_5_joint - parentName: CLOTH_Spine1 - position: {x: -0.09009645, y: 0.017820448, z: 0.010427765} - rotation: {x: 0, y: 0, z: 0.48901555, w: 0.87227505} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_5_Up_joint1 - parentName: CLOTH_CLOTH_OutSkirt_5_joint - position: {x: 0.020870809, y: 0.017912488, z: 0} - rotation: {x: -0.2130767, y: 0.97703546, z: 5.982617e-17, w: -1.3047185e-17} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_5_Up_joint2 - parentName: CLOTH_CLOTH_OutSkirt_5_Up_joint1 - position: {x: -0.034900453, y: 2.220446e-18, z: 7.395571e-34} - rotation: {x: 0.9938564, y: -0.1106775, z: -6.7770428e-18, w: 6.0856154e-17} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_5_Up_joint3 - parentName: CLOTH_CLOTH_OutSkirt_5_Up_joint2 - position: {x: -0.050858013, y: 4.440892e-18, z: -1.3701977e-18} - rotation: {x: 0, y: 0, z: 0.09162339, w: 0.99579376} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_5_Up_joint4 - parentName: CLOTH_CLOTH_OutSkirt_5_Up_joint3 - position: {x: -0.021275055, y: 4.2188474e-17, z: -1.5027749e-18} - rotation: {x: 0, y: 0, z: 0.9118811, w: 0.41045445} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_5_Btm_joint1 - parentName: CLOTH_CLOTH_OutSkirt_5_joint - position: {x: -0.07675641, y: -1.26287864e-17, z: 0} - rotation: {x: 0, y: 0, z: 0.009739048, w: 0.9999526} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_5_Btm_joint2 - parentName: CLOTH_CLOTH_OutSkirt_5_Btm_joint1 - position: {x: -0.117413975, y: 0.03520181, z: 0.003170482} - rotation: {x: 0, y: -0, z: -0.13420233, w: 0.990954} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_5_Btm_joint3 - parentName: CLOTH_CLOTH_OutSkirt_5_Btm_joint2 - position: {x: -0.062383506, y: -0.00066863425, z: -0.0020126775} - rotation: {x: 0, y: 0, z: 0.101675145, w: 0.9948177} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_5_Btm_joint4 - parentName: CLOTH_CLOTH_OutSkirt_5_Btm_joint3 - position: {x: -0.052441213, y: -0.0015155119, z: 0.00022048813} - rotation: {x: 0, y: 0, z: 0.000075849515, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_5_Btm_joint5 - parentName: CLOTH_CLOTH_OutSkirt_5_Btm_joint4 - position: {x: -0.050770685, y: -0.007862186, z: -0.00053523394} - rotation: {x: 0, y: 0, z: 0.03604643, w: 0.99935013} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_5_Btm_joint6 - parentName: CLOTH_CLOTH_OutSkirt_5_Btm_joint5 - position: {x: -0.051445726, y: -0.002242194, z: -0.000803926} - rotation: {x: 0, y: 0, z: 0.03248984, w: 0.9994721} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_5_Btm_joint7 - parentName: CLOTH_CLOTH_OutSkirt_5_Btm_joint6 - position: {x: -0.056451395, y: 0.00068798737, z: 0.00008139932} - rotation: {x: 0, y: -0, z: -0.0060613854, w: 0.99998164} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_5_Btm_joint8 - parentName: CLOTH_CLOTH_OutSkirt_5_Btm_joint7 - position: {x: -0.055434402, y: -0.0034444493, z: -0.000120532015} - rotation: {x: -0.029209742, y: -0.012453508, z: 0.06668762, w: 0.99726856} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_5_Btm_joint9 - parentName: CLOTH_CLOTH_OutSkirt_5_Btm_joint8 - position: {x: -0.009626982, y: -2.1316282e-16, z: -3.5527136e-17} - rotation: {x: 0.018379606, y: 0.025893798, z: -0.57852554, w: 0.81504595} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_6_joint - parentName: CLOTH_Spine1 - position: {x: -0.08286132, y: 0.017820448, z: -0.024536988} - rotation: {x: -0.06488574, y: -0.15700993, z: 0.37637815, w: 0.9107564} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_6_Up_joint1 - parentName: CLOTH_CLOTH_OutSkirt_6_joint - position: {x: 0.021371204, y: 0.031562865, z: -0.0032225687} - rotation: {x: -0.35394612, y: 0.91785693, z: 0.16407767, w: -0.0730715} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_6_Up_joint2 - parentName: CLOTH_CLOTH_OutSkirt_6_Up_joint1 - position: {x: -0.030985167, y: -5.3290704e-17, z: -2.6645352e-17} - rotation: {x: 0.9929785, y: -0.114002384, z: -0.0020000916, w: -0.031514406} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_6_Up_joint3 - parentName: CLOTH_CLOTH_OutSkirt_6_Up_joint2 - position: {x: -0.032770418, y: 5.3290704e-17, z: -8.881784e-18} - rotation: {x: 0.24711722, y: -0.09477348, z: 0.18072906, w: 0.9472529} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_6_Up_joint4 - parentName: CLOTH_CLOTH_OutSkirt_6_Up_joint3 - position: {x: -0.0105995415, y: -7.105427e-17, z: -1.3322676e-17} - rotation: {x: -0.0002253694, y: 0.085414805, z: 0.84554166, w: 0.5270328} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_6_Btm_joint1 - parentName: CLOTH_CLOTH_OutSkirt_6_joint - position: {x: -0.056824677, y: 0, z: 2.2204459e-17} - rotation: {x: -0.02636179, y: -0.02038411, z: 0.12838879, w: 0.9911639} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_6_Btm_joint2 - parentName: CLOTH_CLOTH_OutSkirt_6_Btm_joint1 - position: {x: -0.10503096, y: 0.020341264, z: -0.0019605737} - rotation: {x: 0, y: -0, z: -0.13420233, w: 0.990954} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_6_Btm_joint3 - parentName: CLOTH_CLOTH_OutSkirt_6_Btm_joint2 - position: {x: -0.059643812, y: -0.004840355, z: 0.0006715263} - rotation: {x: 0, y: 0, z: 0.101675145, w: 0.9948177} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_6_Btm_joint4 - parentName: CLOTH_CLOTH_OutSkirt_6_Btm_joint3 - position: {x: -0.06147775, y: 0.00071274146, z: 0.0011404488} - rotation: {x: 0, y: 0, z: 0.000075849515, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_6_Btm_joint5 - parentName: CLOTH_CLOTH_OutSkirt_6_Btm_joint4 - position: {x: -0.06470368, y: 0.006742819, z: 0.0026788511} - rotation: {x: 0, y: 0, z: 0.03604643, w: 0.99935013} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_6_Btm_joint6 - parentName: CLOTH_CLOTH_OutSkirt_6_Btm_joint5 - position: {x: -0.06731772, y: 0.030896079, z: 0.0011171049} - rotation: {x: 0, y: 0, z: 0.03248984, w: 0.9994721} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_6_Btm_joint7 - parentName: CLOTH_CLOTH_OutSkirt_6_Btm_joint6 - position: {x: -0.06673843, y: 0.039745852, z: -0.0019837304} - rotation: {x: 0, y: -0, z: -0.0060613854, w: 0.99998164} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_6_Btm_joint8 - parentName: CLOTH_CLOTH_OutSkirt_6_Btm_joint7 - position: {x: -0.06790707, y: 0.009113145, z: 0.011861905} - rotation: {x: -5.0059723e-21, y: 0.0000063697485, z: -0.36597517, w: 0.9306246} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_StarFishTassel_L_joint - parentName: CLOTH_CLOTH_OutSkirt_6_Btm_joint8 - position: {x: -0.029672524, y: -0.03138913, z: 0.0057333694} - rotation: {x: 0.22674245, y: 0.17471084, z: 0.5110863, w: 0.8104658} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_StarFishTassel_L_joint1 - parentName: CLOTH_CLOTH_StarFishTassel_L_joint - position: {x: -0.024219755, y: 0.00066333165, z: -0.00013966546} - rotation: {x: -0.094177626, y: -0.014143082, z: -0.054880086, w: 0.993941} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_StarFishTassel_L_joint2 - parentName: CLOTH_CLOTH_StarFishTassel_L_joint1 - position: {x: -0.018632531, y: 1.2842646e-17, z: -1.853552e-17} - rotation: {x: 0.022229645, y: 0.004619551, z: -0.00067467167, w: 0.99974203} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_StarFishTassel_L_joint3 - parentName: CLOTH_CLOTH_StarFishTassel_L_joint2 - position: {x: -0.018601349, y: 1.3833877e-17, z: -1.994932e-17} - rotation: {x: -0.08140166, y: -0.023613695, z: -0.07641883, w: 0.99346685} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_StarFishTassel_L_joint4 - parentName: CLOTH_CLOTH_StarFishTassel_L_joint3 - position: {x: -0.0049342555, y: -4.0735644e-17, z: -1.7208457e-17} - rotation: {x: 0.040549483, y: 0.058534093, z: -0.5680101, w: 0.8199354} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_7_joint - parentName: CLOTH_Spine1 - position: {x: -0.07616732, y: 0.017470248, z: -0.06219505} - rotation: {x: -0.17749596, y: -0.3245611, z: 0.4457783, w: 0.81513005} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_7_Up_joint1 - parentName: CLOTH_CLOTH_OutSkirt_7_joint - position: {x: 0.030604593, y: 0.015629577, z: -0.0013090146} - rotation: {x: -0.0012968497, y: 0.005882468, z: 0.93835115, w: -0.34563112} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_7_Up_joint2 - parentName: CLOTH_CLOTH_OutSkirt_7_Up_joint1 - position: {x: -0.032747503, y: 1.5099033e-16, z: 4.4131363e-17} - rotation: {x: 0.8743264, y: -0.095985755, z: 0.012645971, w: -0.475584} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_7_Up_joint3 - parentName: CLOTH_CLOTH_OutSkirt_7_Up_joint2 - position: {x: -0.035780076, y: -3.5527136e-17, z: -1.7763568e-17} - rotation: {x: 0.85963076, y: -0.30438098, z: 0.104520105, w: 0.39681572} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_7_Up_joint4 - parentName: CLOTH_CLOTH_OutSkirt_7_Up_joint3 - position: {x: -0.01044947, y: 0, z: -3.1086245e-17} - rotation: {x: 0.0011028385, y: 0.07891495, z: 0.83172685, w: 0.5495468} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_7_Btm_joint1 - parentName: CLOTH_CLOTH_OutSkirt_7_joint - position: {x: -0.061238326, y: 7.105427e-17, z: -1.7763568e-17} - rotation: {x: 0.009609854, y: 0.006162109, z: -0.000276897, w: 0.99993485} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_7_Btm_joint2 - parentName: CLOTH_CLOTH_OutSkirt_7_Btm_joint1 - position: {x: -0.05038294, y: -1.4210854e-16, z: 4.3409719e-16} - rotation: {x: 0.03721033, y: 0.021360606, z: 0.049275156, w: 0.99786323} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_7_Btm_joint3 - parentName: CLOTH_CLOTH_OutSkirt_7_Btm_joint2 - position: {x: -0.051700104, y: 7.105427e-17, z: 1.3322676e-17} - rotation: {x: 0.0027105373, y: 0.001303359, z: 0.023567697, w: 0.9997178} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_7_Btm_joint4 - parentName: CLOTH_CLOTH_OutSkirt_7_Btm_joint3 - position: {x: -0.057198036, y: -7.105427e-17, z: 3.1086245e-17} - rotation: {x: -0.07240562, y: -0.038901217, z: -0.068091355, w: 0.99428755} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_7_Btm_joint5 - parentName: CLOTH_CLOTH_OutSkirt_7_Btm_joint4 - position: {x: -0.063593216, y: 0, z: 2.220446e-18} - rotation: {x: 0.0072051496, y: 0.0053038597, z: -0.073099434, w: 0.99728453} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_7_Btm_joint6 - parentName: CLOTH_CLOTH_OutSkirt_7_Btm_joint5 - position: {x: -0.06289135, y: 0, z: 1.7763568e-17} - rotation: {x: -0.0063582575, y: -0.0054776296, z: -0.0034050273, w: 0.999959} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_7_Btm_joint7 - parentName: CLOTH_CLOTH_OutSkirt_7_Btm_joint6 - position: {x: -0.058863916, y: 0, z: -8.8817837e-17} - rotation: {x: 0.041818097, y: 0.031584006, z: 0.06752621, w: 0.9963403} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_7_Btm_joint8 - parentName: CLOTH_CLOTH_OutSkirt_7_Btm_joint7 - position: {x: -0.061854452, y: 0, z: 0} - rotation: {x: -0.05474311, y: -0.02817688, z: 0.103465185, w: 0.9927257} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_7_Btm_joint9 - parentName: CLOTH_CLOTH_OutSkirt_7_Btm_joint8 - position: {x: -0.07623741, y: 1.4210854e-16, z: 8.437695e-17} - rotation: {x: 0.31510016, y: 0.06938564, z: 0.14589523, w: 0.935207} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_7_Btm_joint10 - parentName: CLOTH_CLOTH_OutSkirt_7_Btm_joint9 - position: {x: -0.12410082, y: -1.4210854e-16, z: 3.5527136e-17} - rotation: {x: -0.22859867, y: -0.11794406, z: -0.38903353, w: 0.8845817} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_7_Btm_joint11 - parentName: CLOTH_CLOTH_OutSkirt_7_Btm_joint10 - position: {x: -0.023000471, y: 0, z: -7.9936054e-17} - rotation: {x: 0.11253263, y: 0.31805384, z: -0.31399748, w: 0.88745916} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_8_joint - parentName: CLOTH_Spine1 - position: {x: -0.038425647, y: 0.012403232, z: -0.09132429} - rotation: {x: -0.2390827, y: -0.40253156, z: 0.4512401, w: 0.75973034} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_8_Up_joint1 - parentName: CLOTH_CLOTH_OutSkirt_8_joint - position: {x: 0.038829934, y: 0.01194786, z: 0.0045237155} - rotation: {x: 0.04276809, y: -0.18995112, z: 0.94335824, w: -0.26863495} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_8_Up_joint2 - parentName: CLOTH_CLOTH_OutSkirt_8_Up_joint1 - position: {x: -0.032516178, y: 7.105427e-17, z: 5.3290704e-17} - rotation: {x: -0.73781234, y: 0.09319582, z: 0.04655103, w: 0.66691864} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_8_Up_joint3 - parentName: CLOTH_CLOTH_OutSkirt_8_Up_joint2 - position: {x: -0.03784829, y: 1.4210854e-16, z: 2.6645352e-17} - rotation: {x: 0.84503496, y: -0.21809138, z: 0.027929407, w: 0.4874137} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_8_Up_joint4 - parentName: CLOTH_CLOTH_OutSkirt_8_Up_joint3 - position: {x: -0.015404397, y: -3.5527136e-17, z: 3.330669e-17} - rotation: {x: 0.01171953, y: -0.093189314, z: 0.9028962, w: 0.41947207} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_8_Btm_joint1 - parentName: CLOTH_CLOTH_OutSkirt_8_joint - position: {x: -0.06259441, y: 7.105427e-17, z: -1.3322676e-17} - rotation: {x: -0.104501955, y: -0.059023257, z: -0.015146512, w: 0.9926561} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_8_Btm_joint2 - parentName: CLOTH_CLOTH_OutSkirt_8_Btm_joint1 - position: {x: -0.044876345, y: -0.00019239647, z: 0.0058147013} - rotation: {x: 0, y: -0, z: -0.13420233, w: 0.990954} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_8_Btm_joint3 - parentName: CLOTH_CLOTH_OutSkirt_8_Btm_joint2 - position: {x: -0.044612207, y: -0.0088551855, z: 0.0033772637} - rotation: {x: 0, y: 0, z: 0.101675145, w: 0.9948177} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_8_Btm_joint4 - parentName: CLOTH_CLOTH_OutSkirt_8_Btm_joint3 - position: {x: -0.051313896, y: 0.00088688347, z: 0.0012635756} - rotation: {x: 0, y: 0, z: 0.000075849515, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_8_Btm_joint5 - parentName: CLOTH_CLOTH_OutSkirt_8_Btm_joint4 - position: {x: -0.06616962, y: 0.009400845, z: -0.0018427599} - rotation: {x: 0, y: 0, z: 0.03604643, w: 0.99935013} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_8_Btm_joint6 - parentName: CLOTH_CLOTH_OutSkirt_8_Btm_joint5 - position: {x: -0.06184121, y: 0.028307518, z: -0.0066939974} - rotation: {x: 0, y: 0, z: 0.03248984, w: 0.9994721} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_8_Btm_joint7 - parentName: CLOTH_CLOTH_OutSkirt_8_Btm_joint6 - position: {x: -0.066716984, y: 0.028740648, z: -0.0059726187} - rotation: {x: 0, y: -0, z: -0.0060613854, w: 0.99998164} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_8_Btm_joint8 - parentName: CLOTH_CLOTH_OutSkirt_8_Btm_joint7 - position: {x: -0.0719122, y: 0.017227968, z: 0.0009251403} - rotation: {x: 0.041394677, y: 0.021223169, z: -0.003971326, w: 0.9989096} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_8_Btm_joint9 - parentName: CLOTH_CLOTH_OutSkirt_8_Btm_joint8 - position: {x: -0.09422057, y: 0.00055688806, z: 0.0003707227} - rotation: {x: 0.0438011, y: 0.016732557, z: 0.11246652, w: 0.99254864} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_StarFishTassel_LB_joint - parentName: CLOTH_CLOTH_OutSkirt_8_Btm_joint9 - position: {x: -0.02846059, y: 0.001860155, z: -0.00122618} - rotation: {x: -0.061487313, y: 0.033630684, z: 0.047820434, w: 0.9963943} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_StarFishTassel_LB_joint1 - parentName: CLOTH_CLOTH_StarFishTassel_LB_joint - position: {x: -0.024219755, y: 0.00066333165, z: -0.00013966546} - rotation: {x: -0.094177626, y: -0.014143082, z: -0.054880086, w: 0.993941} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_StarFishTassel_LB_joint2 - parentName: CLOTH_CLOTH_StarFishTassel_LB_joint1 - position: {x: -0.018632531, y: 1.2842646e-17, z: -1.853552e-17} - rotation: {x: 0.022229645, y: 0.004619551, z: -0.00067467167, w: 0.99974203} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_StarFishTassel_LB_joint3 - parentName: CLOTH_CLOTH_StarFishTassel_LB_joint2 - position: {x: -0.018601349, y: 1.3833877e-17, z: -1.994932e-17} - rotation: {x: -0.08140166, y: -0.023613695, z: -0.07641883, w: 0.99346685} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_StarFishTassel_LB_joint4 - parentName: CLOTH_CLOTH_StarFishTassel_LB_joint3 - position: {x: -0.0049342555, y: -4.0735644e-17, z: -1.7208457e-17} - rotation: {x: 0.040549483, y: 0.058534093, z: -0.5680101, w: 0.8199354} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_9_joint - parentName: CLOTH_Spine1 - position: {x: -0.0019662715, y: 0.011311421, z: -0.09539091} - rotation: {x: -0.31975776, y: -0.6262698, z: 0.32332128, w: 0.6332492} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_9_Up_joint1 - parentName: CLOTH_CLOTH_OutSkirt_9_joint - position: {x: 0.03983763, y: 0.016197877, z: 0.0013152302} - rotation: {x: 0.0999444, y: -0.317614, z: 0.89453804, w: -0.29821834} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_9_Up_joint2 - parentName: CLOTH_CLOTH_OutSkirt_9_Up_joint1 - position: {x: -0.032743275, y: 4.860695e-17, z: 3.8163916e-17} - rotation: {x: 0.96379906, y: -0.10747001, z: -0.022932723, w: -0.24293137} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_9_Up_joint3 - parentName: CLOTH_CLOTH_OutSkirt_9_Up_joint2 - position: {x: -0.038578805, y: 1.3947177e-17, z: 4.9960034e-18} - rotation: {x: 0.9633618, y: -0.26302117, z: -0.0032180022, w: -0.052379247} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_9_Up_joint4 - parentName: CLOTH_CLOTH_OutSkirt_9_Up_joint3 - position: {x: -0.012002802, y: 1.4970664e-17, z: 1.6930902e-17} - rotation: {x: 0.006017965, y: -0.039985545, z: 0.8875257, w: 0.45898053} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_9_Btm_joint1 - parentName: CLOTH_CLOTH_OutSkirt_9_joint - position: {x: -0.061234698, y: 4.440892e-18, z: 3.8001153e-18} - rotation: {x: -0.012775683, y: -0.008280705, z: 0.05154221, w: 0.99855477} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_9_Btm_joint2 - parentName: CLOTH_CLOTH_OutSkirt_9_Btm_joint1 - position: {x: -0.040125735, y: -5.3290704e-17, z: -2.8449465e-18} - rotation: {x: -0.0034929719, y: -0.0014719813, z: 0.12435898, w: 0.99223006} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_9_Btm_joint3 - parentName: CLOTH_CLOTH_OutSkirt_9_Btm_joint2 - position: {x: -0.047043227, y: -7.9936054e-17, z: -1.5265567e-18} - rotation: {x: 0.012870867, y: 0.003896589, z: -0.019824822, w: 0.99971306} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_9_Btm_joint4 - parentName: CLOTH_CLOTH_OutSkirt_9_Btm_joint3 - position: {x: -0.063920304, y: 8.659739e-17, z: 5.8260957e-18} - rotation: {x: 0.006567935, y: 0.0023723182, z: -0.03280707, w: 0.99943733} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_9_Btm_joint5 - parentName: CLOTH_CLOTH_OutSkirt_9_Btm_joint4 - position: {x: -0.07295249, y: -1.7763568e-17, z: -7.077672e-18} - rotation: {x: -0.013475287, y: -0.007496375, z: -0.12787631, w: 0.99167025} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_9_Btm_joint6 - parentName: CLOTH_CLOTH_OutSkirt_9_Btm_joint5 - position: {x: -0.057344645, y: -1.02140514e-16, z: -1.5265567e-18} - rotation: {x: 0.006622625, y: 0.004686377, z: 0.020082718, w: 0.9997654} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_9_Btm_joint7 - parentName: CLOTH_CLOTH_OutSkirt_9_Btm_joint6 - position: {x: -0.058866534, y: 0, z: 1.9220736e-17} - rotation: {x: 0.010315167, y: 0.006021441, z: 0.06730635, w: 0.9976609} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_9_Btm_joint8 - parentName: CLOTH_CLOTH_OutSkirt_9_Btm_joint7 - position: {x: -0.06642445, y: -1.7763568e-17, z: 1.5265567e-18} - rotation: {x: -0.026711306, y: -0.010784947, z: 0.07716831, w: 0.9966019} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_9_Btm_joint9 - parentName: CLOTH_CLOTH_OutSkirt_9_Btm_joint8 - position: {x: -0.079185836, y: -3.9968027e-17, z: -3.0531133e-18} - rotation: {x: 0.19616139, y: 0.033825688, z: 0.13258365, w: 0.97097796} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_9_Btm_joint10 - parentName: CLOTH_CLOTH_OutSkirt_9_Btm_joint9 - position: {x: -0.09329248, y: 5.662137e-17, z: -2.0816682e-17} - rotation: {x: -0.21784827, y: -0.019215351, z: -0.051620718, w: 0.9744271} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_9_Btm_joint11 - parentName: CLOTH_CLOTH_OutSkirt_9_Btm_joint10 - position: {x: -0.011943733, y: 1.7763568e-17, z: 4.3697682e-17} - rotation: {x: 0.48052624, y: 0.55349565, z: -0.44595477, w: 0.51367444} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_10_joint - parentName: CLOTH_Spine1 - position: {x: 0.0384256, y: 0.0124029815, z: -0.09132423} - rotation: {x: 0.75973034, y: -0.4512401, z: -0.40253156, w: 0.2390827} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_10_Up_joint1 - parentName: CLOTH_CLOTH_OutSkirt_10_joint - position: {x: -0.038830183, y: -0.011948126, z: -0.004523735} - rotation: {x: 0.04276809, y: -0.18995112, z: 0.94335824, w: -0.26863495} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_10_Up_joint2 - parentName: CLOTH_CLOTH_OutSkirt_10_Up_joint1 - position: {x: 0.032518893, y: -0.00000020582337, z: -0.0000000281506} - rotation: {x: -0.73781234, y: 0.09319582, z: 0.04655103, w: 0.66691864} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_10_Up_joint3 - parentName: CLOTH_CLOTH_OutSkirt_10_Up_joint2 - position: {x: 0.03784974, y: -0.00000031859994, z: 0.00000004007236} - rotation: {x: 0.84503496, y: -0.21809138, z: 0.027929407, w: 0.4874137} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_10_Up_joint4 - parentName: CLOTH_CLOTH_OutSkirt_10_Up_joint3 - position: {x: 0.0154034365, y: 0.00000029209676, z: -0.0000000015363756} - rotation: {x: 0.01171953, y: -0.093189314, z: 0.9028962, w: 0.41947207} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_10_Btm_joint1 - parentName: CLOTH_CLOTH_OutSkirt_10_joint - position: {x: 0.06259424, y: -0.00000029910774, z: 0.0000000141581} - rotation: {x: -0.104501955, y: -0.059023257, z: -0.015146512, w: 0.9926561} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_10_Btm_joint2 - parentName: CLOTH_CLOTH_OutSkirt_10_Btm_joint1 - position: {x: 0.044876512, y: 0.00019313791, z: -0.0058148745} - rotation: {x: 0, y: -0, z: -0.13420233, w: 0.990954} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_10_Btm_joint3 - parentName: CLOTH_CLOTH_OutSkirt_10_Btm_joint2 - position: {x: 0.04461221, y: 0.008854158, z: -0.0033769698} - rotation: {x: 0, y: 0, z: 0.101675145, w: 0.9948177} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_10_Btm_joint4 - parentName: CLOTH_CLOTH_OutSkirt_10_Btm_joint3 - position: {x: 0.051313765, y: -0.0008867725, z: -0.0012636996} - rotation: {x: 0, y: 0, z: 0.000075849515, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_10_Btm_joint5 - parentName: CLOTH_CLOTH_OutSkirt_10_Btm_joint4 - position: {x: 0.06616956, y: -0.009400436, z: 0.0018430623} - rotation: {x: 0, y: 0, z: 0.03604643, w: 0.99935013} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_10_Btm_joint6 - parentName: CLOTH_CLOTH_OutSkirt_10_Btm_joint5 - position: {x: 0.061841745, y: -0.02830812, z: 0.0066936426} - rotation: {x: 0, y: 0, z: 0.03248984, w: 0.9994721} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_10_Btm_joint7 - parentName: CLOTH_CLOTH_OutSkirt_10_Btm_joint6 - position: {x: 0.06671684, y: -0.028740423, z: 0.0059726173} - rotation: {x: 0, y: -0, z: -0.0060613854, w: 0.99998164} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_10_Btm_joint8 - parentName: CLOTH_CLOTH_OutSkirt_10_Btm_joint7 - position: {x: 0.07191241, y: -0.017227834, z: -0.0009244811} - rotation: {x: 0.041394677, y: 0.021223169, z: -0.003971326, w: 0.9989096} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_10_Btm_joint9 - parentName: CLOTH_CLOTH_OutSkirt_10_Btm_joint8 - position: {x: 0.09421993, y: -0.00055677374, z: -0.00037101022} - rotation: {x: 0.0438011, y: 0.016732557, z: 0.11246652, w: 0.99254864} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_StarFishTassel_RightB_joint - parentName: CLOTH_CLOTH_OutSkirt_10_Btm_joint9 - position: {x: 0.028460894, y: -0.0018603328, z: 0.0012258755} - rotation: {x: -0.13321196, y: 0.4517468, z: 0.8796957, w: -0.06568768} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_StarFishTassel_RightB_joint1 - parentName: CLOTH_CLOTH_StarFishTassel_RightB_joint - position: {x: -0.023163596, y: -0.0022888032, z: -0.0067279437} - rotation: {x: -0.094177626, y: -0.014143082, z: -0.054880086, w: 0.993941} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_StarFishTassel_RightB_joint2 - parentName: CLOTH_CLOTH_StarFishTassel_RightB_joint1 - position: {x: -0.017769687, y: -0.0011974272, z: -0.0054749986} - rotation: {x: 0.022229645, y: 0.004619551, z: -0.00067467167, w: 0.99974203} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_StarFishTassel_RightB_joint3 - parentName: CLOTH_CLOTH_StarFishTassel_RightB_joint2 - position: {x: -0.017632851, y: -0.001522454, z: -0.0057249307} - rotation: {x: -0.08140166, y: -0.023613695, z: -0.07641883, w: 0.99346685} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_StarFishTassel_RightB_joint4 - parentName: CLOTH_CLOTH_StarFishTassel_RightB_joint3 - position: {x: -0.0047402657, y: -0.00009875487, z: -0.0013663825} - rotation: {x: 0.040549483, y: 0.058534093, z: -0.5680101, w: 0.8199354} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_11_joint - parentName: CLOTH_Spine1 - position: {x: 0.07218139, y: 0.017470248, z: -0.06219505} - rotation: {x: -0.17749596, y: -0.3245611, z: 0.4457783, w: 0.81513005} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_11_Up_joint1 - parentName: CLOTH_CLOTH_OutSkirt_11_joint - position: {x: 0.027990378, y: 0.019708946, z: 0.0032763334} - rotation: {x: -0.0012968497, y: 0.005882468, z: 0.93835115, w: -0.34563112} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_11_Up_joint2 - parentName: CLOTH_CLOTH_OutSkirt_11_Up_joint1 - position: {x: -0.032127526, y: 0.0045329183, z: -0.004435503} - rotation: {x: 0.8743264, y: -0.095985755, z: 0.012645971, w: -0.475584} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_11_Up_joint3 - parentName: CLOTH_CLOTH_OutSkirt_11_Up_joint2 - position: {x: -0.035762496, y: 0.0002119081, z: 0.0011012057} - rotation: {x: 0.85963076, y: -0.30438098, z: 0.104520105, w: 0.39681572} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_11_Up_joint4 - parentName: CLOTH_CLOTH_OutSkirt_11_Up_joint3 - position: {x: -0.007992929, y: 0.0036072943, z: -0.005682601} - rotation: {x: 0.0011028385, y: 0.07891495, z: 0.83172685, w: 0.5495468} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_11_Btm_joint1 - parentName: CLOTH_CLOTH_OutSkirt_11_joint - position: {x: -0.042429246, y: -0.029350784, z: -0.032991264} - rotation: {x: 0.009609854, y: 0.006162109, z: -0.000276897, w: 0.99993485} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_11_Btm_joint2 - parentName: CLOTH_CLOTH_OutSkirt_11_Btm_joint1 - position: {x: -0.034212444, y: -0.025202636, z: -0.027069835} - rotation: {x: 0.03721033, y: 0.021360606, z: 0.049275156, w: 0.99786323} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_11_Btm_joint3 - parentName: CLOTH_CLOTH_OutSkirt_11_Btm_joint2 - position: {x: -0.038148526, y: -0.026560945, z: -0.022629777} - rotation: {x: 0.0027105373, y: 0.001303359, z: 0.023567697, w: 0.9997178} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_11_Btm_joint4 - parentName: CLOTH_CLOTH_OutSkirt_11_Btm_joint3 - position: {x: -0.04476481, y: -0.027498066, z: -0.022618217} - rotation: {x: -0.07240562, y: -0.038901217, z: -0.068091355, w: 0.99428755} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_11_Btm_joint5 - parentName: CLOTH_CLOTH_OutSkirt_11_Btm_joint4 - position: {x: -0.04637543, y: -0.02737807, z: -0.03382096} - rotation: {x: 0.0072051496, y: 0.0053038597, z: -0.073099434, w: 0.99728453} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_11_Btm_joint6 - parentName: CLOTH_CLOTH_OutSkirt_11_Btm_joint5 - position: {x: -0.036547717, y: -0.030790256, z: -0.04088455} - rotation: {x: -0.0063582575, y: -0.0054776296, z: -0.0034050273, w: 0.999959} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_11_Btm_joint7 - parentName: CLOTH_CLOTH_OutSkirt_11_Btm_joint6 - position: {x: -0.03466249, y: -0.027899554, z: -0.038536828} - rotation: {x: 0.041818097, y: 0.031584006, z: 0.06752621, w: 0.9963403} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_11_Btm_joint8 - parentName: CLOTH_CLOTH_OutSkirt_11_Btm_joint7 - position: {x: -0.040238608, y: -0.033050776, z: -0.033383727} - rotation: {x: -0.05474311, y: -0.02817688, z: 0.103465185, w: 0.9927257} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_11_Btm_joint9 - parentName: CLOTH_CLOTH_OutSkirt_11_Btm_joint8 - position: {x: -0.06698579, y: -0.023747182, z: -0.027588371} - rotation: {x: 0.31510016, y: 0.06938564, z: 0.14589523, w: 0.935207} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_11_Btm_joint10 - parentName: CLOTH_CLOTH_OutSkirt_11_Btm_joint9 - position: {x: -0.12317496, y: -0.014917149, z: -0.0025338896} - rotation: {x: -0.22859867, y: -0.11794406, z: -0.38903353, w: 0.8845817} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_11_Btm_joint11 - parentName: CLOTH_CLOTH_OutSkirt_11_Btm_joint10 - position: {x: -0.006412816, y: -0.01341767, z: -0.017546045} - rotation: {x: 0.11253263, y: 0.31805384, z: -0.31399748, w: 0.88745916} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_12_joint - parentName: CLOTH_Spine1 - position: {x: 0.078875385, y: 0.017820448, z: -0.024536988} - rotation: {x: -0.06488574, y: -0.15700993, z: 0.37637815, w: 0.9107564} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_12_Up_joint1 - parentName: CLOTH_CLOTH_OutSkirt_12_joint - position: {x: 0.028917935, y: 0.0240407, z: -0.0070089535} - rotation: {x: -0.35394612, y: 0.91785693, z: 0.16407767, w: -0.0730715} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_12_Up_joint2 - parentName: CLOTH_CLOTH_OutSkirt_12_Up_joint1 - position: {x: -0.030824644, y: 0.003149286, z: 0.00006229511} - rotation: {x: 0.9929785, y: -0.114002384, z: -0.0020000916, w: -0.031514406} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_12_Up_joint3 - parentName: CLOTH_CLOTH_OutSkirt_12_Up_joint2 - position: {x: -0.030726615, y: 0.011380817, z: -0.000502302} - rotation: {x: 0.24711722, y: -0.09477348, z: 0.18072906, w: 0.9472529} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_12_Up_joint4 - parentName: CLOTH_CLOTH_OutSkirt_12_Up_joint3 - position: {x: -0.006479787, y: 0.006648516, z: -0.0051146727} - rotation: {x: -0.0002253694, y: 0.085414805, z: 0.84554166, w: 0.5270328} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_12_Btm_joint1 - parentName: CLOTH_CLOTH_OutSkirt_12_joint - position: {x: -0.0062064966, y: -0.050453395, z: -0.025396416} - rotation: {x: -0.02636179, y: -0.02038411, z: 0.12838879, w: 0.9911639} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_12_Btm_joint2 - parentName: CLOTH_CLOTH_OutSkirt_12_Btm_joint1 - position: {x: -0.045676455, y: -0.081100985, z: -0.052776936} - rotation: {x: 0, y: -0, z: -0.13420233, w: 0.990954} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_12_Btm_joint3 - parentName: CLOTH_CLOTH_OutSkirt_12_Btm_joint2 - position: {x: -0.011791916, y: -0.051443942, z: -0.028208792} - rotation: {x: 0, y: 0, z: 0.101675145, w: 0.9948177} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_12_Btm_joint4 - parentName: CLOTH_CLOTH_OutSkirt_12_Btm_joint3 - position: {x: -0.027918274, y: -0.048880704, z: -0.024750132} - rotation: {x: 0, y: 0, z: 0.000075849515, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_12_Btm_joint5 - parentName: CLOTH_CLOTH_OutSkirt_12_Btm_joint4 - position: {x: -0.024108922, y: -0.05326682, z: -0.028646354} - rotation: {x: 0, y: 0, z: 0.03604643, w: 0.99935013} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_12_Btm_joint6 - parentName: CLOTH_CLOTH_OutSkirt_12_Btm_joint5 - position: {x: -0.01612894, y: -0.057959914, z: -0.04322033} - rotation: {x: 0, y: 0, z: 0.03248984, w: 0.9994721} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_12_Btm_joint7 - parentName: CLOTH_CLOTH_OutSkirt_12_Btm_joint6 - position: {x: -0.018876119, y: -0.057429142, z: -0.048818763} - rotation: {x: 0, y: -0, z: -0.0060613854, w: 0.99998164} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_12_Btm_joint8 - parentName: CLOTH_CLOTH_OutSkirt_12_Btm_joint7 - position: {x: -0.03434774, y: -0.056988567, z: -0.020190604} - rotation: {x: -5.233517e-21, y: 0.0000063697485, z: -0.36597517, w: 0.9306246} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_StarFishTassel_Right_joint - parentName: CLOTH_CLOTH_OutSkirt_12_Btm_joint8 - position: {x: 0.004646867, y: -0.043980863, z: -0.010071986} - rotation: {x: 0.22674245, y: 0.17471084, z: 0.5110863, w: 0.8104658} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_StarFishTassel_Right_joint1 - parentName: CLOTH_CLOTH_StarFishTassel_Right_joint - position: {x: -0.023681816, y: -0.0050485586, z: 0.0008600868} - rotation: {x: -0.094177626, y: -0.014143082, z: -0.054880086, w: 0.993941} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_StarFishTassel_Right_joint2 - parentName: CLOTH_CLOTH_StarFishTassel_Right_joint1 - position: {x: -0.017100368, y: -0.00739795, z: -0.00013774131} - rotation: {x: 0.022229645, y: 0.004619551, z: -0.00067467167, w: 0.99974203} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_StarFishTassel_Right_joint3 - parentName: CLOTH_CLOTH_StarFishTassel_Right_joint2 - position: {x: -0.01705238, y: -0.007428587, z: 0.00020632608} - rotation: {x: -0.08140166, y: -0.023613695, z: -0.07641883, w: 0.99346685} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_StarFishTassel_Right_joint4 - parentName: CLOTH_CLOTH_StarFishTassel_Right_joint3 - position: {x: -0.0037399866, y: -0.0031814384, z: -0.0004876726} - rotation: {x: 0.040549483, y: 0.058534093, z: -0.5680101, w: 0.8199354} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_13_joint - parentName: CLOTH_Spine1 - position: {x: 0.08611052, y: 0.017820448, z: 0.010427765} - rotation: {x: 0, y: 0, z: 0.48901555, w: 0.87227505} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_13_Up_joint1 - parentName: CLOTH_CLOTH_OutSkirt_13_joint - position: {x: 0.025454171, y: 0.010417923, z: 0} - rotation: {x: -0.2130767, y: 0.97703546, z: 5.982617e-17, w: -1.3047185e-17} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_13_Up_joint2 - parentName: CLOTH_CLOTH_OutSkirt_13_Up_joint1 - position: {x: -0.03390959, y: 0.008257206, z: 1.011216e-18} - rotation: {x: 0.9938564, y: -0.1106775, z: -6.7770428e-18, w: 6.0856154e-17} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_13_Up_joint3 - parentName: CLOTH_CLOTH_OutSkirt_13_Up_joint2 - position: {x: -0.049795568, y: 0.010341122, z: 1.1602444e-18} - rotation: {x: 0, y: 0, z: 0.09162339, w: 0.99579376} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_13_Up_joint4 - parentName: CLOTH_CLOTH_OutSkirt_13_Up_joint3 - position: {x: -0.01789115, y: 0.011512374, z: 1.4180679e-18} - rotation: {x: 0, y: 0, z: 0.9118811, w: 0.41045445} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_13_Btm_joint1 - parentName: CLOTH_CLOTH_OutSkirt_13_joint - position: {x: -0.034970272, y: -0.06832735, z: 0} - rotation: {x: 0, y: 0, z: 0.009739048, w: 0.9999526} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_13_Btm_joint2 - parentName: CLOTH_CLOTH_OutSkirt_13_Btm_joint1 - position: {x: -0.026836347, y: -0.1196036, z: 0.003170482} - rotation: {x: 0, y: -0, z: -0.13420233, w: 0.990954} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_13_Btm_joint3 - parentName: CLOTH_CLOTH_OutSkirt_13_Btm_joint2 - position: {x: 0.0009802147, y: -0.062379394, z: -0.0020126775} - rotation: {x: 0, y: 0, z: 0.101675145, w: 0.9948177} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_13_Btm_joint4 - parentName: CLOTH_CLOTH_OutSkirt_13_Btm_joint3 - position: {x: -0.020905819, y: -0.048117816, z: 0.00022048813} - rotation: {x: 0, y: 0, z: 0.000075849515, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_13_Btm_joint5 - parentName: CLOTH_CLOTH_OutSkirt_13_Btm_joint4 - position: {x: -0.026189722, y: -0.044199266, z: -0.00053523394} - rotation: {x: 0, y: 0, z: 0.03604643, w: 0.99935013} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_13_Btm_joint6 - parentName: CLOTH_CLOTH_OutSkirt_13_Btm_joint5 - position: {x: -0.027746959, y: -0.04337968, z: -0.000803926} - rotation: {x: 0, y: 0, z: 0.03248984, w: 0.9994721} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_13_Btm_joint7 - parentName: CLOTH_CLOTH_OutSkirt_13_Btm_joint6 - position: {x: -0.03386383, y: -0.045171607, z: 0.00008139932} - rotation: {x: 0, y: -0, z: -0.0060613854, w: 0.99998164} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_13_Btm_joint8 - parentName: CLOTH_CLOTH_OutSkirt_13_Btm_joint7 - position: {x: -0.035494726, y: -0.04271957, z: -0.000120532015} - rotation: {x: -0.029209742, y: -0.012453508, z: 0.06668762, w: 0.99726856} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_13_Btm_joint9 - parentName: CLOTH_CLOTH_OutSkirt_13_Btm_joint8 - position: {x: -0.0075394236, y: -0.0059727654, z: -0.000402425} - rotation: {x: 0.018379606, y: 0.025893798, z: -0.57852554, w: 0.81504595} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_14_joint - parentName: CLOTH_Spine1 - position: {x: 0.08319968, y: 0.022259988, z: 0.037361547} - rotation: {x: 0.09032145, y: 0.15217002, z: 0.50236046, w: 0.84635705} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_14_Up_joint1 - parentName: CLOTH_CLOTH_OutSkirt_14_joint - position: {x: 0.03644329, y: 0.016727772, z: 0.004153295} - rotation: {x: 0.15146768, y: -0.6544126, z: 0.713574, w: -0.19903223} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_14_Up_joint2 - parentName: CLOTH_CLOTH_OutSkirt_14_Up_joint1 - position: {x: -0.034187842, y: 0.00019817495, z: -0.00075166166} - rotation: {x: 0.68639493, y: -0.058839004, z: 0.02967678, w: 0.724237} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_14_Up_joint3 - parentName: CLOTH_CLOTH_OutSkirt_14_Up_joint2 - position: {x: -0.035684254, y: 0.008345743, z: 0.0026842277} - rotation: {x: -0.17153694, y: 0.052515663, z: 0.16703978, w: 0.9694921} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_14_Up_joint4 - parentName: CLOTH_CLOTH_OutSkirt_14_Up_joint3 - position: {x: -0.008488058, y: 0.0055991835, z: 0.004965561} - rotation: {x: 0.0024806936, y: -0.15624088, z: 0.8744585, w: 0.45924404} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_14_Btm_joint1 - parentName: CLOTH_CLOTH_OutSkirt_14_joint - position: {x: -0.027645165, y: -0.034221373, z: 0.014486314} - rotation: {x: -0.047050036, y: -0.029082837, z: -0.054070815, w: 0.9970039} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_14_Btm_joint2 - parentName: CLOTH_CLOTH_OutSkirt_14_Btm_joint1 - position: {x: -0.018816162, y: -0.04299733, z: 0.013101676} - rotation: {x: 0.03569513, y: 0.022106389, z: 0.053250723, w: 0.9976981} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_14_Btm_joint3 - parentName: CLOTH_CLOTH_OutSkirt_14_Btm_joint2 - position: {x: -0.029200207, y: -0.037571948, z: 0.01463096} - rotation: {x: 0.0063135237, y: 0.00402277, z: -0.06607594, w: 0.9977865} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_14_Btm_joint4 - parentName: CLOTH_CLOTH_OutSkirt_14_Btm_joint3 - position: {x: -0.019341635, y: -0.04315134, z: 0.01918392} - rotation: {x: 0.008274578, y: 0.009274824, z: -0.2073735, w: 0.9781829} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_14_Btm_joint5 - parentName: CLOTH_CLOTH_OutSkirt_14_Btm_joint4 - position: {x: 0.014395737, y: -0.034709647, z: 0.027029458} - rotation: {x: 0.0068838894, y: 0.010896698, z: 0.043856263, w: 0.9989547} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_14_Btm_joint6 - parentName: CLOTH_CLOTH_OutSkirt_14_Btm_joint5 - position: {x: 0.008247828, y: -0.04413028, z: 0.032214683} - rotation: {x: -0.035975892, y: -0.036348313, z: 0.17185685, w: 0.98379356} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_14_Btm_joint7 - parentName: CLOTH_CLOTH_OutSkirt_14_Btm_joint6 - position: {x: -0.018751493, y: -0.04216279, z: 0.015567257} - rotation: {x: -0.40852284, y: -0.18300836, z: 0.17452753, w: 0.87701607} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_14_Btm_joint8 - parentName: CLOTH_CLOTH_OutSkirt_14_Btm_joint7 - position: {x: -0.06461588, y: -0.019421756, z: -0.014705787} - rotation: {x: 0.12201271, y: 0.09537142, z: -0.41965482, w: 0.8943752} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_14_Btm_joint9 - parentName: CLOTH_CLOTH_OutSkirt_14_Btm_joint8 - position: {x: 0.030133829, y: -0.050748352, z: -0.03784532} - rotation: {x: -0.015517808, y: -0.017470276, z: 0.2547433, w: 0.96672636} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_14_Btm_joint10 - parentName: CLOTH_CLOTH_OutSkirt_14_Btm_joint9 - position: {x: -0.030100586, y: -0.05153725, z: -0.02412193} - rotation: {x: 0.5469883, y: 0.21478811, z: 0.1707942, w: 0.7908851} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_14_Btm_joint11 - parentName: CLOTH_CLOTH_OutSkirt_14_Btm_joint10 - position: {x: -0.017878834, y: -0.002325914, z: 0.002877934} - rotation: {x: -0.27727905, y: -0.3261048, z: -0.5854254, w: 0.68851227} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_15_joint - parentName: CLOTH_Spine1 - position: {x: 0.073470384, y: 0.028489832, z: 0.062263012} - rotation: {x: 0.12960148, y: 0.2491692, z: 0.4428729, w: 0.8514586} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_15_Up_joint1 - parentName: CLOTH_CLOTH_OutSkirt_15_joint - position: {x: 0.032004196, y: 0.019371636, z: 0.0055365944} - rotation: {x: -0.0033052275, y: 0.011091134, z: 0.9485664, w: -0.3163668} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_15_Up_joint2 - parentName: CLOTH_CLOTH_OutSkirt_15_Up_joint1 - position: {x: -0.032958377, y: 0.0015555085, z: 0.0009461366} - rotation: {x: 0.16411567, y: -0.008797475, z: 0.020970654, w: 0.98617893} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_15_Up_joint3 - parentName: CLOTH_CLOTH_OutSkirt_15_Up_joint2 - position: {x: -0.03819053, y: 0.005490119, z: 0.0012082162} - rotation: {x: -0.18972409, y: 0.07340532, z: 0.28405324, w: 0.9369793} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_15_Up_joint4 - parentName: CLOTH_CLOTH_OutSkirt_15_Up_joint3 - position: {x: -0.01027488, y: 0.013059126, z: 0.011978288} - rotation: {x: -0.0007322713, y: -0.028172439, z: 0.8032476, w: 0.5949783} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_15_Btm_joint1 - parentName: CLOTH_CLOTH_OutSkirt_15_joint - position: {x: -0.03955976, y: -0.04955964, z: 0.038744766} - rotation: {x: 0.03866313, y: 0.02777813, z: -0.011452418, w: 0.9988005} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_15_Btm_joint2 - parentName: CLOTH_CLOTH_OutSkirt_15_Btm_joint1 - position: {x: -0.022485802, y: -0.023560775, z: 0.022922082} - rotation: {x: 0.010060853, y: 0.00617056, z: 0.08421291, w: 0.9963779} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_15_Btm_joint3 - parentName: CLOTH_CLOTH_OutSkirt_15_Btm_joint2 - position: {x: -0.030328244, y: -0.01912516, z: 0.017603777} - rotation: {x: -0.034101665, y: -0.013982103, z: 0.07660503, w: 0.9963801} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_15_Btm_joint4 - parentName: CLOTH_CLOTH_OutSkirt_15_Btm_joint3 - position: {x: -0.03903351, y: -0.017440615, z: 0.012932735} - rotation: {x: 0.024865195, y: 0.011235943, z: -0.11176024, w: 0.9933605} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_15_Btm_joint5 - parentName: CLOTH_CLOTH_OutSkirt_15_Btm_joint4 - position: {x: -0.02541049, y: -0.02024261, z: 0.018623084} - rotation: {x: 0.04839449, y: 0.042900898, z: -0.18733568, w: 0.9801647} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_15_Btm_joint6 - parentName: CLOTH_CLOTH_OutSkirt_15_Btm_joint5 - position: {x: -0.005245906, y: -0.006347325, z: 0.010673954} - rotation: {x: -0.12535095, y: -0.36797085, z: -0.29709655, w: 0.87213427} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_16_joint - parentName: CLOTH_Spine1 - position: {x: 0.05434139, y: 0.031699527, z: 0.08691281} - rotation: {x: 0.26355156, y: 0.36255595, z: 0.52561504, w: 0.7230647} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_16_Up_joint1 - parentName: CLOTH_CLOTH_OutSkirt_16_joint - position: {x: 0.03316335, y: 0.011093648, z: 0.00090493605} - rotation: {x: 0.0073562637, y: -0.08032691, z: 0.9722075, w: -0.21978651} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_16_Up_joint2 - parentName: CLOTH_CLOTH_OutSkirt_16_Up_joint1 - position: {x: -0.034753285, y: 0.0019316998, z: 0.0037449338} - rotation: {x: 0.9197057, y: -0.09685545, z: -0.009922892, w: 0.38034454} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_16_Up_joint3 - parentName: CLOTH_CLOTH_OutSkirt_16_Up_joint2 - position: {x: -0.040970042, y: 0.000565677, z: -0.001828666} - rotation: {x: 0.8348105, y: -0.40619949, z: -0.13576798, w: -0.34591985} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_16_Up_joint4 - parentName: CLOTH_CLOTH_OutSkirt_16_Up_joint3 - position: {x: -0.013711046, y: 0.0034342804, z: 0.010220465} - rotation: {x: -0.02289111, y: -0.08724178, z: 0.8383302, w: 0.5376499} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_16_Btm_joint1 - parentName: CLOTH_CLOTH_OutSkirt_16_joint - position: {x: -0.035372827, y: -0.007972695, z: 0.0112283565} - rotation: {x: 0.010522789, y: 0.004044758, z: -0.053284243, w: 0.9985158} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_16_Btm_joint2 - parentName: CLOTH_CLOTH_OutSkirt_16_Btm_joint1 - position: {x: -0.027956333, y: -0.007889356, z: 0.0121379085} - rotation: {x: -0.02843015, y: -0.013325646, z: -0.018015888, w: 0.9993446} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_16_Btm_joint3 - parentName: CLOTH_CLOTH_OutSkirt_16_Btm_joint2 - position: {x: -0.03133867, y: -0.011631741, z: 0.015974607} - rotation: {x: 0.039657276, y: 0.025846476, z: -0.12083532, w: 0.9915433} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_16_Btm_joint4 - parentName: CLOTH_CLOTH_OutSkirt_16_Btm_joint3 - position: {x: -0.014412098, y: -0.005832549, z: 0.011457972} - rotation: {x: -0.19948393, y: -0.42820713, z: -0.3721959, w: 0.7989462} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_17_joint - parentName: CLOTH_Spine1 - position: {x: 0.027475921, y: 0.034977578, z: 0.102269314} - rotation: {x: -0.6053009, y: 0.62160546, z: 0.3468775, w: -0.35622108} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_17_Up_joint1 - parentName: CLOTH_CLOTH_OutSkirt_17_joint - position: {x: -0.032478426, y: 0.00044119798, z: 0.0007532066} - rotation: {x: 0.9970871, y: -0.04194391, z: 0.0009851134, w: 0.06369488} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_17_Up_joint2 - parentName: CLOTH_CLOTH_OutSkirt_17_Up_joint1 - position: {x: -0.03332664, y: 0.0005875779, z: 0.0013822333} - rotation: {x: 0.9287296, y: -0.08714834, z: 0.0129905185, w: 0.3601358} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_17_Up_joint3 - parentName: CLOTH_CLOTH_OutSkirt_17_Up_joint2 - position: {x: -0.043748576, y: 0.0012150493, z: -0.003522289} - rotation: {x: 0.8812972, y: -0.34812567, z: -0.07800431, w: -0.309902} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_17_Up_joint4 - parentName: CLOTH_CLOTH_OutSkirt_17_Up_joint3 - position: {x: -0.013529506, y: 0.00132318, z: 0.0049863523} - rotation: {x: 0.2680003, y: -0.52240247, z: 0.369494, w: 0.7202401} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_17_Btm_joint1 - parentName: CLOTH_CLOTH_OutSkirt_17_joint - position: {x: 0.026124818, y: 0.008112363, z: -0.009548084} - rotation: {x: -0.2318332, y: 0.9656119, z: -0.11365184, w: -0.030502493} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_17_Btm_joint2 - parentName: CLOTH_CLOTH_OutSkirt_17_Btm_joint1 - position: {x: -0.04900709, y: -0.0035943058, z: 0.0135043245} - rotation: {x: 0.14856896, y: 0.052790843, z: 0.15383595, w: 0.9754358} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_OutSkirt_17_Btm_joint3 - parentName: CLOTH_CLOTH_OutSkirt_17_Btm_joint2 - position: {x: -0.018824289, y: -0.0000034508696, z: -0.00015588712} - rotation: {x: -0.07612455, y: 0.95906126, z: -0.27125108, w: 0.02880173} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_0_joint1 - parentName: CLOTH_Spine1 - position: {x: -0.024811454, y: -0.028004844, z: 0.10132682} - rotation: {x: 0.45295566, y: 0.5274515, z: 0.46827638, w: 0.54529196} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_0_joint2 - parentName: CLOTH_CLOTH_InSkirt_0_joint1 - position: {x: -0.041647848, y: 3.5527136e-17, z: 1.3322676e-17} - rotation: {x: -0.2290722, y: -0.064369686, z: -0.11845258, w: 0.9640288} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_0_joint3 - parentName: CLOTH_CLOTH_InSkirt_0_joint2 - position: {x: -0.06683169, y: 0, z: 8.881784e-18} - rotation: {x: 0.025757305, y: 0.0105510885, z: 0.0074095023, w: 0.9995851} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_0_joint4 - parentName: CLOTH_CLOTH_InSkirt_0_joint3 - position: {x: -0.053061046, y: -1.4210854e-16, z: 7.105427e-17} - rotation: {x: 0.017228428, y: 0.0090418635, z: -0.101739876, w: 0.9946208} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_0_joint5 - parentName: CLOTH_CLOTH_InSkirt_0_joint4 - position: {x: -0.023397155, y: 0, z: 2.220446e-18} - rotation: {x: -0.2575981, y: -0.47973433, z: -0.3967898, w: 0.73895603} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_1_joint1 - parentName: CLOTH_Spine1 - position: {x: -0.07228343, y: -0.027646968, z: 0.07843842} - rotation: {x: 0.19406575, y: 0.2809553, z: 0.53417534, w: 0.773343} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_1_joint2 - parentName: CLOTH_CLOTH_InSkirt_1_joint1 - position: {x: -0.029462732, y: -1.4210854e-16, z: 3.5527136e-17} - rotation: {x: 0.070156634, y: 0.03219687, z: -0.068162106, w: 0.99468356} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_1_joint3 - parentName: CLOTH_CLOTH_InSkirt_1_joint2 - position: {x: -0.07239599, y: 1.4210854e-16, z: -1.04360964e-16} - rotation: {x: -0.05533444, y: -0.02891431, z: 0.017124575, w: 0.9979022} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_1_joint4 - parentName: CLOTH_CLOTH_InSkirt_1_joint3 - position: {x: -0.08192683, y: 7.105427e-17, z: -3.330669e-18} - rotation: {x: -0.13964519, y: -0.08262718, z: -0.06895098, w: 0.9843362} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_1_joint5 - parentName: CLOTH_CLOTH_InSkirt_1_joint4 - position: {x: -0.021103784, y: 1.4210854e-16, z: 4.4408918e-17} - rotation: {x: -0.09245144, y: -0.17616671, z: -0.45540217, w: 0.86777127} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_2_joint1 - parentName: CLOTH_Spine1 - position: {x: -0.09180374, y: -0.035489213, z: 0.045034993} - rotation: {x: 0.013152252, y: 0.017959723, z: 0.5906851, w: 0.806595} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_2_joint2 - parentName: CLOTH_CLOTH_InSkirt_2_joint1 - position: {x: -0.06625422, y: 7.105427e-17, z: 0} - rotation: {x: -0.034758385, y: -0.012071551, z: -0.027626144, w: 0.99894094} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_2_joint3 - parentName: CLOTH_CLOTH_InSkirt_2_joint2 - position: {x: -0.039130624, y: -7.105427e-17, z: -4.440892e-18} - rotation: {x: -0.023105498, y: -0.008222138, z: 0.02002891, w: 0.9994986} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_2_joint4 - parentName: CLOTH_CLOTH_InSkirt_2_joint3 - position: {x: -0.035174824, y: 7.105427e-17, z: 0} - rotation: {x: 0.08362452, y: 0.038197193, z: -0.10597476, w: 0.99010974} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_2_joint5 - parentName: CLOTH_CLOTH_InSkirt_2_joint4 - position: {x: -0.042129066, y: -2.842171e-16, z: 1.5543122e-17} - rotation: {x: -0.02622197, y: -0.046026878, z: -0.4943178, w: 0.86766577} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_6_joint1 - parentName: CLOTH_Spine1 - position: {x: -0.037209902, y: -0.04158092, z: -0.08793882} - rotation: {x: -0.29829282, y: -0.47408882, z: 0.44116735, w: 0.70116514} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_6_joint2 - parentName: CLOTH_CLOTH_InSkirt_6_joint1 - position: {x: -0.058384463, y: -7.105427e-17, z: 8.326672e-18} - rotation: {x: 0.05694214, y: 0.027153457, z: 0.0026099186, w: 0.99800473} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_6_joint3 - parentName: CLOTH_CLOTH_InSkirt_6_joint2 - position: {x: -0.04236082, y: 7.105427e-17, z: 3.9968027e-17} - rotation: {x: 0.07118157, y: 0.034880534, z: -0.013241062, w: 0.9967654} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_6_joint4 - parentName: CLOTH_CLOTH_InSkirt_6_joint3 - position: {x: -0.042671945, y: -2.842171e-16, z: 3.5527136e-17} - rotation: {x: -0.017744528, y: -0.00830535, z: 0.031141993, w: 0.99932295} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_6_joint5 - parentName: CLOTH_CLOTH_InSkirt_6_joint4 - position: {x: -0.053312942, y: 2.842171e-16, z: -3.5527136e-17} - rotation: {x: 0.6642098, y: 0.19541879, z: 0.08671658, w: 0.71632195} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_6_joint6 - parentName: CLOTH_CLOTH_InSkirt_6_joint5 - position: {x: -0.020370854, y: 7.105427e-17, z: 1.0658141e-16} - rotation: {x: -0.18669766, y: -0.220505, z: -0.6186186, w: 0.7306385} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_7_joint1 - parentName: CLOTH_Spine1 - position: {x: 0.037209902, y: -0.04158092, z: -0.08793882} - rotation: {x: -0.29829282, y: -0.47408882, z: 0.44116735, w: 0.70116514} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_7_joint2 - parentName: CLOTH_CLOTH_InSkirt_7_joint1 - position: {x: -0.055349335, y: -0.00632221, z: -0.017470736} - rotation: {x: 0.05694214, y: 0.027153457, z: 0.0026099186, w: 0.99800473} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_7_joint3 - parentName: CLOTH_CLOTH_InSkirt_7_joint2 - position: {x: -0.038687807, y: -0.007754628, z: -0.015412937} - rotation: {x: 0.07118157, y: 0.034880534, z: -0.013241062, w: 0.9967654} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_7_joint4 - parentName: CLOTH_CLOTH_InSkirt_7_joint3 - position: {x: -0.036006797, y: -0.013156533, z: -0.018743297} - rotation: {x: -0.017744528, y: -0.00830535, z: 0.031141993, w: 0.99932295} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_7_joint5 - parentName: CLOTH_CLOTH_InSkirt_7_joint4 - position: {x: -0.047563765, y: -0.013351317, z: -0.020042464} - rotation: {x: 0.6642098, y: 0.19541879, z: 0.08671658, w: 0.71632195} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_7_joint6 - parentName: CLOTH_CLOTH_InSkirt_7_joint5 - position: {x: -0.019601956, y: -0.00459869, z: 0.0030962958} - rotation: {x: -0.18669766, y: -0.220505, z: -0.6186186, w: 0.7306385} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_11_joint1 - parentName: CLOTH_Spine1 - position: {x: 0.09180374, y: -0.035489213, z: 0.045034993} - rotation: {x: 0.013152252, y: 0.017959723, z: 0.5906851, w: 0.806595} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_11_joint2 - parentName: CLOTH_CLOTH_InSkirt_11_joint1 - position: {x: -0.05420594, y: -0.03805489, z: 0.0017784559} - rotation: {x: -0.034758385, y: -0.012071551, z: -0.027626144, w: 0.99894094} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_11_joint3 - parentName: CLOTH_CLOTH_InSkirt_11_joint2 - position: {x: -0.02932789, y: -0.025892701, z: -0.0008053875} - rotation: {x: -0.023105498, y: -0.008222138, z: 0.02002891, w: 0.9994986} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_11_joint4 - parentName: CLOTH_CLOTH_InSkirt_11_joint3 - position: {x: -0.02817887, y: -0.02098144, z: -0.0017316691} - rotation: {x: 0.08362452, y: 0.038197193, z: -0.10597476, w: 0.99010974} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_11_joint5 - parentName: CLOTH_CLOTH_InSkirt_11_joint4 - position: {x: -0.020465225, y: -0.036545888, z: 0.0045200405} - rotation: {x: -0.02622197, y: -0.046026878, z: -0.4943178, w: 0.86766577} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_12_joint1 - parentName: CLOTH_Spine1 - position: {x: 0.07228343, y: -0.027646968, z: 0.07843842} - rotation: {x: 0.19406575, y: 0.2809553, z: 0.53417534, w: 0.773343} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_12_joint2 - parentName: CLOTH_CLOTH_InSkirt_12_joint1 - position: {x: -0.025121067, y: -0.011470755, z: 0.01026676} - rotation: {x: 0.070156634, y: 0.03219687, z: -0.068162106, w: 0.99468356} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_12_joint3 - parentName: CLOTH_CLOTH_InSkirt_12_joint2 - position: {x: -0.05801895, y: -0.026400186, z: 0.034322172} - rotation: {x: -0.05533444, y: -0.02891431, z: 0.017124575, w: 0.9979022} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_12_joint4 - parentName: CLOTH_CLOTH_InSkirt_12_joint3 - position: {x: -0.0635651, y: -0.03665855, z: 0.03643671} - rotation: {x: -0.13964519, y: -0.08262718, z: -0.06895098, w: 0.9843362} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_12_joint5 - parentName: CLOTH_CLOTH_InSkirt_12_joint4 - position: {x: -0.0095522385, y: -0.01673276, z: 0.008610415} - rotation: {x: -0.09245144, y: -0.17616671, z: -0.45540217, w: 0.86777127} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_13_joint1 - parentName: CLOTH_Spine1 - position: {x: 0.024811454, y: -0.028004844, z: 0.10132682} - rotation: {x: 0.45295566, y: 0.5274515, z: 0.46827638, w: 0.54529196} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_13_joint2 - parentName: CLOTH_CLOTH_InSkirt_13_joint1 - position: {x: -0.041645747, y: -0.0000137563575, z: 0.00041827114} - rotation: {x: -0.2290722, y: -0.064369686, z: -0.11845258, w: 0.9640288} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_13_joint3 - parentName: CLOTH_CLOTH_InSkirt_13_joint2 - position: {x: -0.062023826, y: -0.01149335, z: 0.02207767} - rotation: {x: 0.025757305, y: 0.0105510885, z: 0.0074095023, w: 0.9995851} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_13_joint4 - parentName: CLOTH_CLOTH_InSkirt_13_joint3 - position: {x: -0.05018606, y: -0.0071694492, z: 0.015666287} - rotation: {x: 0.017228428, y: 0.0090418635, z: -0.101739876, w: 0.9946208} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_13_joint5 - parentName: CLOTH_CLOTH_InSkirt_13_joint4 - position: {x: -0.02103186, y: -0.0035692386, z: 0.009609795} - rotation: {x: -0.2575981, y: -0.47973433, z: -0.3967898, w: 0.73895603} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_Else_BigRibon_root - parentName: CLOTH_Spine1 - position: {x: -1.5939289e-17, y: 0.030976996, z: -0.12007343} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_Ring_L_joint1 - parentName: CLOTH_Else_BigRibon_root - position: {x: -0.016003666, y: 0.0055032596, z: -0.0032331625} - rotation: {x: -0.0063298233, y: -0.08519712, z: 0.07382113, w: 0.9936055} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_Ring_L_joint2 - parentName: CLOTH_CLOTH_BigRibon_Ring_L_joint1 - position: {x: -0.019002551, y: 0.00007842463, z: -0.0030718553} - rotation: {x: 0.08576123, y: 0.3962532, z: 0.05921498, w: 0.91220725} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_Ring_L_joint3 - parentName: CLOTH_CLOTH_BigRibon_Ring_L_joint2 - position: {x: -0.008522165, y: 0.00028668292, z: -0.019641556} - rotation: {x: -0.045141913, y: -0.32270774, z: -0.1309749, w: 0.9363053} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_Ring_L_joint4 - parentName: CLOTH_CLOTH_BigRibon_Ring_L_joint3 - position: {x: -0.018254198, y: 0.0004621606, z: -0.010023502} - rotation: {x: 0.07175168, y: -0.45865908, z: -0.1368938, w: 0.8750678} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_Ring_L_joint5 - parentName: CLOTH_CLOTH_BigRibon_Ring_L_joint4 - position: {x: -0.058208294, y: -0.0077218157, z: 0.02249373} - rotation: {x: -0.038884174, y: 0.08665986, z: -0.110677965, w: 0.9893071} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_Ring_L_joint6 - parentName: CLOTH_CLOTH_BigRibon_Ring_L_joint5 - position: {x: -0.061814878, y: -0.009412563, z: 0.023610264} - rotation: {x: -0.06399066, y: 0.1100435, z: 0.006421622, w: 0.99184394} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_Ring_L_joint7 - parentName: CLOTH_CLOTH_BigRibon_Ring_L_joint6 - position: {x: -0.053020615, y: -0.0028596472, z: 0.0034801813} - rotation: {x: -0.12234324, y: 0.31433687, z: 0.13980795, w: 0.9309556} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_Ring_L_joint8 - parentName: CLOTH_CLOTH_BigRibon_Ring_L_joint7 - position: {x: -0.061622217, y: 0.038509157, z: -0.054441307} - rotation: {x: 0.009303982, y: -0.083434254, z: 0.11043458, w: 0.9903315} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_L_joint1 - parentName: CLOTH_Else_BigRibon_root - position: {x: -0.02437092, y: -0.014818031, z: 0.011781244} - rotation: {x: 0, y: 0, z: 0.09853762, w: 0.99513334} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_L_joint2 - parentName: CLOTH_CLOTH_BigRibon_L_joint1 - position: {x: -0.019004643, y: -0.0019196152, z: 0.0037928782} - rotation: {x: 0, y: -0, z: -0.0054543023, w: 0.99998516} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_L_joint3 - parentName: CLOTH_CLOTH_BigRibon_L_joint2 - position: {x: -0.01658552, y: 0.0010136277, z: 0.0032983327} - rotation: {x: 0, y: -0, z: -0.04720248, w: 0.99888533} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_L_joint4 - parentName: CLOTH_CLOTH_BigRibon_L_joint3 - position: {x: -0.012556748, y: 0.0009916245, z: 0.001351056} - rotation: {x: 0, y: -0, z: -0.04600718, w: 0.9989411} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_L_joint5 - parentName: CLOTH_CLOTH_BigRibon_L_joint4 - position: {x: -0.058214433, y: 0.0038553753, z: 0.00051120145} - rotation: {x: 0, y: -0, z: -0.012497071, w: 0.9999219} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_L_joint6 - parentName: CLOTH_CLOTH_BigRibon_L_joint5 - position: {x: -0.08772666, y: -1.4210854e-16, z: 0} - rotation: {x: 0, y: 0, z: 0.004301396, w: 0.99999076} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_L_joint7 - parentName: CLOTH_CLOTH_BigRibon_L_joint6 - position: {x: -0.06687967, y: 7.105427e-16, z: 0} - rotation: {x: 0, y: 0, z: 0.013245933, w: 0.99991226} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_L_joint8 - parentName: CLOTH_CLOTH_BigRibon_L_joint7 - position: {x: -0.10855713, y: -0.0023523744, z: 1.7763567e-16} - rotation: {x: 0, y: 0, z: 0.00515231, w: 0.99998677} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_L_joint9 - parentName: CLOTH_CLOTH_BigRibon_L_joint8 - position: {x: -0.10748595, y: -0.0015680031, z: 0} - rotation: {x: 0, y: 0, z: 0.008307297, w: 0.9999655} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_L_joint10 - parentName: CLOTH_CLOTH_BigRibon_L_joint9 - position: {x: -0.118446134, y: 0.00078362756, z: -1.7763567e-16} - rotation: {x: 0, y: -0, z: -0.018509, w: 0.9998287} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_L_joint11 - parentName: CLOTH_CLOTH_BigRibon_L_joint10 - position: {x: -0.109624065, y: -0.0023524943, z: -0.0042444137} - rotation: {x: 0, y: 0, z: 0.010987022, w: 0.9999397} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_L_joint12 - parentName: CLOTH_CLOTH_BigRibon_L_joint11 - position: {x: -0.09966138, y: 0.0054878285, z: -0.0050932965} - rotation: {x: 0, y: -0, z: -0.017396271, w: 0.9998487} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_L_joint13 - parentName: CLOTH_CLOTH_BigRibon_L_joint12 - position: {x: -0.0855138, y: -2.7000624e-15, z: -0.0050932965} - rotation: {x: 0, y: 0, z: 0.023944281, w: 0.9997133} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_L_joint14 - parentName: CLOTH_CLOTH_BigRibon_L_joint13 - position: {x: -0.06252417, y: 2.9842794e-15, z: -0.0025466483} - rotation: {x: 0, y: -0, z: -0.06732004, w: 0.99773145} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_L_joint15 - parentName: CLOTH_CLOTH_BigRibon_L_joint14 - position: {x: -0.0874651, y: -0.006715566, z: -0.0025466483} - rotation: {x: 0, y: 0, z: 0.017961705, w: 0.9998387} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_L_joint16 - parentName: CLOTH_CLOTH_BigRibon_L_joint15 - position: {x: -0.10325633, y: -1.4210854e-16, z: -0.0008488828} - rotation: {x: 0, y: 0, z: 0.0217703, w: 0.999763} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_L_joint17 - parentName: CLOTH_CLOTH_BigRibon_L_joint16 - position: {x: -0.10854997, y: 0, z: 0.0008488828} - rotation: {x: 0, y: 0, z: 0.01571673, w: 0.9998765} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_L_joint18 - parentName: CLOTH_CLOTH_BigRibon_L_joint17 - position: {x: -0.09757158, y: -3.5527137e-15, z: 0.0016977655} - rotation: {x: 0, y: -0, z: -0.005617712, w: 0.99998426} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_L_joint19 - parentName: CLOTH_CLOTH_BigRibon_L_joint18 - position: {x: -0.07344812, y: 7.1054274e-15, z: 0.0016977655} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_L_joint20 - parentName: CLOTH_CLOTH_BigRibon_L_joint19 - position: {x: -0.043849625, y: -1.4210854e-16, z: 0.0008488828} - rotation: {x: 0, y: -0, z: -0.027745694, w: 0.9996151} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_L_joint21 - parentName: CLOTH_CLOTH_BigRibon_L_joint20 - position: {x: -0.059288274, y: 5.684342e-16, z: 0.003395531} - rotation: {x: 0, y: 0, z: 0.027745694, w: 0.9996151} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_L_Ball - parentName: CLOTH_CLOTH_BigRibon_L_joint21 - position: {x: -0.059850916, y: 0.0013426979, z: -0.0024096647} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_L_Crystal - parentName: CLOTH_CLOTH_BigRibon_L_Ball - position: {x: -0.05494341, y: -0.0008200509, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_Ring_R_joint1 - parentName: CLOTH_Else_BigRibon_root - position: {x: 0.0160037, y: 0.005502985, z: -0.0032328044} - rotation: {x: 0.9936055, y: -0.07382113, z: -0.08519712, w: 0.0063298233} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_Ring_R_joint2 - parentName: CLOTH_CLOTH_BigRibon_Ring_R_joint1 - position: {x: 0.019002512, y: -0.00007899615, z: 0.0030724064} - rotation: {x: 0.08576123, y: 0.3962532, z: 0.05921498, w: 0.91220725} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_Ring_R_joint3 - parentName: CLOTH_CLOTH_BigRibon_Ring_R_joint2 - position: {x: 0.0085221315, y: -0.00028647113, z: 0.01964166} - rotation: {x: -0.045141913, y: -0.32270774, z: -0.1309749, w: 0.9363053} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_Ring_R_joint4 - parentName: CLOTH_CLOTH_BigRibon_Ring_R_joint3 - position: {x: 0.0182542, y: -0.000462, z: 0.010023} - rotation: {x: 0.07175168, y: -0.45865908, z: -0.1368938, w: 0.8750678} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_Ring_R_joint5 - parentName: CLOTH_CLOTH_BigRibon_Ring_R_joint4 - position: {x: 0.05820855, y: 0.0077219205, z: -0.022493009} - rotation: {x: -0.038884174, y: 0.08665986, z: -0.110677965, w: 0.9893071} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_Ring_R_joint6 - parentName: CLOTH_CLOTH_BigRibon_Ring_R_joint5 - position: {x: 0.061815273, y: 0.009412803, z: -0.023610689} - rotation: {x: -0.06399066, y: 0.1100435, z: 0.006421622, w: 0.99184394} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_Ring_R_joint7 - parentName: CLOTH_CLOTH_BigRibon_Ring_R_joint6 - position: {x: 0.053023178, y: 0.0028557144, z: -0.0034803292} - rotation: {x: -0.12234324, y: 0.31433687, z: 0.13980795, w: 0.9309556} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_Ring_R_joint8 - parentName: CLOTH_CLOTH_BigRibon_Ring_R_joint7 - position: {x: 0.061620273, y: -0.038501687, z: 0.054440793} - rotation: {x: 0.009303982, y: -0.083434254, z: 0.11043458, w: 0.9903315} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_R_joint1 - parentName: CLOTH_Else_BigRibon_root - position: {x: 0.0243709, y: -0.014818015, z: 0.011781195} - rotation: {x: 0.99513334, y: -0.09853762, z: 6.033689e-18, w: -6.093434e-17} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_R_joint2 - parentName: CLOTH_CLOTH_BigRibon_R_joint1 - position: {x: 0.019004535, y: 0.0019191728, z: -0.003793} - rotation: {x: 0, y: -0, z: -0.0054543023, w: 0.99998516} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_R_joint3 - parentName: CLOTH_CLOTH_BigRibon_R_joint2 - position: {x: 0.01658571, y: -0.0010126792, z: -0.003298} - rotation: {x: 0, y: -0, z: -0.04720248, w: 0.99888533} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_R_joint4 - parentName: CLOTH_CLOTH_BigRibon_R_joint3 - position: {x: 0.01255674, y: -0.000992378, z: -0.001351} - rotation: {x: 0, y: -0, z: -0.04600718, w: 0.9989411} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_R_joint5 - parentName: CLOTH_CLOTH_BigRibon_R_joint4 - position: {x: 0.0582143, y: -0.003855, z: -0.000512} - rotation: {x: 0, y: -0, z: -0.012497071, w: 0.9999219} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_R_joint6 - parentName: CLOTH_CLOTH_BigRibon_R_joint5 - position: {x: 0.08772641, y: -0.000000524836, z: 1.7763568e-17} - rotation: {x: 0, y: 0, z: 0.004301396, w: 0.99999076} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_R_joint7 - parentName: CLOTH_CLOTH_BigRibon_R_joint6 - position: {x: 0.06687998, y: 0.00000024586862, z: -1.7763568e-17} - rotation: {x: 0, y: 0, z: 0.013245933, w: 0.99991226} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_R_joint8 - parentName: CLOTH_CLOTH_BigRibon_R_joint7 - position: {x: 0.1085573, y: 0.0023526375, z: 1.7763568e-17} - rotation: {x: 0, y: 0, z: 0.00515231, w: 0.99998677} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_R_joint9 - parentName: CLOTH_CLOTH_BigRibon_R_joint8 - position: {x: 0.10748537, y: 0.001568204, z: 0} - rotation: {x: 0, y: 0, z: 0.008307297, w: 0.9999655} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_R_joint10 - parentName: CLOTH_CLOTH_BigRibon_R_joint9 - position: {x: 0.11844616, y: -0.00078342576, z: 0} - rotation: {x: 0, y: -0, z: -0.018509, w: 0.9998287} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_R_joint11 - parentName: CLOTH_CLOTH_BigRibon_R_joint10 - position: {x: 0.109625, y: 0.002352, z: 0.004245} - rotation: {x: 0, y: 0, z: 0.010987022, w: 0.9999397} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_R_joint12 - parentName: CLOTH_CLOTH_BigRibon_R_joint11 - position: {x: 0.09966047, y: -0.0054881363, z: 0.005093} - rotation: {x: 0, y: -0, z: -0.017396271, w: 0.9998487} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_R_joint13 - parentName: CLOTH_CLOTH_BigRibon_R_joint12 - position: {x: 0.08551402, y: 0.0000002435697, z: 0.005093} - rotation: {x: 0, y: 0, z: 0.023944281, w: 0.9997133} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_R_joint14 - parentName: CLOTH_CLOTH_BigRibon_R_joint13 - position: {x: 0.06252447, y: 0.000000508459, z: 0.002547} - rotation: {x: 0.000000010512809, y: -7.0933187e-10, z: -0.06732004, w: 0.99773145} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_R_joint15 - parentName: CLOTH_CLOTH_BigRibon_R_joint14 - position: {x: 0.08746287, y: 0.0067152074, z: 0.0025469996} - rotation: {x: 0, y: 0, z: 0.017961705, w: 0.9998387} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_R_joint16 - parentName: CLOTH_CLOTH_BigRibon_R_joint15 - position: {x: 0.103259735, y: -0.00000033971628, z: 0.0008489999} - rotation: {x: 0, y: 0, z: 0.0217703, w: 0.999763} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_R_joint17 - parentName: CLOTH_CLOTH_BigRibon_R_joint16 - position: {x: 0.10855213, y: 0.0000005251275, z: -0.0008490002} - rotation: {x: 0, y: 0, z: 0.01571673, w: 0.9998765} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_R_joint18 - parentName: CLOTH_CLOTH_BigRibon_R_joint17 - position: {x: 0.09756616, y: -0.0000001797995, z: -0.0016980002} - rotation: {x: 0, y: -0, z: -0.005617712, w: 0.99998426} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_R_joint19 - parentName: CLOTH_CLOTH_BigRibon_R_joint18 - position: {x: 0.07345, y: -3.5607e-11, z: -0.0016980001} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_R_joint20 - parentName: CLOTH_CLOTH_BigRibon_R_joint19 - position: {x: 0.04385, y: -1.78035e-11, z: -0.00084900006} - rotation: {x: 0, y: -0, z: -0.027745694, w: 0.9996151} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_R_joint21 - parentName: CLOTH_CLOTH_BigRibon_R_joint20 - position: {x: 0.059291296, y: -0.00000011101151, z: -0.003395} - rotation: {x: 0, y: 0, z: 0.027745694, w: 0.9996151} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_R_Ball - parentName: CLOTH_CLOTH_BigRibon_R_joint21 - position: {x: 0.059847686, y: -0.0013424054, z: 0.0024095066} - rotation: {x: 1, y: -0, z: 0, w: 0.00000001048442} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_BigRibon_R_Crystal - parentName: CLOTH_CLOTH_BigRibon_R_Ball - position: {x: 0.05494341, y: -0.0008200509, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_3_joint1 - parentName: CLOTH_Spine1 - position: {x: -0.095405385, y: -0.03306543, z: 0.010712991} - rotation: {x: -0.037456065, y: -0.058101125, z: 0.54053926, w: 0.83847404} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_3_joint2 - parentName: CLOTH_CLOTH_InSkirt_3_joint1 - position: {x: -0.070731685, y: 0.000051999632, z: 0.00065005524} - rotation: {x: -0.00019033912, y: -0.0000794168, z: 0.030274848, w: 0.9995416} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_3_joint3 - parentName: CLOTH_CLOTH_InSkirt_3_joint2 - position: {x: -0.034108203, y: 0.000524272, z: -0.0015029365} - rotation: {x: -0.11841914, y: -0.05207842, z: -0.04888987, w: 0.99039114} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_3_joint4 - parentName: CLOTH_CLOTH_InSkirt_3_joint3 - position: {x: -0.030353293, y: -0.0016314379, z: 0.0025066892} - rotation: {x: 0.08778565, y: 0.049765404, z: -0.05178689, w: 0.9935468} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_3_joint5 - parentName: CLOTH_CLOTH_InSkirt_3_joint4 - position: {x: -0.05255774, y: -0.0024791025, z: 0.0028622444} - rotation: {x: 0.047054105, y: 0.08582603, z: -0.47843176, w: 0.8726528} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_4_joint1 - parentName: CLOTH_Spine1 - position: {x: -0.08454278, y: -0.029933311, z: -0.019583033} - rotation: {x: -0.11534577, y: -0.1846815, z: 0.5170238, w: 0.8278131} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_4_joint2 - parentName: CLOTH_CLOTH_InSkirt_4_joint1 - position: {x: -0.071269415, y: 1.4210854e-16, z: 3.330669e-17} - rotation: {x: -0.01714508, y: -0.009381142, z: -0.04641424, w: 0.9987311} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_4_joint3 - parentName: CLOTH_CLOTH_InSkirt_4_joint2 - position: {x: -0.04258398, y: 0, z: 8.881784e-18} - rotation: {x: -0.038416035, y: -0.018049436, z: 0.10756478, w: 0.9932916} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_4_joint4 - parentName: CLOTH_CLOTH_InSkirt_4_joint3 - position: {x: -0.047928996, y: -1.4210854e-16, z: 1.3322676e-17} - rotation: {x: -0.35613462, y: -0.09121649, z: 0.0748941, w: 0.9269512} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_4_joint5 - parentName: CLOTH_CLOTH_InSkirt_4_joint4 - position: {x: -0.043671567, y: 7.105427e-17, z: 3.5527136e-17} - rotation: {x: 0.10018861, y: 0.020803954, z: -0.03443182, w: 0.9941549} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_4_joint6 - parentName: CLOTH_CLOTH_InSkirt_4_joint5 - position: {x: -0.020061621, y: 3.5527136e-17, z: -1.7763568e-17} - rotation: {x: 0.32569388, y: 0.41473326, z: -0.5247701, w: 0.66823363} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_5_joint1 - parentName: CLOTH_Spine1 - position: {x: -0.066242196, y: -0.036873337, z: -0.061355036} - rotation: {x: -0.21089019, y: -0.3400187, z: 0.4830531, w: 0.77882755} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_5_joint2 - parentName: CLOTH_CLOTH_InSkirt_5_joint1 - position: {x: -0.06371272, y: 7.105427e-17, z: 1.7728873e-17} - rotation: {x: 0.02269547, y: 0.011067277, z: 0.006755916, w: 0.99965835} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_5_joint3 - parentName: CLOTH_CLOTH_InSkirt_5_joint2 - position: {x: -0.03927907, y: -1.4210854e-16, z: 3.5527136e-17} - rotation: {x: 0.014724147, y: 0.0067279795, z: 0.018345114, w: 0.99970067} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_5_joint4 - parentName: CLOTH_CLOTH_InSkirt_5_joint3 - position: {x: -0.050405163, y: -1.4210854e-16, z: 4.4408918e-17} - rotation: {x: 0.058277905, y: 0.027318195, z: -0.028023012, w: 0.997533} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_5_joint5 - parentName: CLOTH_CLOTH_InSkirt_5_joint4 - position: {x: -0.051052757, y: -7.105427e-17, z: -8.881784e-18} - rotation: {x: -0.213581, y: -0.096300416, z: 0.04163302, w: 0.9712755} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_5_joint6 - parentName: CLOTH_CLOTH_InSkirt_5_joint5 - position: {x: -0.01969455, y: 1.4210854e-16, z: 8.8817837e-17} - rotation: {x: 0.2892789, y: 0.4273872, z: -0.48011318, w: 0.70933014} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_8_joint1 - parentName: CLOTH_Spine1 - position: {x: 0.066242196, y: -0.036873337, z: -0.061355036} - rotation: {x: -0.21089019, y: -0.3400187, z: 0.4830531, w: 0.77882755} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_8_joint2 - parentName: CLOTH_CLOTH_InSkirt_8_joint1 - position: {x: -0.052083783, y: -0.023443777, z: -0.028230846} - rotation: {x: 0.02269547, y: 0.011067277, z: 0.006755916, w: 0.99965835} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_8_joint3 - parentName: CLOTH_CLOTH_InSkirt_8_joint2 - position: {x: -0.03175577, y: -0.015696269, z: -0.016971838} - rotation: {x: 0.014724147, y: 0.0067279795, z: 0.018345114, w: 0.99970067} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_8_joint4 - parentName: CLOTH_CLOTH_InSkirt_8_joint3 - position: {x: -0.04166598, y: -0.020092957, z: -0.020022472} - rotation: {x: 0.058277905, y: 0.027318195, z: -0.028023012, w: 0.997533} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_8_joint5 - parentName: CLOTH_CLOTH_InSkirt_8_joint4 - position: {x: -0.037211042, y: -0.0274921, z: -0.021584872} - rotation: {x: -0.213581, y: -0.096300416, z: 0.04163302, w: 0.9712755} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_8_joint6 - parentName: CLOTH_CLOTH_InSkirt_8_joint5 - position: {x: -0.01850662, y: -0.0029677157, z: -0.0060475594} - rotation: {x: 0.2892789, y: 0.4273872, z: -0.48011318, w: 0.70933014} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_9_joint1 - parentName: CLOTH_Spine1 - position: {x: 0.08454278, y: -0.029933311, z: -0.019583033} - rotation: {x: -0.11534577, y: -0.1846815, z: 0.5170238, w: 0.8278131} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_9_joint2 - parentName: CLOTH_CLOTH_InSkirt_9_joint1 - position: {x: -0.0487861, y: -0.0460466, z: -0.02406152} - rotation: {x: -0.01714508, y: -0.009381142, z: -0.04641424, w: 0.9987311} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_9_joint3 - parentName: CLOTH_CLOTH_InSkirt_9_joint2 - position: {x: -0.024414456, y: -0.029828912, z: -0.018098773} - rotation: {x: -0.038416035, y: -0.018049436, z: 0.10756478, w: 0.9932916} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_9_joint4 - parentName: CLOTH_CLOTH_InSkirt_9_joint3 - position: {x: -0.04067362, y: -0.021088438, z: -0.014075616} - rotation: {x: -0.35613462, y: -0.09121649, z: 0.0748941, w: 0.9269512} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_9_joint5 - parentName: CLOTH_CLOTH_InSkirt_9_joint4 - position: {x: -0.043512445, y: -0.0009263518, z: -0.00360766} - rotation: {x: 0.10018861, y: 0.020803954, z: -0.03443182, w: 0.9941549} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_9_joint6 - parentName: CLOTH_CLOTH_InSkirt_9_joint5 - position: {x: -0.019617362, y: -0.00182046, z: -0.0037833464} - rotation: {x: 0.32569388, y: 0.41473326, z: -0.5247701, w: 0.66823363} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_10_joint1 - parentName: CLOTH_Spine1 - position: {x: 0.095405385, y: -0.03306543, z: 0.010712991} - rotation: {x: -0.037456065, y: -0.058101125, z: 0.54053926, w: 0.83847404} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_10_joint2 - parentName: CLOTH_CLOTH_InSkirt_10_joint1 - position: {x: -0.04696938, y: -0.05237388, z: -0.007365504} - rotation: {x: -0.00019033912, y: -0.0000794168, z: 0.030274848, w: 0.9995416} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_10_joint3 - parentName: CLOTH_CLOTH_InSkirt_10_joint2 - position: {x: -0.02538701, y: -0.022298872, z: -0.0049156165} - rotation: {x: -0.11841914, y: -0.05207842, z: -0.04888987, w: 0.99039114} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_10_joint4 - parentName: CLOTH_CLOTH_InSkirt_10_joint3 - position: {x: -0.020345313, y: -0.021647424, z: -0.0069083064} - rotation: {x: 0.08778565, y: 0.049765404, z: -0.05178689, w: 0.9935468} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_InSkirt_10_joint5 - parentName: CLOTH_CLOTH_InSkirt_10_joint4 - position: {x: -0.02488603, y: -0.045860652, z: -0.007358011} - rotation: {x: 0.047054105, y: 0.08582603, z: -0.47843176, w: 0.8726528} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_12_joint1 - parentName: CLOTH_Spine - position: {x: 0.02684313, y: -0.008584142, z: 0.06826436} - rotation: {x: 0.33669114, y: 0.5140006, z: 0.43230447, w: 0.6599662} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_12_joint2 - parentName: CLOTH_CLOTH_Pant_12_joint1 - position: {x: -0.028577756, y: -0.0012797923, z: 0.0055272155} - rotation: {x: 0.89560944, y: 0.44062018, z: 0.0028255472, w: -0.061070606} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_12_joint3 - parentName: CLOTH_CLOTH_Pant_12_joint2 - position: {x: -0.036331505, y: -0.00048117968, z: 0.004369923} - rotation: {x: 0.77723527, y: 0.6107684, z: -0.024478914, w: 0.14922497} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_12_joint4 - parentName: CLOTH_CLOTH_Pant_12_joint3 - position: {x: -0.021387782, y: -0.0045317765, z: 0.014671745} - rotation: {x: 0.7697457, y: 0.63829297, z: -0.0011663183, w: -0.008502759} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_12_joint5 - parentName: CLOTH_CLOTH_Pant_12_joint4 - position: {x: -0.027594447, y: -0.0043453183, z: 0.011722773} - rotation: {x: 0.7546246, y: 0.6558882, z: 0.002982123, w: -0.018535364} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_12_joint6 - parentName: CLOTH_CLOTH_Pant_12_joint5 - position: {x: -0.019547755, y: -0.003045372, z: 0.012107856} - rotation: {x: -0.055852257, y: -0.046020903, z: 0.18429036, w: 0.9802039} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_12_joint7 - parentName: CLOTH_CLOTH_Pant_12_joint6 - position: {x: -0.01643184, y: -0.0038551283, z: 0.007707741} - rotation: {x: -0.25542626, y: -0.43224382, z: -0.43997404, w: 0.74454385} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_11_joint1 - parentName: CLOTH_Spine - position: {x: 0.06485175, y: -0.0058088438, z: 0.048586667} - rotation: {x: 0.21106564, y: 0.41273743, z: 0.403423, w: 0.78889096} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_11_joint2 - parentName: CLOTH_CLOTH_Pant_11_joint1 - position: {x: -0.026918575, y: -0.010689569, z: 0.018996017} - rotation: {x: 0.8758232, y: 0.4109709, z: -0.046955984, w: -0.24865998} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_11_joint3 - parentName: CLOTH_CLOTH_Pant_11_joint2 - position: {x: -0.032654032, y: 0.000047109676, z: 0.0021743008} - rotation: {x: 0.89805573, y: 0.40783975, z: -0.028563287, w: 0.16231696} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_11_joint4 - parentName: CLOTH_CLOTH_Pant_11_joint3 - position: {x: -0.020859342, y: -0.0037313618, z: 0.009960616} - rotation: {x: 0.8320571, y: 0.5525447, z: -0.0006956634, w: -0.04873277} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_11_joint5 - parentName: CLOTH_CLOTH_Pant_11_joint4 - position: {x: -0.01819263, y: -0.001837782, z: 0.0064081657} - rotation: {x: 0.8715353, y: 0.4806748, z: 0.0065718032, w: 0.09661677} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_11_joint6 - parentName: CLOTH_CLOTH_Pant_11_joint5 - position: {x: -0.024188682, y: -0.0050663636, z: 0.009701952} - rotation: {x: -0.17656352, y: -0.049887627, z: 0.15732211, w: 0.9703537} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_11_joint7 - parentName: CLOTH_CLOTH_Pant_11_joint6 - position: {x: -0.018385597, y: -0.0025709744, z: 0.0020888352} - rotation: {x: -0.2216248, y: -0.24860802, z: -0.6274457, w: 0.70383835} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_10_joint1 - parentName: CLOTH_Spine - position: {x: 0.092938624, y: -0.0033975854, z: 0.01577478} - rotation: {x: 0.15527084, y: 0.3445087, z: 0.3804304, w: 0.8440838} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_10_joint2 - parentName: CLOTH_CLOTH_Pant_10_joint1 - position: {x: -0.02128963, y: -0.019528247, z: 0.02552931} - rotation: {x: 0.8727417, y: 0.4592178, z: -0.039303828, w: -0.16092269} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_10_joint3 - parentName: CLOTH_CLOTH_Pant_10_joint2 - position: {x: -0.03389181, y: -0.0032551696, z: 0.006722333} - rotation: {x: 0.8726814, y: 0.45990166, z: -0.039029628, w: 0.15935609} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_10_joint4 - parentName: CLOTH_CLOTH_Pant_10_joint3 - position: {x: -0.017387941, y: -0.015809996, z: 0.020825556} - rotation: {x: 0.7710631, y: 0.6195916, z: 0.0070906044, w: 0.14668924} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_10_joint5 - parentName: CLOTH_CLOTH_Pant_10_joint4 - position: {x: -0.01045933, y: -0.017033564, z: 0.011055994} - rotation: {x: 0.8156878, y: 0.57846725, z: -0.000063361964, w: -0.0053940183} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_10_joint6 - parentName: CLOTH_CLOTH_Pant_10_joint5 - position: {x: -0.01202171, y: -0.0174897, z: 0.011458831} - rotation: {x: -0.021259421, y: -0.010657129, z: 0.13993298, w: 0.9898754} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_10_joint7 - parentName: CLOTH_CLOTH_Pant_10_joint6 - position: {x: -0.018300366, y: -0.010768896, z: 0.005441346} - rotation: {x: -0.12927905, y: -0.17983755, z: -0.5692014, w: 0.79180497} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_9_joint1 - parentName: CLOTH_Spine - position: {x: 0.1068477, y: -0.0053688926, z: -0.025466481} - rotation: {x: -0.013283341, y: -0.024219746, z: 0.48069212, w: 0.87645423} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_9_joint2 - parentName: CLOTH_CLOTH_Pant_9_joint1 - position: {x: -0.013438567, y: -0.02865036, z: -0.0018792059} - rotation: {x: -0.09980055, y: -0.077790245, z: -0.09369827, w: 0.98752683} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_9_joint3 - parentName: CLOTH_CLOTH_Pant_9_joint2 - position: {x: -0.0032822853, y: -0.020570487, z: -0.009031275} - rotation: {x: 0.8944612, y: 0.4229883, z: -0.04491203, w: -0.13785127} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_9_joint4 - parentName: CLOTH_CLOTH_Pant_9_joint3 - position: {x: -0.03550467, y: -0.009197163, z: -0.00016704627} - rotation: {x: 0.96265584, y: 0.26305908, z: -0.008926721, w: 0.06335618} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_9_joint5 - parentName: CLOTH_CLOTH_Pant_9_joint4 - position: {x: -0.020181669, y: -0.020695169, z: -0.0033149894} - rotation: {x: 0.869402, y: 0.4921049, z: -0.0048026857, w: 0.04415734} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_9_joint6 - parentName: CLOTH_CLOTH_Pant_9_joint5 - position: {x: -0.006824509, y: -0.017222313, z: -0.0050772163} - rotation: {x: 0.88713187, y: 0.411043, z: -0.03953283, w: -0.2061017} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_9_joint7 - parentName: CLOTH_CLOTH_Pant_9_joint6 - position: {x: -0.02673162, y: -0.013656437, z: 0.002676631} - rotation: {x: -0.057764262, y: -0.07393753, z: -0.6129319, w: 0.7845451} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_8_joint1 - parentName: CLOTH_Spine - position: {x: 0.08221975, y: -0.0046333023, z: -0.06651929} - rotation: {x: -0.20593384, y: -0.32508627, z: 0.49392617, w: 0.7797097} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_8_joint2 - parentName: CLOTH_CLOTH_Pant_8_joint1 - position: {x: -0.031647436, y: -0.014786019, z: -0.016506225} - rotation: {x: 0.95631343, y: 0.2664845, z: 0.020301132, w: 0.1184845} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_8_joint3 - parentName: CLOTH_CLOTH_Pant_8_joint2 - position: {x: -0.031189699, y: -0.0016792562, z: -0.0028176382} - rotation: {x: 0.94981813, y: 0.29268235, z: 0.02158625, w: -0.10824318} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_8_joint4 - parentName: CLOTH_CLOTH_Pant_8_joint3 - position: {x: -0.020040635, y: -0.010163183, z: -0.012133277} - rotation: {x: 0.91986936, y: 0.38950795, z: -0.0043812194, w: -0.04587861} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_8_joint5 - parentName: CLOTH_CLOTH_Pant_8_joint4 - position: {x: -0.024977269, y: -0.009058086, z: -0.008290163} - rotation: {x: 0.9305835, y: 0.36320513, z: -0.0030551946, w: 0.04568554} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_8_joint6 - parentName: CLOTH_CLOTH_Pant_8_joint5 - position: {x: -0.01583595, y: -0.0070058685, z: -0.008117507} - rotation: {x: 0.07978879, y: 0.030270303, z: 0.07593253, w: 0.99345446} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_8_joint7 - parentName: CLOTH_CLOTH_Pant_8_joint6 - position: {x: -0.023314655, y: -0.009081895, z: -0.0070246784} - rotation: {x: 0.18795459, y: 0.25126687, z: -0.568736, w: 0.760314} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_7_joint1 - parentName: CLOTH_Spine - position: {x: 0.035811994, y: -0.010500692, z: -0.08697957} - rotation: {x: -0.20691255, y: -0.50558823, z: 0.31724793, w: 0.7751913} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_7_joint2 - parentName: CLOTH_CLOTH_Pant_7_joint1 - position: {x: -0.027299695, y: -0.005314406, z: -0.01720772} - rotation: {x: 0.8357523, y: 0.47726187, z: 0.07374341, w: 0.26134497} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_7_joint3 - parentName: CLOTH_CLOTH_Pant_7_joint2 - position: {x: -0.035518352, y: -0.00030241942, z: 0.0022932722} - rotation: {x: 0.83985156, y: 0.4990003, z: 0.06155792, w: -0.2045942} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_7_joint4 - parentName: CLOTH_CLOTH_Pant_7_joint3 - position: {x: -0.028684268, y: -0.0026707228, z: -0.012973954} - rotation: {x: 0.56824654, y: 0.8225942, z: 0.0028660644, w: -0.020651516} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_7_joint5 - parentName: CLOTH_CLOTH_Pant_7_joint4 - position: {x: -0.0348666, y: -0.0037171834, z: -0.023563279} - rotation: {x: 0.55776006, y: 0.82996404, z: 0.0009935034, w: 0.007901233} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_7_joint6 - parentName: CLOTH_CLOTH_Pant_7_joint5 - position: {x: -0.032460593, y: -0.0036178418, z: -0.016543396} - rotation: {x: 0.012398321, y: 0.007966027, z: 0.27912644, w: 0.9601413} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_7_joint7 - parentName: CLOTH_CLOTH_Pant_7_joint6 - position: {x: -0.028149273, y: -0.0018469872, z: -0.0052641802} - rotation: {x: 0.3427118, y: 0.4590404, z: -0.49035412, w: 0.6567978} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_6_joint1 - parentName: CLOTH_Spine - position: {x: -0.035811994, y: -0.010500692, z: -0.08697957} - rotation: {x: -0.20691255, y: -0.50558823, z: 0.31724793, w: 0.7751913} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_6_joint2 - parentName: CLOTH_CLOTH_Pant_6_joint1 - position: {x: -0.032705076, y: 8.881784e-18, z: 6.661338e-18} - rotation: {x: 0.8357523, y: 0.47726187, z: 0.07374341, w: 0.26134497} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_6_joint3 - parentName: CLOTH_CLOTH_Pant_6_joint2 - position: {x: -0.035593595, y: 5.884182e-17, z: -3.316791e-17} - rotation: {x: 0.83985156, y: 0.4990003, z: 0.06155792, w: -0.2045942} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_6_joint4 - parentName: CLOTH_CLOTH_Pant_6_joint3 - position: {x: -0.03159499, y: 5.3290704e-17, z: -3.330669e-18} - rotation: {x: 0.56824654, y: 0.8225942, z: 0.0028660644, w: -0.020651516} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_6_joint5 - parentName: CLOTH_CLOTH_Pant_6_joint4 - position: {x: -0.04224601, y: -6.4392934e-17, z: -3.5527136e-17} - rotation: {x: 0.55776006, y: 0.82996404, z: 0.0009935034, w: 0.007901233} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_6_joint6 - parentName: CLOTH_CLOTH_Pant_6_joint5 - position: {x: -0.036612332, y: 5.3290704e-17, z: -1.3544721e-16} - rotation: {x: 0.012398321, y: 0.007966027, z: 0.27912644, w: 0.9601413} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_6_joint7 - parentName: CLOTH_CLOTH_Pant_6_joint6 - position: {x: -0.028696768, y: -8.2156505e-17, z: -7.771561e-18} - rotation: {x: 0.3427118, y: 0.4590404, z: -0.49035412, w: 0.6567978} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_5_joint1 - parentName: CLOTH_Spine - position: {x: -0.08221975, y: -0.0046333023, z: -0.06651929} - rotation: {x: -0.20593384, y: -0.32508627, z: 0.49392617, w: 0.7797097} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_5_joint2 - parentName: CLOTH_CLOTH_Pant_5_joint1 - position: {x: -0.038634725, y: 5.5511148e-18, z: -6.661338e-18} - rotation: {x: 0.95631343, y: 0.2664845, z: 0.020301132, w: 0.1184845} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_5_joint3 - parentName: CLOTH_CLOTH_Pant_5_joint2 - position: {x: -0.0313617, y: -3.0531133e-18, z: -4.0523138e-17} - rotation: {x: 0.94981813, y: 0.29268235, z: 0.02158625, w: -0.10824318} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_5_joint4 - parentName: CLOTH_CLOTH_Pant_5_joint3 - position: {x: -0.025536912, y: -1.2878587e-16, z: -3.330669e-18} - rotation: {x: 0.91986936, y: 0.38950795, z: -0.0043812194, w: -0.04587861} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_5_joint5 - parentName: CLOTH_CLOTH_Pant_5_joint4 - position: {x: -0.02783235, y: 3.2196467e-17, z: -5.551115e-19} - rotation: {x: 0.9305835, y: 0.36320513, z: -0.0030551946, w: 0.04568554} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_5_joint6 - parentName: CLOTH_CLOTH_Pant_5_joint5 - position: {x: -0.019124681, y: 7.382983e-17, z: 3.9968027e-17} - rotation: {x: 0.07978879, y: 0.030270303, z: 0.07593253, w: 0.99345446} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_5_joint7 - parentName: CLOTH_CLOTH_Pant_5_joint6 - position: {x: -0.025988461, y: -4.0523138e-17, z: 1.6653344e-17} - rotation: {x: 0.18795459, y: 0.25126687, z: -0.568736, w: 0.760314} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_4_joint1 - parentName: CLOTH_Spine - position: {x: -0.1068477, y: -0.0053688926, z: -0.025466481} - rotation: {x: -0.013283341, y: -0.024219746, z: 0.48069212, w: 0.87645423} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_4_joint2 - parentName: CLOTH_CLOTH_Pant_4_joint1 - position: {x: -0.031701256, y: -1.2654807e-17, z: -4.1633362e-19} - rotation: {x: -0.09980055, y: -0.077790245, z: -0.09369827, w: 0.98752683} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_4_joint3 - parentName: CLOTH_CLOTH_Pant_4_joint2 - position: {x: -0.022704236, y: 1.5210055e-16, z: 3.8857806e-18} - rotation: {x: 0.8944612, y: 0.4229883, z: -0.04491203, w: -0.13785127} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_4_joint4 - parentName: CLOTH_CLOTH_Pant_4_joint3 - position: {x: -0.036676932, y: -5.299038e-19, z: -2.2429973e-17} - rotation: {x: 0.96265584, y: 0.26305908, z: -0.008926721, w: 0.06335618} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_4_joint5 - parentName: CLOTH_CLOTH_Pant_4_joint4 - position: {x: -0.02909603, y: -3.216177e-17, z: -2.5535128e-17} - rotation: {x: 0.869402, y: 0.4921049, z: -0.0048026857, w: 0.04415734} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_4_joint6 - parentName: CLOTH_CLOTH_Pant_4_joint5 - position: {x: -0.019208334, y: -9.381384e-17, z: 1.5543122e-17} - rotation: {x: 0.88713187, y: 0.411043, z: -0.03953283, w: -0.2061017} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_4_joint7 - parentName: CLOTH_CLOTH_Pant_4_joint6 - position: {x: -0.030137055, y: 1.6896206e-17, z: 8.881784e-18} - rotation: {x: -0.057764262, y: -0.07393753, z: -0.6129319, w: 0.7845451} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_3_joint1 - parentName: CLOTH_Spine - position: {x: -0.092938624, y: -0.0033975854, z: 0.01577478} - rotation: {x: 0.15527084, y: 0.3445087, z: 0.3804304, w: 0.8440838} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_3_joint2 - parentName: CLOTH_CLOTH_Pant_3_joint1 - position: {x: -0.038553163, y: -2.220446e-18, z: 4.440892e-18} - rotation: {x: 0.8727417, y: 0.4592178, z: -0.039303828, w: -0.16092269} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_3_joint3 - parentName: CLOTH_CLOTH_Pant_3_joint2 - position: {x: -0.03470505, y: 5.3290704e-17, z: 6.994405e-17} - rotation: {x: 0.8726814, y: 0.45990166, z: -0.039029628, w: 0.15935609} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_3_joint4 - parentName: CLOTH_CLOTH_Pant_3_joint3 - position: {x: -0.031400643, y: -1.1657341e-16, z: -2.6645352e-17} - rotation: {x: 0.7710631, y: 0.6195916, z: 0.0070906044, w: 0.14668924} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_3_joint5 - parentName: CLOTH_CLOTH_Pant_3_joint4 - position: {x: -0.022842392, y: -4.8294702e-17, z: 1.3322676e-17} - rotation: {x: 0.8156878, y: 0.57846725, z: -0.000063361964, w: -0.0053940183} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_3_joint6 - parentName: CLOTH_CLOTH_Pant_3_joint5 - position: {x: -0.024118789, y: 1.0880185e-16, z: 2.609024e-16} - rotation: {x: -0.021259421, y: -0.010657129, z: 0.13993298, w: 0.9898754} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_3_joint7 - parentName: CLOTH_CLOTH_Pant_3_joint6 - position: {x: -0.02191987, y: 7.355227e-17, z: 2.220446e-18} - rotation: {x: -0.12927905, y: -0.17983755, z: -0.5692014, w: 0.79180497} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_2_joint1 - parentName: CLOTH_Spine - position: {x: -0.06485175, y: -0.0058088438, z: 0.048586667} - rotation: {x: 0.21106564, y: 0.41273743, z: 0.403423, w: 0.78889096} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_2_joint2 - parentName: CLOTH_CLOTH_Pant_2_joint1 - position: {x: -0.03463705, y: -2.220446e-18, z: 1.110223e-18} - rotation: {x: 0.8758232, y: 0.4109709, z: -0.046955984, w: -0.24865998} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_2_joint3 - parentName: CLOTH_CLOTH_Pant_2_joint2 - position: {x: -0.032719713, y: 0.0003021106, z: -0.00058701634} - rotation: {x: 0.89805573, y: 0.40783975, z: -0.028563287, w: 0.16231696} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_2_joint4 - parentName: CLOTH_CLOTH_Pant_2_joint3 - position: {x: -0.023414718, y: -6.5503156e-17, z: 1.7208457e-17} - rotation: {x: 0.8320571, y: 0.5525447, z: -0.0006956634, w: -0.04873277} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_2_joint5 - parentName: CLOTH_CLOTH_Pant_2_joint4 - position: {x: -0.019375598, y: -2.6645352e-17, z: 3.0531134e-17} - rotation: {x: 0.8715353, y: 0.4806748, z: 0.0065718032, w: 0.09661677} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_2_joint6 - parentName: CLOTH_CLOTH_Pant_2_joint5 - position: {x: -0.026549732, y: -3.8857805e-17, z: -2.7200463e-17} - rotation: {x: -0.17656352, y: -0.049887627, z: 0.15732211, w: 0.9703537} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_2_joint7 - parentName: CLOTH_CLOTH_Pant_2_joint6 - position: {x: -0.01868163, y: -5.9813265e-17, z: -2.6367797e-18} - rotation: {x: -0.2216248, y: -0.24860802, z: -0.6274457, w: 0.70383835} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_1_joint1 - parentName: CLOTH_Spine - position: {x: -0.02684313, y: -0.008584142, z: 0.06826436} - rotation: {x: 0.33669114, y: 0.5140006, z: 0.43230447, w: 0.6599662} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_1_joint2 - parentName: CLOTH_CLOTH_Pant_1_joint1 - position: {x: -0.029135479, y: -2.220446e-18, z: 2.220446e-18} - rotation: {x: 0.89560944, y: 0.44062018, z: 0.0028255472, w: -0.061070606} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_1_joint3 - parentName: CLOTH_CLOTH_Pant_1_joint2 - position: {x: -0.036596533, y: -1.2212454e-16, z: -1.9151347e-17} - rotation: {x: 0.77723527, y: 0.6107684, z: -0.024478914, w: 0.14922497} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_1_joint4 - parentName: CLOTH_CLOTH_Pant_1_joint3 - position: {x: -0.026329342, y: 1.6653345e-16, z: 2.220446e-18} - rotation: {x: 0.7697457, y: 0.63829297, z: -0.0011663183, w: -0.008502759} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_1_joint5 - parentName: CLOTH_CLOTH_Pant_1_joint4 - position: {x: -0.030294532, y: -8.2156505e-17, z: -2.6645352e-17} - rotation: {x: 0.7546246, y: 0.6558882, z: 0.002982123, w: -0.018535364} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_1_joint6 - parentName: CLOTH_CLOTH_Pant_1_joint5 - position: {x: -0.023194594, y: -1.05471186e-16, z: -3.4416914e-17} - rotation: {x: -0.055852257, y: -0.046020903, z: 0.18429036, w: 0.9802039} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_Pant_1_joint7 - parentName: CLOTH_CLOTH_Pant_1_joint6 - position: {x: -0.018554695, y: 3.330669e-17, z: -6.661338e-18} - rotation: {x: -0.25542626, y: -0.43224382, z: -0.43997404, w: 0.74454385} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightUpLeg - parentName: CLOTH_Hips - position: {x: 0.0693203, y: -0.04284439, z: -0.000000009794794} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightLeg - parentName: CLOTH_RightUpLeg - position: {x: -8.881784e-18, y: -0.32775798, z: 0.02230837} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightFoot - parentName: CLOTH_RightLeg - position: {x: 8.881784e-18, y: -0.3568682, z: -0.02264337} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightToeBase - parentName: CLOTH_RightFoot - position: {x: 0.000000099999994, y: -0.053363226, z: 0.0091009} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_RightToeBase1 - parentName: CLOTH_RightToeBase - position: {x: -0, y: -1.110223e-18, z: 0.0953623} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_LeftLegRibbon_joint - parentName: CLOTH_RightLeg - position: {x: 0.01947792, y: -0.33993837, z: -0.021502567} - rotation: {x: 0.19971412, y: 0.9673898, z: -0.08368764, w: -0.13140655} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_LeftLegRibbon_joint1 - parentName: CLOTH_CLOTH_LeftLegRibbon_joint - position: {x: -0.01357205, y: -5.551115e-19, z: 3.330669e-18} - rotation: {x: 0.022630354, y: 0.050349463, z: -0.014105378, w: 0.99837565} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_LeftLegRibbon_joint2 - parentName: CLOTH_CLOTH_LeftLegRibbon_joint1 - position: {x: -0.02105345, y: 1.4432899e-17, z: 3.330669e-18} - rotation: {x: 0.011712188, y: 0.027454196, z: -0.005047747, w: 0.9995417} - scale: {x: 1, y: 1, z: 1} - - name: CLOTH_CLOTH_LeftLegRibbon_joint3 - parentName: CLOTH_CLOTH_LeftLegRibbon_joint2 - position: {x: -0.010938858, y: 5.2735593e-18, z: 1.498801e-17} - rotation: {x: 0.18572032, y: 0.92048335, z: -0.068001986, w: 0.3370374} - scale: {x: 1, y: 1, z: 1} - - name: ElseHAIR_socket - parentName: Else_root - position: {x: -0, y: 0, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_root - parentName: ElseHAIR_socket - position: {x: -2.1047967e-16, y: 1.4036381, z: 0.010753423} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Ahoge_root - parentName: HAIR_Hair_root - position: {x: -0.0038207695, y: 0.015906928, z: -0.04190892} - rotation: {x: -0.39001837, y: 0.784061, z: -0.21504444, w: 0.43230778} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Ahoge_joint291 - parentName: HAIR_Hair_Ahoge_root - position: {x: -0.05148399, y: 0.0004852134, z: 0.004149091} - rotation: {x: -0.031950355, y: 0.045193456, z: 0.3024958, w: 0.95154244} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Ahoge_joint292 - parentName: HAIR_Hair_Ahoge_joint291 - position: {x: -0.0547092, y: -1.8873792e-17, z: 2.2204459e-17} - rotation: {x: -0.0016318898, y: 0.010954587, z: 0.15902132, w: 0.9872131} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Ahoge_joint293 - parentName: HAIR_Hair_Ahoge_joint292 - position: {x: -0.046765316, y: -1.3461454e-17, z: 2.6645352e-17} - rotation: {x: 0.0017742238, y: 0.011382348, z: 0.14230835, w: 0.98975533} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Ahoge_joint294 - parentName: HAIR_Hair_Ahoge_joint293 - position: {x: -0.051743053, y: -6.661338e-17, z: 0} - rotation: {x: -0.0032869063, y: -0.0055917758, z: 0.23184146, w: 0.97273195} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Ahoge_joint295 - parentName: HAIR_Hair_Ahoge_joint294 - position: {x: -0.05320483, y: 2.6201262e-16, z: -5.1070257e-17} - rotation: {x: -0.01573267, y: -0.010585481, z: 0.2115035, w: 0.9771933} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Ahoge_joint296 - parentName: HAIR_Hair_Ahoge_joint295 - position: {x: -0.047001302, y: -1.4543921e-16, z: -1.6653344e-17} - rotation: {x: 0.9017354, y: 0.24103859, z: -0.04221411, w: -0.35635892} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Ahoge_joint297 - parentName: HAIR_Hair_Ahoge_joint296 - position: {x: -0.04816075, y: 1.2823076e-16, z: -5.9258154e-17} - rotation: {x: -0.1427092, y: -0.07711908, z: -0.3403478, w: 0.926202} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Ahoge_joint298 - parentName: HAIR_Hair_Ahoge_joint297 - position: {x: -0.04280382, y: 1.2934098e-16, z: 1.7763568e-17} - rotation: {x: -0.039306782, y: -0.062752046, z: -0.16244029, w: 0.9839362} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Ahoge_joint299 - parentName: HAIR_Hair_Ahoge_joint298 - position: {x: -0.01377738, y: 1.3100631e-16, z: 1.1657341e-16} - rotation: {x: 0.06213289, y: 0.3097099, z: -0.1866261, w: 0.9302634} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_F_joint310 - parentName: HAIR_Hair_root - position: {x: 0.00006452389, y: -0.030326907, z: 0.08572251} - rotation: {x: 0.43717483, y: 0.6731686, z: 0.3248434, w: 0.5001989} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_F_joint311 - parentName: HAIR_Hair_F_joint310 - position: {x: -0.026157886, y: 1.110223e-18, z: 5.551115e-19} - rotation: {x: -0.30562124, y: -0.074959844, z: 0.16837223, w: 0.93414533} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_F_joint312 - parentName: HAIR_Hair_F_joint311 - position: {x: -0.040842637, y: -5.9674484e-17, z: 1.6653345e-18} - rotation: {x: 0.8949536, y: 0.15234697, z: 0.0445413, w: -0.4169708} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_F_joint313 - parentName: HAIR_Hair_F_joint312 - position: {x: -0.028947072, y: 5.5511148e-18, z: -3.8857806e-18} - rotation: {x: 0.303232, y: 0.4006398, z: -0.52178764, w: 0.68940246} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint314 - parentName: HAIR_Hair_root - position: {x: -0.04845561, y: -0.035021193, z: 0.07015919} - rotation: {x: 0.31242517, y: 0.4372253, z: 0.49030828, w: 0.686165} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint315 - parentName: HAIR_Hair_FLeft_joint314 - position: {x: -0.031430803, y: 7.771561e-18, z: -9.436896e-18} - rotation: {x: 0.61607575, y: 0.14532177, z: 0.07596356, w: 0.7704297} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint316 - parentName: HAIR_Hair_FLeft_joint315 - position: {x: -0.03306224, y: 4.2188474e-17, z: 1.04916075e-16} - rotation: {x: 0.5457742, y: 0.12601665, z: -0.07738503, w: 0.82477987} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint317 - parentName: HAIR_Hair_FLeft_joint316 - position: {x: -0.027340809, y: -1.5820678e-17, z: 5.5511148e-18} - rotation: {x: 0.56300455, y: 0.78007334, z: -0.15974893, w: 0.2213408} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint318 - parentName: HAIR_Hair_root - position: {x: -0.06705954, y: -0.04259033, z: 0.053353712} - rotation: {x: 0.30986694, y: 0.45824078, z: 0.46665087, w: 0.6900977} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint319 - parentName: HAIR_Hair_FLeft_joint318 - position: {x: -0.032688566, y: 3.330669e-18, z: -8.881784e-18} - rotation: {x: 0.46316364, y: 0.13258067, z: 0.08996044, w: 0.8716702} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint320 - parentName: HAIR_Hair_FLeft_joint319 - position: {x: -0.028478751, y: -3.5527136e-17, z: 4.6074255e-17} - rotation: {x: 0.59615964, y: 0.18199508, z: -0.0938737, w: 0.7763113} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint321 - parentName: HAIR_Hair_FLeft_joint320 - position: {x: -0.023799801, y: -4.8572257e-18, z: -1.6653345e-18} - rotation: {x: 0.5356572, y: 0.8228139, z: -0.103586644, w: 0.15911768} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint322 - parentName: HAIR_Hair_root - position: {x: -0.07599778, y: -0.04417421, z: 0.040810317} - rotation: {x: 0.18889128, y: 0.2635126, z: 0.5511304, w: 0.768854} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint323 - parentName: HAIR_Hair_FLeft_joint322 - position: {x: -0.046189323, y: 6.661338e-18, z: -9.992007e-18} - rotation: {x: 0.8675488, y: 0.20519438, z: 0.042835463, w: 0.45102042} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint324 - parentName: HAIR_Hair_FLeft_joint323 - position: {x: -0.05176097, y: 3.4069968e-17, z: 1.0297318e-16} - rotation: {x: 0.028478967, y: 0.0074648294, z: -0.11845642, w: 0.9925227} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint325 - parentName: HAIR_Hair_FLeft_joint324 - position: {x: -0.026519582, y: -4.572731e-17, z: -7.771561e-18} - rotation: {x: -0.06997718, y: -0.03345388, z: -0.070539415, w: 0.99448895} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint326 - parentName: HAIR_Hair_FLeft_joint325 - position: {x: -0.019667072, y: 7.188694e-17, z: 2.7755574e-18} - rotation: {x: 0.49407792, y: 0.8490507, z: 0.09409476, w: -0.16169761} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint327 - parentName: HAIR_Hair_root - position: {x: -0.07894697, y: -0.026451811, z: 0.021602098} - rotation: {x: 0.095251046, y: 0.1382354, z: 0.55934274, w: 0.81175977} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint328 - parentName: HAIR_Hair_FLeft_joint327 - position: {x: -0.04228535, y: -5.8286707e-18, z: 5.5511148e-18} - rotation: {x: 0.13195343, y: 0.032363664, z: 0.122143, w: 0.9831694} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint329 - parentName: HAIR_Hair_FLeft_joint328 - position: {x: -0.040835343, y: 9.131584e-17, z: -4.4964033e-17} - rotation: {x: 0.6712726, y: 0.117761314, z: -0.04150381, w: 0.7306181} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint330 - parentName: HAIR_Hair_FLeft_joint329 - position: {x: -0.035060987, y: 1.7763568e-17, z: 1.2767564e-17} - rotation: {x: 0.1858305, y: 0.044857062, z: -0.006328809, w: 0.981537} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint331 - parentName: HAIR_Hair_FLeft_joint330 - position: {x: -0.029476952, y: -3.2196467e-17, z: 2.997602e-17} - rotation: {x: 0.15801646, y: 0.04509895, z: -0.034232713, w: 0.9858119} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint332 - parentName: HAIR_Hair_FLeft_joint331 - position: {x: -0.025811842, y: 1.110223e-18, z: 2.3037127e-17} - rotation: {x: 0.16814333, y: 0.055309724, z: -0.0049881428, w: 0.984197} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint333 - parentName: HAIR_Hair_FLeft_joint332 - position: {x: -0.025879325, y: -4.904714e-17, z: 1.5265567e-17} - rotation: {x: -0.22320892, y: -0.084684156, z: -0.03859477, w: 0.9703179} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint334 - parentName: HAIR_Hair_FLeft_joint333 - position: {x: -0.02000242, y: -1.9706458e-17, z: 5.551115e-19} - rotation: {x: 0.07186876, y: 0.035424195, z: -0.055373248, w: 0.99524564} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint335 - parentName: HAIR_Hair_FLeft_joint334 - position: {x: -0.020988993, y: -3.6637358e-17, z: -4.1078252e-17} - rotation: {x: -0.030588238, y: -0.023959482, z: -0.15025014, w: 0.9878842} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint336 - parentName: HAIR_Hair_FLeft_joint335 - position: {x: -0.025048567, y: 4.302114e-17, z: -7.771561e-18} - rotation: {x: 0.36279896, y: 0.9144429, z: 0.06614538, w: -0.16672091} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint337 - parentName: HAIR_Hair_root - position: {x: -0.085725345, y: -0.025960777, z: 0.003785682} - rotation: {x: 0.065414436, y: 0.09472435, z: 0.5644691, w: 0.8173879} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint338 - parentName: HAIR_Hair_FLeft_joint337 - position: {x: -0.04492661, y: -6.938894e-18, z: 2.7755574e-18} - rotation: {x: 0.13802162, y: 0.036499623, z: 0.10227549, w: 0.984458} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint339 - parentName: HAIR_Hair_FLeft_joint338 - position: {x: -0.036174912, y: -3.8857805e-17, z: -9.436896e-18} - rotation: {x: 0.51627713, y: 0.060096934, z: 0.0334196, w: 0.85365653} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint340 - parentName: HAIR_Hair_FLeft_joint339 - position: {x: -0.026413858, y: -9.1593395e-18, z: 1.0269563e-17} - rotation: {x: 0.2205989, y: 0.030697398, z: -0.05992989, w: 0.9730376} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint341 - parentName: HAIR_Hair_FLeft_joint340 - position: {x: -0.019780444, y: 4.0523138e-17, z: 1.3877787e-18} - rotation: {x: -0.16665094, y: -0.034199767, z: -0.00258975, w: 0.9854193} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FLeft_joint342 - parentName: HAIR_Hair_FLeft_joint341 - position: {x: -0.011593735, y: -8.6042285e-18, z: 1.36002315e-17} - rotation: {x: -0.47774935, y: -0.5873225, z: -0.4122553, w: 0.5068072} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Left_joint343 - parentName: HAIR_Hair_root - position: {x: -0.09858255, y: -0.033362888, z: -0.022860562} - rotation: {x: 0.1705787, y: 0.27805245, z: 0.49431312, w: 0.805757} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Left_joint344 - parentName: HAIR_Hair_Left_joint343 - position: {x: -0.04103834, y: 9.992007e-18, z: -4.440892e-18} - rotation: {x: 0.27808496, y: 0.14059526, z: 0.0020445571, w: 0.9502092} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Left_joint345 - parentName: HAIR_Hair_Left_joint344 - position: {x: -0.0337026, y: -2.2204459e-17, z: -5.606626e-17} - rotation: {x: 0.1944737, y: 0.09579775, z: 0.008046805, w: 0.97618544} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Left_joint346 - parentName: HAIR_Hair_Left_joint345 - position: {x: -0.015854236, y: -9.6589404e-17, z: 2.0400347e-17} - rotation: {x: 0.07469266, y: 0.043635443, z: -0.078873865, w: 0.9931243} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Left_joint347 - parentName: HAIR_Hair_Left_joint346 - position: {x: -0.017744267, y: 1.2212453e-17, z: -3.8857806e-18} - rotation: {x: 0.06855343, y: 0.048658483, z: -0.009258358, w: 0.99641716} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Left_joint348 - parentName: HAIR_Hair_Left_joint347 - position: {x: -0.012677961, y: -1.5876189e-16, z: 1.498801e-17} - rotation: {x: 0.39184773, y: 0.76737297, z: 0.2308153, w: -0.45201594} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Left_joint349 - parentName: HAIR_Hair_root - position: {x: -0.09871225, y: -0.0342121, z: -0.025548348} - rotation: {x: 0.18325265, y: 0.25611505, z: 0.5522884, w: 0.7718816} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Left_joint350 - parentName: HAIR_Hair_Left_joint349 - position: {x: -0.03991938, y: -0.003425547, z: -0.004853469} - rotation: {x: 0.10460802, y: 0.02708811, z: 0.07478351, w: 0.9913278} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Left_joint351 - parentName: HAIR_Hair_Left_joint350 - position: {x: -0.028738517, y: -0.0041305856, z: -0.0036330738} - rotation: {x: 0.9343212, y: 0.11017229, z: -0.02056773, w: -0.33835325} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Left_joint352 - parentName: HAIR_Hair_Left_joint351 - position: {x: -0.026339011, y: -3.5527136e-17, z: 5.3290704e-17} - rotation: {x: 0.1782465, y: 0.012519467, z: -0.013242747, w: 0.9838171} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Left_joint353 - parentName: HAIR_Hair_Left_joint352 - position: {x: -0.033013973, y: 1.7763568e-17, z: 5.3290704e-17} - rotation: {x: 0.5741179, y: 0.09280395, z: -0.062316548, w: 0.81110585} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Left_joint354 - parentName: HAIR_Hair_Left_joint353 - position: {x: -0.027439317, y: -7.105427e-17, z: 4.2188474e-17} - rotation: {x: 0.36003387, y: 0.0669064, z: 0.049481876, w: 0.9292205} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Left_joint355 - parentName: HAIR_Hair_Left_joint354 - position: {x: -0.023247702, y: 7.105427e-17, z: -5.3290704e-17} - rotation: {x: 0.74794364, y: 0.20059326, z: -0.08295758, w: 0.62726444} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Left_joint356 - parentName: HAIR_Hair_Left_joint355 - position: {x: -0.016311081, y: -5.684342e-16, z: -1.3322676e-16} - rotation: {x: 0.25493804, y: 0.15969726, z: -0.15767886, w: 0.9405534} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Left_joint357 - parentName: HAIR_Hair_Left_joint356 - position: {x: -0.021319771, y: 4.2632563e-16, z: -9.992007e-17} - rotation: {x: 0.41007796, y: 0.9120503, z: 0.0002472418, w: -0.000549888} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Left_joint358 - parentName: HAIR_Hair_root - position: {x: -0.0993333, y: -0.036520515, z: -0.049322948} - rotation: {x: -0.01773784, y: -0.02467914, z: 0.58336014, w: 0.8116448} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Left_joint359 - parentName: HAIR_Hair_Left_joint358 - position: {x: -0.04131984, y: 7.285838e-18, z: 1.3877787e-19} - rotation: {x: -0.30283368, y: -0.07663028, z: 0.0726687, w: 0.94717413} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Left_joint360 - parentName: HAIR_Hair_Left_joint359 - position: {x: -0.030452501, y: 2.4702462e-17, z: 3.2196467e-17} - rotation: {x: -0.10454591, y: -0.016218279, z: 0.017267872, w: 0.9942379} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Left_joint361 - parentName: HAIR_Hair_Left_joint360 - position: {x: -0.027676502, y: -2.3037127e-17, z: -2.1649348e-17} - rotation: {x: 0.1903021, y: 0.024461223, z: 0.008538035, w: 0.9813837} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Left_joint362 - parentName: HAIR_Hair_Left_joint361 - position: {x: -0.030357629, y: -1.5820678e-17, z: 4.4408918e-17} - rotation: {x: 0.09730294, y: 0.015569083, z: -0.039320674, w: 0.9943559} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Left_joint363 - parentName: HAIR_Hair_Left_joint362 - position: {x: -0.027111296, y: -2.2343239e-17, z: -1.1934897e-17} - rotation: {x: -0.099066116, y: -0.01503982, z: 0.04726223, w: 0.99384403} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Left_joint364 - parentName: HAIR_Hair_Left_joint363 - position: {x: -0.027295517, y: 1.3072876e-16, z: 3.205769e-17} - rotation: {x: 0.89531946, y: 0.15689385, z: 0.029294923, w: -0.41584754} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Left_joint365 - parentName: HAIR_Hair_Left_joint364 - position: {x: -0.029604107, y: 1.3877787e-19, z: 6.383782e-18} - rotation: {x: -0.0069607524, y: -0.0021796057, z: -0.059613273, w: 0.99819493} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Left_joint366 - parentName: HAIR_Hair_Left_joint365 - position: {x: -0.012055225, y: -8.222589e-17, z: -2.5535128e-17} - rotation: {x: 0.56055695, y: 0.81264174, z: -0.0904752, w: 0.13116229} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint367 - parentName: HAIR_Hair_root - position: {x: -0.08425686, y: -0.046128742, z: -0.08399798} - rotation: {x: 0.009974138, y: 0.01444707, z: 0.5680561, w: 0.82280254} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint368 - parentName: HAIR_Hair_BLeft_joint367 - position: {x: -0.041339576, y: -7.632783e-19, z: 6.938894e-20} - rotation: {x: -0.016433682, y: -0.004903668, z: 0.07224572, w: 0.9972394} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint369 - parentName: HAIR_Hair_BLeft_joint368 - position: {x: -0.027173601, y: 6.228325e-17, z: 1.9909203e-17} - rotation: {x: -0.0494699, y: -0.008387342, z: 0.049630564, w: 0.9975065} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint370 - parentName: HAIR_Hair_BLeft_joint369 - position: {x: -0.027695231, y: -9.5158255e-17, z: -2.879641e-17} - rotation: {x: 0.4386161, y: 0.044512197, z: 0.015344692, w: 0.8974403} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint371 - parentName: HAIR_Hair_BLeft_joint370 - position: {x: -0.024725521, y: 3.205769e-17, z: -1.8873792e-17} - rotation: {x: -0.8387921, y: -0.04722463, z: 0.015076245, w: 0.5421904} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint372 - parentName: HAIR_Hair_BLeft_joint371 - position: {x: -0.030057807, y: 5.9674484e-18, z: 2.2204459e-17} - rotation: {x: 0.96924525, y: 0.043829005, z: 0.004055204, w: -0.24212855} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint373 - parentName: HAIR_Hair_BLeft_joint372 - position: {x: -0.020259675, y: -2.0261569e-17, z: -2.019218e-17} - rotation: {x: 0.25363404, y: 0.052550364, z: -0.13704094, w: 0.9561004} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint374 - parentName: HAIR_Hair_BLeft_joint373 - position: {x: -0.02240097, y: -2.3002432e-17, z: 1.9151347e-17} - rotation: {x: 0.08473575, y: 0.049791496, z: -0.18266082, w: 0.97825134} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint375 - parentName: HAIR_Hair_BLeft_joint374 - position: {x: -0.01313359, y: -4.6708514e-17, z: 1.0061396e-18} - rotation: {x: 0.41452804, y: 0.909924, z: -0.0059338077, w: 0.013025207} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint376 - parentName: HAIR_Hair_root - position: {x: -0.07566251, y: -0.049469274, z: -0.09803266} - rotation: {x: -0.028901875, y: -0.03783513, z: 0.60635257, w: 0.7937694} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint377 - parentName: HAIR_Hair_BLeft_joint376 - position: {x: -0.04313565, y: -5.1000867e-18, z: -6.9388935e-19} - rotation: {x: 0.2930443, y: 0.06170943, z: 0.055864263, w: 0.95246845} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint378 - parentName: HAIR_Hair_BLeft_joint377 - position: {x: -0.024316043, y: -7.6327835e-18, z: -3.9412916e-17} - rotation: {x: 0.047753848, y: 0.0056227664, z: 0.031715985, w: 0.99833965} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint379 - parentName: HAIR_Hair_BLeft_joint378 - position: {x: -0.027500808, y: 0, z: 3.6082247e-17} - rotation: {x: 0.24381109, y: 0.01576637, z: 0.020236703, w: 0.96948344} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint380 - parentName: HAIR_Hair_BLeft_joint379 - position: {x: -0.023637254, y: 1.2490009e-17, z: -3.670675e-17} - rotation: {x: 0.62407845, y: 0.024645753, z: 0.003307277, w: 0.7809659} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint381 - parentName: HAIR_Hair_BLeft_joint380 - position: {x: -0.032359, y: 1.8596234e-17, z: 1.4710454e-17} - rotation: {x: 0.87809044, y: 0.060552526, z: -0.015951924, w: 0.4743798} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint382 - parentName: HAIR_Hair_BLeft_joint381 - position: {x: -0.024815392, y: -3.8857806e-18, z: 4.614364e-18} - rotation: {x: -0.22854999, y: -0.045336887, z: -0.09065927, w: 0.96824086} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint383 - parentName: HAIR_Hair_BLeft_joint382 - position: {x: -0.024738483, y: -4.6074255e-17, z: -4.9960034e-18} - rotation: {x: -0.6487014, y: -0.211641, z: -0.01913524, w: 0.73077255} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint384 - parentName: HAIR_Hair_BLeft_joint383 - position: {x: -0.0108039165, y: 2.345346e-17, z: -8.4654504e-17} - rotation: {x: 0.5580496, y: 0.790632, z: 0.14529102, w: -0.20584501} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint385 - parentName: HAIR_Hair_root - position: {x: -0.061165933, y: -0.05185925, z: -0.10928473} - rotation: {x: -0.1014344, y: -0.12991297, z: 0.6070007, w: 0.7774213} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint386 - parentName: HAIR_Hair_BLeft_joint385 - position: {x: -0.043635577, y: 5.9674484e-18, z: 3.8857806e-18} - rotation: {x: 0.2075544, y: 0.041077223, z: 0.048437033, w: 0.9761597} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint387 - parentName: HAIR_Hair_BLeft_joint386 - position: {x: -0.026393622, y: 2.0079425e-18, z: 5.0653923e-18} - rotation: {x: 0.19661324, y: 0.020462908, z: 0.04125985, w: 0.9793989} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint388 - parentName: HAIR_Hair_BLeft_joint387 - position: {x: -0.022452498, y: 3.8753723e-17, z: -5.3360095e-17} - rotation: {x: 0.68555605, y: 0.034662027, z: 0.008059566, w: 0.72714955} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint389 - parentName: HAIR_Hair_BLeft_joint388 - position: {x: -0.026180867, y: -2.5118795e-17, z: 1.6514567e-17} - rotation: {x: 0.92909384, y: 0.053361036, z: -0.0065638693, w: 0.36591557} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint390 - parentName: HAIR_Hair_BLeft_joint389 - position: {x: -0.030135887, y: -1.5543122e-17, z: -1.3877787e-18} - rotation: {x: -0.044631578, y: -0.0035642015, z: -0.0043780906, w: 0.99898756} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint391 - parentName: HAIR_Hair_BLeft_joint390 - position: {x: -0.024806675, y: 1.2934098e-16, z: -1.2129186e-16} - rotation: {x: -0.32649735, y: -0.035870384, z: -0.023944456, w: 0.9442137} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint392 - parentName: HAIR_Hair_BLeft_joint391 - position: {x: -0.023450997, y: 2.0816682e-17, z: 2.2204459e-17} - rotation: {x: -0.57990307, y: -0.1405847, z: -0.082555875, w: 0.7982061} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint393 - parentName: HAIR_Hair_BLeft_joint392 - position: {x: -0.011086673, y: -7.7993166e-17, z: 2.2482016e-17} - rotation: {x: 0.533517, y: 0.7553582, z: 0.21952672, w: -0.3108079} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint394 - parentName: HAIR_Hair_root - position: {x: -0.04289065, y: -0.05609353, z: -0.11659871} - rotation: {x: -0.2654199, y: -0.33956745, z: 0.55570275, w: 0.7109435} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint395 - parentName: HAIR_Hair_BLeft_joint394 - position: {x: -0.04203085, y: -1.110223e-18, z: -1.6653345e-18} - rotation: {x: 0.15565859, y: 0.0280195, z: 0.06493062, w: 0.9852763} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint396 - parentName: HAIR_Hair_BLeft_joint395 - position: {x: -0.025476865, y: -5.231926e-17, z: -1.0824674e-17} - rotation: {x: 0.4066438, y: 0.035790313, z: 0.0223684, w: 0.9126114} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint397 - parentName: HAIR_Hair_BLeft_joint396 - position: {x: -0.023845246, y: 3.714043e-17, z: -9.5756736e-18} - rotation: {x: 0.11576496, y: 0.004704352, z: 0.02251295, w: 0.99301034} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint398 - parentName: HAIR_Hair_BLeft_joint397 - position: {x: -0.032295022, y: 4.1008862e-17, z: 2.4910629e-17} - rotation: {x: -0.70240766, y: -0.03885229, z: -0.026510222, w: 0.7102192} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint399 - parentName: HAIR_Hair_BLeft_joint398 - position: {x: -0.033679977, y: -1.8041123e-17, z: -1.9151347e-17} - rotation: {x: 0.30105504, y: 0.01955728, z: 0.026401099, w: 0.9530406} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint400 - parentName: HAIR_Hair_BLeft_joint399 - position: {x: -0.027607603, y: 4.1598668e-17, z: -4.239664e-17} - rotation: {x: 0.95318574, y: 0.22829458, z: -0.0389862, w: 0.19441868} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint401 - parentName: HAIR_Hair_BLeft_joint400 - position: {x: -0.020226372, y: -5.884182e-17, z: 2.2204459e-17} - rotation: {x: 0.033977613, y: 0.026646301, z: -0.22977862, w: 0.9722846} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint402 - parentName: HAIR_Hair_BLeft_joint401 - position: {x: -0.01757039, y: -1.2434498e-16, z: 5.5511148e-18} - rotation: {x: 0.30688006, y: 0.8763441, z: 0.12270793, w: -0.35041174} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint403 - parentName: HAIR_Hair_root - position: {x: -0.022050636, y: -0.056354888, z: -0.1258957} - rotation: {x: -0.27311414, y: -0.33645755, z: 0.5679825, w: 0.69971484} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint404 - parentName: HAIR_Hair_BLeft_joint403 - position: {x: -0.043638628, y: -1.11022296e-17, z: 0} - rotation: {x: 0.41428328, y: 0.06533932, z: 0.045967672, w: 0.9066351} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint405 - parentName: HAIR_Hair_BLeft_joint404 - position: {x: -0.030924, y: -3.6302883e-17, z: 1.4536983e-17} - rotation: {x: 0.20502076, y: 0.0154991, z: 0.029663522, w: 0.97818524} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint406 - parentName: HAIR_Hair_BLeft_joint405 - position: {x: -0.018087296, y: 2.2256502e-17, z: -1.6132929e-17} - rotation: {x: -0.52913654, y: -0.03431894, z: -0.016641434, w: 0.8476791} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint407 - parentName: HAIR_Hair_BLeft_joint406 - position: {x: -0.030911312, y: 8.465451e-18, z: -6.383782e-18} - rotation: {x: -0.17488551, y: -0.017317256, z: -0.014078837, w: 0.9843358} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint408 - parentName: HAIR_Hair_BLeft_joint407 - position: {x: -0.03145025, y: 4.3853807e-17, z: -9.797718e-17} - rotation: {x: 0.03920704, y: 0.003930444, z: 0.013075563, w: 0.9991379} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint409 - parentName: HAIR_Hair_BLeft_joint408 - position: {x: -0.01517487, y: -6.661338e-18, z: 9.992007e-18} - rotation: {x: 0.94168293, y: 0.21775955, z: -0.035905957, w: 0.25401735} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint410 - parentName: HAIR_Hair_BLeft_joint409 - position: {x: -0.036563862, y: -8.881784e-18, z: -1.6792122e-17} - rotation: {x: -0.4086756, y: -0.59536207, z: -0.3914868, w: 0.57032126} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint411 - parentName: HAIR_Hair_root - position: {x: -0.010407571, y: -0.057010174, z: -0.12418928} - rotation: {x: -0.3392094, y: -0.44362256, z: 0.50387454, w: 0.6589738} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint412 - parentName: HAIR_Hair_BLeft_joint411 - position: {x: -0.043832853, y: 5.5511148e-18, z: -4.9960034e-18} - rotation: {x: -0.10496322, y: -0.021885792, z: 0.05924962, w: 0.99246824} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint413 - parentName: HAIR_Hair_BLeft_joint412 - position: {x: -0.03245977, y: 2.4424906e-17, z: 9.436896e-18} - rotation: {x: -0.12261614, y: -0.013453584, z: 0.036363337, w: 0.99169654} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint414 - parentName: HAIR_Hair_BLeft_joint413 - position: {x: -0.030308709, y: 4.6074255e-17, z: 1.7798263e-17} - rotation: {x: 0.16441533, y: 0.013827633, z: -0.011117059, w: 0.9862317} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint415 - parentName: HAIR_Hair_BLeft_joint414 - position: {x: -0.03531943, y: 2.1649348e-17, z: 1.2767564e-17} - rotation: {x: 0.72301453, y: 0.043571424, z: 0.024116036, w: 0.68903553} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint416 - parentName: HAIR_Hair_BLeft_joint415 - position: {x: -0.033497054, y: -8.361367e-18, z: -8.083811e-18} - rotation: {x: 0.6210005, y: 0.1486498, z: -0.16023593, w: 0.7527191} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint417 - parentName: HAIR_Hair_BLeft_joint416 - position: {x: -0.025517559, y: -2.997602e-17, z: 1.110223e-18} - rotation: {x: -0.041694693, y: -0.025727771, z: -0.107826814, w: 0.99296176} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BLeft_joint418 - parentName: HAIR_Hair_BLeft_joint417 - position: {x: -0.014640316, y: -3.330669e-18, z: -1.9879931e-17} - rotation: {x: -0.31388542, y: -0.6417721, z: -0.30742592, w: 0.62856495} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint423 - parentName: HAIR_Hair_root - position: {x: 0.0484556, y: -0.035018157, z: 0.070159175} - rotation: {x: 0.686165, y: -0.49030828, z: 0.4372253, w: -0.31242517} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint315 - parentName: HAIR_Hair_FRight_joint423 - position: {x: 0.031434976, y: 0.0000014402552, z: -0.000000032466918} - rotation: {x: 0.61607575, y: 0.14532177, z: 0.07596356, w: 0.7704297} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint316 - parentName: HAIR_Hair_FRight_joint315 - position: {x: 0.03306359, y: 0.0000001621182, z: 0.000000038594926} - rotation: {x: 0.5457742, y: 0.12601665, z: -0.07738503, w: 0.82477987} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint317 - parentName: HAIR_Hair_FRight_joint316 - position: {x: 0.027341923, y: 0.00000037856043, z: 0.0000000072143442} - rotation: {x: 0.56300455, y: 0.78007334, z: -0.15974893, w: 0.2213408} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint428 - parentName: HAIR_Hair_root - position: {x: 0.067059495, y: -0.042588156, z: 0.053353675} - rotation: {x: 0.6900977, y: -0.46665087, z: 0.45824078, w: -0.30986694} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint319 - parentName: HAIR_Hair_FRight_joint428 - position: {x: 0.032691516, y: 0.0000011223922, z: 0.000000027610685} - rotation: {x: 0.46316364, y: 0.13258067, z: 0.08996044, w: 0.8716702} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint320 - parentName: HAIR_Hair_FRight_joint319 - position: {x: 0.028479695, y: 0.00000019396704, z: -0.00000005434434} - rotation: {x: 0.59615964, y: 0.18199508, z: -0.0938737, w: 0.7763113} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint321 - parentName: HAIR_Hair_FRight_joint320 - position: {x: 0.023796195, y: -0.0000014953591, z: 0.00000005555844} - rotation: {x: 0.5356572, y: 0.8228139, z: -0.103586644, w: 0.15911768} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint434 - parentName: HAIR_Hair_root - position: {x: 0.0759978, y: -0.044178154, z: 0.040810276} - rotation: {x: 0.768854, y: -0.5511304, z: 0.2635126, w: -0.18889128} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint323 - parentName: HAIR_Hair_FRight_joint434 - position: {x: 0.046186864, y: -0.000000808708, z: -0.000000012043992} - rotation: {x: 0.8675488, y: 0.20519438, z: 0.042835463, w: 0.45102042} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint324 - parentName: HAIR_Hair_FRight_joint323 - position: {x: 0.05175901, y: -0.00000033377637, z: 0.00000007217849} - rotation: {x: 0.028478967, y: 0.0074648294, z: -0.11845642, w: 0.9925227} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint325 - parentName: HAIR_Hair_FRight_joint324 - position: {x: 0.0265239, y: 0.0000017494399, z: -0.000000027032444} - rotation: {x: -0.06997718, y: -0.03345388, z: -0.070539415, w: 0.99448895} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint326 - parentName: HAIR_Hair_FRight_joint325 - position: {x: 0.019659238, y: -0.0000044877024, z: -0.00000002696917} - rotation: {x: 0.49407792, y: 0.8490507, z: 0.09409476, w: -0.16169761} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint445 - parentName: HAIR_Hair_root - position: {x: 0.078947, y: -0.026448157, z: 0.021602077} - rotation: {x: 0.81175977, y: -0.55934274, z: 0.1382354, w: -0.095251046} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint328 - parentName: HAIR_Hair_FRight_joint445 - position: {x: 0.04229185, y: 0.0000024947794, z: -0.00000005362817} - rotation: {x: 0.13195343, y: 0.032363664, z: 0.122143, w: 0.9831694} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint329 - parentName: HAIR_Hair_FRight_joint328 - position: {x: 0.040828828, y: -0.0000007410163, z: 0.000000016399378} - rotation: {x: 0.6712726, y: 0.117761314, z: -0.04150381, w: 0.7306181} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint330 - parentName: HAIR_Hair_FRight_joint329 - position: {x: 0.035066392, y: 0.0000013001761, z: 0.000000001836045} - rotation: {x: 0.1858305, y: 0.044857062, z: -0.006328809, w: 0.981537} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint331 - parentName: HAIR_Hair_FRight_joint330 - position: {x: 0.02947815, y: 0.00000024956412, z: 0.000000022929743} - rotation: {x: 0.15801646, y: 0.04509895, z: -0.034232713, w: 0.9858119} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint332 - parentName: HAIR_Hair_FRight_joint331 - position: {x: 0.02581191, y: 0.00000004364343, z: -0.0000000067921087} - rotation: {x: 0.16814333, y: 0.055309724, z: -0.0049881428, w: 0.984197} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint333 - parentName: HAIR_Hair_FRight_joint332 - position: {x: 0.02587727, y: -0.0000006809299, z: 0.000000018616628} - rotation: {x: -0.22320892, y: -0.084684156, z: -0.03859477, w: 0.9703179} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint334 - parentName: HAIR_Hair_FRight_joint333 - position: {x: 0.019997876, y: -0.0000018908281, z: -0.00000002955914} - rotation: {x: 0.07186876, y: 0.035424195, z: -0.055373248, w: 0.99524564} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint335 - parentName: HAIR_Hair_FRight_joint334 - position: {x: 0.020996207, y: 0.000004070228, z: -0.000000009618293} - rotation: {x: -0.030588238, y: -0.023959482, z: -0.15025014, w: 0.9878842} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint336 - parentName: HAIR_Hair_FRight_joint335 - position: {x: 0.02504682, y: -0.0000019740635, z: 0.0000000310271} - rotation: {x: 0.36279896, y: 0.9144429, z: 0.06614538, w: -0.16672091} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint452 - parentName: HAIR_Hair_root - position: {x: 0.08572529, y: -0.025958156, z: 0.0037856766} - rotation: {x: 0.81738794, y: -0.56446904, z: 0.09472436, w: -0.06541443} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint338 - parentName: HAIR_Hair_FRight_joint452 - position: {x: 0.044932023, y: 0.0000022207112, z: -0.000000093266124} - rotation: {x: 0.13802162, y: 0.036499623, z: 0.10227549, w: 0.984458} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint339 - parentName: HAIR_Hair_FRight_joint338 - position: {x: 0.03617383, y: -0.00000063828026, z: 0.00000027989103} - rotation: {x: 0.51627713, y: 0.060096934, z: 0.0334196, w: 0.85365653} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint340 - parentName: HAIR_Hair_FRight_joint339 - position: {x: 0.026407788, y: -0.00000050558015, z: -0.0000008020128} - rotation: {x: 0.2205989, y: 0.030697398, z: -0.05992989, w: 0.9730376} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint341 - parentName: HAIR_Hair_FRight_joint340 - position: {x: 0.019783322, y: 0.0000008168073, z: 0.00000028854453} - rotation: {x: -0.16665094, y: -0.034199767, z: -0.00258975, w: 0.9854193} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint342 - parentName: HAIR_Hair_FRight_joint341 - position: {x: 0.011592852, y: -0.00000012018442, z: 0.0000005380882} - rotation: {x: -0.47774935, y: -0.5873225, z: -0.4122553, w: 0.5068072} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Right_joint459 - parentName: HAIR_Hair_root - position: {x: 0.0985826, y: -0.033358157, z: -0.022860521} - rotation: {x: 0.805757, y: -0.49431312, z: 0.27805245, w: -0.1705787} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Right_joint344 - parentName: HAIR_Hair_Right_joint459 - position: {x: 0.041043833, y: 0.000003056296, z: -0.00000013449213} - rotation: {x: 0.27808496, y: 0.14059526, z: 0.0020445571, w: 0.9502092} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Right_joint345 - parentName: HAIR_Hair_Right_joint344 - position: {x: 0.033702932, y: 0.000000021195042, z: 0.00000036490152} - rotation: {x: 0.1944737, y: 0.09579775, z: 0.008046805, w: 0.97618544} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Right_joint346 - parentName: HAIR_Hair_Right_joint345 - position: {x: 0.015854625, y: 0.0000001753344, z: -0.00000034647138} - rotation: {x: 0.07469266, y: 0.043635443, z: -0.078873865, w: 0.9931243} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Right_joint347 - parentName: HAIR_Hair_Right_joint346 - position: {x: 0.01774045, y: -0.0000025957281, z: 0.00000021866036} - rotation: {x: 0.06855343, y: 0.048658483, z: -0.009258358, w: 0.99641716} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_FRight_joint348 - parentName: HAIR_Hair_Right_joint347 - position: {x: 0.012678135, y: 0.00000010680639, z: 0.000000023909669} - rotation: {x: 0.39184773, y: 0.76737297, z: 0.2308153, w: -0.45201594} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Right_joint469 - parentName: HAIR_Hair_root - position: {x: 0.0987123, y: -0.034208156, z: -0.025548322} - rotation: {x: 0.77188164, y: -0.5522883, z: 0.25611505, w: -0.18325262} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Right_joint350 - parentName: HAIR_Hair_Right_joint469 - position: {x: 0.039920963, y: 0.0034263881, z: 0.0048532365} - rotation: {x: 0.10460802, y: 0.02708811, z: 0.07478351, w: 0.9913278} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Right_joint351 - parentName: HAIR_Hair_Right_joint350 - position: {x: 0.028742824, y: 0.004130826, z: 0.0036336966} - rotation: {x: 0.9343212, y: 0.11017229, z: -0.02056773, w: -0.33835325} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Right_joint352 - parentName: HAIR_Hair_Right_joint351 - position: {x: 0.026332282, y: -0.00000042689788, z: 0.0000004162534} - rotation: {x: 0.1782465, y: 0.012519467, z: -0.013242747, w: 0.9838171} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Right_joint353 - parentName: HAIR_Hair_Right_joint352 - position: {x: 0.03301523, y: 0.0000002766501, z: 0.0000004940861} - rotation: {x: 0.5741179, y: 0.09280395, z: -0.062316548, w: 0.81110585} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Right_joint354 - parentName: HAIR_Hair_Right_joint353 - position: {x: 0.02744652, y: 0.000001288739, z: -0.000000038400344} - rotation: {x: 0.36003387, y: 0.0669064, z: 0.049481876, w: 0.9292205} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Right_joint355 - parentName: HAIR_Hair_Right_joint354 - position: {x: 0.023247788, y: 5.6080907e-10, z: 0.000000046281738} - rotation: {x: 0.74794364, y: 0.20059326, z: -0.08295758, w: 0.62726444} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Right_joint356 - parentName: HAIR_Hair_Right_joint355 - position: {x: 0.016307056, y: -0.0000016915557, z: -0.0000000020054658} - rotation: {x: 0.25493804, y: 0.15969726, z: -0.15767886, w: 0.9405534} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Right_joint357 - parentName: HAIR_Hair_Right_joint356 - position: {x: 0.02132128, y: 0.0000017739455, z: -0.00000006127101} - rotation: {x: 0.41007796, y: 0.9120503, z: 0.0002472418, w: -0.000549888} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint479 - parentName: HAIR_Hair_root - position: {x: 0.084256895, y: -0.046128158, z: -0.08399802} - rotation: {x: 0.82280254, y: -0.5680561, z: 0.01444707, w: -0.009974138} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint368 - parentName: HAIR_Hair_BRight_joint479 - position: {x: 0.0413433, y: 0.0000014866168, z: -0.000000037578396} - rotation: {x: -0.016433682, y: -0.004903668, z: 0.07224572, w: 0.9972394} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint369 - parentName: HAIR_Hair_BRight_joint368 - position: {x: 0.02717129, y: -0.00000088264824, z: -0.000000034473455} - rotation: {x: -0.0494699, y: -0.008387342, z: 0.049630564, w: 0.9975065} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint370 - parentName: HAIR_Hair_BRight_joint369 - position: {x: 0.027693283, y: 0.0000004683067, z: 0.00000008453179} - rotation: {x: 0.4386161, y: 0.044512197, z: 0.015344692, w: 0.8974403} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint371 - parentName: HAIR_Hair_BRight_joint370 - position: {x: 0.024727272, y: -0.000000034739013, z: 0.00000023424579} - rotation: {x: -0.8387921, y: -0.04722463, z: 0.015076245, w: 0.5421904} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint372 - parentName: HAIR_Hair_BRight_joint371 - position: {x: 0.030052163, y: -0.00000033994814, z: -0.00000050911996} - rotation: {x: 0.96924525, y: 0.043829005, z: 0.004055204, w: -0.24212855} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint373 - parentName: HAIR_Hair_BRight_joint372 - position: {x: 0.02026886, y: 0.000000049801205, z: -0.00000043853223} - rotation: {x: 0.25363404, y: 0.052550364, z: -0.13704094, w: 0.9561004} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint374 - parentName: HAIR_Hair_BRight_joint373 - position: {x: 0.022392921, y: -0.0000023791215, z: 0.000000037041225} - rotation: {x: 0.08473575, y: 0.049791496, z: -0.18266082, w: 0.97825134} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint375 - parentName: HAIR_Hair_BRight_joint374 - position: {x: 0.013133962, y: -0.0000000041229353, z: 0.000000014193128} - rotation: {x: 0.41452804, y: 0.909924, z: -0.0059338077, w: 0.013025207} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint489 - parentName: HAIR_Hair_root - position: {x: 0.07566249, y: -0.049468152, z: -0.09803262} - rotation: {x: 0.7937694, y: -0.60635257, z: -0.03783513, w: 0.028901875} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint377 - parentName: HAIR_Hair_BRight_joint489 - position: {x: 0.043138493, y: 0.0000007273359, z: 0.000000045341128} - rotation: {x: 0.2930443, y: 0.06170943, z: 0.055864263, w: 0.95246845} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint378 - parentName: HAIR_Hair_BRight_joint377 - position: {x: 0.024309356, y: -0.00000094839936, z: 0.000000015391274} - rotation: {x: 0.047753848, y: 0.0056227664, z: 0.031715985, w: 0.99833965} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint379 - parentName: HAIR_Hair_BRight_joint378 - position: {x: 0.027510304, y: 0.0000007410845, z: -0.000000037139216} - rotation: {x: 0.24381109, y: 0.01576637, z: 0.020236703, w: 0.96948344} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint380 - parentName: HAIR_Hair_BRight_joint379 - position: {x: 0.023632573, y: -0.00000016456383, z: -9.588685e-10} - rotation: {x: 0.62407845, y: 0.024645753, z: 0.003307277, w: 0.7809659} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint381 - parentName: HAIR_Hair_BRight_joint380 - position: {x: 0.032360084, y: 0.000000015791226, z: 0.00000002514322} - rotation: {x: 0.87809044, y: 0.060552526, z: -0.015951924, w: 0.4743798} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint382 - parentName: HAIR_Hair_BRight_joint381 - position: {x: 0.024810182, y: -0.00000055139867, z: 0.000000014138832} - rotation: {x: -0.22854999, y: -0.045336887, z: -0.09065927, w: 0.96824086} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint383 - parentName: HAIR_Hair_BRight_joint382 - position: {x: 0.024746872, y: 0.0000024883614, z: -2.8474134e-10} - rotation: {x: -0.6487014, y: -0.211641, z: -0.01913524, w: 0.73077255} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint384 - parentName: HAIR_Hair_BRight_joint383 - position: {x: 0.010804032, y: 0.000000070466285, z: 0.000000049723187} - rotation: {x: 0.5580496, y: 0.790632, z: 0.14529102, w: -0.20584501} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint499 - parentName: HAIR_Hair_root - position: {x: 0.0611659, y: -0.051858157, z: -0.10928472} - rotation: {x: 0.7774213, y: -0.6070007, z: -0.12991297, w: 0.1014344} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint386 - parentName: HAIR_Hair_BRight_joint499 - position: {x: 0.0436328, y: -0.00000073810463, z: -0.00000010315554} - rotation: {x: 0.2075544, y: 0.041077223, z: 0.048437033, w: 0.9761597} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint387 - parentName: HAIR_Hair_BRight_joint386 - position: {x: 0.026399989, y: 0.0000009631785, z: -0.00000038298293} - rotation: {x: 0.19661324, y: 0.020462908, z: 0.04125985, w: 0.9793989} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint388 - parentName: HAIR_Hair_BRight_joint387 - position: {x: 0.022452572, y: 0.00000018602981, z: 0.0000003626796} - rotation: {x: 0.68555605, y: 0.034662027, z: 0.008059566, w: 0.72714955} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint389 - parentName: HAIR_Hair_BRight_joint388 - position: {x: 0.026180362, y: -0.00000022316442, z: 0.000000060208436} - rotation: {x: 0.92909384, y: 0.053361036, z: -0.0065638693, w: 0.36591557} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint390 - parentName: HAIR_Hair_BRight_joint389 - position: {x: 0.030135443, y: -0.00000042477404, z: -0.00000021950629} - rotation: {x: -0.044631578, y: -0.0035642015, z: -0.0043780906, w: 0.99898756} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint391 - parentName: HAIR_Hair_BRight_joint390 - position: {x: 0.024807623, y: -0.000000029841697, z: -0.000000040618165} - rotation: {x: -0.32649735, y: -0.035870384, z: -0.023944456, w: 0.9442137} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint392 - parentName: HAIR_Hair_BRight_joint391 - position: {x: 0.023452647, y: 0.00000032703315, z: 0.00000035054893} - rotation: {x: -0.57990307, y: -0.1405847, z: -0.082555875, w: 0.7982061} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint393 - parentName: HAIR_Hair_BRight_joint392 - position: {x: 0.011078547, y: -0.0000030623844, z: 0.00000026036517} - rotation: {x: 0.533517, y: 0.7553582, z: 0.21952672, w: -0.3108079} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint509 - parentName: HAIR_Hair_root - position: {x: 0.0428906, y: -0.056098156, z: -0.11659842} - rotation: {x: 0.7109435, y: -0.55570275, z: -0.33956745, w: 0.2654199} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint395 - parentName: HAIR_Hair_BRight_joint509 - position: {x: 0.04202423, y: -0.0000017299376, z: -0.000000049454652} - rotation: {x: 0.15565859, y: 0.0280195, z: 0.06493062, w: 0.9852763} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint396 - parentName: HAIR_Hair_BRight_joint395 - position: {x: 0.025480427, y: 0.00000048370225, z: -0.000000005628299} - rotation: {x: 0.4066438, y: 0.035790313, z: 0.0223684, w: 0.9126114} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint397 - parentName: HAIR_Hair_BRight_joint396 - position: {x: 0.023847718, y: 0.0000002578108, z: 0.0000005371103} - rotation: {x: 0.11576496, y: 0.004704352, z: 0.02251295, w: 0.99301034} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint398 - parentName: HAIR_Hair_BRight_joint397 - position: {x: 0.0322952, y: -0.00000012857566, z: -0.0000002513146} - rotation: {x: -0.70240766, y: -0.03885229, z: -0.026510222, w: 0.7102192} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint399 - parentName: HAIR_Hair_BRight_joint398 - position: {x: 0.033674207, y: -0.00000043885868, z: -0.000000031931886} - rotation: {x: 0.30105504, y: 0.01955728, z: 0.026401099, w: 0.9530406} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint400 - parentName: HAIR_Hair_BRight_joint399 - position: {x: 0.027609084, y: -0.00000021335441, z: 0.0000005263262} - rotation: {x: 0.95318574, y: 0.22829458, z: -0.0389862, w: 0.19441868} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint401 - parentName: HAIR_Hair_BRight_joint400 - position: {x: 0.020226555, y: -0.000000066920414, z: 0.00000014574344} - rotation: {x: 0.033977613, y: 0.026646301, z: -0.22977862, w: 0.9722846} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint402 - parentName: HAIR_Hair_BRight_joint401 - position: {x: 0.017569562, y: -0.0000012495997, z: 0.00000016011361} - rotation: {x: 0.30688006, y: 0.8763441, z: 0.12270793, w: -0.35041174} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint518 - parentName: HAIR_Hair_root - position: {x: 0.022050599, y: -0.056358155, z: -0.12589543} - rotation: {x: 0.69971484, y: -0.5679825, z: -0.33645755, w: 0.27311414} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint404 - parentName: HAIR_Hair_BRight_joint518 - position: {x: 0.043632615, y: -0.000001804582, z: 0.0000003163753} - rotation: {x: 0.41428328, y: 0.06533932, z: 0.045967672, w: 0.9066351} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint405 - parentName: HAIR_Hair_BRight_joint404 - position: {x: 0.030922813, y: -0.000000022567548, z: -0.0000006744138} - rotation: {x: 0.20502076, y: 0.0154991, z: 0.029663522, w: 0.97818524} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint406 - parentName: HAIR_Hair_BRight_joint405 - position: {x: 0.01808842, y: 0.00000007208617, z: 0.0000002557902} - rotation: {x: -0.52913654, y: -0.03431894, z: -0.016641434, w: 0.8476791} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint407 - parentName: HAIR_Hair_BRight_joint406 - position: {x: 0.030910006, y: 0.00000014141224, z: -0.00000021591462} - rotation: {x: -0.17488551, y: -0.017317256, z: -0.014078837, w: 0.9843358} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint408 - parentName: HAIR_Hair_BRight_joint407 - position: {x: 0.031450618, y: -0.00000028150026, z: 0.00000017490274} - rotation: {x: 0.03920704, y: 0.003930444, z: 0.013075563, w: 0.9991379} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint409 - parentName: HAIR_Hair_BRight_joint408 - position: {x: 0.015177184, y: -0.00000010201335, z: 0.00000015708456} - rotation: {x: 0.94168293, y: 0.21775955, z: -0.035905957, w: 0.25401735} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint410 - parentName: HAIR_Hair_BRight_joint409 - position: {x: 0.036563862, y: -0.00000047125565, z: 0.000000011737976} - rotation: {x: -0.4086756, y: -0.59536207, z: -0.3914868, w: 0.57032126} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint527 - parentName: HAIR_Hair_root - position: {x: 0.010407601, y: -0.057008155, z: -0.12418942} - rotation: {x: 0.6589738, y: -0.50387454, z: -0.44362256, w: 0.3392094} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint412 - parentName: HAIR_Hair_BRight_joint527 - position: {x: 0.043832295, y: -0.00000005459708, z: 0.000000017801884} - rotation: {x: -0.10496322, y: -0.021885792, z: 0.05924962, w: 0.99246824} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint413 - parentName: HAIR_Hair_BRight_joint412 - position: {x: 0.032464918, y: 0.0000012006009, z: -0.00000014029621} - rotation: {x: -0.12261614, y: -0.013453584, z: 0.036363337, w: 0.99169654} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint414 - parentName: HAIR_Hair_BRight_joint413 - position: {x: 0.030309906, y: 0.00000012723572, z: 0.000000085961666} - rotation: {x: 0.16441533, y: 0.013827633, z: -0.011117059, w: 0.9862317} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint415 - parentName: HAIR_Hair_BRight_joint414 - position: {x: 0.03531986, y: -0.00000008635566, z: -0.000000020793633} - rotation: {x: 0.72301453, y: 0.043571424, z: 0.024116036, w: 0.68903553} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint416 - parentName: HAIR_Hair_BRight_joint415 - position: {x: 0.03349064, y: -0.0000001490764, z: 0.00000003090387} - rotation: {x: 0.6210005, y: 0.1486498, z: -0.16023593, w: 0.7527191} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint417 - parentName: HAIR_Hair_BRight_joint416 - position: {x: 0.025521457, y: 0.0000016762549, z: 0.000000052667268} - rotation: {x: -0.041694693, y: -0.025727771, z: -0.107826814, w: 0.99296176} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_BRight_joint418 - parentName: HAIR_Hair_BRight_joint417 - position: {x: 0.014635081, y: -0.0000038264047, z: -0.000000032672425} - rotation: {x: -0.31388542, y: -0.6417721, z: -0.30742592, w: 0.62856495} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHair_root - parentName: HAIR_Hair_root - position: {x: 2.1047967e-16, y: 0.007881771, z: -0.0651149} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft_root - parentName: HAIR_LongHair_root - position: {x: -0.070653185, y: 0.0021621636, z: 0.009143553} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft1_joint - parentName: HAIR_LongHairLeft_root - position: {x: -0.0069449255, y: -0.0025974908, z: -0.0016935407} - rotation: {x: 0.0015503735, y: -0.032466367, z: -0.047673658, w: 0.998334} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft1_joint1 - parentName: HAIR_LongHairLeft1_joint - position: {x: -0.04821236, y: 0.0011964958, z: 0.0042659366} - rotation: {x: -0.0005964064, y: 0.008479876, z: 0.025214009, w: 0.99964595} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft1_joint2 - parentName: HAIR_LongHairLeft1_joint1 - position: {x: -0.047157582, y: 0.008441066, z: 0.0022455356} - rotation: {x: -0.00024668145, y: 0.0061546112, z: 0.004939328, w: 0.9999688} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft1_joint3 - parentName: HAIR_LongHairLeft1_joint2 - position: {x: -0.04810126, y: 0.008963458, z: 0.0017055083} - rotation: {x: 0.00015455106, y: -0.0067326413, z: 0.0121678375, w: 0.9999033} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft1_joint4 - parentName: HAIR_LongHairLeft1_joint3 - position: {x: -0.05019726, y: 0.011430264, z: 0.0024637843} - rotation: {x: -0.00004902997, y: 0.007859937, z: 0.004545008, w: 0.9999588} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft1_joint5 - parentName: HAIR_LongHairLeft1_joint4 - position: {x: -0.049563516, y: 0.012737888, z: 0.0016575828} - rotation: {x: -0.00010838862, y: -0.004876911, z: 0.023911348, w: 0.9997022} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft1_joint6 - parentName: HAIR_LongHairLeft1_joint5 - position: {x: -0.046916213, y: 0.015598481, z: 0.0020570762} - rotation: {x: 0.00031175197, y: 0.010236811, z: -0.015689032, w: 0.99982446} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft1_joint7 - parentName: HAIR_LongHairLeft1_joint6 - position: {x: -0.051442888, y: 0.013457265, z: 0.0011732922} - rotation: {x: -0.00026599728, y: -0.018356208, z: -0.0002642112, w: 0.9998315} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft1_joint8 - parentName: HAIR_LongHairLeft1_joint7 - position: {x: -0.048335034, y: 0.014352199, z: 0.0028881284} - rotation: {x: 0.00006023112, y: 0.017093921, z: -0.010700299, w: 0.9997966} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft1_joint9 - parentName: HAIR_LongHairLeft1_joint8 - position: {x: -0.047919087, y: 0.013631084, z: 0.0012075749} - rotation: {x: -0.00026443714, y: 0.015146897, z: -0.010276497, w: 0.99983245} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft1_joint10 - parentName: HAIR_LongHairLeft1_joint9 - position: {x: -0.04624823, y: 0.014169188, z: -0.00023159274} - rotation: {x: 0.00063732086, y: 0.038825206, z: 0.044100292, w: 0.9982722} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft1_joint11 - parentName: HAIR_LongHairLeft1_joint10 - position: {x: -0.04239178, y: 0.019798767, z: -0.003608138} - rotation: {x: 0.001246399, y: 0.03244843, z: -0.022155253, w: 0.99922705} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft1_joint12 - parentName: HAIR_LongHairLeft1_joint11 - position: {x: -0.042952884, y: 0.013912526, z: -0.0064229337} - rotation: {x: -0.00018316651, y: -0.0069087697, z: 0.010281484, w: 0.9999233} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft1_joint13 - parentName: HAIR_LongHairLeft1_joint12 - position: {x: -0.04025115, y: 0.0072352784, z: -0.005452868} - rotation: {x: 0.00045177352, y: 0.0071332674, z: 0.026457211, w: 0.99962443} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft1_joint14 - parentName: HAIR_LongHairLeft1_joint13 - position: {x: -0.04374135, y: 0.0058064735, z: -0.006580025} - rotation: {x: -0.0008841193, y: -0.023563972, z: -0.052169234, w: 0.99835986} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft1_joint15 - parentName: HAIR_LongHairLeft1_joint14 - position: {x: -0.013749269, y: -0.00058734464, z: -0.0013940895} - rotation: {x: 0.00037112838, y: -0.050475296, z: 0.0073431027, w: 0.9986983} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft2_joint - parentName: HAIR_LongHairLeft_root - position: {x: -0.0069449255, y: -0.0025974908, z: -0.0016935407} - rotation: {x: 0.0015503735, y: -0.032466367, z: -0.047673658, w: 0.998334} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft2_joint1 - parentName: HAIR_LongHairLeft2_joint - position: {x: -0.08451688, y: 0.004394333, z: 0.0065991264} - rotation: {x: -0.0005964064, y: 0.008479876, z: 0.025214009, w: 0.99964595} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft2_joint2 - parentName: HAIR_LongHairLeft2_joint1 - position: {x: -0.06877951, y: 0.0022401302, z: 0.0032968922} - rotation: {x: -0.00024668145, y: 0.0061546112, z: 0.004939328, w: 0.9999688} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft2_joint3 - parentName: HAIR_LongHairLeft2_joint2 - position: {x: -0.065118365, y: 0.0054394123, z: 0.002317273} - rotation: {x: 0.00015455106, y: -0.0067326413, z: 0.0121678375, w: 0.9999033} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft2_joint4 - parentName: HAIR_LongHairLeft2_joint3 - position: {x: -0.0649359, y: 0.006179506, z: 0.0031917538} - rotation: {x: -0.00004902997, y: 0.007859937, z: 0.004545008, w: 0.9999588} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft2_joint5 - parentName: HAIR_LongHairLeft2_joint4 - position: {x: -0.066599965, y: 0.0060322336, z: 0.0022279709} - rotation: {x: -0.00010838862, y: -0.004876911, z: 0.023911348, w: 0.9997022} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft2_joint6 - parentName: HAIR_LongHairLeft2_joint5 - position: {x: -0.06404796, y: 0.011529033, z: 0.0027887619} - rotation: {x: 0.00031175197, y: 0.010236811, z: -0.015689032, w: 0.99982446} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft2_joint7 - parentName: HAIR_LongHairLeft2_joint6 - position: {x: -0.0675403, y: 0.0081152525, z: 0.001537234} - rotation: {x: -0.00026599728, y: -0.018356208, z: -0.0002642112, w: 0.9998315} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft2_joint8 - parentName: HAIR_LongHairLeft2_joint7 - position: {x: -0.053882197, y: 0.008103213, z: 0.0032129001} - rotation: {x: 0.00006023112, y: 0.017093921, z: -0.010700299, w: 0.9997966} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft2_joint9 - parentName: HAIR_LongHairLeft2_joint8 - position: {x: -0.07011793, y: 0.0058053145, z: 0.0017695556} - rotation: {x: -0.00026443714, y: 0.015146897, z: -0.010276497, w: 0.99983245} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft2_joint10 - parentName: HAIR_LongHairLeft2_joint9 - position: {x: -0.065734215, y: 0.007121648, z: -0.0003309947} - rotation: {x: 0.00063732086, y: 0.038825206, z: 0.044100292, w: 0.9982722} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft2_joint11 - parentName: HAIR_LongHairLeft2_joint10 - position: {x: -0.06038061, y: 0.011083183, z: -0.005053333} - rotation: {x: 0.001246399, y: 0.03244843, z: -0.022155253, w: 0.99922705} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft2_joint12 - parentName: HAIR_LongHairLeft2_joint11 - position: {x: -0.099900685, y: 0.011754319, z: -0.014888861} - rotation: {x: -0.00018316651, y: -0.0069087697, z: 0.010281484, w: 0.9999233} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft2_joint13 - parentName: HAIR_LongHairLeft2_joint12 - position: {x: -0.06177532, y: 0.008534748, z: -0.008356043} - rotation: {x: 0.00045177352, y: 0.0071332674, z: 0.026457211, w: 0.99962443} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft2_joint14 - parentName: HAIR_LongHairLeft2_joint13 - position: {x: -0.042939004, y: 0.0064500384, z: -0.006469357} - rotation: {x: -0.0008841193, y: -0.023563972, z: -0.052169234, w: 0.99835986} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft2_joint15 - parentName: HAIR_LongHairLeft2_joint14 - position: {x: -0.033290707, y: 0.001993319, z: -0.0033703793} - rotation: {x: 0.00037112838, y: -0.050475296, z: 0.0073431027, w: 0.9986983} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft3_joint - parentName: HAIR_LongHairLeft_root - position: {x: -0.0069449255, y: -0.0025974908, z: -0.0016935407} - rotation: {x: 0.0015503735, y: -0.032466367, z: -0.047673658, w: 0.998334} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft3_joint1 - parentName: HAIR_LongHairLeft3_joint - position: {x: -0.067815736, y: 0.000034394703, z: 0.0055437135} - rotation: {x: -0.0005964064, y: 0.008479876, z: 0.025214009, w: 0.99964595} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft3_joint2 - parentName: HAIR_LongHairLeft3_joint1 - position: {x: -0.06028624, y: 0.0000062557006, z: 0.0028940046} - rotation: {x: -0.00024668145, y: 0.0061546112, z: 0.004939328, w: 0.9999688} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft3_joint3 - parentName: HAIR_LongHairLeft3_joint2 - position: {x: -0.079115406, y: 0.0000035407238, z: 0.0028236476} - rotation: {x: 0.00015455106, y: -0.0067326413, z: 0.0121678375, w: 0.9999033} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft3_joint4 - parentName: HAIR_LongHairLeft3_joint3 - position: {x: -0.08668637, y: 0.0000022630268, z: 0.0042652166} - rotation: {x: -0.00004902997, y: 0.007859937, z: 0.004545008, w: 0.9999588} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft3_joint5 - parentName: HAIR_LongHairLeft3_joint4 - position: {x: -0.08631996, y: 0.00000016356853, z: 0.0028881072} - rotation: {x: -0.00010838862, y: -0.004876911, z: 0.023911348, w: 0.9997022} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft3_joint6 - parentName: HAIR_LongHairLeft3_joint5 - position: {x: -0.08258826, y: -0.000007110171, z: 0.0035663869} - rotation: {x: 0.00031175197, y: 0.010236811, z: -0.015689032, w: 0.99982446} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft3_joint7 - parentName: HAIR_LongHairLeft3_joint6 - position: {x: -0.08036073, y: -0.00000061207356, z: 0.0018257931} - rotation: {x: -0.00026599728, y: -0.018356208, z: -0.0002642112, w: 0.9998315} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft3_joint8 - parentName: HAIR_LongHairLeft3_joint7 - position: {x: -0.082472235, y: -0.0000041538865, z: 0.0049071712} - rotation: {x: 0.00006023112, y: 0.017093921, z: -0.010700299, w: 0.9997966} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft3_joint9 - parentName: HAIR_LongHairLeft3_joint8 - position: {x: -0.07940789, y: 0.00000036349127, z: 0.0020051966} - rotation: {x: -0.00026443714, y: 0.015146897, z: -0.010276497, w: 0.99983245} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft3_joint10 - parentName: HAIR_LongHairLeft3_joint9 - position: {x: -0.07363159, y: 0.000000052103342, z: -0.0003718784} - rotation: {x: 0.00063732086, y: 0.038825206, z: 0.044100292, w: 0.9982722} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft3_joint11 - parentName: HAIR_LongHairLeft3_joint10 - position: {x: -0.07131605, y: -0.000029624547, z: -0.005902687} - rotation: {x: 0.001246399, y: 0.03244843, z: -0.022155253, w: 0.99922705} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft3_joint12 - parentName: HAIR_LongHairLeft3_joint11 - position: {x: -0.06922575, y: -0.000024853756, z: -0.010297453} - rotation: {x: -0.00018316651, y: -0.0069087697, z: 0.010281484, w: 0.9999233} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft3_joint13 - parentName: HAIR_LongHairLeft3_joint12 - position: {x: -0.06378245, y: -0.000042516465, z: -0.00858368} - rotation: {x: 0.00045177352, y: 0.0071332674, z: 0.026457211, w: 0.99962443} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft3_joint14 - parentName: HAIR_LongHairLeft3_joint13 - position: {x: -0.05806042, y: -0.000115390576, z: -0.008629444} - rotation: {x: -0.0008841193, y: -0.023563972, z: -0.052169234, w: 0.99835986} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft3_joint15 - parentName: HAIR_LongHairLeft3_joint14 - position: {x: -0.038527567, y: 0.00000581763, z: -0.0039039927} - rotation: {x: 0.00037112838, y: -0.050475296, z: 0.0073431027, w: 0.9986983} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft4_joint - parentName: HAIR_LongHairLeft_root - position: {x: -0.0069449255, y: -0.0025974908, z: -0.0016935407} - rotation: {x: 0.0015503735, y: -0.032466367, z: -0.047673658, w: 0.998334} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft4_joint1 - parentName: HAIR_LongHairLeft4_joint - position: {x: -0.08284674, y: -0.013053045, z: 0.0065991264} - rotation: {x: -0.0005964064, y: 0.008479876, z: 0.025214009, w: 0.99964595} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft4_joint2 - parentName: HAIR_LongHairLeft4_joint1 - position: {x: -0.06789253, y: -0.017457932, z: 0.0032968922} - rotation: {x: -0.00024668145, y: 0.0061546112, z: 0.004939328, w: 0.9999688} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft4_joint3 - parentName: HAIR_LongHairLeft4_joint2 - position: {x: -0.06434909, y: -0.016455991, z: 0.002317273} - rotation: {x: 0.00015455106, y: -0.0067326413, z: 0.0121678375, w: 0.9999033} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft4_joint4 - parentName: HAIR_LongHairLeft4_joint3 - position: {x: -0.06466422, y: -0.019014282, z: 0.0031917538} - rotation: {x: -0.00004902997, y: 0.007859937, z: 0.004545008, w: 0.9999588} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft4_joint5 - parentName: HAIR_LongHairLeft4_joint4 - position: {x: -0.06655917, y: -0.018067539, z: 0.0022279709} - rotation: {x: -0.00010838862, y: -0.004876911, z: 0.023911348, w: 0.9997022} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft4_joint6 - parentName: HAIR_LongHairLeft4_joint5 - position: {x: -0.0653615, y: -0.016922252, z: 0.0027887619} - rotation: {x: 0.00031175197, y: 0.010236811, z: -0.015689032, w: 0.99982446} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft4_joint7 - parentName: HAIR_LongHairLeft4_joint6 - position: {x: -0.06792819, y: -0.018172584, z: 0.001537234} - rotation: {x: -0.00026599728, y: -0.018356208, z: -0.0002642112, w: 0.9998315} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft4_joint8 - parentName: HAIR_LongHairLeft4_joint7 - position: {x: -0.054256186, y: -0.018184824, z: 0.0032129001} - rotation: {x: 0.00006023112, y: 0.017093921, z: -0.010700299, w: 0.9997966} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft4_joint9 - parentName: HAIR_LongHairLeft4_joint8 - position: {x: -0.06997638, y: -0.013912201, z: 0.0017695556} - rotation: {x: -0.00026443714, y: 0.015146897, z: -0.010276497, w: 0.99983245} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft4_joint10 - parentName: HAIR_LongHairLeft4_joint9 - position: {x: -0.06506591, y: -0.01696889, z: -0.0003309947} - rotation: {x: 0.00063732086, y: 0.038825206, z: 0.044100292, w: 0.9982722} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft4_joint11 - parentName: HAIR_LongHairLeft4_joint10 - position: {x: -0.061706636, y: -0.010785567, z: -0.005053333} - rotation: {x: 0.001246399, y: 0.03244843, z: -0.022155253, w: 0.99922705} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft4_joint12 - parentName: HAIR_LongHairLeft4_joint11 - position: {x: -0.05028297, y: -0.0019381603, z: -0.0074750464} - rotation: {x: -0.00018316651, y: -0.0069087697, z: 0.010281484, w: 0.9999233} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft4_joint13 - parentName: HAIR_LongHairLeft4_joint12 - position: {x: -0.05525875, y: -0.011871453, z: -0.007377963} - rotation: {x: 0.00045177352, y: 0.0071332674, z: 0.026457211, w: 0.99962443} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft4_joint14 - parentName: HAIR_LongHairLeft4_joint13 - position: {x: -0.031947203, y: -0.007874788, z: -0.00464382} - rotation: {x: -0.0008841193, y: -0.023563972, z: -0.052169234, w: 0.99835986} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairLeft4_joint15 - parentName: HAIR_LongHairLeft4_joint14 - position: {x: -0.029986782, y: -0.005745212, z: -0.003047124} - rotation: {x: 0.00037112838, y: -0.050475296, z: 0.0073431027, w: 0.9986983} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight_root - parentName: HAIR_LongHair_root - position: {x: 0.0706532, y: 0.002160072, z: 0.009143576} - rotation: {x: 1, y: 0, z: 0, w: -6.123234e-17} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight1_joint1 - parentName: HAIR_LongHairRight_root - position: {x: 0.0069449, y: 0.0025999998, z: 0.0016936} - rotation: {x: 0.0015503735, y: -0.032466367, z: -0.047673658, w: 0.998334} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight1_joint2 - parentName: HAIR_LongHairRight1_joint1 - position: {x: 0.048212755, y: -0.0012013144, z: -0.0042659193} - rotation: {x: -0.0005964064, y: 0.008479876, z: 0.025214009, w: 0.99964595} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight1_joint3 - parentName: HAIR_LongHairRight1_joint2 - position: {x: 0.047157347, y: -0.008437235, z: -0.0022455326} - rotation: {x: -0.00024668145, y: 0.0061546112, z: 0.004939328, w: 0.9999688} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight1_joint4 - parentName: HAIR_LongHairRight1_joint3 - position: {x: 0.048101056, y: -0.0089665735, z: -0.001705497} - rotation: {x: 0.00015455106, y: -0.0067326413, z: 0.0121678375, w: 0.9999033} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight1_joint5 - parentName: HAIR_LongHairRight1_joint4 - position: {x: 0.050197575, y: -0.011429392, z: -0.0024638006} - rotation: {x: -0.000049029968, y: 0.007859937, z: 0.004545008, w: 0.9999588} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight1_joint6 - parentName: HAIR_LongHairRight1_joint5 - position: {x: 0.049563907, y: -0.01273612, z: -0.0016575959} - rotation: {x: -0.00010838862, y: -0.004876911, z: 0.023911348, w: 0.9997022} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight1_joint7 - parentName: HAIR_LongHairRight1_joint6 - position: {x: 0.04691601, y: -0.015600307, z: -0.0020570713} - rotation: {x: 0.00031175197, y: 0.010236811, z: -0.015689032, w: 0.99982446} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight1_joint8 - parentName: HAIR_LongHairRight1_joint7 - position: {x: 0.05144268, y: -0.013460428, z: -0.0011732884} - rotation: {x: -0.00026599728, y: -0.018356208, z: -0.0002642112, w: 0.9998315} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight1_joint9 - parentName: HAIR_LongHairRight1_joint8 - position: {x: 0.048334915, y: -0.014349022, z: -0.0028881188} - rotation: {x: 0.000060231123, y: 0.017093921, z: -0.010700299, w: 0.9997966} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight1_joint10 - parentName: HAIR_LongHairRight1_joint9 - position: {x: 0.047918875, y: -0.0136363655, z: -0.0012075687} - rotation: {x: -0.00026443714, y: 0.015146897, z: -0.010276497, w: 0.99983245} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight1_joint11 - parentName: HAIR_LongHairRight1_joint10 - position: {x: 0.04624895, y: -0.014162932, z: 0.00023159724} - rotation: {x: 0.00063732086, y: 0.038825206, z: 0.044100292, w: 0.9982722} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight1_joint12 - parentName: HAIR_LongHairRight1_joint11 - position: {x: 0.04239087, y: -0.019801991, z: 0.0036080785} - rotation: {x: 0.001246399, y: 0.03244843, z: -0.022155253, w: 0.99922705} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight1_joint13 - parentName: HAIR_LongHairRight1_joint12 - position: {x: 0.042952847, y: -0.013908668, z: 0.0064229188} - rotation: {x: -0.00018316651, y: -0.0069087697, z: 0.010281484, w: 0.9999233} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight1_joint14 - parentName: HAIR_LongHairRight1_joint13 - position: {x: 0.040251594, y: -0.007235332, z: 0.0054529277} - rotation: {x: 0.00045177352, y: 0.0071332674, z: 0.026457211, w: 0.99962443} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight1_joint15 - parentName: HAIR_LongHairRight1_joint14 - position: {x: 0.04374084, y: -0.0058120936, z: 0.0065800236} - rotation: {x: -0.0008841193, y: -0.023563972, z: -0.052169234, w: 0.99835986} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight1_joint16 - parentName: HAIR_LongHairRight1_joint15 - position: {x: 0.013749318, y: 0.0005922416, z: 0.001394102} - rotation: {x: 0.00037112838, y: -0.050475296, z: 0.0073431027, w: 0.9986983} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight2_joint - parentName: HAIR_LongHairRight_root - position: {x: 0.0069449, y: 0.0025999998, z: 0.0016936} - rotation: {x: 0.0015503735, y: -0.032466367, z: -0.047673658, w: 0.998334} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight2_joint1 - parentName: HAIR_LongHairRight2_joint - position: {x: 0.08451753, y: -0.004396402, z: -0.006599142} - rotation: {x: -0.0005964064, y: 0.008479876, z: 0.025214009, w: 0.99964595} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight2_joint2 - parentName: HAIR_LongHairRight2_joint1 - position: {x: 0.06877914, y: -0.0022383346, z: -0.0032968782} - rotation: {x: -0.00024668145, y: 0.0061546112, z: 0.004939328, w: 0.9999688} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight2_joint3 - parentName: HAIR_LongHairRight2_joint2 - position: {x: 0.065118045, y: -0.0054468918, z: -0.0023172519} - rotation: {x: 0.00015455106, y: -0.0067326413, z: 0.0121678375, w: 0.9999033} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight2_joint4 - parentName: HAIR_LongHairRight2_joint3 - position: {x: 0.06493594, y: -0.006180166, z: -0.0031917552} - rotation: {x: -0.000049029968, y: 0.007859937, z: 0.004545008, w: 0.9999588} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight2_joint5 - parentName: HAIR_LongHairRight2_joint4 - position: {x: 0.06660003, y: -0.0060272734, z: -0.0022279734} - rotation: {x: -0.00010838862, y: -0.004876911, z: 0.023911348, w: 0.9997022} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight2_joint6 - parentName: HAIR_LongHairRight2_joint5 - position: {x: 0.064048335, y: -0.011526092, z: -0.0027887719} - rotation: {x: 0.00031175197, y: 0.010236811, z: -0.015689032, w: 0.99982446} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight2_joint7 - parentName: HAIR_LongHairRight2_joint6 - position: {x: 0.06754013, y: -0.008117341, z: -0.0015372307} - rotation: {x: -0.00026599728, y: -0.018356208, z: -0.0002642112, w: 0.9998315} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight2_joint8 - parentName: HAIR_LongHairRight2_joint7 - position: {x: 0.053882614, y: -0.008107306, z: -0.003212928} - rotation: {x: 0.000060231123, y: 0.017093921, z: -0.010700299, w: 0.9997966} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight2_joint9 - parentName: HAIR_LongHairRight2_joint8 - position: {x: 0.07011815, y: -0.005806808, z: -0.0017695609} - rotation: {x: -0.00026443714, y: 0.015146897, z: -0.010276497, w: 0.99983245} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight2_joint10 - parentName: HAIR_LongHairRight2_joint9 - position: {x: 0.06573388, y: -0.0071198917, z: 0.00033099324} - rotation: {x: 0.00063732086, y: 0.038825206, z: 0.044100292, w: 0.9982722} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight2_joint11 - parentName: HAIR_LongHairRight2_joint10 - position: {x: 0.06038063, y: -0.011084833, z: 0.0050533433} - rotation: {x: 0.001246399, y: 0.03244843, z: -0.022155253, w: 0.99922705} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight2_joint12 - parentName: HAIR_LongHairRight2_joint11 - position: {x: 0.09990004, y: -0.01175226, z: 0.014888759} - rotation: {x: -0.00018316651, y: -0.0069087697, z: 0.010281484, w: 0.9999233} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight2_joint13 - parentName: HAIR_LongHairRight2_joint12 - position: {x: 0.06177564, y: -0.008537859, z: 0.008356102} - rotation: {x: 0.00045177352, y: 0.0071332674, z: 0.026457211, w: 0.99962443} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight2_joint14 - parentName: HAIR_LongHairRight2_joint13 - position: {x: 0.04293834, y: -0.006442734, z: 0.006469161} - rotation: {x: -0.0008841193, y: -0.023563972, z: -0.052169234, w: 0.99835986} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight2_joint15 - parentName: HAIR_LongHairRight2_joint14 - position: {x: 0.033292666, y: -0.0020006625, z: 0.003370567} - rotation: {x: 0.00037112838, y: -0.050475296, z: 0.0073431027, w: 0.9986983} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight3_joint - parentName: HAIR_LongHairRight_root - position: {x: 0.0069449, y: 0.0025999998, z: 0.0016936} - rotation: {x: 0.0015503735, y: -0.032466367, z: -0.047673658, w: 0.998334} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight3_joint1 - parentName: HAIR_LongHairRight3_joint - position: {x: 0.06781655, y: -0.00003799192, z: -0.005543731} - rotation: {x: -0.0005964064, y: 0.008479876, z: 0.025214009, w: 0.99964595} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight3_joint2 - parentName: HAIR_LongHairRight3_joint1 - position: {x: 0.060285896, y: -0.000008133451, z: -0.0028939839} - rotation: {x: -0.00024668145, y: 0.0061546112, z: 0.004939328, w: 0.9999688} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight3_joint3 - parentName: HAIR_LongHairRight3_joint2 - position: {x: 0.07911545, y: -0.0000020480566, z: -0.002823651} - rotation: {x: 0.00015455106, y: -0.0067326413, z: 0.0121678375, w: 0.9999033} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight3_joint4 - parentName: HAIR_LongHairRight3_joint3 - position: {x: 0.08668622, y: -0.000005277203, z: -0.004265208} - rotation: {x: -0.000049029968, y: 0.007859937, z: 0.004545008, w: 0.9999588} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight3_joint5 - parentName: HAIR_LongHairRight3_joint4 - position: {x: 0.086319804, y: 0.0000061148125, z: -0.0028881026} - rotation: {x: -0.00010838862, y: -0.004876911, z: 0.023911348, w: 0.9997022} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight3_joint6 - parentName: HAIR_LongHairRight3_joint5 - position: {x: 0.08258788, y: 0.0000011523687, z: -0.0035663822} - rotation: {x: 0.00031175197, y: 0.010236811, z: -0.015689032, w: 0.99982446} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight3_joint7 - parentName: HAIR_LongHairRight3_joint6 - position: {x: 0.08036107, y: 0.000004387839, z: -0.0018257994} - rotation: {x: -0.00026599728, y: -0.018356208, z: -0.0002642112, w: 0.9998315} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight3_joint8 - parentName: HAIR_LongHairRight3_joint7 - position: {x: 0.08247256, y: 0.000006819093, z: -0.0049071885} - rotation: {x: 0.000060231123, y: 0.017093921, z: -0.010700299, w: 0.9997966} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight3_joint9 - parentName: HAIR_LongHairRight3_joint8 - position: {x: 0.07940773, y: 0.000000026801478, z: -0.0020051927} - rotation: {x: -0.00026443714, y: 0.015146897, z: -0.010276497, w: 0.99983245} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight3_joint10 - parentName: HAIR_LongHairRight3_joint9 - position: {x: 0.0736316, y: -0.000008147177, z: 0.00037187728} - rotation: {x: 0.00063732086, y: 0.038825206, z: 0.044100292, w: 0.9982722} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight3_joint11 - parentName: HAIR_LongHairRight3_joint10 - position: {x: 0.071316466, y: 0.00003366387, z: 0.005902701} - rotation: {x: 0.001246399, y: 0.03244843, z: -0.022155253, w: 0.99922705} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight3_joint12 - parentName: HAIR_LongHairRight3_joint11 - position: {x: 0.06922575, y: 0.000026930344, z: 0.010297448} - rotation: {x: -0.00018316651, y: -0.0069087697, z: 0.010281484, w: 0.9999233} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight3_joint13 - parentName: HAIR_LongHairRight3_joint12 - position: {x: 0.06378338, y: 0.00004410411, z: 0.008583796} - rotation: {x: 0.00045177352, y: 0.0071332674, z: 0.026457211, w: 0.99962443} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight3_joint14 - parentName: HAIR_LongHairRight3_joint13 - position: {x: 0.058062732, y: 0.000108623055, z: 0.008629878} - rotation: {x: -0.0008841193, y: -0.023563972, z: -0.052169234, w: 0.99835986} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight3_joint15 - parentName: HAIR_LongHairRight3_joint14 - position: {x: 0.038526908, y: -0.0000034794311, z: 0.0039039291} - rotation: {x: 0.00037112838, y: -0.050475296, z: 0.0073431027, w: 0.9986983} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight4_joint - parentName: HAIR_LongHairRight_root - position: {x: 0.0069449, y: 0.0025999998, z: 0.0016936} - rotation: {x: 0.0015503735, y: -0.032466367, z: -0.047673658, w: 0.998334} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight4_joint1 - parentName: HAIR_LongHairRight4_joint - position: {x: 0.08284807, y: 0.013043876, z: -0.006599142} - rotation: {x: -0.0005964064, y: 0.008479876, z: 0.025214009, w: 0.99964595} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight4_joint2 - parentName: HAIR_LongHairRight4_joint1 - position: {x: 0.06789207, y: 0.017461704, z: -0.0032968782} - rotation: {x: -0.00024668145, y: 0.0061546112, z: 0.004939328, w: 0.9999688} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight4_joint3 - parentName: HAIR_LongHairRight4_joint2 - position: {x: 0.06434838, y: 0.016459592, z: -0.0023172519} - rotation: {x: 0.00015455106, y: -0.0067326413, z: 0.0121678375, w: 0.9999033} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight4_joint4 - parentName: HAIR_LongHairRight4_joint3 - position: {x: 0.06466431, y: 0.019008368, z: -0.0031917552} - rotation: {x: -0.000049029968, y: 0.007859937, z: 0.004545008, w: 0.9999588} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight4_joint5 - parentName: HAIR_LongHairRight4_joint4 - position: {x: 0.06655924, y: 0.018072693, z: -0.0022279734} - rotation: {x: -0.00010838862, y: -0.004876911, z: 0.023911348, w: 0.9997022} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight4_joint6 - parentName: HAIR_LongHairRight4_joint5 - position: {x: 0.06536179, y: 0.016923605, z: -0.0027887719} - rotation: {x: 0.00031175197, y: 0.010236811, z: -0.015689032, w: 0.99982446} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight4_joint7 - parentName: HAIR_LongHairRight4_joint6 - position: {x: 0.067928, y: 0.018169798, z: -0.0015372307} - rotation: {x: -0.00026599728, y: -0.018356208, z: -0.0002642112, w: 0.9998315} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight4_joint8 - parentName: HAIR_LongHairRight4_joint7 - position: {x: 0.054256592, y: 0.018180033, z: -0.003212928} - rotation: {x: 0.000060231123, y: 0.017093921, z: -0.010700299, w: 0.9997966} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight4_joint9 - parentName: HAIR_LongHairRight4_joint8 - position: {x: 0.06997659, y: 0.013912683, z: -0.0017695609} - rotation: {x: -0.00026443714, y: 0.015146897, z: -0.010276497, w: 0.99983245} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight4_joint10 - parentName: HAIR_LongHairRight4_joint9 - position: {x: 0.06506557, y: 0.016970841, z: 0.00033099324} - rotation: {x: 0.00063732086, y: 0.038825206, z: 0.044100292, w: 0.9982722} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight4_joint11 - parentName: HAIR_LongHairRight4_joint10 - position: {x: 0.06170672, y: 0.010784999, z: 0.0050533433} - rotation: {x: 0.001246399, y: 0.03244843, z: -0.022155253, w: 0.99922705} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight4_joint12 - parentName: HAIR_LongHairRight4_joint11 - position: {x: 0.050283164, y: 0.0019444948, z: 0.00747506} - rotation: {x: -0.00018316651, y: -0.0069087697, z: 0.010281484, w: 0.9999233} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight4_joint13 - parentName: HAIR_LongHairRight4_joint12 - position: {x: 0.055258233, y: 0.011865654, z: 0.0073779225} - rotation: {x: 0.00045177352, y: 0.0071332674, z: 0.026457211, w: 0.99962443} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight4_joint14 - parentName: HAIR_LongHairRight4_joint13 - position: {x: 0.03194774, y: 0.007879502, z: 0.004643837} - rotation: {x: -0.0008841193, y: -0.023563972, z: -0.052169234, w: 0.99835986} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_LongHairRight4_joint15 - parentName: HAIR_LongHairRight4_joint14 - position: {x: 0.02998681, y: 0.005741563, z: 0.0030471217} - rotation: {x: 0.00037112838, y: -0.050475296, z: 0.0073431027, w: 0.9986983} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Right_joint358 - parentName: HAIR_Hair_root - position: {x: 0.099333294, y: -0.036518157, z: -0.04932292} - rotation: {x: 0.8116448, y: -0.58336014, z: -0.02467914, w: 0.01773784} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Right_joint359 - parentName: HAIR_Hair_Right_joint358 - position: {x: 0.04132511, y: 0.0000015412713, z: -0.000000025583493} - rotation: {x: -0.30283368, y: -0.07663028, z: 0.0726687, w: 0.94717413} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Right_joint360 - parentName: HAIR_Hair_Right_joint359 - position: {x: 0.030445611, y: -0.0000009637778, z: 0.00000029735102} - rotation: {x: -0.10454591, y: -0.016218279, z: 0.017267872, w: 0.9942379} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Right_joint361 - parentName: HAIR_Hair_Right_joint360 - position: {x: 0.027677605, y: -0.00000011247039, z: -0.00000043217702} - rotation: {x: 0.1903021, y: 0.024461223, z: 0.008538035, w: 0.9813837} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Right_joint362 - parentName: HAIR_Hair_Right_joint361 - position: {x: 0.03036508, y: 0.0000013816611, z: 0.00000034294635} - rotation: {x: 0.09730294, y: 0.015569083, z: -0.039320674, w: 0.9943559} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Right_joint363 - parentName: HAIR_Hair_Right_joint362 - position: {x: 0.027110673, y: -0.0000000034604013, z: -0.000000012555124} - rotation: {x: -0.099066116, y: -0.01503982, z: 0.04726223, w: 0.99384403} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Right_joint364 - parentName: HAIR_Hair_Right_joint363 - position: {x: 0.02729513, y: -0.0000005783168, z: -0.00000026699215} - rotation: {x: 0.89531946, y: 0.15689385, z: 0.029294923, w: -0.41584754} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Right_joint365 - parentName: HAIR_Hair_Right_joint364 - position: {x: 0.029595766, y: -0.000002084436, z: 0.000000036561897} - rotation: {x: -0.0069607524, y: -0.0021796057, z: -0.059613273, w: 0.99819493} - scale: {x: 1, y: 1, z: 1} - - name: HAIR_Hair_Right_joint366 - parentName: HAIR_Hair_Right_joint365 - position: {x: 0.012056193, y: -0.0000002904255, z: 0.00000018904049} - rotation: {x: 0.56055695, y: 0.81264174, z: -0.0904752, w: 0.13116229} - scale: {x: 1, y: 1, z: 1} - - name: ElseMAIN_socket - parentName: Else_root - 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_Hips - parentName: ElseMAIN_socket - position: {x: -0, y: 0.78903234, z: -0.019063689} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftUpLeg - parentName: MAIN_Hips - position: {x: -0.06932031, y: -0.042844355, z: -2.4424906e-17} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftLeg - parentName: MAIN_LeftUpLeg - position: {x: -8.881784e-18, y: -0.32775813, z: 0.02230836} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftFoot - parentName: MAIN_LeftLeg - position: {x: -4.4408918e-17, y: -0.35686812, z: -0.022643397} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftToeBase - parentName: MAIN_LeftFoot - position: {x: -0.000000085830685, y: -0.05336319, z: 0.00910088} - rotation: {x: 8.326673e-17, y: -1.7340232e-16, z: -1.4629252e-16, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftToeBase1 - parentName: MAIN_LeftToeBase - position: {x: 1.0658141e-16, y: -7.9936054e-17, z: 0.095362365} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_Spine - parentName: MAIN_Hips - position: {x: -0, y: 0.043449212, z: 0.010691154} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_Spine1 - parentName: MAIN_Spine - position: {x: 1.5939289e-17, y: 0.09316341, z: -0.0020552282} - rotation: {x: -6.938894e-18, y: 0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_Spine2 - parentName: MAIN_Spine1 - position: {x: -2.7296601e-17, y: 0.07334137, z: -0.0037601667} - rotation: {x: -1.3877788e-17, y: 0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_Spine3 - parentName: MAIN_Spine2 - position: {x: 1.3163128e-16, y: 0.059184693, z: -0.0018002244} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_Neck - parentName: MAIN_Spine3 - position: {x: -1.7856474e-16, y: 0.089610346, z: -0.007940619} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_Head - parentName: MAIN_Neck - position: {x: -7.609444e-17, y: 0.06479072, z: 0.0015891057} - rotation: {x: -2.7755576e-17, y: 0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_Head1 - parentName: MAIN_Head - position: {x: -7.609445e-17, y: 0.19106601, z: 0.03309309} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftShoulder - parentName: MAIN_Spine3 - position: {x: -0.036415335, y: 0.040963326, z: 0.0059526456} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftArm - parentName: MAIN_LeftShoulder - position: {x: -0.05313894, y: 0.01617096, z: 0.006739083} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftArmTwist1 - parentName: MAIN_LeftArm - position: {x: -0.06571589, y: 0.00033202162, z: -0.004394941} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftArmTwist2 - parentName: MAIN_LeftArm - position: {x: -0.16981958, y: 0.00021225827, z: -0.011259599} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftArmRoll - parentName: MAIN_LeftArm - position: {x: -0.10001103, y: 0.00031358856, z: -0.006830717} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftForeArm - parentName: MAIN_LeftArmRoll - position: {x: -0.10176778, y: -0.00031358804, z: -0.0062186806} - rotation: {x: -2.60685e-16, y: -1.7347235e-17, z: 3.9377437e-17, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftForeArmTwist1 - parentName: MAIN_LeftForeArm - position: {x: -0.05860997, y: -0.0009076013, z: 0.0013805516} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftForeArmTwist2 - parentName: MAIN_LeftForeArm - position: {x: -0.13390101, y: 0.000004631092, z: 0.0025850632} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftForeArmRoll - parentName: MAIN_LeftForeArm - position: {x: -0.104046226, y: 0.000004631092, z: 0.0019584484} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftHand - parentName: MAIN_LeftForeArmRoll - position: {x: -0.0794451, y: -0.000004630837, z: 0.0020188647} - rotation: {x: 1.0842038e-17, y: -3.8163916e-17, z: 5.5233377e-17, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftHandThumb1 - parentName: MAIN_LeftHand - position: {x: -0.013517325, y: -0.0019250435, z: 0.020137712} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftHandThumb2 - parentName: MAIN_LeftHandThumb1 - position: {x: -0.01910693, y: -0.0058329613, z: 0.012700477} - rotation: {x: -4.1633363e-17, y: 1.110223e-16, z: 9.367507e-17, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftHandThumb3 - parentName: MAIN_LeftHandThumb2 - position: {x: -0.014996353, y: -0.0054081255, z: 0.010471193} - rotation: {x: 6.938894e-18, y: 2.7755576e-17, z: 2.4286129e-17, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftHandAttach - parentName: MAIN_LeftHand - position: {x: -0.054060366, y: -0.022025926, z: -8.025099e-10} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftHandIndex_root - parentName: MAIN_LeftHand - position: {x: -0.02031392, y: 0.0044666682, z: 0.013609801} - rotation: {x: 5.2041704e-18, y: -1.3877788e-17, z: 7.583994e-17, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftHandIndex1 - parentName: MAIN_LeftHandIndex_root - position: {x: -0.03906172, y: 0.0027322038, z: 0.007967873} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftHandIndex2 - parentName: MAIN_LeftHandIndex1 - position: {x: -0.023240242, y: -0.0021021971, z: 0.0013506818} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftHandIndex3 - parentName: MAIN_LeftHandIndex2 - position: {x: -0.016417064, y: -0.002694084, z: 0.0000865889} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftHandMiddle_root - parentName: MAIN_LeftHand - position: {x: -0.021387493, y: 0.004902672, z: 0.004770821} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftHandMiddle1 - parentName: MAIN_LeftHandMiddle_root - position: {x: -0.041672688, y: 0.004121655, z: 0.0021215254} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftHandMiddle2 - parentName: MAIN_LeftHandMiddle1 - position: {x: -0.024395825, y: -0.0021449206, z: -0.000048176924} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftHandMiddle3 - parentName: MAIN_LeftHandMiddle2 - position: {x: -0.02666596, y: -0.006477729, z: 0.0012118154} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftHandRing_root - parentName: MAIN_LeftHand - position: {x: -0.020289928, y: 0.0034872452, z: -0.0048778644} - rotation: {x: 8.890458e-18, y: -4.6837534e-17, z: 1.1345159e-16, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftHandRing1 - parentName: MAIN_LeftHandRing_root - position: {x: -0.043116268, y: 0.004086777, z: -0.0044361716} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftHandRing2 - parentName: MAIN_LeftHandRing1 - position: {x: -0.025653074, y: -0.0034448125, z: -0.00014834596} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftHandRing3 - parentName: MAIN_LeftHandRing2 - position: {x: -0.01854632, y: -0.0030331318, z: -0.00021339174} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftHandPinky_root - parentName: MAIN_LeftHand - position: {x: -0.018355774, y: -0.00091083936, z: -0.011001123} - rotation: {x: 9.97466e-18, y: -5.2041704e-17, z: 9.256376e-17, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftHandPinky1 - parentName: MAIN_LeftHandPinky_root - position: {x: -0.03854013, y: 0.0020158726, z: -0.01033078} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftHandPinky2 - parentName: MAIN_LeftHandPinky1 - position: {x: -0.018019266, y: -0.003098898, z: -0.0012304814} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftHandPinky3 - parentName: MAIN_LeftHandPinky2 - position: {x: -0.016572235, y: -0.0029528718, z: -0.0007368273} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_LeftForeArmElbow - parentName: MAIN_LeftForeArm - position: {x: 0.012721951, y: 0.0037528386, z: -0.015877938} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightShoulder - parentName: MAIN_Spine3 - position: {x: 0.0364153, y: 0.040958915, z: 0.0059526553} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightArm - parentName: MAIN_RightShoulder - position: {x: 0.053138997, y: 0.01618, z: 0.0067390697} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightArmTwist1 - parentName: MAIN_RightArm - position: {x: 0.0657157, y: 0.00032999998, z: -0.00439494} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightArmTwist2 - parentName: MAIN_RightArm - position: {x: 0.1698197, y: 0.00021, z: -0.01125957} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightArmRoll - parentName: MAIN_RightArm - position: {x: 0.1000107, y: 0.00030999997, z: -0.00683067} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightForeArm - parentName: MAIN_RightArmRoll - position: {x: 0.101767994, y: -0.00030999997, z: -0.0062186997} - rotation: {x: -2.60685e-16, y: -1.7347235e-17, z: 3.9377437e-17, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightForeArmTwist1 - parentName: MAIN_RightForeArm - position: {x: 0.05861, y: -0.00090999994, z: 0.0013805} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightForeArmTwist2 - parentName: MAIN_RightForeArm - position: {x: 0.13390099, y: -3.1657117e-19, z: 0.0025850001} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightForeArmRoll - parentName: MAIN_RightForeArm - position: {x: 0.104046, y: -2.3983481e-19, z: 0.0019584} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightHand - parentName: MAIN_RightForeArmRoll - position: {x: 0.079445, y: 0, z: 0.0020189001} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightHandThumb1 - parentName: MAIN_RightHand - position: {x: 0.013517999, y: -0.00193, z: 0.020137701} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightHandThumb2 - parentName: MAIN_RightHandThumb1 - position: {x: 0.019106999, y: -0.0058299997, z: 0.0127005} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightHandThumb3 - parentName: MAIN_RightHandThumb2 - position: {x: 0.014996001, y: -0.0054099998, z: 0.0104712} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightHandAttach - parentName: MAIN_RightHand - position: {x: 0.054060996, y: -0.02203, z: 2.220446e-18} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightHandIndex_root - parentName: MAIN_RightHand - position: {x: 0.020313999, y: 0.00446, z: 0.013609789} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightHandIndex1 - parentName: MAIN_RightHandIndex_root - position: {x: 0.039061997, y: 0.00273, z: 0.00796787} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightHandIndex2 - parentName: MAIN_RightHandIndex1 - position: {x: 0.023239998, y: -0.0021, z: 0.0013506401} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightHandIndex3 - parentName: MAIN_RightHandIndex2 - position: {x: 0.016417, y: -0.00269, z: 0.00008659994} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightHandMiddle_root - parentName: MAIN_RightHand - position: {x: 0.021387998, y: 0.0049, z: 0.00477081} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightHandMiddle1 - parentName: MAIN_RightHandMiddle_root - position: {x: 0.041673, y: 0.0041199997, z: 0.00212152} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightHandMiddle2 - parentName: MAIN_RightHandMiddle1 - position: {x: 0.024395, y: -0.00215, z: -0.00004817} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightHandMiddle3 - parentName: MAIN_RightHandMiddle2 - position: {x: 0.026665999, y: -0.00647, z: 0.0012118099} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightHandRing_root - parentName: MAIN_RightHand - position: {x: 0.02029, y: 0.0034799997, z: -0.0048779} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightHandRing1 - parentName: MAIN_RightHandRing_root - position: {x: 0.043116998, y: 0.00409, z: -0.0044361} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightHandRing2 - parentName: MAIN_RightHandRing1 - position: {x: 0.025652999, y: -0.00345, z: -0.0001484} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightHandRing3 - parentName: MAIN_RightHandRing2 - position: {x: 0.018545998, y: -0.00303, z: -0.00021340007} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightHandPinky_root - parentName: MAIN_RightHand - position: {x: 0.018356, y: -0.00091999996, z: -0.0110011} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightHandPinky1 - parentName: MAIN_RightHandPinky_root - position: {x: 0.03854, y: 0.00202, z: -0.0103308} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightHandPinky2 - parentName: MAIN_RightHandPinky1 - position: {x: 0.01802, y: -0.0030999999, z: -0.0012304999} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightHandPinky3 - parentName: MAIN_RightHandPinky2 - position: {x: 0.016571999, y: -0.0029499999, z: -0.0007368} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightForeArmElbow - parentName: MAIN_RightForeArm - position: {x: -0.012722, y: 0.00375, z: -0.015878} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightUpLeg - parentName: MAIN_Hips - position: {x: 0.0693203, y: -0.04284439, z: -0.000000009794794} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightLeg - parentName: MAIN_RightUpLeg - position: {x: -0, y: -0.32775798, z: 0.02230837} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightFoot - parentName: MAIN_RightLeg - position: {x: -0, y: -0.3568682, z: -0.02264337} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightToeBase - parentName: MAIN_RightFoot - position: {x: 0.000000099999994, y: -0.053363226, z: 0.0091009} - rotation: {x: 8.326673e-17, y: -1.7340232e-16, z: -1.4629252e-16, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: MAIN_RightToeBase1 - parentName: MAIN_RightToeBase - position: {x: -0, y: 5.339397e-19, z: 0.0953623} - 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 - rootMotionBoneName: - hasTranslationDoF: 0 - hasExtraRoot: 0 - skeletonHasParents: 1 - lastHumanDescriptionAvatarSource: {instanceID: 0} - animationType: 3 - humanoidOversampling: 1 - additionalBone: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT.meta deleted file mode 100644 index 649d350..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e13b426087cff2042860608f914b34db -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT/Else2019_Body_mat.mat b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT/Else2019_Body_mat.mat deleted file mode 100644 index 62b6dd1..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT/Else2019_Body_mat.mat +++ /dev/null @@ -1,238 +0,0 @@ -%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: Else2019_Body_mat - m_Shader: {fileID: 4800000, guid: 9baf30ce95c751649b14d96da3a4b4d5, type: 3} - m_ShaderKeywords: _IS_BLENDADDTOMATCAP_ON _IS_LIGHTCOLOR_1ST_SHADE_ON _IS_LIGHTCOLOR_2ND_SHADE_ON - _IS_LIGHTCOLOR_AP_RIMLIGHT_ON _IS_LIGHTCOLOR_BASE_ON _IS_LIGHTCOLOR_HIGHCOLOR_ON - _IS_LIGHTCOLOR_MATCAP_ON _IS_LIGHTCOLOR_RIMLIGHT_ON _OUTLINE_NML _SET_SYSTEMSHADOWSTOBASE_ON - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _1st_ShadeMap: - m_Texture: {fileID: 2800000, guid: 3de56c55ce6e47c448c4c90a57665cb5, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _2nd_ShadeMap: - m_Texture: {fileID: 2800000, guid: 3de56c55ce6e47c448c4c90a57665cb5, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BakedNormal: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 3de56c55ce6e47c448c4c90a57665cb5, type: 3} - 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} - - _Emissive_Tex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HighColor_Tex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 3de56c55ce6e47c448c4c90a57665cb5, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCap_Sampler: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapForMatCap: - 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} - - _OutlineTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Outline_Sampler: - 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} - - _Set_1st_ShadePosition: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_2nd_ShadePosition: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_HighColorMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_MatcapMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_RimLightMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _1st2nd_Shades_Feather: 0.6 - - _1st_ShadeColor_Feather: 0.15 - - _1st_ShadeColor_Step: 0.5 - - _2nd_ShadeColor_Feather: 0.6 - - _2nd_ShadeColor_Step: 0.2 - - _Add_Antipodean_RimLight: 0 - - _Ap_RimLight_FeatherOff: 0 - - _Ap_RimLight_Power: 0.1 - - _BaseColor_Step: 0.5 - - _BaseShade_Feather: 0.15 - - _Base_Speed: 0 - - _BlurLevelMatcap: 0 - - _BumpScale: 1 - - _BumpScaleMatcap: 1 - - _CameraRolling_Stabilizer: 0 - - _ColorShift_Speed: 0 - - _CullMode: 2 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EMISSIVE: 0 - - _Farthest_Distance: 10 - - _GI_Intensity: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _HighColor_Power: 0 - - _Inverse_MatcapMask: 0 - - _Inverse_Z_Axis_BLD: 1 - - _Is_BLD: 0 - - _Is_BakedNormal: 0 - - _Is_BlendAddToHiColor: 0 - - _Is_BlendAddToMatCap: 1 - - _Is_BlendBaseColor: 1 - - _Is_ColorShift: 0 - - _Is_Filter_HiCutPointLightColor: 1 - - _Is_Filter_LightColor: 0 - - _Is_LightColor_1st_Shade: 1 - - _Is_LightColor_2nd_Shade: 1 - - _Is_LightColor_Ap_RimLight: 1 - - _Is_LightColor_Base: 1 - - _Is_LightColor_HighColor: 1 - - _Is_LightColor_MatCap: 1 - - _Is_LightColor_Outline: 0 - - _Is_LightColor_RimLight: 1 - - _Is_NormalMapForMatCap: 0 - - _Is_NormalMapToBase: 0 - - _Is_NormalMapToHighColor: 0 - - _Is_NormalMapToRimLight: 0 - - _Is_Ortho: 0 - - _Is_OutlineTex: 0 - - _Is_PingPong_Base: 0 - - _Is_SpecularToHighColor: 0 - - _Is_UseTweakHighColorOnShadow: 0 - - _Is_UseTweakMatCapOnShadow: 0 - - _Is_ViewCoord_Scroll: 0 - - _Is_ViewShift: 0 - - _LightDirection_MaskOn: 0 - - _MatCap: 0 - - _Metallic: 0 - - _Mode: 0 - - _Nearest_Distance: 0.5 - - _OUTLINE: 0 - - _OcclusionStrength: 1 - - _Offset_X_Axis_BLD: -0.05 - - _Offset_Y_Axis_BLD: 0.09 - - _Offset_Z: 0 - - _Outline_Width: 0.5 - - _Parallax: 0.02 - - _RimLight: 0 - - _RimLight_FeatherOff: 0 - - _RimLight_InsideMask: 0.0001 - - _RimLight_Power: 0.1 - - _Rotate_EmissiveUV: 0 - - _Rotate_MatCapUV: 0 - - _Rotate_NormalMapForMatCapUV: 0 - - _Scroll_EmissiveU: 0 - - _Scroll_EmissiveV: 0 - - _Set_SystemShadowsToBase: 1 - - _ShadeColor_Step: 0.2 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _StepOffset: 0 - - _TweakHighColorOnShadow: 0 - - _TweakMatCapOnShadow: 0 - - _Tweak_HighColorMaskLevel: 0 - - _Tweak_LightDirection_MaskLevel: 0 - - _Tweak_MatCapUV: 0 - - _Tweak_MatcapMaskLevel: 0 - - _Tweak_RimLightMaskLevel: 0 - - _Tweak_SystemShadowsLevel: 0 - - _UVSec: 0 - - _Unlit_Intensity: 1 - - _Use_1stAs2nd: 0 - - _Use_BaseAs1st: 0 - - _ZWrite: 1 - - _simpleUI: 0 - - _utsTechnique: 0 - - _utsVersion: 2.075 - m_Colors: - - _1st_ShadeColor: {r: 1, g: 0.9292453, b: 0.93569124, a: 1} - - _2nd_ShadeColor: {r: 0.9245283, g: 0.7893378, b: 0.804359, a: 1} - - _Ap_RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorShift: {r: 0, g: 0, b: 0, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _Emissive_Color: {r: 0, g: 0, b: 0, a: 1} - - _HighColor: {r: 0, g: 0, b: 0, a: 1} - - _MatCapColor: {r: 1, g: 1, b: 1, a: 1} - - _Outline_Color: {r: 0.24528301, g: 0.1214845, b: 0.1214845, a: 1} - - _RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _ViewShift: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT/Else2019_Body_mat.mat.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT/Else2019_Body_mat.mat.meta deleted file mode 100644 index f72b91e..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT/Else2019_Body_mat.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 8031e60026885b34d9e635a4da6b91ab -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT/Else2019_Eye_mat.mat b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT/Else2019_Eye_mat.mat deleted file mode 100644 index b3da963..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT/Else2019_Eye_mat.mat +++ /dev/null @@ -1,239 +0,0 @@ -%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: Else2019_Eye_mat - m_Shader: {fileID: 4800000, guid: 96d4d9f975e6c8849bd1a5c06acfae84, type: 3} - m_ShaderKeywords: _ _EMISSIVE_SIMPLE _IS_BLENDADDTOMATCAP_ON _IS_LIGHTCOLOR_1ST_SHADE_ON - _IS_LIGHTCOLOR_2ND_SHADE_ON _IS_LIGHTCOLOR_AP_RIMLIGHT_ON _IS_LIGHTCOLOR_BASE_ON - _IS_LIGHTCOLOR_HIGHCOLOR_ON _IS_LIGHTCOLOR_MATCAP_ON _IS_LIGHTCOLOR_RIMLIGHT_ON - _OUTLINE_NML _SET_SYSTEMSHADOWSTOBASE_ON - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _1st_ShadeMap: - m_Texture: {fileID: 2800000, guid: b40f105c5313ab440b95c15aa1fb53d2, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _2nd_ShadeMap: - m_Texture: {fileID: 2800000, guid: b40f105c5313ab440b95c15aa1fb53d2, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BakedNormal: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseMap: - m_Texture: {fileID: 2800000, guid: b40f105c5313ab440b95c15aa1fb53d2, type: 3} - 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} - - _Emissive_Tex: - m_Texture: {fileID: 2800000, guid: b0de178a70f564f46abf2d004a961d76, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HighColor_Tex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: b40f105c5313ab440b95c15aa1fb53d2, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCap_Sampler: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapForMatCap: - 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} - - _OutlineTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Outline_Sampler: - 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} - - _Set_1st_ShadePosition: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_2nd_ShadePosition: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_HighColorMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_MatcapMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_RimLightMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _1st2nd_Shades_Feather: 0.102 - - _1st_ShadeColor_Feather: 0.149 - - _1st_ShadeColor_Step: 0.138 - - _2nd_ShadeColor_Feather: 0.102 - - _2nd_ShadeColor_Step: 0 - - _Add_Antipodean_RimLight: 0 - - _Ap_RimLight_FeatherOff: 0 - - _Ap_RimLight_Power: 0.1 - - _BaseColor_Step: 0.138 - - _BaseShade_Feather: 0.149 - - _Base_Speed: 0 - - _BlurLevelMatcap: 0 - - _BumpScale: 1 - - _BumpScaleMatcap: 1 - - _CameraRolling_Stabilizer: 0 - - _ColorShift_Speed: 0 - - _CullMode: 2 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EMISSIVE: 0 - - _Farthest_Distance: 10 - - _GI_Intensity: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _HighColor_Power: 0 - - _Inverse_MatcapMask: 0 - - _Inverse_Z_Axis_BLD: 1 - - _Is_BLD: 0 - - _Is_BakedNormal: 0 - - _Is_BlendAddToHiColor: 0 - - _Is_BlendAddToMatCap: 1 - - _Is_BlendBaseColor: 0 - - _Is_ColorShift: 0 - - _Is_Filter_HiCutPointLightColor: 1 - - _Is_Filter_LightColor: 0 - - _Is_LightColor_1st_Shade: 1 - - _Is_LightColor_2nd_Shade: 1 - - _Is_LightColor_Ap_RimLight: 1 - - _Is_LightColor_Base: 1 - - _Is_LightColor_HighColor: 1 - - _Is_LightColor_MatCap: 1 - - _Is_LightColor_Outline: 1 - - _Is_LightColor_RimLight: 1 - - _Is_NormalMapForMatCap: 0 - - _Is_NormalMapToBase: 0 - - _Is_NormalMapToHighColor: 0 - - _Is_NormalMapToRimLight: 0 - - _Is_Ortho: 0 - - _Is_OutlineTex: 0 - - _Is_PingPong_Base: 0 - - _Is_SpecularToHighColor: 0 - - _Is_UseTweakHighColorOnShadow: 0 - - _Is_UseTweakMatCapOnShadow: 0 - - _Is_ViewCoord_Scroll: 0 - - _Is_ViewShift: 0 - - _LightDirection_MaskOn: 0 - - _MatCap: 0 - - _Metallic: 0 - - _Mode: 0 - - _Nearest_Distance: 0.5 - - _OUTLINE: 0 - - _OcclusionStrength: 1 - - _Offset_X_Axis_BLD: -0.05 - - _Offset_Y_Axis_BLD: 0.09 - - _Offset_Z: 0 - - _Outline_Width: 0.3 - - _Parallax: 0.02 - - _RimLight: 0 - - _RimLight_FeatherOff: 0 - - _RimLight_InsideMask: 0.0001 - - _RimLight_Power: 0.1 - - _Rotate_EmissiveUV: 0 - - _Rotate_MatCapUV: 0 - - _Rotate_NormalMapForMatCapUV: 0 - - _Scroll_EmissiveU: 0 - - _Scroll_EmissiveV: 0 - - _Set_SystemShadowsToBase: 1 - - _ShadeColor_Step: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _StepOffset: 0 - - _TweakHighColorOnShadow: 0 - - _TweakMatCapOnShadow: 0 - - _Tweak_HighColorMaskLevel: 0 - - _Tweak_LightDirection_MaskLevel: 0 - - _Tweak_MatCapUV: 0 - - _Tweak_MatcapMaskLevel: 0 - - _Tweak_RimLightMaskLevel: 0 - - _Tweak_SystemShadowsLevel: 0 - - _UVSec: 0 - - _Unlit_Intensity: 1 - - _Use_1stAs2nd: 0 - - _Use_BaseAs1st: 0 - - _ZWrite: 1 - - _simpleUI: 0 - - _utsTechnique: 0 - - _utsVersion: 2.075 - m_Colors: - - _1st_ShadeColor: {r: 0.9103774, g: 0.9661095, b: 1, a: 1} - - _2nd_ShadeColor: {r: 0.9098039, g: 0.9647059, b: 1, a: 1} - - _Ap_RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorShift: {r: 0, g: 0, b: 0, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _Emissive_Color: {r: 0.26415092, g: 0.26415092, b: 0.26415092, a: 1} - - _HighColor: {r: 0, g: 0, b: 0, a: 1} - - _MatCapColor: {r: 1, g: 1, b: 1, a: 1} - - _Outline_Color: {r: 0.5, g: 0.29009435, b: 0.29009435, a: 1} - - _RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _ViewShift: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT/Else2019_Eye_mat.mat.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT/Else2019_Eye_mat.mat.meta deleted file mode 100644 index e03a3c2..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT/Else2019_Eye_mat.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a6bc30051d49c404e917851d634ec2e0 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT/Else2019_Face_mat.mat b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT/Else2019_Face_mat.mat deleted file mode 100644 index 0e268f1..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT/Else2019_Face_mat.mat +++ /dev/null @@ -1,238 +0,0 @@ -%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: Else2019_Face_mat - m_Shader: {fileID: 4800000, guid: 9baf30ce95c751649b14d96da3a4b4d5, type: 3} - m_ShaderKeywords: _IS_BLENDADDTOMATCAP_ON _IS_LIGHTCOLOR_1ST_SHADE_ON _IS_LIGHTCOLOR_2ND_SHADE_ON - _IS_LIGHTCOLOR_AP_RIMLIGHT_ON _IS_LIGHTCOLOR_BASE_ON _IS_LIGHTCOLOR_HIGHCOLOR_ON - _IS_LIGHTCOLOR_MATCAP_ON _IS_LIGHTCOLOR_RIMLIGHT_ON _OUTLINE_NML _SET_SYSTEMSHADOWSTOBASE_ON - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _1st_ShadeMap: - m_Texture: {fileID: 2800000, guid: b40f105c5313ab440b95c15aa1fb53d2, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _2nd_ShadeMap: - m_Texture: {fileID: 2800000, guid: b40f105c5313ab440b95c15aa1fb53d2, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BakedNormal: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseMap: - m_Texture: {fileID: 2800000, guid: b40f105c5313ab440b95c15aa1fb53d2, type: 3} - 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} - - _Emissive_Tex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HighColor_Tex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: b40f105c5313ab440b95c15aa1fb53d2, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCap_Sampler: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapForMatCap: - 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} - - _OutlineTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Outline_Sampler: - 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} - - _Set_1st_ShadePosition: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_2nd_ShadePosition: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_HighColorMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_MatcapMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_RimLightMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _1st2nd_Shades_Feather: 0.386 - - _1st_ShadeColor_Feather: 0.149 - - _1st_ShadeColor_Step: 0.2 - - _2nd_ShadeColor_Feather: 0.386 - - _2nd_ShadeColor_Step: 0.1 - - _Add_Antipodean_RimLight: 0 - - _Ap_RimLight_FeatherOff: 0 - - _Ap_RimLight_Power: 0.1 - - _BaseColor_Step: 0.2 - - _BaseShade_Feather: 0.149 - - _Base_Speed: 0 - - _BlurLevelMatcap: 0 - - _BumpScale: 1 - - _BumpScaleMatcap: 1 - - _CameraRolling_Stabilizer: 0 - - _ColorShift_Speed: 0 - - _CullMode: 2 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EMISSIVE: 0 - - _Farthest_Distance: 10 - - _GI_Intensity: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _HighColor_Power: 0 - - _Inverse_MatcapMask: 0 - - _Inverse_Z_Axis_BLD: 1 - - _Is_BLD: 0 - - _Is_BakedNormal: 0 - - _Is_BlendAddToHiColor: 0 - - _Is_BlendAddToMatCap: 1 - - _Is_BlendBaseColor: 1 - - _Is_ColorShift: 0 - - _Is_Filter_HiCutPointLightColor: 1 - - _Is_Filter_LightColor: 0 - - _Is_LightColor_1st_Shade: 1 - - _Is_LightColor_2nd_Shade: 1 - - _Is_LightColor_Ap_RimLight: 1 - - _Is_LightColor_Base: 1 - - _Is_LightColor_HighColor: 1 - - _Is_LightColor_MatCap: 1 - - _Is_LightColor_Outline: 0 - - _Is_LightColor_RimLight: 1 - - _Is_NormalMapForMatCap: 0 - - _Is_NormalMapToBase: 0 - - _Is_NormalMapToHighColor: 0 - - _Is_NormalMapToRimLight: 0 - - _Is_Ortho: 0 - - _Is_OutlineTex: 0 - - _Is_PingPong_Base: 0 - - _Is_SpecularToHighColor: 0 - - _Is_UseTweakHighColorOnShadow: 0 - - _Is_UseTweakMatCapOnShadow: 0 - - _Is_ViewCoord_Scroll: 0 - - _Is_ViewShift: 0 - - _LightDirection_MaskOn: 0 - - _MatCap: 0 - - _Metallic: 0 - - _Mode: 0 - - _Nearest_Distance: 0.5 - - _OUTLINE: 0 - - _OcclusionStrength: 1 - - _Offset_X_Axis_BLD: -0.05 - - _Offset_Y_Axis_BLD: 0.09 - - _Offset_Z: 0 - - _Outline_Width: 0.32 - - _Parallax: 0.02 - - _RimLight: 0 - - _RimLight_FeatherOff: 0 - - _RimLight_InsideMask: 0.0001 - - _RimLight_Power: 0.1 - - _Rotate_EmissiveUV: 0 - - _Rotate_MatCapUV: 0 - - _Rotate_NormalMapForMatCapUV: 0 - - _Scroll_EmissiveU: 0 - - _Scroll_EmissiveV: 0 - - _Set_SystemShadowsToBase: 1 - - _ShadeColor_Step: 0.1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _StepOffset: 0 - - _TweakHighColorOnShadow: 0 - - _TweakMatCapOnShadow: 0 - - _Tweak_HighColorMaskLevel: 0 - - _Tweak_LightDirection_MaskLevel: 0 - - _Tweak_MatCapUV: 0 - - _Tweak_MatcapMaskLevel: 0 - - _Tweak_RimLightMaskLevel: 0 - - _Tweak_SystemShadowsLevel: 0 - - _UVSec: 0 - - _Unlit_Intensity: 1 - - _Use_1stAs2nd: 0 - - _Use_BaseAs1st: 0 - - _ZWrite: 1 - - _simpleUI: 0 - - _utsTechnique: 0 - - _utsVersion: 2.075 - m_Colors: - - _1st_ShadeColor: {r: 1, g: 0.92941177, b: 0.9372549, a: 1} - - _2nd_ShadeColor: {r: 0.9716981, g: 0.85711104, b: 0.86984295, a: 1} - - _Ap_RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorShift: {r: 0, g: 0, b: 0, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _Emissive_Color: {r: 0, g: 0, b: 0, a: 1} - - _HighColor: {r: 0, g: 0, b: 0, a: 1} - - _MatCapColor: {r: 1, g: 1, b: 1, a: 1} - - _Outline_Color: {r: 0.24705882, g: 0.12156863, b: 0.12156863, a: 1} - - _RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _ViewShift: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT/Else2019_Face_mat.mat.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT/Else2019_Face_mat.mat.meta deleted file mode 100644 index 3043749..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT/Else2019_Face_mat.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 74e272ec1629efb45bb6a72654404dc2 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT/Else2019_Hair_mat.mat b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT/Else2019_Hair_mat.mat deleted file mode 100644 index 9c1c56e..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT/Else2019_Hair_mat.mat +++ /dev/null @@ -1,238 +0,0 @@ -%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: Else2019_Hair_mat - m_Shader: {fileID: 4800000, guid: 9baf30ce95c751649b14d96da3a4b4d5, type: 3} - m_ShaderKeywords: _IS_BLENDADDTOMATCAP_ON _IS_LIGHTCOLOR_1ST_SHADE_ON _IS_LIGHTCOLOR_2ND_SHADE_ON - _IS_LIGHTCOLOR_AP_RIMLIGHT_ON _IS_LIGHTCOLOR_BASE_ON _IS_LIGHTCOLOR_HIGHCOLOR_ON - _IS_LIGHTCOLOR_MATCAP_ON _IS_LIGHTCOLOR_RIMLIGHT_ON _OUTLINE_NML _SET_SYSTEMSHADOWSTOBASE_ON - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _1st_ShadeMap: - m_Texture: {fileID: 2800000, guid: 060b214c29dc3784ebcf7adad5d5168a, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _2nd_ShadeMap: - m_Texture: {fileID: 2800000, guid: 060b214c29dc3784ebcf7adad5d5168a, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BakedNormal: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 060b214c29dc3784ebcf7adad5d5168a, type: 3} - 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} - - _Emissive_Tex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HighColor_Tex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 060b214c29dc3784ebcf7adad5d5168a, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatCap_Sampler: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapForMatCap: - 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} - - _OutlineTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Outline_Sampler: - 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} - - _Set_1st_ShadePosition: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_2nd_ShadePosition: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_HighColorMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_MatcapMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Set_RimLightMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _1st2nd_Shades_Feather: 0.12 - - _1st_ShadeColor_Feather: 0.1 - - _1st_ShadeColor_Step: 0.6 - - _2nd_ShadeColor_Feather: 0.12 - - _2nd_ShadeColor_Step: 0.3 - - _Add_Antipodean_RimLight: 0 - - _Ap_RimLight_FeatherOff: 0 - - _Ap_RimLight_Power: 0.1 - - _BaseColor_Step: 0.6 - - _BaseShade_Feather: 0.1 - - _Base_Speed: 0 - - _BlurLevelMatcap: 0 - - _BumpScale: 1 - - _BumpScaleMatcap: 1 - - _CameraRolling_Stabilizer: 0 - - _ColorShift_Speed: 0 - - _CullMode: 2 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EMISSIVE: 0 - - _Farthest_Distance: 10 - - _GI_Intensity: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _HighColor_Power: 0 - - _Inverse_MatcapMask: 0 - - _Inverse_Z_Axis_BLD: 1 - - _Is_BLD: 0 - - _Is_BakedNormal: 0 - - _Is_BlendAddToHiColor: 0 - - _Is_BlendAddToMatCap: 1 - - _Is_BlendBaseColor: 1 - - _Is_ColorShift: 0 - - _Is_Filter_HiCutPointLightColor: 1 - - _Is_Filter_LightColor: 0 - - _Is_LightColor_1st_Shade: 1 - - _Is_LightColor_2nd_Shade: 1 - - _Is_LightColor_Ap_RimLight: 1 - - _Is_LightColor_Base: 1 - - _Is_LightColor_HighColor: 1 - - _Is_LightColor_MatCap: 1 - - _Is_LightColor_Outline: 0 - - _Is_LightColor_RimLight: 1 - - _Is_NormalMapForMatCap: 0 - - _Is_NormalMapToBase: 0 - - _Is_NormalMapToHighColor: 0 - - _Is_NormalMapToRimLight: 0 - - _Is_Ortho: 0 - - _Is_OutlineTex: 0 - - _Is_PingPong_Base: 0 - - _Is_SpecularToHighColor: 0 - - _Is_UseTweakHighColorOnShadow: 0 - - _Is_UseTweakMatCapOnShadow: 0 - - _Is_ViewCoord_Scroll: 0 - - _Is_ViewShift: 0 - - _LightDirection_MaskOn: 0 - - _MatCap: 0 - - _Metallic: 0 - - _Mode: 0 - - _Nearest_Distance: 0.5 - - _OUTLINE: 0 - - _OcclusionStrength: 1 - - _Offset_X_Axis_BLD: -0.05 - - _Offset_Y_Axis_BLD: 0.09 - - _Offset_Z: 0 - - _Outline_Width: 0.5 - - _Parallax: 0.02 - - _RimLight: 0 - - _RimLight_FeatherOff: 0 - - _RimLight_InsideMask: 0.0001 - - _RimLight_Power: 0.1 - - _Rotate_EmissiveUV: 0 - - _Rotate_MatCapUV: 0 - - _Rotate_NormalMapForMatCapUV: 0 - - _Scroll_EmissiveU: 0 - - _Scroll_EmissiveV: 0 - - _Set_SystemShadowsToBase: 1 - - _ShadeColor_Step: 0.3 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _StepOffset: 0 - - _TweakHighColorOnShadow: 0 - - _TweakMatCapOnShadow: 0 - - _Tweak_HighColorMaskLevel: 0 - - _Tweak_LightDirection_MaskLevel: 0 - - _Tweak_MatCapUV: 0 - - _Tweak_MatcapMaskLevel: 0 - - _Tweak_RimLightMaskLevel: 0 - - _Tweak_SystemShadowsLevel: 0 - - _UVSec: 0 - - _Unlit_Intensity: 1 - - _Use_1stAs2nd: 0 - - _Use_BaseAs1st: 0 - - _ZWrite: 1 - - _simpleUI: 0 - - _utsTechnique: 0 - - _utsVersion: 2.075 - m_Colors: - - _1st_ShadeColor: {r: 0.8509804, g: 0.8509804, b: 0.91764706, a: 1} - - _2nd_ShadeColor: {r: 0.7983268, g: 0.7983268, b: 0.8679245, a: 1} - - _Ap_RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorShift: {r: 0, g: 0, b: 0, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _Emissive_Color: {r: 0, g: 0, b: 0, a: 1} - - _HighColor: {r: 0, g: 0, b: 0, a: 1} - - _MatCapColor: {r: 1, g: 1, b: 1, a: 1} - - _Outline_Color: {r: 0.21203975, g: 0.20581168, b: 0.3490566, a: 1} - - _RimLightColor: {r: 1, g: 1, b: 1, a: 1} - - _ViewShift: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT/Else2019_Hair_mat.mat.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT/Else2019_Hair_mat.mat.meta deleted file mode 100644 index 93b649e..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_MAT/Else2019_Hair_mat.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 17c7f8a38e2c595419e236ac274eb7b0 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX.meta deleted file mode 100644 index 1839779..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 42a8e94e6002d814a89eb34c9dc26c8d -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX/Else2019_Body_tex.png b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX/Else2019_Body_tex.png deleted file mode 100644 index 099e1b8..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX/Else2019_Body_tex.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f57fa8776d0cb5c6bb34aab35828605803e5792207c836e01fabd07ddb31f615 -size 4091718 diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX/Else2019_Body_tex.png.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX/Else2019_Body_tex.png.meta deleted file mode 100644 index b4272c5..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX/Else2019_Body_tex.png.meta +++ /dev/null @@ -1,99 +0,0 @@ -fileFormatVersion: 2 -guid: 3de56c55ce6e47c448c4c90a57665cb5 -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 9 - 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: 2 - buildTarget: DefaultTexturePlatform - maxTextureSize: 4096 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - serializedVersion: 2 - buildTarget: Standalone - maxTextureSize: 4096 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - vertices: [] - indices: - edges: [] - weights: [] - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX/Else2019_Face_emi.png b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX/Else2019_Face_emi.png deleted file mode 100644 index f573e4c..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX/Else2019_Face_emi.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:248b81b9a97c5b3d84b7deddff25779cec9b6d2e2f9eb98d707924f7072c28e5 -size 782405 diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX/Else2019_Face_emi.png.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX/Else2019_Face_emi.png.meta deleted file mode 100644 index 1b98e34..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX/Else2019_Face_emi.png.meta +++ /dev/null @@ -1,91 +0,0 @@ -fileFormatVersion: 2 -guid: b0de178a70f564f46abf2d004a961d76 -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: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX/Else2019_Face_tex.png b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX/Else2019_Face_tex.png deleted file mode 100644 index eaf22d6..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX/Else2019_Face_tex.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d3b3191809fd07e444037ae7be2b58c4fa1cdfe03ecff026f3037c96f6168faf -size 3026840 diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX/Else2019_Face_tex.png.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX/Else2019_Face_tex.png.meta deleted file mode 100644 index d8e666e..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX/Else2019_Face_tex.png.meta +++ /dev/null @@ -1,100 +0,0 @@ -fileFormatVersion: 2 -guid: b40f105c5313ab440b95c15aa1fb53d2 -TextureImporter: - fileIDToRecycleName: - 2186277476908879412: ImportLogs - externalObjects: {} - serializedVersion: 9 - 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: 2 - buildTarget: DefaultTexturePlatform - maxTextureSize: 4096 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - serializedVersion: 2 - buildTarget: Standalone - maxTextureSize: 4096 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - vertices: [] - indices: - edges: [] - weights: [] - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX/Else2019_Hair_tex.png b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX/Else2019_Hair_tex.png deleted file mode 100644 index ab16e8d..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX/Else2019_Hair_tex.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:75e957a9ce660b5df4de83ecb4659c8e938871e1e211e44c63ebf78fd9002235 -size 20318828 diff --git a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX/Else2019_Hair_tex.png.meta b/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX/Else2019_Hair_tex.png.meta deleted file mode 100644 index 0da4760..0000000 --- a/Assets/ProjectBlue/Character/c01_Else2019/Else2019_TEX/Else2019_Hair_tex.png.meta +++ /dev/null @@ -1,99 +0,0 @@ -fileFormatVersion: 2 -guid: 060b214c29dc3784ebcf7adad5d5168a -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 9 - 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: 2 - buildTarget: DefaultTexturePlatform - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - serializedVersion: 2 - buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - vertices: [] - indices: - edges: [] - weights: [] - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/Toon.meta b/Assets/ProjectBlue/Packages/Toon.meta deleted file mode 100644 index bc44788..0000000 --- a/Assets/ProjectBlue/Packages/Toon.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 3a7dc45a13f94a242ae1ad678993f567 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/Toon/Editor.meta b/Assets/ProjectBlue/Packages/Toon/Editor.meta deleted file mode 100644 index 2d4ff80..0000000 --- a/Assets/ProjectBlue/Packages/Toon/Editor.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 3c50e810df2f8c2479c1c965d581078c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/Toon/Editor/CopyMaterialParameter.cs b/Assets/ProjectBlue/Packages/Toon/Editor/CopyMaterialParameter.cs deleted file mode 100644 index 0ab45b7..0000000 --- a/Assets/ProjectBlue/Packages/Toon/Editor/CopyMaterialParameter.cs +++ /dev/null @@ -1,96 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEditor; - -namespace UnityChan -{ - public class CopyMaterialParameter : EditorWindow - { - [SerializeField] - static Material source; - Material target; - static EditorWindow window; - bool _RemovedUnusedParameter = false; - - [MenuItem("CONTEXT/Material/Copy Material Parameter")] - static void Init (MenuCommand command) - { - source = (Material) command.context; - window = EditorWindow.GetWindow (true, "Copy Material Parameter : Select Materials", true); - window.Show (); - } - - void OnGUI () - { - source = (Material)EditorGUILayout.ObjectField ("Source material", source, typeof(Material),true); - target = (Material)EditorGUILayout.ObjectField ("Target material", target, typeof(Material),true); - - EditorGUILayout.Space(); - - if (GUILayout.Button ("Copy Sorce ⇒ Target")) { - CopyMaterial (source, target); - window.Close(); - } - - if (GUILayout.Button ("Switch Sorce/Target")) { - _RemovedUnusedParameter = false; - var tmp = target; - target = source; - source = tmp; - } - - if (GUILayout.Button ("Remove Unused Properties from Sorce")) { - RemoveUnusedMaterialProperties(source); - _RemovedUnusedParameter = true; - } - - if(_RemovedUnusedParameter){ - EditorGUILayout.HelpBox("Unused Material Properties are removed.",MessageType.Info); - } - } - - void CopyMaterial (Material source, Material target) - { - target.shader = source.shader; - target.CopyPropertiesFromMaterial (source); - } - - // http://light11.hatenadiary.com/entry/2018/12/04/224253 - void RemoveUnusedMaterialProperties(Material material) - { - var sourceProps = new SerializedObject(material); - sourceProps.Update(); - - var savedProp = sourceProps.FindProperty("m_SavedProperties"); - - // Tex Envs - var texProp = savedProp.FindPropertyRelative("m_TexEnvs"); - for (int i = texProp.arraySize - 1; i >= 0; i--) { - var propertyName = texProp.GetArrayElementAtIndex(i).FindPropertyRelative("first").stringValue; - if (!material.HasProperty(propertyName)) { - texProp.DeleteArrayElementAtIndex(i); - } - } - - // Floats - var floatProp = savedProp.FindPropertyRelative("m_Floats"); - for (int i = floatProp.arraySize - 1; i >= 0; i--) { - var propertyName = floatProp.GetArrayElementAtIndex(i).FindPropertyRelative("first").stringValue; - if (!material.HasProperty(propertyName)) { - floatProp.DeleteArrayElementAtIndex(i); - } - } - - // Colors - var colorProp = savedProp.FindPropertyRelative("m_Colors"); - for (int i = colorProp.arraySize - 1; i >= 0; i--) { - var propertyName = colorProp.GetArrayElementAtIndex(i).FindPropertyRelative("first").stringValue; - if (!material.HasProperty(propertyName)) { - colorProp.DeleteArrayElementAtIndex(i); - } - } - sourceProps.ApplyModifiedProperties(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/Toon/Editor/CopyMaterialParameter.cs.meta b/Assets/ProjectBlue/Packages/Toon/Editor/CopyMaterialParameter.cs.meta deleted file mode 100644 index 859074d..0000000 --- a/Assets/ProjectBlue/Packages/Toon/Editor/CopyMaterialParameter.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: e30857b716beae5479b313fde1a5efaf -timeCreated: 1551006436 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/Toon/Editor/RemoveUnusedMaterialProperties.cs b/Assets/ProjectBlue/Packages/Toon/Editor/RemoveUnusedMaterialProperties.cs deleted file mode 100644 index fcffd01..0000000 --- a/Assets/ProjectBlue/Packages/Toon/Editor/RemoveUnusedMaterialProperties.cs +++ /dev/null @@ -1,54 +0,0 @@ -// -// RemoveUnusedMaterialProperties.cs -// http://light11.hatenadiary.com/entry/2018/12/04/224253 -// -#if UNITY_EDITOR -using UnityEngine; -using UnityEditor; - -public class Example { - - [MenuItem("CONTEXT/Material/Remove Unused Properties")] - private static void RemoveUnusedMaterialProperties(MenuCommand menuCommand) - { - var material = menuCommand.context as Material; - if (material == null) { - return; - } - - var so = new SerializedObject(material); - so.Update(); - - var savedProp = so.FindProperty("m_SavedProperties"); - - // Tex Envs - var texProp = savedProp.FindPropertyRelative("m_TexEnvs"); - for (int i = texProp.arraySize - 1; i >= 0; i--) { - var propertyName = texProp.GetArrayElementAtIndex(i).FindPropertyRelative("first").stringValue; - if (!material.HasProperty(propertyName)) { - texProp.DeleteArrayElementAtIndex(i); - } - } - - // Floats - var floatProp = savedProp.FindPropertyRelative("m_Floats"); - for (int i = floatProp.arraySize - 1; i >= 0; i--) { - var propertyName = floatProp.GetArrayElementAtIndex(i).FindPropertyRelative("first").stringValue; - if (!material.HasProperty(propertyName)) { - floatProp.DeleteArrayElementAtIndex(i); - } - } - - // Colors - var colorProp = savedProp.FindPropertyRelative("m_Colors"); - for (int i = colorProp.arraySize - 1; i >= 0; i--) { - var propertyName = colorProp.GetArrayElementAtIndex(i).FindPropertyRelative("first").stringValue; - if (!material.HasProperty(propertyName)) { - colorProp.DeleteArrayElementAtIndex(i); - } - } - - so.ApplyModifiedProperties(); - } -} -#endif \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/Toon/Editor/RemoveUnusedMaterialProperties.cs.meta b/Assets/ProjectBlue/Packages/Toon/Editor/RemoveUnusedMaterialProperties.cs.meta deleted file mode 100644 index 9eed493..0000000 --- a/Assets/ProjectBlue/Packages/Toon/Editor/RemoveUnusedMaterialProperties.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: cad15f56be91b744aaf8e22339bc598c -timeCreated: 1550127125 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/Toon/Editor/RemoveUnusedShaderKeywordsFromUTS2Material.cs b/Assets/ProjectBlue/Packages/Toon/Editor/RemoveUnusedShaderKeywordsFromUTS2Material.cs deleted file mode 100644 index 773e93c..0000000 --- a/Assets/ProjectBlue/Packages/Toon/Editor/RemoveUnusedShaderKeywordsFromUTS2Material.cs +++ /dev/null @@ -1,118 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEditor; - -namespace UnityChan -{ - - public class RemoveUnusedShaderKeywordsFromUTS2Material : EditorWindow - { - [SerializeField] - static Material source; - static Material oldSource; - Material target; - static EditorWindow window; - bool _RemovedUnusedParameterMessage = false; - - [MenuItem("CONTEXT/Material/Remove Unused ShaderKeywords from UTS2 Material")] - static void Init (MenuCommand command) - { - source = (Material) command.context; - window = EditorWindow.GetWindow (true, "Remove Unused ShaderKeywords : Select UTS2 Material", true); - window.Show (); - } - - void OnGUI () - { - source = (Material)EditorGUILayout.ObjectField (" UTS2 material", source, typeof(Material),true); - - EditorGUILayout.Space(); - - if (GUILayout.Button ("Remove Unused ShaderKeywords")) { - RemoveUnusedMaterialProperties(source); - RemoveShaderKeywords(source); - _RemovedUnusedParameterMessage = true; - oldSource = source; - //window.Close(); - } - - if(_RemovedUnusedParameterMessage){ - EditorGUILayout.HelpBox("Unused Material Properties and ShaderKeywords are removed.",MessageType.Info); - } - - if(source != oldSource){ - _RemovedUnusedParameterMessage = false; - } - - } - - void RemoveShaderKeywords(Material material) - { - string shaderKeywords = ""; - - if(material.HasProperty("_EMISSIVE")){ - float outlineMode = material.GetFloat("_EMISSIVE"); - if(outlineMode == 0) - { - shaderKeywords = shaderKeywords + "_EMISSIVE_SIMPLE"; - }else{ - shaderKeywords = shaderKeywords + "_EMISSIVE_ANIMATION"; - } - } - if(material.HasProperty("_OUTLINE")){ - float outlineMode = material.GetFloat("_OUTLINE"); - if(outlineMode == 0) - { - shaderKeywords = shaderKeywords + " _OUTLINE_NML"; - }else{ - shaderKeywords = shaderKeywords + " _OUTLINE_POS"; - } - } - - var so = new SerializedObject(material); - so.Update(); - so.FindProperty("m_ShaderKeywords").stringValue = shaderKeywords; - so.ApplyModifiedProperties(); - } - - // http://light11.hatenadiary.com/entry/2018/12/04/224253 - void RemoveUnusedMaterialProperties(Material material) - { - var sourceProps = new SerializedObject(material); - sourceProps.Update(); - - var savedProp = sourceProps.FindProperty("m_SavedProperties"); - - // Tex Envs - var texProp = savedProp.FindPropertyRelative("m_TexEnvs"); - for (int i = texProp.arraySize - 1; i >= 0; i--) { - var propertyName = texProp.GetArrayElementAtIndex(i).FindPropertyRelative("first").stringValue; - if (!material.HasProperty(propertyName)) { - texProp.DeleteArrayElementAtIndex(i); - } - } - - // Floats - var floatProp = savedProp.FindPropertyRelative("m_Floats"); - for (int i = floatProp.arraySize - 1; i >= 0; i--) { - var propertyName = floatProp.GetArrayElementAtIndex(i).FindPropertyRelative("first").stringValue; - if (!material.HasProperty(propertyName)) { - floatProp.DeleteArrayElementAtIndex(i); - } - } - - // Colors - var colorProp = savedProp.FindPropertyRelative("m_Colors"); - for (int i = colorProp.arraySize - 1; i >= 0; i--) { - var propertyName = colorProp.GetArrayElementAtIndex(i).FindPropertyRelative("first").stringValue; - if (!material.HasProperty(propertyName)) { - colorProp.DeleteArrayElementAtIndex(i); - } - } - sourceProps.ApplyModifiedProperties(); - } - - } - -} diff --git a/Assets/ProjectBlue/Packages/Toon/Editor/RemoveUnusedShaderKeywordsFromUTS2Material.cs.meta b/Assets/ProjectBlue/Packages/Toon/Editor/RemoveUnusedShaderKeywordsFromUTS2Material.cs.meta deleted file mode 100644 index e96c503..0000000 --- a/Assets/ProjectBlue/Packages/Toon/Editor/RemoveUnusedShaderKeywordsFromUTS2Material.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: a9775daf5f793f64e98ccd6c4a61bbc8 -timeCreated: 1553433925 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/Toon/Editor/UTS2GUI.cs b/Assets/ProjectBlue/Packages/Toon/Editor/UTS2GUI.cs deleted file mode 100644 index 465f5db..0000000 --- a/Assets/ProjectBlue/Packages/Toon/Editor/UTS2GUI.cs +++ /dev/null @@ -1,1944 +0,0 @@ -//Unitychan Toon Shader ver.2.0 -//UTS2GUI.cs for UTS2 v.2.0.7.5 -//nobuyuki@unity3d.com -//https://github.com/unity3d-jp/UnityChanToonShaderVer2_Project -//(C)Unity Technologies Japan/UCL -using UnityEngine; -using UnityEditor; - -namespace UnityChan -{ - public class UTS2GUI : ShaderGUI { - - public enum _UTS_Technique{ - DoubleSideWithFeather, ShadingGradeMap, OutlineObject - } - public enum _OutlineMode{ - NormalDirection, PositionScaling - } - - public enum _CullingMode{ - CullingOff, FrontCulling, BackCulling - } - - public enum _EmissiveMode{ - SimpleEmissive, EmissiveAnimation - } - - //enum _OutlineMode の状態を保持するための変数. - public _OutlineMode outlineMode; - public _CullingMode cullingMode; - public _EmissiveMode emissiveMode; - - //ボタンサイズ. - public GUILayoutOption[] shortButtonStyle = new GUILayoutOption[]{ GUILayout.Width(130) }; - public GUILayoutOption[] middleButtonStyle = new GUILayoutOption[]{ GUILayout.Width(130) }; - - //各種設定保持用. - //UTS2のバージョン. - static float _UTS2VersionNumber = 2.075f; - // - static int _StencilNo_Setting; - static bool _OriginalInspector = false; - static bool _SimpleUI = false; - //メッセージ表示用. - bool _Use_VrcRecommend = false; - bool _RemovedUnusedKeywordsMessage = false; - - //Foldoutの初期値. - static bool _BasicShaderSettings_Foldout = false; - static bool _BasicThreeColors_Foldout = true; - static bool _NormalMap_Foldout = false; - static bool _ShadowControlMaps_Foldout = false; - static bool _StepAndFeather_Foldout = true; - static bool _AdditionalLookdevs_Foldout = false; - static bool _HighColor_Foldout = true; - static bool _RimLight_Foldout = true; - static bool _MatCap_Foldout = true; - static bool _AngelRing_Foldout = true; - static bool _Emissive_Foldout = true; - static bool _Outline_Foldout = true; - static bool _AdvancedOutline_Foldout = false; - static bool _Tessellation_Foldout = false; - static bool _LightColorContribution_Foldout = false; - static bool _AdditionalLightingSettings_Foldout = false; - - // ----------------------------------------------------- - //m_MaterialEditorのメソッドをUIとして使うもののみを指定する. - // UTS2 materal properties ------------------------- - MaterialProperty clippingMask = null; - MaterialProperty clipping_Level = null; - MaterialProperty tweak_transparency = null; - MaterialProperty mainTex = null; - MaterialProperty baseColor = null; - MaterialProperty firstShadeMap = null; - MaterialProperty firstShadeColor = null; - MaterialProperty secondShadeMap = null; - MaterialProperty secondShadeColor = null; - MaterialProperty normalMap = null; - MaterialProperty bumpScale = null; - MaterialProperty set_1st_ShadePosition = null; - MaterialProperty set_2nd_ShadePosition = null; - MaterialProperty shadingGradeMap = null; - MaterialProperty tweak_ShadingGradeMapLevel = null; - MaterialProperty blurLevelSGM = null; - MaterialProperty tweak_SystemShadowsLevel = null; - MaterialProperty baseColor_Step = null; - MaterialProperty baseShade_Feather = null; - MaterialProperty shadeColor_Step = null; - MaterialProperty first2nd_Shades_Feather = null; - MaterialProperty first_ShadeColor_Step = null; - MaterialProperty first_ShadeColor_Feather = null; - MaterialProperty second_ShadeColor_Step = null; - MaterialProperty second_ShadeColor_Feather = null; - MaterialProperty stepOffset = null; - MaterialProperty highColor_Tex = null; - MaterialProperty highColor = null; - MaterialProperty highColor_Power = null; - MaterialProperty tweakHighColorOnShadow = null; - MaterialProperty set_HighColorMask = null; - MaterialProperty tweak_HighColorMaskLevel = null; - MaterialProperty rimLightColor = null; - MaterialProperty rimLight_Power = null; - MaterialProperty rimLight_InsideMask = null; - MaterialProperty tweak_LightDirection_MaskLevel = null; - MaterialProperty ap_RimLightColor = null; - MaterialProperty ap_RimLight_Power = null; - MaterialProperty set_RimLightMask = null; - MaterialProperty tweak_RimLightMaskLevel = null; - MaterialProperty matCap_Sampler = null; - MaterialProperty matCapColor = null; - MaterialProperty blurLevelMatcap = null; - MaterialProperty tweak_MatCapUV = null; - MaterialProperty rotate_MatCapUV = null; - MaterialProperty normalMapForMatCap = null; - MaterialProperty bumpScaleMatcap = null; - MaterialProperty rotate_NormalMapForMatCapUV = null; - MaterialProperty tweakMatCapOnShadow = null; - MaterialProperty set_MatcapMask = null; - MaterialProperty tweak_MatcapMaskLevel = null; - MaterialProperty angelRing_Sampler = null; - MaterialProperty angelRing_Color = null; - MaterialProperty ar_OffsetU = null; - MaterialProperty ar_OffsetV = null; - MaterialProperty emissive_Tex = null; - MaterialProperty emissive_Color = null; - MaterialProperty base_Speed = null; - MaterialProperty scroll_EmissiveU = null; - MaterialProperty scroll_EmissiveV = null; - MaterialProperty rotate_EmissiveUV = null; - MaterialProperty colorShift = null; - MaterialProperty colorShift_Speed = null; - MaterialProperty viewShift = null; - MaterialProperty outline_Width = null; - MaterialProperty outline_Color = null; - MaterialProperty outline_Sampler = null; - MaterialProperty offset_Z = null; - MaterialProperty farthest_Distance = null; - MaterialProperty nearest_Distance = null; - MaterialProperty outlineTex = null; - MaterialProperty bakedNormal = null; - MaterialProperty tessEdgeLength = null; - MaterialProperty tessPhongStrength = null; - MaterialProperty tessExtrusionAmount = null; - MaterialProperty gi_Intensity = null; - MaterialProperty unlit_Intensity = null; - MaterialProperty offset_X_Axis_BLD = null; - MaterialProperty offset_Y_Axis_BLD = null; - //------------------------------------------------------ - - MaterialEditor m_MaterialEditor; - - // ----------------------------------------------------- - - //m_MaterialEditorのメソッドをUIとして使うもののみを指定する. - public void FindProperties(MaterialProperty[] props) - { - //シェーダーによって無い可能性があるプロパティはfalseを追加. - clippingMask = FindProperty("_ClippingMask", props, false); - clipping_Level = FindProperty("_Clipping_Level", props, false); - tweak_transparency = FindProperty("_Tweak_transparency", props, false); - mainTex = FindProperty("_MainTex", props); - baseColor = FindProperty("_BaseColor", props); - firstShadeMap = FindProperty("_1st_ShadeMap", props); - firstShadeColor = FindProperty("_1st_ShadeColor", props); - secondShadeMap = FindProperty("_2nd_ShadeMap", props); - secondShadeColor = FindProperty("_2nd_ShadeColor", props); - normalMap = FindProperty("_NormalMap", props); - bumpScale = FindProperty("_BumpScale", props); - set_1st_ShadePosition = FindProperty("_Set_1st_ShadePosition", props, false); - set_2nd_ShadePosition = FindProperty("_Set_2nd_ShadePosition", props, false); - shadingGradeMap = FindProperty("_ShadingGradeMap", props, false); - tweak_ShadingGradeMapLevel = FindProperty("_Tweak_ShadingGradeMapLevel", props, false); - blurLevelSGM = FindProperty("_BlurLevelSGM", props, false); - tweak_SystemShadowsLevel = FindProperty("_Tweak_SystemShadowsLevel",props); - baseColor_Step = FindProperty("_BaseColor_Step",props); - baseShade_Feather = FindProperty("_BaseShade_Feather", props); - shadeColor_Step = FindProperty("_ShadeColor_Step",props); - first2nd_Shades_Feather = FindProperty("_1st2nd_Shades_Feather",props); - first_ShadeColor_Step = FindProperty("_1st_ShadeColor_Step",props); - first_ShadeColor_Feather = FindProperty("_1st_ShadeColor_Feather", props); - second_ShadeColor_Step = FindProperty("_2nd_ShadeColor_Step", props); - second_ShadeColor_Feather = FindProperty("_2nd_ShadeColor_Feather",props); - stepOffset = FindProperty("_StepOffset", props, false); - highColor_Tex = FindProperty("_HighColor_Tex",props); - highColor = FindProperty("_HighColor", props); - highColor_Power = FindProperty("_HighColor_Power", props); - tweakHighColorOnShadow = FindProperty("_TweakHighColorOnShadow", props); - set_HighColorMask = FindProperty("_Set_HighColorMask", props); - tweak_HighColorMaskLevel = FindProperty("_Tweak_HighColorMaskLevel", props); - rimLightColor = FindProperty("_RimLightColor", props); - rimLight_Power = FindProperty("_RimLight_Power", props); - rimLight_InsideMask = FindProperty("_RimLight_InsideMask", props); - tweak_LightDirection_MaskLevel = FindProperty("_Tweak_LightDirection_MaskLevel", props); - ap_RimLightColor = FindProperty("_Ap_RimLightColor", props); - ap_RimLight_Power = FindProperty("_Ap_RimLight_Power", props); - set_RimLightMask = FindProperty("_Set_RimLightMask", props); - tweak_RimLightMaskLevel = FindProperty("_Tweak_RimLightMaskLevel", props); - matCap_Sampler = FindProperty("_MatCap_Sampler", props); - matCapColor = FindProperty("_MatCapColor", props); - blurLevelMatcap = FindProperty("_BlurLevelMatcap", props); - tweak_MatCapUV = FindProperty("_Tweak_MatCapUV", props); - rotate_MatCapUV = FindProperty("_Rotate_MatCapUV", props); - normalMapForMatCap = FindProperty("_NormalMapForMatCap", props); - bumpScaleMatcap = FindProperty("_BumpScaleMatcap", props); - rotate_NormalMapForMatCapUV = FindProperty("_Rotate_NormalMapForMatCapUV", props); - tweakMatCapOnShadow = FindProperty("_TweakMatCapOnShadow", props); - set_MatcapMask = FindProperty("_Set_MatcapMask", props); - tweak_MatcapMaskLevel = FindProperty("_Tweak_MatcapMaskLevel", props); - angelRing_Sampler = FindProperty("_AngelRing_Sampler", props, false); - angelRing_Color = FindProperty("_AngelRing_Color", props, false); - ar_OffsetU = FindProperty("_AR_OffsetU", props, false); - ar_OffsetV = FindProperty("_AR_OffsetV", props, false); - emissive_Tex = FindProperty("_Emissive_Tex", props); - emissive_Color = FindProperty("_Emissive_Color", props); - base_Speed = FindProperty("_Base_Speed", props); - scroll_EmissiveU = FindProperty("_Scroll_EmissiveU", props); - scroll_EmissiveV = FindProperty("_Scroll_EmissiveV",props); - rotate_EmissiveUV = FindProperty("_Rotate_EmissiveUV", props); - colorShift = FindProperty("_ColorShift", props); - colorShift_Speed = FindProperty("_ColorShift_Speed", props); - viewShift = FindProperty("_ViewShift", props); - outline_Width = FindProperty("_Outline_Width", props, false); - outline_Color = FindProperty("_Outline_Color", props, false); - outline_Sampler = FindProperty("_Outline_Sampler", props, false); - offset_Z = FindProperty("_Offset_Z", props, false); - farthest_Distance = FindProperty("_Farthest_Distance", props, false); - nearest_Distance = FindProperty("_Nearest_Distance", props, false); - outlineTex = FindProperty("_OutlineTex", props, false); - bakedNormal = FindProperty("_BakedNormal", props, false); - tessEdgeLength = FindProperty("_TessEdgeLength", props, false); - tessPhongStrength = FindProperty("_TessPhongStrength", props, false); - tessExtrusionAmount = FindProperty("_TessExtrusionAmount", props, false); - gi_Intensity = FindProperty("_GI_Intensity", props); - unlit_Intensity = FindProperty("_Unlit_Intensity", props); - offset_X_Axis_BLD = FindProperty("_Offset_X_Axis_BLD", props); - offset_Y_Axis_BLD = FindProperty("_Offset_Y_Axis_BLD", props); - } - // -------------------------------- - - // -------------------------------- - static void Line() - { - GUILayout.Box("", GUILayout.ExpandWidth(true), GUILayout.Height(1)); - } - - static bool Foldout(bool display, string title) - { - var style = new GUIStyle("ShurikenModuleTitle"); - style.font = new GUIStyle(EditorStyles.boldLabel).font; - style.border = new RectOffset(15, 7, 4, 4); - style.fixedHeight = 22; - style.contentOffset = new Vector2(20f, -2f); - - var rect = GUILayoutUtility.GetRect(16f, 22f, style); - GUI.Box(rect, title, style); - - var e = Event.current; - - var toggleRect = new Rect(rect.x + 4f, rect.y + 2f, 13f, 13f); - if (e.type == EventType.Repaint) - { - EditorStyles.foldout.Draw(toggleRect, false, false, display, false); - } - - if (e.type == EventType.MouseDown && rect.Contains(e.mousePosition)) - { - display = !display; - e.Use(); - } - - return display; - } - - static bool FoldoutSubMenu(bool display, string title) - { - var style = new GUIStyle("ShurikenModuleTitle"); - style.font = new GUIStyle(EditorStyles.boldLabel).font; - style.border = new RectOffset(15, 7, 4, 4); - style.padding = new RectOffset(5, 7, 4, 4); - style.fixedHeight = 22; - style.contentOffset = new Vector2(32f, -2f); - - var rect = GUILayoutUtility.GetRect(16f, 22f, style); - GUI.Box(rect, title, style); - - var e = Event.current; - - var toggleRect = new Rect(rect.x + 16f, rect.y + 2f, 13f, 13f); - if (e.type == EventType.Repaint) - { - EditorStyles.foldout.Draw(toggleRect, false, false, display, false); - } - - if (e.type == EventType.MouseDown && rect.Contains(e.mousePosition)) - { - display = !display; - e.Use(); - } - - return display; - } - - - - - // -------------------------------- - //m_MaterialEditorのメソッドをUIとして使うもののみを指定する. 1行表示のテクスチャ&カラー指定用. - private static class Styles - { - public static GUIContent baseColorText = new GUIContent("BaseMap","Base Color : Texture(sRGB) × Color(RGB) Default:White"); - public static GUIContent firstShadeColorText = new GUIContent("1st ShadeMap","1st ShadeColor : Texture(sRGB) × Color(RGB) Default:White"); - public static GUIContent secondShadeColorText = new GUIContent("2nd ShadeMap","2nd ShadeColor : Texture(sRGB) × Color(RGB) Default:White"); - public static GUIContent normalMapText = new GUIContent("NormalMap","NormalMap : Texture(bump)"); - public static GUIContent highColorText = new GUIContent("HighColor","High Color : Texture(sRGB) × Color(RGB) Default:Black"); - public static GUIContent highColorMaskText = new GUIContent("HighColor Mask","HighColor Mask : Texture(linear)"); - public static GUIContent rimLightMaskText = new GUIContent("RimLight Mask","RimLight Mask : Texture(linear)"); - public static GUIContent matCapSamplerText = new GUIContent("MatCap Sampler","MatCap Sampler : Texture(sRGB) × Color(RGB) Default:White"); - public static GUIContent matCapMaskText = new GUIContent("MatCap Mask","MatCap Mask : Texture(linear)"); - public static GUIContent angelRingText = new GUIContent("AngelRing","AngelRing : Texture(sRGB) × Color(RGB) Default:Black"); - public static GUIContent emissiveTexText = new GUIContent("Emissive","Emissive : Texture(sRGB)× EmissiveMask(alpha) × Color(HDR) Default:Black"); - public static GUIContent shadingGradeMapText = new GUIContent("Shading Grade Map","影のかかり方マップ。UV座標で影のかかりやすい場所を指定する。Shading Grade Map : Texture(linear)"); - public static GUIContent firstPositionMapText = new GUIContent("1st Shade Position Map","1影色領域に落ちる固定影の位置を、UV座標で指定する。1st Position Map : Texture(linear)"); - public static GUIContent secondPositionMapText = new GUIContent("2nd Shade Position Map","2影色領域に落ちる固定影の位置を、UV座標で指定する。2nd Position Map : Texture(linear)"); - public static GUIContent outlineSamplerText = new GUIContent("Outline Sampler","Outline Sampler : Texture(linear)"); - public static GUIContent outlineTexText = new GUIContent("Outline tex","Outline Tex : Texture(sRGB) Default:White"); - public static GUIContent bakedNormalOutlineText = new GUIContent("Baked NormalMap for Outline","Unpacked Normal Map : Texture(linear) ※通常のノーマルマップではないので注意"); - public static GUIContent clippingMaskText = new GUIContent("Clipping Mask","Clipping Mask : Texture(linear)"); - } - // -------------------------------- - - public override void OnGUI(MaterialEditor materialEditor, MaterialProperty[] props) - { - EditorGUIUtility.fieldWidth = 0; - FindProperties(props); - m_MaterialEditor = materialEditor; - Material material = materialEditor.target as Material; - - //v.2.0.7.2 / v.2.0.7.4 - //v.2.0.4.3p1以前のBaseMap名との互換性対策、および_utsVersionの更新をおこなう. - //shader側で新規設定されるのは、_utsVersion = 2.07fなので、CustomGUI側でサブバージョンを付ける. - if(material.GetFloat("_utsVersion") < _UTS2VersionNumber) - { - //_MainTexを使っている世代は、_BaseMapにはテクスチャ情報はない. - if(material.GetTexture("_BaseMap") != null) - { - //v.2.0.4.3p1以前は_BaseMapにテクスチャ情報があるので、_MainTexにコピー. - material.SetTexture("_MainTex",material.GetTexture("_BaseMap")); - //処理が終わったので、_utsVersionを更新して設定. - material.SetFloat("_utsVersion", _UTS2VersionNumber); - }else{ - //処理が不要な場合も、_utsVersionを更新して設定. - material.SetFloat("_utsVersion", _UTS2VersionNumber); - } - } - //ここまで. - - //UTSのシェーダー方式の確認. - CheckUtsTechnique(material); - - //1行目の横並び3ボタン. - EditorGUILayout.BeginHorizontal(); - //Original Inspectorの選択チェック. - if(material.HasProperty("_simpleUI")){ - var selectedUI = material.GetInt("_simpleUI"); - if(selectedUI==2){ - _OriginalInspector = true; //Original GUI - }else if(selectedUI == 1){ - _SimpleUI = true; //UTS2 Biginner GUI - } - //Original/Custom GUI 切り替えボタン. - if (_OriginalInspector) - { - if (GUILayout.Button("Change CustomUI",middleButtonStyle)) - { - _OriginalInspector = false; - material.SetInt("_simpleUI",0); //UTS2 Pro GUI - } - OpenManualLink(); - //継承したレイアウトのクリア. - EditorGUILayout.EndHorizontal(); - //オリジナルのGUI表示 - m_MaterialEditor.PropertiesDefaultGUI(props); - return; - } - if (GUILayout.Button("Show All properties",middleButtonStyle)) - { - _OriginalInspector = true; - material.SetInt("_simpleUI",2); //Original GUI - } - } - //マニュアルを開く. - OpenManualLink(); - EditorGUILayout.EndHorizontal(); - - EditorGUI.BeginChangeCheck(); - - EditorGUILayout.Space(); - - _BasicShaderSettings_Foldout = Foldout(_BasicShaderSettings_Foldout, "Basic Shader Settings"); - if(_BasicShaderSettings_Foldout) - { - EditorGUI.indentLevel++; - //EditorGUILayout.Space(); - GUI_SetCullingMode(material); - - if(material.HasProperty("_StencilNo")){ - - GUI_SetStencilNo(material); - } - - if(material.HasProperty("_ClippingMask")){ - GUI_SetClippingMask(material); - } - - if(material.HasProperty("_Tweak_transparency")){ - GUI_SetTransparencySetting(material); - } - - GUI_OptionMenu(material); - - EditorGUI.indentLevel--; - } - - EditorGUILayout.Space(); - - _BasicThreeColors_Foldout = Foldout(_BasicThreeColors_Foldout, "【Basic Three Colors and Control Maps Setups】"); - if(_BasicThreeColors_Foldout) - { - EditorGUI.indentLevel++; - //EditorGUILayout.Space(); - GUI_BasicThreeColors(material); - EditorGUI.indentLevel--; - } - - EditorGUILayout.Space(); - - _StepAndFeather_Foldout = Foldout(_StepAndFeather_Foldout, "【Basic Lookdevs : Shading Step and Feather Settings】"); - if (_StepAndFeather_Foldout) - { - EditorGUI.indentLevel++; - //EditorGUILayout.Space(); - GUI_StepAndFeather(material); - EditorGUI.indentLevel--; - } - - EditorGUILayout.Space(); - - _HighColor_Foldout = Foldout(_HighColor_Foldout, "【HighColor Settings】"); - if (_HighColor_Foldout) - { - EditorGUI.indentLevel++; - EditorGUILayout.Space(); - GUI_HighColor(material); - EditorGUI.indentLevel--; - } - - EditorGUILayout.Space(); - - _RimLight_Foldout = Foldout(_RimLight_Foldout, "【RimLight Settings】"); - if (_RimLight_Foldout) - { - EditorGUI.indentLevel++; - EditorGUILayout.Space(); - GUI_RimLight(material); - EditorGUI.indentLevel--; - } - - EditorGUILayout.Space(); - - _MatCap_Foldout = Foldout(_MatCap_Foldout, "【MatCap : Texture Projection Settings】"); - if (_MatCap_Foldout) - { - EditorGUI.indentLevel++; - EditorGUILayout.Space(); - GUI_MatCap(material); - EditorGUI.indentLevel--; - } - - EditorGUILayout.Space(); - - if(material.HasProperty("_AngelRing")){ - _AngelRing_Foldout = Foldout(_AngelRing_Foldout, "【AngelRing Projection Settings】"); - if (_AngelRing_Foldout) - { - EditorGUI.indentLevel++; - EditorGUILayout.Space(); - GUI_AngelRing(material); - EditorGUI.indentLevel--; - } - - EditorGUILayout.Space(); - } - - _Emissive_Foldout = Foldout(_Emissive_Foldout, "【Emissive : Self-luminescence Settings】"); - if (_Emissive_Foldout) - { - EditorGUI.indentLevel++; - //EditorGUILayout.Space(); - GUI_Emissive(material); - EditorGUI.indentLevel--; - } - - EditorGUILayout.Space(); - - if(material.HasProperty("_OUTLINE")){ - _Outline_Foldout = Foldout(_Outline_Foldout, "【Outline Settings】"); - if (_Outline_Foldout) - { - EditorGUI.indentLevel++; - EditorGUILayout.Space(); - GUI_Outline(material); - EditorGUI.indentLevel--; - } - EditorGUILayout.Space(); - } - - if(material.HasProperty("_TessEdgeLength")){ - _Tessellation_Foldout = Foldout(_Tessellation_Foldout, "【DX11 Phong Tessellation Settings】"); - if (_Tessellation_Foldout) - { - EditorGUI.indentLevel++; - EditorGUILayout.Space(); - GUI_Tessellation(material); - EditorGUI.indentLevel--; - } - - EditorGUILayout.Space(); - } - - if(!_SimpleUI){ - _LightColorContribution_Foldout = Foldout(_LightColorContribution_Foldout, "【LightColor Contribution to Materials】"); - if (_LightColorContribution_Foldout) - { - EditorGUI.indentLevel++; - //EditorGUILayout.Space(); - GUI_LightColorContribution(material); - EditorGUI.indentLevel--; - } - - EditorGUILayout.Space(); - - _AdditionalLightingSettings_Foldout = Foldout(_AdditionalLightingSettings_Foldout, "【Environmental Lighting Contributions Setups】"); - if (_AdditionalLightingSettings_Foldout) - { - EditorGUI.indentLevel++; - EditorGUILayout.Space(); - GUI_AdditionalLightingSettings(material); - EditorGUI.indentLevel--; - } - - EditorGUILayout.Space(); - } - - if (EditorGUI.EndChangeCheck()) - { - m_MaterialEditor.PropertiesChanged(); - } - - }// End of OnGUI() - - - // -------------------------------- - - void CheckUtsTechnique(Material material){ - if (material.HasProperty("_utsTechnique"))//DoubleWithFeather==0 or ShadingGradeMap==1 - { - if(material.GetInt("_utsTechnique") == (int)_UTS_Technique.DoubleSideWithFeather) //DWF - { - if(!material.HasProperty("_Set_1st_ShadePosition")){ - //SGMに変更. - material.SetInt("_utsTechnique", (int)_UTS_Technique.ShadingGradeMap); - } - }else if(material.GetInt("_utsTechnique") == (int)_UTS_Technique.ShadingGradeMap){ //SGM - //SGM - if(!material.HasProperty("_ShadingGradeMap")){ - //DWFに変更. - material.SetInt("_utsTechnique", (int)_UTS_Technique.DoubleSideWithFeather); - } - }else{ - - } - }else{ - - } - } - - void OpenManualLink(){ - if (GUILayout.Button("日本語マニュアル",middleButtonStyle)) - { - Application.OpenURL("https://github.com/unity3d-jp/UnityChanToonShaderVer2_Project/blob/master/Manual/UTS2_Manual_ja.md"); - } - if (GUILayout.Button("English manual",middleButtonStyle)) - { - Application.OpenURL("https://github.com/unity3d-jp/UnityChanToonShaderVer2_Project/blob/master/Manual/UTS2_Manual_en.md"); - } - } - - void GUI_SetCullingMode(Material material){ - int _CullMode_Setting = material.GetInt("_CullMode"); - //Enum形式に変換して、outlineMode変数に保持しておく. - if ((int)_CullingMode.CullingOff == _CullMode_Setting){ - cullingMode = _CullingMode.CullingOff; - }else if((int)_CullingMode.FrontCulling == _CullMode_Setting){ - cullingMode = _CullingMode.FrontCulling; - }else{ - cullingMode = _CullingMode.BackCulling; - } - //EnumPopupでGUI記述. - cullingMode = (_CullingMode)EditorGUILayout.EnumPopup("Culling Mode", cullingMode); - //値が変化したらマテリアルに書き込み. - if(cullingMode == _CullingMode.CullingOff){ - material.SetFloat("_CullMode",0); - }else if(cullingMode == _CullingMode.FrontCulling){ - material.SetFloat("_CullMode",1); - }else{ - material.SetFloat("_CullMode",2); - } - } - - void GUI_SetStencilNo(Material material){ - GUILayout.Label("For _StencilMask or _StencilOut Shader", EditorStyles.boldLabel); - _StencilNo_Setting = material.GetInt("_StencilNo"); - int _Current_StencilNo = _StencilNo_Setting; - _Current_StencilNo = (int)EditorGUILayout.IntField("Stencil No.", _Current_StencilNo); - if(_StencilNo_Setting != _Current_StencilNo){ - material.SetInt("_StencilNo",_Current_StencilNo); - } - } - - void GUI_SetClippingMask(Material material){ - GUILayout.Label("For _Clipping or _TransClipping Shader", EditorStyles.boldLabel); - m_MaterialEditor.TexturePropertySingleLine(Styles.clippingMaskText, clippingMask); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("Inverse Clipping Mask"); - //GUILayout.Space(60); - if(material.GetFloat("_Inverse_Clipping") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Inverse_Clipping",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Inverse_Clipping",0); - } - } - EditorGUILayout.EndHorizontal(); - - m_MaterialEditor.RangeProperty(clipping_Level, "Clipping Level"); - } - - void GUI_SetTransparencySetting(Material material){ - - GUILayout.Label("For _TransClipping Shader", EditorStyles.boldLabel); - m_MaterialEditor.RangeProperty(tweak_transparency, "Transparency Level"); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("Use BaseMap α as Clipping Mask"); - //GUILayout.Space(60); - if(material.GetFloat("_IsBaseMapAlphaAsClippingMask") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_IsBaseMapAlphaAsClippingMask",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_IsBaseMapAlphaAsClippingMask",0); - } - } - EditorGUILayout.EndHorizontal(); - } - - void GUI_OptionMenu(Material material){ - GUILayout.Label("Option Menu", EditorStyles.boldLabel); - if(material.HasProperty("_simpleUI")){ - if(material.GetInt("_simpleUI") == 1){ - _SimpleUI = true; //UTS2 Custom GUI Biginner - } - else{ - _SimpleUI = false; //UTS2 Custom GUI Pro - } - } - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("Current UI Type"); - //GUILayout.Space(60); - if(_SimpleUI == false) { - if (GUILayout.Button("Pro / Full Control",middleButtonStyle)) - { - material.SetInt("_simpleUI",1); //UTS2 Custom GUI Biginner - } - }else{ - if (GUILayout.Button("Biginner",middleButtonStyle)) - { - material.SetInt("_simpleUI",0); //UTS2 Custom GUI Pro - } - } - EditorGUILayout.EndHorizontal(); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("VRChat Recommendation"); - //GUILayout.Space(60); - if (GUILayout.Button("Apply Settings",middleButtonStyle)) - { - Set_Vrchat_Recommendation(material); - _Use_VrcRecommend = true; - } - EditorGUILayout.EndHorizontal(); - if(_Use_VrcRecommend){ - EditorGUILayout.HelpBox("UTS2 : Applied VRChat Recommended Settings.",MessageType.Info); - } - - //v.2.0.7 - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("Remove Unused Keywords/Properties from Material"); - //GUILayout.Space(60); - if (GUILayout.Button("Execute",middleButtonStyle)) - { - RemoveUnusedKeywordsUtility(material); - _RemovedUnusedKeywordsMessage = true; - } - EditorGUILayout.EndHorizontal(); - if(_RemovedUnusedKeywordsMessage){ - EditorGUILayout.HelpBox("UTS2 : Unused Material Properties and ShaderKeywords are removed.",MessageType.Info); - } - // - } - - //v.2.0.7 - void RemoveUnusedKeywordsUtility(Material material) - { - RemoveUnusedMaterialProperties(material); - RemoveShaderKeywords(material); - } - - void RemoveShaderKeywords(Material material) - { - string shaderKeywords = ""; - - if(material.HasProperty("_EMISSIVE")){ - float outlineMode = material.GetFloat("_EMISSIVE"); - if(outlineMode == 0) - { - shaderKeywords = shaderKeywords + "_EMISSIVE_SIMPLE"; - }else{ - shaderKeywords = shaderKeywords + "_EMISSIVE_ANIMATION"; - } - } - if(material.HasProperty("_OUTLINE")){ - float outlineMode = material.GetFloat("_OUTLINE"); - if(outlineMode == 0) - { - shaderKeywords = shaderKeywords + " _OUTLINE_NML"; - }else{ - shaderKeywords = shaderKeywords + " _OUTLINE_POS"; - } - } - - var so = new SerializedObject(material); - so.Update(); - so.FindProperty("m_ShaderKeywords").stringValue = shaderKeywords; - so.ApplyModifiedProperties(); - } - - // http://light11.hatenadiary.com/entry/2018/12/04/224253 - void RemoveUnusedMaterialProperties(Material material) - { - var sourceProps = new SerializedObject(material); - sourceProps.Update(); - - var savedProp = sourceProps.FindProperty("m_SavedProperties"); - - // Tex Envs - var texProp = savedProp.FindPropertyRelative("m_TexEnvs"); - for (int i = texProp.arraySize - 1; i >= 0; i--) { - var propertyName = texProp.GetArrayElementAtIndex(i).FindPropertyRelative("first").stringValue; - if (!material.HasProperty(propertyName)) { - texProp.DeleteArrayElementAtIndex(i); - } - } - - // Floats - var floatProp = savedProp.FindPropertyRelative("m_Floats"); - for (int i = floatProp.arraySize - 1; i >= 0; i--) { - var propertyName = floatProp.GetArrayElementAtIndex(i).FindPropertyRelative("first").stringValue; - if (!material.HasProperty(propertyName)) { - floatProp.DeleteArrayElementAtIndex(i); - } - } - - // Colors - var colorProp = savedProp.FindPropertyRelative("m_Colors"); - for (int i = colorProp.arraySize - 1; i >= 0; i--) { - var propertyName = colorProp.GetArrayElementAtIndex(i).FindPropertyRelative("first").stringValue; - if (!material.HasProperty(propertyName)) { - colorProp.DeleteArrayElementAtIndex(i); - } - } - sourceProps.ApplyModifiedProperties(); - } - // - - void Set_Vrchat_Recommendation(Material material) - { - material.SetFloat("_Is_LightColor_Base",1); - material.SetFloat("_Is_LightColor_1st_Shade",1); - material.SetFloat("_Is_LightColor_2nd_Shade",1); - material.SetFloat("_Is_LightColor_HighColor",1); - material.SetFloat("_Is_LightColor_RimLight",1); - material.SetFloat("_Is_LightColor_Ap_RimLight",1); - material.SetFloat("_Is_LightColor_MatCap",1); - if(material.HasProperty("_AngelRing")){//AngelRingがある場合. - material.SetFloat("_Is_LightColor_AR",1); - } - if(material.HasProperty("_OUTLINE"))//OUTLINEがある場合. - { - material.SetFloat("_Is_LightColor_Outline",1); - } - material.SetFloat("_Set_SystemShadowsToBase",1); - material.SetFloat("_Is_Filter_HiCutPointLightColor",1); - material.SetFloat("_CameraRolling_Stabilizer",1); - material.SetFloat("_Is_Ortho",0); - material.SetFloat("_GI_Intensity",0); - material.SetFloat("_Unlit_Intensity",1); - material.SetFloat("_Is_Filter_LightColor",1); - } - - void GUI_BasicThreeColors(Material material) - { - GUILayout.Label("3 Basic Colors Settings : Textures × Colors", EditorStyles.boldLabel); - - EditorGUILayout.BeginHorizontal(); - m_MaterialEditor.TexturePropertySingleLine(Styles.baseColorText, mainTex, baseColor); - //v.2.0.7 Synchronize _Color to _BaseColor. - if(material.HasProperty("_Color")) - { - material.SetColor("_Color", material.GetColor("_BaseColor")); - } - // - if(material.GetFloat("_Use_BaseAs1st") == 0){ - if (GUILayout.Button("No Sharing",middleButtonStyle)) - { - material.SetFloat("_Use_BaseAs1st",1); - } - }else{ - if (GUILayout.Button("With 1st ShadeMap",middleButtonStyle)) - { - material.SetFloat("_Use_BaseAs1st",0); - } - } - GUILayout.Space(60); - EditorGUILayout.EndHorizontal(); - - EditorGUILayout.BeginHorizontal(); - m_MaterialEditor.TexturePropertySingleLine(Styles.firstShadeColorText, firstShadeMap, firstShadeColor); - if(material.GetFloat("_Use_1stAs2nd") == 0){ - if (GUILayout.Button("No Sharing",middleButtonStyle)) - { - material.SetFloat("_Use_1stAs2nd",1); - } - }else{ - if (GUILayout.Button("With 2nd ShadeMap",middleButtonStyle)) - { - material.SetFloat("_Use_1stAs2nd",0); - } - } - GUILayout.Space(60); - EditorGUILayout.EndHorizontal(); - - m_MaterialEditor.TexturePropertySingleLine(Styles.secondShadeColorText, secondShadeMap, secondShadeColor); - - EditorGUILayout.Space(); - - _NormalMap_Foldout = FoldoutSubMenu(_NormalMap_Foldout, "● NormalMap Settings"); - if(_NormalMap_Foldout) - { - //GUILayout.Label("NormalMap Settings", EditorStyles.boldLabel); - m_MaterialEditor.TexturePropertySingleLine(Styles.normalMapText, normalMap, bumpScale); - m_MaterialEditor.TextureScaleOffsetProperty(normalMap); - - //EditorGUI.indentLevel++; - - GUILayout.Label("NormalMap Effectiveness", EditorStyles.boldLabel); - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("3 Basic Colors"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_NormalMapToBase") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Is_NormalMapToBase",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Is_NormalMapToBase",0); - } - } - EditorGUILayout.EndHorizontal(); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("HighColor"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_NormalMapToHighColor") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Is_NormalMapToHighColor",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Is_NormalMapToHighColor",0); - } - } - EditorGUILayout.EndHorizontal(); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("RimLight"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_NormalMapToRimLight") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Is_NormalMapToRimLight",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Is_NormalMapToRimLight",0); - } - } - EditorGUILayout.EndHorizontal(); - - //EditorGUI.indentLevel--; - EditorGUILayout.Space(); - } - - _ShadowControlMaps_Foldout = FoldoutSubMenu(_ShadowControlMaps_Foldout, "● Shadow Control Maps"); - if (_ShadowControlMaps_Foldout) - { - GUI_ShadowControlMaps(material); - EditorGUILayout.Space(); - } - } - - void GUI_ShadowControlMaps(Material material) - { - if (material.HasProperty("_utsTechnique"))//DoubleWithFeather or ShadingGradeMap - { - if(material.GetInt("_utsTechnique") == (int)_UTS_Technique.DoubleSideWithFeather) //DWF - { - GUILayout.Label("Technipue : Double Shade With Feather", EditorStyles.boldLabel); - m_MaterialEditor.TexturePropertySingleLine(Styles.firstPositionMapText, set_1st_ShadePosition); - m_MaterialEditor.TexturePropertySingleLine(Styles.secondPositionMapText, set_2nd_ShadePosition); - }else if(material.GetInt("_utsTechnique") == (int)_UTS_Technique.ShadingGradeMap){ //SGM - GUILayout.Label("Technipue : Shading Grade Map", EditorStyles.boldLabel); - m_MaterialEditor.TexturePropertySingleLine(Styles.shadingGradeMapText, shadingGradeMap); - m_MaterialEditor.RangeProperty(tweak_ShadingGradeMapLevel, "ShadingGradeMap Level"); - m_MaterialEditor.RangeProperty(blurLevelSGM, "Blur Level of ShadingGradeMap"); - } - } - } - - void GUI_StepAndFeather(Material material) - { - GUI_BasicLookdevs(material); - - if(!_SimpleUI){ - GUI_SystemShadows(material); - - if (material.HasProperty("_StepOffset"))//Mobile & Light Modeにはない項目. - { - //Line(); - //EditorGUILayout.Space(); - _AdditionalLookdevs_Foldout = FoldoutSubMenu(_AdditionalLookdevs_Foldout,"● Additional Settings"); - if(_AdditionalLookdevs_Foldout){ - GUI_AdditionalLookdevs(material); - } - } - } - } - - void GUI_SystemShadows(Material material){ - - GUILayout.Label("System Shadows : Self Shadows Receiving", EditorStyles.boldLabel); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("Receive System Shadows"); - //GUILayout.Space(60); - if(material.GetFloat("_Set_SystemShadowsToBase") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Set_SystemShadowsToBase",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Set_SystemShadowsToBase",0); - } - } - EditorGUILayout.EndHorizontal(); - - if(material.GetFloat("_Set_SystemShadowsToBase") == 1){ - EditorGUI.indentLevel++; - m_MaterialEditor.RangeProperty(tweak_SystemShadowsLevel, "System Shadows Level"); - EditorGUI.indentLevel--; - EditorGUILayout.Space(); - } - EditorGUILayout.Space(); - } - - void GUI_BasicLookdevs(Material material){ - if (material.HasProperty("_utsTechnique"))//DoubleWithFeather or ShadingGradeMap - { - if(material.GetInt("_utsTechnique") == (int)_UTS_Technique.DoubleSideWithFeather) //DWF - { - GUILayout.Label("Technipue : Double Shade With Feather", EditorStyles.boldLabel); - m_MaterialEditor.RangeProperty(baseColor_Step, "BaseColor Step"); - m_MaterialEditor.RangeProperty(baseShade_Feather, "Base/Shade Feather"); - m_MaterialEditor.RangeProperty(shadeColor_Step, "ShadeColor Step"); - m_MaterialEditor.RangeProperty(first2nd_Shades_Feather, "1st/2nd_Shades Feather"); - //ShadingGradeMap系と変数を共有. - material.SetFloat("_1st_ShadeColor_Step", material.GetFloat("_BaseColor_Step")); - material.SetFloat("_1st_ShadeColor_Feather", material.GetFloat("_BaseShade_Feather")); - material.SetFloat("_2nd_ShadeColor_Step", material.GetFloat("_ShadeColor_Step")); - material.SetFloat("_2nd_ShadeColor_Feather", material.GetFloat("_1st2nd_Shades_Feather")); - }else if(material.GetInt("_utsTechnique") == (int)_UTS_Technique.ShadingGradeMap){ //SGM - GUILayout.Label("Technipue : Shading Grade Map", EditorStyles.boldLabel); - m_MaterialEditor.RangeProperty(first_ShadeColor_Step, "1st ShaderColor Step"); - m_MaterialEditor.RangeProperty(first_ShadeColor_Feather, "1st ShadeColor Feather"); - m_MaterialEditor.RangeProperty(second_ShadeColor_Step, "2nd ShadeColor Step"); - m_MaterialEditor.RangeProperty(second_ShadeColor_Feather, "2nd ShadeColor Feather"); - //DoubleWithFeather系と変数を共有. - material.SetFloat("_BaseColor_Step", material.GetFloat("_1st_ShadeColor_Step")); - material.SetFloat("_BaseShade_Feather", material.GetFloat("_1st_ShadeColor_Feather")); - material.SetFloat("_ShadeColor_Step", material.GetFloat("_2nd_ShadeColor_Step")); - material.SetFloat("_1st2nd_Shades_Feather", material.GetFloat("_2nd_ShadeColor_Feather")); - }else{ - // OutlineObj. - return; - } - } - EditorGUILayout.Space(); - } - - void GUI_AdditionalLookdevs(Material material){ - GUILayout.Label(" Settings for PointLights in ForwardAdd Pass"); - EditorGUI.indentLevel++; - m_MaterialEditor.RangeProperty(stepOffset, "Step Offset for PointLights"); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("PointLights Hi-Cut Filter"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_Filter_HiCutPointLightColor") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Is_Filter_HiCutPointLightColor",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Is_Filter_HiCutPointLightColor",0); - } - } - EditorGUILayout.EndHorizontal(); - - EditorGUI.indentLevel--; - EditorGUILayout.Space(); - } - - void GUI_HighColor(Material material) - { - m_MaterialEditor.TexturePropertySingleLine(Styles.highColorText, highColor_Tex, highColor); - m_MaterialEditor.RangeProperty(highColor_Power, "HighColor Power"); - - if(!_SimpleUI){ - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("Specular Mode"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_SpecularToHighColor") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Is_SpecularToHighColor",1); - material.SetFloat("_Is_BlendAddToHiColor",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Is_SpecularToHighColor",0); - } - } - EditorGUILayout.EndHorizontal(); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("Color Blend Mode"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_BlendAddToHiColor") == 0){ - if (GUILayout.Button("Multiply",shortButtonStyle)) - { - material.SetFloat("_Is_BlendAddToHiColor",1); - } - }else{ - if (GUILayout.Button("Additive",shortButtonStyle)) - { - //加算モードはスペキュラオフでしか使えない. - if(material.GetFloat("_Is_SpecularToHighColor") == 1) - { - material.SetFloat("_Is_BlendAddToHiColor",1); - }else{ - material.SetFloat("_Is_BlendAddToHiColor",0); - } - } - } - EditorGUILayout.EndHorizontal(); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("ShadowMask on HihgColor"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_UseTweakHighColorOnShadow") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Is_UseTweakHighColorOnShadow",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Is_UseTweakHighColorOnShadow",0); - } - } - EditorGUILayout.EndHorizontal(); - - if(material.GetFloat("_Is_UseTweakHighColorOnShadow") == 1){ - EditorGUI.indentLevel++; - m_MaterialEditor.RangeProperty(tweakHighColorOnShadow, "HighColor Power on Shadow"); - EditorGUI.indentLevel--; - } - } - - EditorGUILayout.Space(); - //Line(); - //EditorGUILayout.Space(); - - GUILayout.Label(" HighColor Mask", EditorStyles.boldLabel); - EditorGUI.indentLevel++; - m_MaterialEditor.TexturePropertySingleLine(Styles.highColorMaskText, set_HighColorMask); - m_MaterialEditor.RangeProperty(tweak_HighColorMaskLevel, "HighColor Mask Level"); - EditorGUI.indentLevel--; - - EditorGUILayout.Space(); - } - - void GUI_RimLight(Material material) - { - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("RimLight"); - //GUILayout.Space(60); - if(material.GetFloat("_RimLight") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_RimLight",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_RimLight",0); - } - } - EditorGUILayout.EndHorizontal(); - - if(material.GetFloat("_RimLight") == 1){ - EditorGUI.indentLevel++; - GUILayout.Label(" RimLight Settings", EditorStyles.boldLabel); - m_MaterialEditor.ColorProperty(rimLightColor, "RimLight Color"); - m_MaterialEditor.RangeProperty(rimLight_Power, "RimLight Power"); - - if(!_SimpleUI){ - m_MaterialEditor.RangeProperty(rimLight_InsideMask, "RimLight Inside Mask"); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("RimLight FeatherOff"); - //GUILayout.Space(60); - if(material.GetFloat("_RimLight_FeatherOff") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_RimLight_FeatherOff",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_RimLight_FeatherOff",0); - } - } - EditorGUILayout.EndHorizontal(); - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("LightDirection Mask"); - //GUILayout.Space(60); - if(material.GetFloat("_LightDirection_MaskOn") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_LightDirection_MaskOn",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_LightDirection_MaskOn",0); - } - } - EditorGUILayout.EndHorizontal(); - - if(material.GetFloat("_LightDirection_MaskOn") == 1){ - EditorGUI.indentLevel++; - m_MaterialEditor.RangeProperty(tweak_LightDirection_MaskLevel, "LightDirection MaskLevel"); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("Antipodean(Ap)_RimLight"); - //GUILayout.Space(60); - if(material.GetFloat("_Add_Antipodean_RimLight") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Add_Antipodean_RimLight",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Add_Antipodean_RimLight",0); - } - } - EditorGUILayout.EndHorizontal(); - - if(material.GetFloat("_Add_Antipodean_RimLight") == 1) - { - EditorGUI.indentLevel++; - GUILayout.Label(" Ap_RimLight Settings", EditorStyles.boldLabel); - m_MaterialEditor.ColorProperty(ap_RimLightColor, "Ap_RimLight Color"); - m_MaterialEditor.RangeProperty(ap_RimLight_Power, "Ap_RimLight Power"); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("Ap_RimLight FeatherOff"); - //GUILayout.Space(60); - if(material.GetFloat("_Ap_RimLight_FeatherOff") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Ap_RimLight_FeatherOff",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Ap_RimLight_FeatherOff",0); - } - } - EditorGUILayout.EndHorizontal(); - EditorGUI.indentLevel--; - } - - EditorGUI.indentLevel--; - - }//Light Direction Mask ON - - } - - //EditorGUI.indentLevel++; - - EditorGUILayout.Space(); - //Line(); - //EditorGUILayout.Space(); - - GUILayout.Label(" RimLight Mask", EditorStyles.boldLabel); - m_MaterialEditor.TexturePropertySingleLine(Styles.rimLightMaskText,set_RimLightMask); - m_MaterialEditor.RangeProperty(tweak_RimLightMaskLevel, "RimLight Mask Level"); - - //EditorGUI.indentLevel--; - - EditorGUI.indentLevel--; - EditorGUILayout.Space(); - } - } - - void GUI_MatCap(Material material) - { - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("MatCap"); - //GUILayout.Space(60); - if(material.GetFloat("_MatCap") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_MatCap",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_MatCap",0); - } - } - EditorGUILayout.EndHorizontal(); - - if(material.GetFloat("_MatCap") == 1){ - GUILayout.Label(" MatCap Settings", EditorStyles.boldLabel); - m_MaterialEditor.TexturePropertySingleLine(Styles.matCapSamplerText, matCap_Sampler, matCapColor); - EditorGUI.indentLevel++; - m_MaterialEditor.TextureScaleOffsetProperty(matCap_Sampler); - - if(!_SimpleUI){ - - m_MaterialEditor.RangeProperty(blurLevelMatcap, "Blur Level of MatCap Sampler"); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("Color Blend Mode"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_BlendAddToMatCap") == 0){ - if (GUILayout.Button("Multipy",shortButtonStyle)) - { - material.SetFloat("_Is_BlendAddToMatCap",1); - } - }else{ - if (GUILayout.Button("Additive",shortButtonStyle)) - { - material.SetFloat("_Is_BlendAddToMatCap",0); - } - } - EditorGUILayout.EndHorizontal(); - - m_MaterialEditor.RangeProperty(tweak_MatCapUV, "Scale MatCapUV"); - m_MaterialEditor.RangeProperty(rotate_MatCapUV, "Rotate MatCapUV"); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("CameraRolling Stabilizer"); - //GUILayout.Space(60); - if(material.GetFloat("_CameraRolling_Stabilizer") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_CameraRolling_Stabilizer",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_CameraRolling_Stabilizer",0); - } - } - EditorGUILayout.EndHorizontal(); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("NormalMap for MatCap"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_NormalMapForMatCap") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Is_NormalMapForMatCap",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Is_NormalMapForMatCap",0); - } - } - EditorGUILayout.EndHorizontal(); - if(material.GetFloat("_Is_NormalMapForMatCap") == 1){ - EditorGUI.indentLevel++; - GUILayout.Label(" NormalMap for MatCap as SpecularMask", EditorStyles.boldLabel); - m_MaterialEditor.TexturePropertySingleLine(Styles.normalMapText, normalMapForMatCap, bumpScaleMatcap); - m_MaterialEditor.TextureScaleOffsetProperty(normalMapForMatCap); - m_MaterialEditor.RangeProperty(rotate_NormalMapForMatCapUV, "Rotate NormalMapUV"); - EditorGUI.indentLevel--; - } - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("MatCap on Shadow"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_UseTweakMatCapOnShadow") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Is_UseTweakMatCapOnShadow",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Is_UseTweakMatCapOnShadow",0); - } - } - EditorGUILayout.EndHorizontal(); - if(material.GetFloat("_Is_UseTweakMatCapOnShadow") == 1){ - EditorGUI.indentLevel++; - m_MaterialEditor.RangeProperty(tweakMatCapOnShadow, "MatCap Power on Shadow"); - EditorGUI.indentLevel--; - } - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("MatCap Projection Camera"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_Ortho") == 0){ - if (GUILayout.Button("Perspective",middleButtonStyle)) - { - material.SetFloat("_Is_Ortho",1); - } - }else{ - if (GUILayout.Button("Orthographic",middleButtonStyle)) - { - material.SetFloat("_Is_Ortho",0); - } - } - EditorGUILayout.EndHorizontal(); - } - - EditorGUILayout.Space(); - //Line(); - //EditorGUILayout.Space(); - - GUILayout.Label(" MatCap Mask", EditorStyles.boldLabel); - m_MaterialEditor.TexturePropertySingleLine(Styles.matCapMaskText, set_MatcapMask); - m_MaterialEditor.TextureScaleOffsetProperty(set_MatcapMask); - m_MaterialEditor.RangeProperty(tweak_MatcapMaskLevel, "MatCap Mask Level"); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("Inverse Matcap Mask"); - //GUILayout.Space(60); - if(material.GetFloat("_Inverse_MatcapMask") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Inverse_MatcapMask",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Inverse_MatcapMask",0); - } - } - EditorGUILayout.EndHorizontal(); - - EditorGUI.indentLevel--; - } // MatCap == 1 - - //EditorGUILayout.Space(); - } - - void GUI_AngelRing(Material material) - { - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("AngelRing Projection"); - //GUILayout.Space(60); - if(material.GetFloat("_AngelRing") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_AngelRing",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_AngelRing",0); - } - } - EditorGUILayout.EndHorizontal(); - - if(material.GetFloat("_AngelRing") == 1){ - GUILayout.Label(" AngelRing Sampler Settings", EditorStyles.boldLabel); - m_MaterialEditor.TexturePropertySingleLine(Styles.angelRingText, angelRing_Sampler, angelRing_Color); - EditorGUI.indentLevel++; - //m_MaterialEditor.TextureScaleOffsetProperty(angelRing_Sampler); - m_MaterialEditor.RangeProperty(ar_OffsetU, "Offset U"); - m_MaterialEditor.RangeProperty(ar_OffsetV, "Offset V"); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("Use α channel as Clipping Mask"); - //GUILayout.Space(60); - if(material.GetFloat("_ARSampler_AlphaOn") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_ARSampler_AlphaOn",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_ARSampler_AlphaOn",0); - } - } - EditorGUILayout.EndHorizontal(); - EditorGUI.indentLevel--; - - } - } - - void GUI_Emissive(Material material) - { - GUILayout.Label("Emissive Tex × HDR Color", EditorStyles.boldLabel); - GUILayout.Label("(Bloom Post-Processing Effect necessary)"); - EditorGUILayout.Space(); - m_MaterialEditor.TexturePropertySingleLine(Styles.emissiveTexText, emissive_Tex, emissive_Color); - m_MaterialEditor.TextureScaleOffsetProperty(emissive_Tex); - - int _EmissiveMode_Setting = material.GetInt("_EMISSIVE"); - if((int)_EmissiveMode.SimpleEmissive == _EmissiveMode_Setting){ - emissiveMode = _EmissiveMode.SimpleEmissive; - }else if((int)_EmissiveMode.EmissiveAnimation == _EmissiveMode_Setting){ - emissiveMode = _EmissiveMode.EmissiveAnimation; - } - EditorGUILayout.Space(); - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("Emissive Animation"); - //GUILayout.Space(60); - if(emissiveMode == _EmissiveMode.SimpleEmissive){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_EMISSIVE",1); - material.EnableKeyword("_EMISSIVE_ANIMATION"); - material.DisableKeyword("_EMISSIVE_SIMPLE"); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_EMISSIVE",0); - material.EnableKeyword("_EMISSIVE_SIMPLE"); - material.DisableKeyword("_EMISSIVE_ANIMATION"); - } - } - EditorGUILayout.EndHorizontal(); - - if(emissiveMode == _EmissiveMode.EmissiveAnimation){ - EditorGUI.indentLevel++; - - EditorGUILayout.BeginHorizontal(); - m_MaterialEditor.FloatProperty(base_Speed, "Base Speed (Time)"); - //EditorGUILayout.PrefixLabel("Select Scroll Coord"); - //GUILayout.Space(60); - if(!_SimpleUI){ - if(material.GetFloat("_Is_ViewCoord_Scroll") == 0){ - if (GUILayout.Button("UV Coord Scroll",shortButtonStyle)) - { - material.SetFloat("_Is_ViewCoord_Scroll",1); - } - }else{ - if (GUILayout.Button("View Coord Scroll",shortButtonStyle)) - { - material.SetFloat("_Is_ViewCoord_Scroll",0); - } - } - } - EditorGUILayout.EndHorizontal(); - - m_MaterialEditor.RangeProperty(scroll_EmissiveU, "Scroll U/X direction"); - m_MaterialEditor.RangeProperty(scroll_EmissiveV, "Scroll V/Y direction"); - m_MaterialEditor.FloatProperty(rotate_EmissiveUV, "Rotate around UV center"); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("PingPong Move for Base"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_PingPong_Base") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Is_PingPong_Base",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Is_PingPong_Base",0); - } - } - EditorGUILayout.EndHorizontal(); - EditorGUI.indentLevel--; - - if(!_SimpleUI){ - EditorGUILayout.Space(); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("ColorShift with Time"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_ColorShift") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Is_ColorShift",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Is_ColorShift",0); - } - } - EditorGUILayout.EndHorizontal(); - EditorGUI.indentLevel++; - if(material.GetFloat("_Is_ColorShift") == 1){ - m_MaterialEditor.ColorProperty(colorShift, "Destination Color"); - m_MaterialEditor.FloatProperty(colorShift_Speed, "ColorShift Speed (Time)"); - } - EditorGUI.indentLevel--; - - EditorGUILayout.Space(); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("ViewShift of Color"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_ViewShift") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Is_ViewShift",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Is_ViewShift",0); - } - } - EditorGUILayout.EndHorizontal(); - EditorGUI.indentLevel++; - if(material.GetFloat("_Is_ViewShift") == 1){ - m_MaterialEditor.ColorProperty(viewShift, "ViewShift Color"); - } - EditorGUI.indentLevel--; - }//!_SimpleUI - } - EditorGUILayout.Space(); - } - - - void GUI_Outline(Material material) - { - //Shaderプロパティ [KeywordEnum(NML,POS)] をEumPopupで表現する. - //マテリアル内のアウトラインモードの設定を読み込み. - int _OutlineMode_Setting = material.GetInt("_OUTLINE"); - //Enum形式に変換して、outlineMode変数に保持しておく. - if ((int)_OutlineMode.NormalDirection == _OutlineMode_Setting){ - outlineMode = _OutlineMode.NormalDirection; - }else if((int)_OutlineMode.PositionScaling == _OutlineMode_Setting){ - outlineMode = _OutlineMode.PositionScaling; - } - //EnumPopupでGUI記述. - outlineMode = (_OutlineMode)EditorGUILayout.EnumPopup("Outline Mode", outlineMode); - //値が変化したらマテリアルに書き込み. - if(outlineMode == _OutlineMode.NormalDirection){ - material.SetFloat("_OUTLINE",0); - //UTCS_Outline.cginc側のキーワードもトグル入れ替え. - material.EnableKeyword("_OUTLINE_NML"); - material.DisableKeyword("_OUTLINE_POS"); - }else if(outlineMode == _OutlineMode.PositionScaling){ - material.SetFloat("_OUTLINE",1); - material.EnableKeyword("_OUTLINE_POS"); - material.DisableKeyword("_OUTLINE_NML"); - } - - m_MaterialEditor.FloatProperty(outline_Width, "Outline Width"); - m_MaterialEditor.ColorProperty(outline_Color, "Outline Color"); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("Blend BaseColor to Outline"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_BlendBaseColor") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Is_BlendBaseColor",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Is_BlendBaseColor",0); - } - } - EditorGUILayout.EndHorizontal(); - - m_MaterialEditor.TexturePropertySingleLine(Styles.outlineSamplerText, outline_Sampler); - m_MaterialEditor.FloatProperty(offset_Z, "Offset Outline with Camera Z-axis"); - - if(!_SimpleUI){ - - _AdvancedOutline_Foldout = FoldoutSubMenu(_AdvancedOutline_Foldout, "● Advanced Outline Settings"); - if(_AdvancedOutline_Foldout){ - EditorGUI.indentLevel++; - GUILayout.Label(" Camera Distance for Outline Width"); - m_MaterialEditor.FloatProperty(farthest_Distance, "● Farthest Distance to vanish"); - m_MaterialEditor.FloatProperty(nearest_Distance, "● Nearest Distance to draw with Outline Width"); - EditorGUI.indentLevel--; - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("Use Outline Texture"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_OutlineTex") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Is_OutlineTex",1); - } - EditorGUILayout.EndHorizontal(); - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Is_OutlineTex",0); - } - EditorGUILayout.EndHorizontal(); - m_MaterialEditor.TexturePropertySingleLine(Styles.outlineTexText, outlineTex); - } - - if(outlineMode == _OutlineMode.NormalDirection){ - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("Use Baked Normal for Outline"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_BakedNormal") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Is_BakedNormal",1); - } - EditorGUILayout.EndHorizontal(); - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Is_BakedNormal",0); - } - EditorGUILayout.EndHorizontal(); - m_MaterialEditor.TexturePropertySingleLine(Styles.bakedNormalOutlineText, bakedNormal); - } - } - } - } - } - - void GUI_Tessellation(Material material) - { - GUILayout.Label("Technique : DX11 Phong Tessellation", EditorStyles.boldLabel); - m_MaterialEditor.RangeProperty(tessEdgeLength, "Edge Length"); - m_MaterialEditor.RangeProperty(tessPhongStrength, "Phong Strength"); - m_MaterialEditor.RangeProperty(tessExtrusionAmount, "Extrusion Amount"); - - EditorGUILayout.Space(); - } - - void GUI_LightColorContribution(Material material) - { - GUILayout.Label("Realtime LightColor Contribution to each colors", EditorStyles.boldLabel); - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("Base Color"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_LightColor_Base") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Is_LightColor_Base",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Is_LightColor_Base",0); - } - } - EditorGUILayout.EndHorizontal(); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("1st ShadeColor"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_LightColor_1st_Shade") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Is_LightColor_1st_Shade",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Is_LightColor_1st_Shade",0); - } - } - EditorGUILayout.EndHorizontal(); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("2nd ShadeColor"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_LightColor_2nd_Shade") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Is_LightColor_2nd_Shade",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Is_LightColor_2nd_Shade",0); - } - } - EditorGUILayout.EndHorizontal(); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("HighColor"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_LightColor_HighColor") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Is_LightColor_HighColor",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Is_LightColor_HighColor",0); - } - } - EditorGUILayout.EndHorizontal(); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("RimLight"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_LightColor_RimLight") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Is_LightColor_RimLight",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Is_LightColor_RimLight",0); - } - } - EditorGUILayout.EndHorizontal(); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("Ap_RimLight"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_LightColor_Ap_RimLight") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Is_LightColor_Ap_RimLight",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Is_LightColor_Ap_RimLight",0); - } - } - EditorGUILayout.EndHorizontal(); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("MatCap"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_LightColor_MatCap") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Is_LightColor_MatCap",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Is_LightColor_MatCap",0); - } - } - EditorGUILayout.EndHorizontal(); - - if(material.HasProperty("_AngelRing"))//AngelRingがある場合. - { - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("Angel Ring"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_LightColor_AR") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Is_LightColor_AR",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Is_LightColor_AR",0); - } - } - EditorGUILayout.EndHorizontal(); - } - - if(material.HasProperty("_OUTLINE"))//OUTLINEがある場合. - { - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("Outline"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_LightColor_Outline") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Is_LightColor_Outline",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Is_LightColor_Outline",0); - } - } - EditorGUILayout.EndHorizontal(); - } - EditorGUILayout.Space(); - } - - void GUI_AdditionalLightingSettings(Material material) - { - m_MaterialEditor.RangeProperty(gi_Intensity, "GI Intensity"); - m_MaterialEditor.RangeProperty(unlit_Intensity, "Unlit Intensity"); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("SceneLights Hi-Cut Filter"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_Filter_LightColor") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Is_Filter_LightColor",1); - material.SetFloat("_Is_LightColor_Base",1); - material.SetFloat("_Is_LightColor_1st_Shade",1); - material.SetFloat("_Is_LightColor_2nd_Shade",1); - if(material.HasProperty("_OUTLINE"))//OUTLINEがある場合. - { - material.SetFloat("_Is_LightColor_Outline",1); - } - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Is_Filter_LightColor",0); - } - } - EditorGUILayout.EndHorizontal(); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("Built-in Light Direction"); - //GUILayout.Space(60); - if(material.GetFloat("_Is_BLD") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Is_BLD",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Is_BLD",0); - } - } - EditorGUILayout.EndHorizontal(); - if(material.GetFloat("_Is_BLD") == 1){ - GUILayout.Label(" Built-in Light Direction Settings"); - EditorGUI.indentLevel++; - m_MaterialEditor.RangeProperty(offset_X_Axis_BLD, "● Offset X-Axis Direction"); - m_MaterialEditor.RangeProperty(offset_Y_Axis_BLD, "● Offset Y-Axis Direction"); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PrefixLabel("● Inverse Z-Axis Direction"); - //GUILayout.Space(60); - if(material.GetFloat("_Inverse_Z_Axis_BLD") == 0){ - if (GUILayout.Button("Off",shortButtonStyle)) - { - material.SetFloat("_Inverse_Z_Axis_BLD",1); - } - }else{ - if (GUILayout.Button("Active",shortButtonStyle)) - { - material.SetFloat("_Inverse_Z_Axis_BLD",0); - } - } - EditorGUILayout.EndHorizontal(); - EditorGUI.indentLevel--; - } - EditorGUILayout.Space(); - } - - } // End of UTS2GUI2 -}// End of namespace UnityChan \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/Toon/Editor/UTS2GUI.cs.meta b/Assets/ProjectBlue/Packages/Toon/Editor/UTS2GUI.cs.meta deleted file mode 100644 index 9cda02d..0000000 --- a/Assets/ProjectBlue/Packages/Toon/Editor/UTS2GUI.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: e403ef4b1d56fce47b49ec46981d9fcb -timeCreated: 1550130700 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/Toon/Shader.meta b/Assets/ProjectBlue/Packages/Toon/Shader.meta deleted file mode 100644 index 5947d14..0000000 --- a/Assets/ProjectBlue/Packages/Toon/Shader.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 12f462c3e2ac6fe4f98f257848a9b15b -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/Toon/Shader/ToonColor_DoubleShadeWithFeather.shader b/Assets/ProjectBlue/Packages/Toon/Shader/ToonColor_DoubleShadeWithFeather.shader deleted file mode 100644 index 2d8d7ee..0000000 --- a/Assets/ProjectBlue/Packages/Toon/Shader/ToonColor_DoubleShadeWithFeather.shader +++ /dev/null @@ -1,146 +0,0 @@ -//Unitychan Toon Shader ver.2.0 -//v.2.0.7.5 -//nobuyuki@unity3d.com -//https://github.com/unity3d-jp/UnityChanToonShaderVer2_Project -//(C)Unity Technologies Japan/UCL -Shader "UnityChanToonShader/NoOutline/ToonColor_DoubleShadeWithFeather" { - Properties { - [HideInInspector] _simpleUI ("SimpleUI", Int ) = 0 - [HideInInspector] _utsVersion ("Version", Float ) = 2.07 - [HideInInspector] _utsTechnique ("Technique", int ) = 0 //DWF - [Enum(OFF,0,FRONT,1,BACK,2)] _CullMode("Cull Mode", int) = 2 //OFF/FRONT/BACK - _MainTex ("BaseMap", 2D) = "white" {} - [HideInInspector] _BaseMap ("BaseMap", 2D) = "white" {} - _BaseColor ("BaseColor", Color) = (1,1,1,1) - //v.2.0.5 : Clipping/TransClipping for SSAO Problems in PostProcessing Stack. - //If you want to go back the former SSAO results, comment out the below line. - [HideInInspector] _Color ("Color", Color) = (1,1,1,1) - // - [Toggle(_)] _Is_LightColor_Base ("Is_LightColor_Base", Float ) = 1 - _1st_ShadeMap ("1st_ShadeMap", 2D) = "white" {} - //v.2.0.5 - [Toggle(_)] _Use_BaseAs1st ("Use BaseMap as 1st_ShadeMap", Float ) = 0 - _1st_ShadeColor ("1st_ShadeColor", Color) = (1,1,1,1) - [Toggle(_)] _Is_LightColor_1st_Shade ("Is_LightColor_1st_Shade", Float ) = 1 - _2nd_ShadeMap ("2nd_ShadeMap", 2D) = "white" {} - //v.2.0.5 - [Toggle(_)] _Use_1stAs2nd ("Use 1st_ShadeMap as 2nd_ShadeMap", Float ) = 0 - _2nd_ShadeColor ("2nd_ShadeColor", Color) = (1,1,1,1) - [Toggle(_)] _Is_LightColor_2nd_Shade ("Is_LightColor_2nd_Shade", Float ) = 1 - _NormalMap ("NormalMap", 2D) = "bump" {} - _BumpScale ("Normal Scale", Range(0, 1)) = 1 - [Toggle(_)] _Is_NormalMapToBase ("Is_NormalMapToBase", Float ) = 0 - //v.2.0.4.4 - [Toggle(_)] _Set_SystemShadowsToBase ("Set_SystemShadowsToBase", Float ) = 1 - _Tweak_SystemShadowsLevel ("Tweak_SystemShadowsLevel", Range(-0.5, 0.5)) = 0 - //v.2.0.6 - _BaseColor_Step ("BaseColor_Step", Range(0, 1)) = 0.5 - _BaseShade_Feather ("Base/Shade_Feather", Range(0.0001, 1)) = 0.0001 - _ShadeColor_Step ("ShadeColor_Step", Range(0, 1)) = 0 - _1st2nd_Shades_Feather ("1st/2nd_Shades_Feather", Range(0.0001, 1)) = 0.0001 - [HideInInspector] _1st_ShadeColor_Step ("1st_ShadeColor_Step", Range(0, 1)) = 0.5 - [HideInInspector] _1st_ShadeColor_Feather ("1st_ShadeColor_Feather", Range(0.0001, 1)) = 0.0001 - [HideInInspector] _2nd_ShadeColor_Step ("2nd_ShadeColor_Step", Range(0, 1)) = 0 - [HideInInspector] _2nd_ShadeColor_Feather ("2nd_ShadeColor_Feather", Range(0.0001, 1)) = 0.0001 - //v.2.0.5 - _StepOffset ("Step_Offset (ForwardAdd Only)", Range(-0.5, 0.5)) = 0 - [Toggle(_)] _Is_Filter_HiCutPointLightColor ("PointLights HiCut_Filter (ForwardAdd Only)", Float ) = 1 - // - _Set_1st_ShadePosition ("Set_1st_ShadePosition", 2D) = "white" {} - _Set_2nd_ShadePosition ("Set_2nd_ShadePosition", 2D) = "white" {} - // - _HighColor ("HighColor", Color) = (0,0,0,1) -//v.2.0.4 HighColor_Tex - _HighColor_Tex ("HighColor_Tex", 2D) = "white" {} - [Toggle(_)] _Is_LightColor_HighColor ("Is_LightColor_HighColor", Float ) = 1 - [Toggle(_)] _Is_NormalMapToHighColor ("Is_NormalMapToHighColor", Float ) = 0 - _HighColor_Power ("HighColor_Power", Range(0, 1)) = 0 - [Toggle(_)] _Is_SpecularToHighColor ("Is_SpecularToHighColor", Float ) = 0 - [Toggle(_)] _Is_BlendAddToHiColor ("Is_BlendAddToHiColor", Float ) = 0 - [Toggle(_)] _Is_UseTweakHighColorOnShadow ("Is_UseTweakHighColorOnShadow", Float ) = 0 - _TweakHighColorOnShadow ("TweakHighColorOnShadow", Range(0, 1)) = 0 -//ハイカラーマスク. - _Set_HighColorMask ("Set_HighColorMask", 2D) = "white" {} - _Tweak_HighColorMaskLevel ("Tweak_HighColorMaskLevel", Range(-1, 1)) = 0 - [Toggle(_)] _RimLight ("RimLight", Float ) = 0 - _RimLightColor ("RimLightColor", Color) = (1,1,1,1) - [Toggle(_)] _Is_LightColor_RimLight ("Is_LightColor_RimLight", Float ) = 1 - [Toggle(_)] _Is_NormalMapToRimLight ("Is_NormalMapToRimLight", Float ) = 0 - _RimLight_Power ("RimLight_Power", Range(0, 1)) = 0.1 - _RimLight_InsideMask ("RimLight_InsideMask", Range(0.0001, 1)) = 0.0001 - [Toggle(_)] _RimLight_FeatherOff ("RimLight_FeatherOff", Float ) = 0 -//リムライト追加プロパティ. - [Toggle(_)] _LightDirection_MaskOn ("LightDirection_MaskOn", Float ) = 0 - _Tweak_LightDirection_MaskLevel ("Tweak_LightDirection_MaskLevel", Range(0, 0.5)) = 0 - [Toggle(_)] _Add_Antipodean_RimLight ("Add_Antipodean_RimLight", Float ) = 0 - _Ap_RimLightColor ("Ap_RimLightColor", Color) = (1,1,1,1) - [Toggle(_)] _Is_LightColor_Ap_RimLight ("Is_LightColor_Ap_RimLight", Float ) = 1 - _Ap_RimLight_Power ("Ap_RimLight_Power", Range(0, 1)) = 0.1 - [Toggle(_)] _Ap_RimLight_FeatherOff ("Ap_RimLight_FeatherOff", Float ) = 0 -//リムライトマスク. - _Set_RimLightMask ("Set_RimLightMask", 2D) = "white" {} - _Tweak_RimLightMaskLevel ("Tweak_RimLightMaskLevel", Range(-1, 1)) = 0 -//ここまで. - [Toggle(_)] _MatCap ("MatCap", Float ) = 0 - _MatCap_Sampler ("MatCap_Sampler", 2D) = "black" {} - //v.2.0.6 - _BlurLevelMatcap ("Blur Level of MatCap_Sampler", Range(0, 10)) = 0 - _MatCapColor ("MatCapColor", Color) = (1,1,1,1) - [Toggle(_)] _Is_LightColor_MatCap ("Is_LightColor_MatCap", Float ) = 1 - [Toggle(_)] _Is_BlendAddToMatCap ("Is_BlendAddToMatCap", Float ) = 1 - _Tweak_MatCapUV ("Tweak_MatCapUV", Range(-0.5, 0.5)) = 0 - _Rotate_MatCapUV ("Rotate_MatCapUV", Range(-1, 1)) = 0 - //v.2.0.6 - [Toggle(_)] _CameraRolling_Stabilizer ("Activate CameraRolling_Stabilizer", Float ) = 0 - [Toggle(_)] _Is_NormalMapForMatCap ("Is_NormalMapForMatCap", Float ) = 0 - _NormalMapForMatCap ("NormalMapForMatCap", 2D) = "bump" {} - _BumpScaleMatcap ("Scale for NormalMapforMatCap", Range(0, 1)) = 1 - _Rotate_NormalMapForMatCapUV ("Rotate_NormalMapForMatCapUV", Range(-1, 1)) = 0 - [Toggle(_)] _Is_UseTweakMatCapOnShadow ("Is_UseTweakMatCapOnShadow", Float ) = 0 - _TweakMatCapOnShadow ("TweakMatCapOnShadow", Range(0, 1)) = 0 -//MatcapMask - _Set_MatcapMask ("Set_MatcapMask", 2D) = "white" {} - _Tweak_MatcapMaskLevel ("Tweak_MatcapMaskLevel", Range(-1, 1)) = 0 - [Toggle(_)] _Inverse_MatcapMask ("Inverse_MatcapMask", Float ) = 0 - //v.2.0.5 - [Toggle(_)] _Is_Ortho ("Orthographic Projection for MatCap", Float ) = 0 - //v.2.0.7 Emissive - [KeywordEnum(SIMPLE,ANIMATION)] _EMISSIVE("EMISSIVE MODE", Float) = 0 - _Emissive_Tex ("Emissive_Tex", 2D) = "white" {} - [HDR]_Emissive_Color ("Emissive_Color", Color) = (0,0,0,1) - _Base_Speed ("Base_Speed", Float ) = 0 - _Scroll_EmissiveU ("Scroll_EmissiveU", Range(-1, 1)) = 0 - _Scroll_EmissiveV ("Scroll_EmissiveV", Range(-1, 1)) = 0 - _Rotate_EmissiveUV ("Rotate_EmissiveUV", Float ) = 0 - [Toggle(_)] _Is_PingPong_Base ("Is_PingPong_Base", Float ) = 0 - [Toggle(_)] _Is_ColorShift ("Activate ColorShift", Float ) = 0 - [HDR]_ColorShift ("ColorSift", Color) = (0,0,0,1) - _ColorShift_Speed ("ColorShift_Speed", Float ) = 0 - [Toggle(_)] _Is_ViewShift ("Activate ViewShift", Float ) = 0 - [HDR]_ViewShift ("ViewSift", Color) = (0,0,0,1) - [Toggle(_)] _Is_ViewCoord_Scroll ("Is_ViewCoord_Scroll", Float ) = 0 - // -//GI - _GI_Intensity ("GI_Intensity", Range(0, 1)) = 0 - //For VR Chat under No effective light objects - _Unlit_Intensity ("Unlit_Intensity", Range(0.001, 4)) = 1 - //v.2.0.5 - [Toggle(_)] _Is_Filter_LightColor ("VRChat : SceneLights HiCut_Filter", Float ) = 0 - //Built-in Light Direction - [Toggle(_)] _Is_BLD ("Advanced : Activate Built-in Light Direction", Float ) = 0 - _Offset_X_Axis_BLD (" Offset X-Axis (Built-in Light Direction)", Range(-1, 1)) = -0.05 - _Offset_Y_Axis_BLD (" Offset Y-Axis (Built-in Light Direction)", Range(-1, 1)) = 0.09 - [Toggle(_)] _Inverse_Z_Axis_BLD (" Inverse Z-Axis (Built-in Light Direction)", Float ) = 1 - } - SubShader { - Tags { - "RenderType"="Opaque" - } - - UsePass "UnityChanToonShader/Toon_DoubleShadeWithFeather/FORWARD" - UsePass "UnityChanToonShader/Toon_DoubleShadeWithFeather/FORWARD_DELTA" - UsePass "UnityChanToonShader/Toon_DoubleShadeWithFeather/SHADOWCASTER" - } - FallBack "Legacy Shaders/VertexLit" - CustomEditor "UnityChan.UTS2GUI" -} diff --git a/Assets/ProjectBlue/Packages/Toon/Shader/ToonColor_DoubleShadeWithFeather.shader.meta b/Assets/ProjectBlue/Packages/Toon/Shader/ToonColor_DoubleShadeWithFeather.shader.meta deleted file mode 100644 index 3aaf170..0000000 --- a/Assets/ProjectBlue/Packages/Toon/Shader/ToonColor_DoubleShadeWithFeather.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 96d4d9f975e6c8849bd1a5c06acfae84 -timeCreated: 1482811030 -licenseType: Pro -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/Toon/Shader/Toon_DoubleShadeWithFeather.shader b/Assets/ProjectBlue/Packages/Toon/Shader/Toon_DoubleShadeWithFeather.shader deleted file mode 100644 index a7f0825..0000000 --- a/Assets/ProjectBlue/Packages/Toon/Shader/Toon_DoubleShadeWithFeather.shader +++ /dev/null @@ -1,268 +0,0 @@ -//Unitychan Toon Shader ver.2.0 -//v.2.0.7.5 -//nobuyuki@unity3d.com -//https://github.com/unity3d-jp/UnityChanToonShaderVer2_Project -//(C)Unity Technologies Japan/UCL -Shader "UnityChanToonShader/Toon_DoubleShadeWithFeather" { - Properties { - [HideInInspector] _simpleUI ("SimpleUI", Int ) = 0 - [HideInInspector] _utsVersion ("Version", Float ) = 2.07 - [HideInInspector] _utsTechnique ("Technique", int ) = 0 //DWF - [Enum(OFF,0,FRONT,1,BACK,2)] _CullMode("Cull Mode", int) = 2 //OFF/FRONT/BACK - _MainTex ("BaseMap", 2D) = "white" {} - [HideInInspector] _BaseMap ("BaseMap", 2D) = "white" {} - _BaseColor ("BaseColor", Color) = (1,1,1,1) - //v.2.0.5 : Clipping/TransClipping for SSAO Problems in PostProcessing Stack. - //If you want to go back the former SSAO results, comment out the below line. - [HideInInspector] _Color ("Color", Color) = (1,1,1,1) - // - [Toggle(_)] _Is_LightColor_Base ("Is_LightColor_Base", Float ) = 1 - _1st_ShadeMap ("1st_ShadeMap", 2D) = "white" {} - //v.2.0.5 - [Toggle(_)] _Use_BaseAs1st ("Use BaseMap as 1st_ShadeMap", Float ) = 0 - _1st_ShadeColor ("1st_ShadeColor", Color) = (1,1,1,1) - [Toggle(_)] _Is_LightColor_1st_Shade ("Is_LightColor_1st_Shade", Float ) = 1 - _2nd_ShadeMap ("2nd_ShadeMap", 2D) = "white" {} - //v.2.0.5 - [Toggle(_)] _Use_1stAs2nd ("Use 1st_ShadeMap as 2nd_ShadeMap", Float ) = 0 - _2nd_ShadeColor ("2nd_ShadeColor", Color) = (1,1,1,1) - [Toggle(_)] _Is_LightColor_2nd_Shade ("Is_LightColor_2nd_Shade", Float ) = 1 - _NormalMap ("NormalMap", 2D) = "bump" {} - _BumpScale ("Normal Scale", Range(0, 1)) = 1 - [Toggle(_)] _Is_NormalMapToBase ("Is_NormalMapToBase", Float ) = 0 - //v.2.0.4.4 - [Toggle(_)] _Set_SystemShadowsToBase ("Set_SystemShadowsToBase", Float ) = 1 - _Tweak_SystemShadowsLevel ("Tweak_SystemShadowsLevel", Range(-0.5, 0.5)) = 0 - //v.2.0.6 - _BaseColor_Step ("BaseColor_Step", Range(0, 1)) = 0.5 - _BaseShade_Feather ("Base/Shade_Feather", Range(0.0001, 1)) = 0.0001 - _ShadeColor_Step ("ShadeColor_Step", Range(0, 1)) = 0 - _1st2nd_Shades_Feather ("1st/2nd_Shades_Feather", Range(0.0001, 1)) = 0.0001 - [HideInInspector] _1st_ShadeColor_Step ("1st_ShadeColor_Step", Range(0, 1)) = 0.5 - [HideInInspector] _1st_ShadeColor_Feather ("1st_ShadeColor_Feather", Range(0.0001, 1)) = 0.0001 - [HideInInspector] _2nd_ShadeColor_Step ("2nd_ShadeColor_Step", Range(0, 1)) = 0 - [HideInInspector] _2nd_ShadeColor_Feather ("2nd_ShadeColor_Feather", Range(0.0001, 1)) = 0.0001 - //v.2.0.5 - _StepOffset ("Step_Offset (ForwardAdd Only)", Range(-0.5, 0.5)) = 0 - [Toggle(_)] _Is_Filter_HiCutPointLightColor ("PointLights HiCut_Filter (ForwardAdd Only)", Float ) = 1 - // - _Set_1st_ShadePosition ("Set_1st_ShadePosition", 2D) = "white" {} - _Set_2nd_ShadePosition ("Set_2nd_ShadePosition", 2D) = "white" {} - // - _HighColor ("HighColor", Color) = (0,0,0,1) -//v.2.0.4 HighColor_Tex - _HighColor_Tex ("HighColor_Tex", 2D) = "white" {} - [Toggle(_)] _Is_LightColor_HighColor ("Is_LightColor_HighColor", Float ) = 1 - [Toggle(_)] _Is_NormalMapToHighColor ("Is_NormalMapToHighColor", Float ) = 0 - _HighColor_Power ("HighColor_Power", Range(0, 1)) = 0 - [Toggle(_)] _Is_SpecularToHighColor ("Is_SpecularToHighColor", Float ) = 0 - [Toggle(_)] _Is_BlendAddToHiColor ("Is_BlendAddToHiColor", Float ) = 0 - [Toggle(_)] _Is_UseTweakHighColorOnShadow ("Is_UseTweakHighColorOnShadow", Float ) = 0 - _TweakHighColorOnShadow ("TweakHighColorOnShadow", Range(0, 1)) = 0 -//ハイカラーマスク. - _Set_HighColorMask ("Set_HighColorMask", 2D) = "white" {} - _Tweak_HighColorMaskLevel ("Tweak_HighColorMaskLevel", Range(-1, 1)) = 0 - [Toggle(_)] _RimLight ("RimLight", Float ) = 0 - _RimLightColor ("RimLightColor", Color) = (1,1,1,1) - [Toggle(_)] _Is_LightColor_RimLight ("Is_LightColor_RimLight", Float ) = 1 - [Toggle(_)] _Is_NormalMapToRimLight ("Is_NormalMapToRimLight", Float ) = 0 - _RimLight_Power ("RimLight_Power", Range(0, 1)) = 0.1 - _RimLight_InsideMask ("RimLight_InsideMask", Range(0.0001, 1)) = 0.0001 - [Toggle(_)] _RimLight_FeatherOff ("RimLight_FeatherOff", Float ) = 0 -//リムライト追加プロパティ. - [Toggle(_)] _LightDirection_MaskOn ("LightDirection_MaskOn", Float ) = 0 - _Tweak_LightDirection_MaskLevel ("Tweak_LightDirection_MaskLevel", Range(0, 0.5)) = 0 - [Toggle(_)] _Add_Antipodean_RimLight ("Add_Antipodean_RimLight", Float ) = 0 - _Ap_RimLightColor ("Ap_RimLightColor", Color) = (1,1,1,1) - [Toggle(_)] _Is_LightColor_Ap_RimLight ("Is_LightColor_Ap_RimLight", Float ) = 1 - _Ap_RimLight_Power ("Ap_RimLight_Power", Range(0, 1)) = 0.1 - [Toggle(_)] _Ap_RimLight_FeatherOff ("Ap_RimLight_FeatherOff", Float ) = 0 -//リムライトマスク. - _Set_RimLightMask ("Set_RimLightMask", 2D) = "white" {} - _Tweak_RimLightMaskLevel ("Tweak_RimLightMaskLevel", Range(-1, 1)) = 0 -//ここまで. - [Toggle(_)] _MatCap ("MatCap", Float ) = 0 - _MatCap_Sampler ("MatCap_Sampler", 2D) = "black" {} - //v.2.0.6 - _BlurLevelMatcap ("Blur Level of MatCap_Sampler", Range(0, 10)) = 0 - _MatCapColor ("MatCapColor", Color) = (1,1,1,1) - [Toggle(_)] _Is_LightColor_MatCap ("Is_LightColor_MatCap", Float ) = 1 - [Toggle(_)] _Is_BlendAddToMatCap ("Is_BlendAddToMatCap", Float ) = 1 - _Tweak_MatCapUV ("Tweak_MatCapUV", Range(-0.5, 0.5)) = 0 - _Rotate_MatCapUV ("Rotate_MatCapUV", Range(-1, 1)) = 0 - //v.2.0.6 - [Toggle(_)] _CameraRolling_Stabilizer ("Activate CameraRolling_Stabilizer", Float ) = 0 - [Toggle(_)] _Is_NormalMapForMatCap ("Is_NormalMapForMatCap", Float ) = 0 - _NormalMapForMatCap ("NormalMapForMatCap", 2D) = "bump" {} - _BumpScaleMatcap ("Scale for NormalMapforMatCap", Range(0, 1)) = 1 - _Rotate_NormalMapForMatCapUV ("Rotate_NormalMapForMatCapUV", Range(-1, 1)) = 0 - [Toggle(_)] _Is_UseTweakMatCapOnShadow ("Is_UseTweakMatCapOnShadow", Float ) = 0 - _TweakMatCapOnShadow ("TweakMatCapOnShadow", Range(0, 1)) = 0 -//MatcapMask - _Set_MatcapMask ("Set_MatcapMask", 2D) = "white" {} - _Tweak_MatcapMaskLevel ("Tweak_MatcapMaskLevel", Range(-1, 1)) = 0 - [Toggle(_)] _Inverse_MatcapMask ("Inverse_MatcapMask", Float ) = 0 - //v.2.0.5 - [Toggle(_)] _Is_Ortho ("Orthographic Projection for MatCap", Float ) = 0 - //v.2.0.7 Emissive - [KeywordEnum(SIMPLE,ANIMATION)] _EMISSIVE("EMISSIVE MODE", Float) = 0 - _Emissive_Tex ("Emissive_Tex", 2D) = "white" {} - [HDR]_Emissive_Color ("Emissive_Color", Color) = (0,0,0,1) - _Base_Speed ("Base_Speed", Float ) = 0 - _Scroll_EmissiveU ("Scroll_EmissiveU", Range(-1, 1)) = 0 - _Scroll_EmissiveV ("Scroll_EmissiveV", Range(-1, 1)) = 0 - _Rotate_EmissiveUV ("Rotate_EmissiveUV", Float ) = 0 - [Toggle(_)] _Is_PingPong_Base ("Is_PingPong_Base", Float ) = 0 - [Toggle(_)] _Is_ColorShift ("Activate ColorShift", Float ) = 0 - [HDR]_ColorShift ("ColorSift", Color) = (0,0,0,1) - _ColorShift_Speed ("ColorShift_Speed", Float ) = 0 - [Toggle(_)] _Is_ViewShift ("Activate ViewShift", Float ) = 0 - [HDR]_ViewShift ("ViewSift", Color) = (0,0,0,1) - [Toggle(_)] _Is_ViewCoord_Scroll ("Is_ViewCoord_Scroll", Float ) = 0 - // -//Outline - [KeywordEnum(NML,POS)] _OUTLINE("OUTLINE MODE", Float) = 0 - _Outline_Width ("Outline_Width", Float ) = 0 - _Farthest_Distance ("Farthest_Distance", Float ) = 100 - _Nearest_Distance ("Nearest_Distance", Float ) = 0.5 - _Outline_Sampler ("Outline_Sampler", 2D) = "white" {} - _Outline_Color ("Outline_Color", Color) = (0.5,0.5,0.5,1) - [Toggle(_)] _Is_BlendBaseColor ("Is_BlendBaseColor", Float ) = 0 - [Toggle(_)] _Is_LightColor_Outline ("Is_LightColor_Outline", Float ) = 1 - //v.2.0.4 - [Toggle(_)] _Is_OutlineTex ("Is_OutlineTex", Float ) = 0 - _OutlineTex ("OutlineTex", 2D) = "white" {} - //Offset parameter - _Offset_Z ("Offset_Camera_Z", Float) = 0 - //v.2.0.4.3 Baked Nrmal Texture for Outline - [Toggle(_)] _Is_BakedNormal ("Is_BakedNormal", Float ) = 0 - _BakedNormal ("Baked Normal for Outline", 2D) = "white" {} - //GI Intensity - _GI_Intensity ("GI_Intensity", Range(0, 1)) = 0 - //For VR Chat under No effective light objects - _Unlit_Intensity ("Unlit_Intensity", Range(0.001, 4)) = 1 - //v.2.0.5 - [Toggle(_)] _Is_Filter_LightColor ("VRChat : SceneLights HiCut_Filter", Float ) = 0 - //Built-in Light Direction - [Toggle(_)] _Is_BLD ("Advanced : Activate Built-in Light Direction", Float ) = 0 - _Offset_X_Axis_BLD (" Offset X-Axis (Built-in Light Direction)", Range(-1, 1)) = -0.05 - _Offset_Y_Axis_BLD (" Offset Y-Axis (Built-in Light Direction)", Range(-1, 1)) = 0.09 - [Toggle(_)] _Inverse_Z_Axis_BLD (" Inverse Z-Axis (Built-in Light Direction)", Float ) = 1 - } - SubShader { - Tags { - "RenderType"="Opaque" - } - Pass { - Name "Outline" - Tags { - } - Cull Front - - CGPROGRAM - #pragma vertex vert - #pragma fragment frag - #include "UnityCG.cginc" - //#pragma fragmentoption ARB_precision_hint_fastest - //#pragma multi_compile_shadowcaster - //#pragma multi_compile_fog - #pragma only_renderers d3d9 d3d11 glcore gles gles3 metal vulkan xboxone ps4 switch - #pragma target 3.0 - //V.2.0.4 - #pragma multi_compile _IS_OUTLINE_CLIPPING_NO - #pragma multi_compile _OUTLINE_NML _OUTLINE_POS - //アウトライン処理はUTS_Outline.cgincへ. - #include "UCTS_Outline.cginc" - ENDCG - } -//ToonCoreStart - Pass { - Name "FORWARD" - Tags { - "LightMode"="ForwardBase" - } - - Cull[_CullMode] - - - CGPROGRAM - #pragma vertex vert - #pragma fragment frag - //#define UNITY_PASS_FORWARDBASE - #include "UnityCG.cginc" - #include "AutoLight.cginc" - #include "Lighting.cginc" - #pragma multi_compile_fwdbase_fullshadows - #pragma multi_compile_fog - #pragma only_renderers d3d9 d3d11 glcore gles gles3 metal vulkan xboxone ps4 switch - #pragma target 3.0 - - //v.2.0.4 - #pragma multi_compile _IS_CLIPPING_OFF - #pragma multi_compile _IS_PASS_FWDBASE - //v.2.0.7 - #pragma multi_compile _EMISSIVE_SIMPLE _EMISSIVE_ANIMATION - // - #include "UCTS_DoubleShadeWithFeather.cginc" - - ENDCG - } - Pass { - Name "FORWARD_DELTA" - Tags { - "LightMode"="ForwardAdd" - } - - Blend One One - Cull[_CullMode] - - - CGPROGRAM - #pragma vertex vert - #pragma fragment frag - //#define UNITY_PASS_FORWARDADD - #include "UnityCG.cginc" - #include "AutoLight.cginc" - #include "Lighting.cginc" - //for Unity2018.x - #pragma multi_compile_fwdadd_fullshadows - #pragma multi_compile_fog - #pragma only_renderers d3d9 d3d11 glcore gles gles3 metal vulkan xboxone ps4 switch - #pragma target 3.0 - - //v.2.0.4 - #pragma multi_compile _IS_CLIPPING_OFF - #pragma multi_compile _IS_PASS_FWDDELTA - #include "UCTS_DoubleShadeWithFeather.cginc" - - ENDCG - } - Pass { - Name "ShadowCaster" - Tags { - "LightMode"="ShadowCaster" - } - Offset 1, 1 - Cull Off - - CGPROGRAM - #pragma vertex vert - #pragma fragment frag - //#define UNITY_PASS_SHADOWCASTER - #include "UnityCG.cginc" - #include "Lighting.cginc" - #pragma fragmentoption ARB_precision_hint_fastest - #pragma multi_compile_shadowcaster - #pragma multi_compile_fog - #pragma only_renderers d3d9 d3d11 glcore gles gles3 metal vulkan xboxone ps4 switch - #pragma target 3.0 - //v.2.0.4 - #pragma multi_compile _IS_CLIPPING_OFF - #include "UCTS_ShadowCaster.cginc" - ENDCG - } -//ToonCoreEnd - } - FallBack "Legacy Shaders/VertexLit" - CustomEditor "UnityChan.UTS2GUI" -} diff --git a/Assets/ProjectBlue/Packages/Toon/Shader/Toon_DoubleShadeWithFeather.shader.meta b/Assets/ProjectBlue/Packages/Toon/Shader/Toon_DoubleShadeWithFeather.shader.meta deleted file mode 100644 index 00f7b9d..0000000 --- a/Assets/ProjectBlue/Packages/Toon/Shader/Toon_DoubleShadeWithFeather.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 9baf30ce95c751649b14d96da3a4b4d5 -timeCreated: 1482811030 -licenseType: Pro -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/Toon/Shader/UCTS_DoubleShadeWithFeather.cginc b/Assets/ProjectBlue/Packages/Toon/Shader/UCTS_DoubleShadeWithFeather.cginc deleted file mode 100644 index ba32929..0000000 --- a/Assets/ProjectBlue/Packages/Toon/Shader/UCTS_DoubleShadeWithFeather.cginc +++ /dev/null @@ -1,441 +0,0 @@ -//UCTS_DoubleShadeWithFeather.cginc -//Unitychan Toon Shader ver.2.0 -//v.2.0.7.5 -//nobuyuki@unity3d.com -//https://github.com/unity3d-jp/UnityChanToonShaderVer2_Project -//(C)Unity Technologies Japan/UCL -//#pragma multi_compile _IS_CLIPPING_OFF _IS_CLIPPING_MODE _IS_CLIPPING_TRANSMODE -//#pragma multi_compile _IS_PASS_FWDBASE _IS_PASS_FWDDELTA -// - - uniform sampler2D _MainTex; uniform float4 _MainTex_ST; - uniform float4 _BaseColor; - //v.2.0.5 - uniform float4 _Color; - uniform fixed _Use_BaseAs1st; - uniform fixed _Use_1stAs2nd; - // - uniform fixed _Is_LightColor_Base; - uniform sampler2D _1st_ShadeMap; uniform float4 _1st_ShadeMap_ST; - uniform float4 _1st_ShadeColor; - uniform fixed _Is_LightColor_1st_Shade; - uniform sampler2D _2nd_ShadeMap; uniform float4 _2nd_ShadeMap_ST; - uniform float4 _2nd_ShadeColor; - uniform fixed _Is_LightColor_2nd_Shade; - uniform sampler2D _NormalMap; uniform float4 _NormalMap_ST; - uniform fixed _Is_NormalMapToBase; - uniform fixed _Set_SystemShadowsToBase; - uniform float _Tweak_SystemShadowsLevel; - uniform float _BaseColor_Step; - uniform float _BaseShade_Feather; - uniform sampler2D _Set_1st_ShadePosition; uniform float4 _Set_1st_ShadePosition_ST; - uniform float _ShadeColor_Step; - uniform float _1st2nd_Shades_Feather; - uniform sampler2D _Set_2nd_ShadePosition; uniform float4 _Set_2nd_ShadePosition_ST; - uniform float4 _HighColor; - uniform sampler2D _HighColor_Tex; uniform float4 _HighColor_Tex_ST; - uniform fixed _Is_LightColor_HighColor; - uniform fixed _Is_NormalMapToHighColor; - uniform float _HighColor_Power; - uniform fixed _Is_SpecularToHighColor; - uniform fixed _Is_BlendAddToHiColor; - uniform fixed _Is_UseTweakHighColorOnShadow; - uniform float _TweakHighColorOnShadow; - uniform sampler2D _Set_HighColorMask; uniform float4 _Set_HighColorMask_ST; - uniform float _Tweak_HighColorMaskLevel; - uniform fixed _RimLight; - uniform float4 _RimLightColor; - uniform fixed _Is_LightColor_RimLight; - uniform fixed _Is_NormalMapToRimLight; - uniform float _RimLight_Power; - uniform float _RimLight_InsideMask; - uniform fixed _RimLight_FeatherOff; - uniform fixed _LightDirection_MaskOn; - uniform float _Tweak_LightDirection_MaskLevel; - uniform fixed _Add_Antipodean_RimLight; - uniform float4 _Ap_RimLightColor; - uniform fixed _Is_LightColor_Ap_RimLight; - uniform float _Ap_RimLight_Power; - uniform fixed _Ap_RimLight_FeatherOff; - uniform sampler2D _Set_RimLightMask; uniform float4 _Set_RimLightMask_ST; - uniform float _Tweak_RimLightMaskLevel; - uniform fixed _MatCap; - uniform sampler2D _MatCap_Sampler; uniform float4 _MatCap_Sampler_ST; - uniform float4 _MatCapColor; - uniform fixed _Is_LightColor_MatCap; - uniform fixed _Is_BlendAddToMatCap; - uniform float _Tweak_MatCapUV; - uniform float _Rotate_MatCapUV; - uniform fixed _Is_NormalMapForMatCap; - uniform sampler2D _NormalMapForMatCap; uniform float4 _NormalMapForMatCap_ST; - uniform float _Rotate_NormalMapForMatCapUV; - uniform fixed _Is_UseTweakMatCapOnShadow; - uniform float _TweakMatCapOnShadow; - //MatcapMask - uniform sampler2D _Set_MatcapMask; uniform float4 _Set_MatcapMask_ST; - uniform float _Tweak_MatcapMaskLevel; - //v.2.0.5 - uniform fixed _Is_Ortho; - //v.2.0.6 - uniform float _CameraRolling_Stabilizer; - uniform fixed _BlurLevelMatcap; - uniform fixed _Inverse_MatcapMask; - uniform float _BumpScale; - uniform float _BumpScaleMatcap; - //Emissive - uniform sampler2D _Emissive_Tex; uniform float4 _Emissive_Tex_ST; - uniform float4 _Emissive_Color; - //v.2.0.7 - uniform fixed _Is_ViewCoord_Scroll; - uniform float _Rotate_EmissiveUV; - uniform float _Base_Speed; - uniform float _Scroll_EmissiveU; - uniform float _Scroll_EmissiveV; - uniform fixed _Is_PingPong_Base; - uniform float4 _ColorShift; - uniform float4 _ViewShift; - uniform float _ColorShift_Speed; - uniform fixed _Is_ColorShift; - uniform fixed _Is_ViewShift; - uniform float3 emissive; - // - uniform float _Unlit_Intensity; - //v.2.0.5 - uniform fixed _Is_Filter_HiCutPointLightColor; - uniform fixed _Is_Filter_LightColor; - //v.2.0.4.4 - uniform float _StepOffset; - uniform fixed _Is_BLD; - uniform float _Offset_X_Axis_BLD; - uniform float _Offset_Y_Axis_BLD; - uniform fixed _Inverse_Z_Axis_BLD; -//v.2.0.4 -#ifdef _IS_CLIPPING_MODE -//DoubleShadeWithFeather_Clipping - uniform sampler2D _ClippingMask; uniform float4 _ClippingMask_ST; - uniform float _Clipping_Level; - uniform fixed _Inverse_Clipping; -#elif _IS_CLIPPING_TRANSMODE -//DoubleShadeWithFeather_TransClipping - uniform sampler2D _ClippingMask; uniform float4 _ClippingMask_ST; - uniform fixed _IsBaseMapAlphaAsClippingMask; - uniform float _Clipping_Level; - uniform fixed _Inverse_Clipping; - uniform float _Tweak_transparency; -#elif _IS_CLIPPING_OFF -//DoubleShadeWithFeather -#endif - - // UV回転をする関数:RotateUV() - //float2 rotatedUV = RotateUV(i.uv0, (_angular_Verocity*3.141592654), float2(0.5, 0.5), _Time.g); - float2 RotateUV(float2 _uv, float _radian, float2 _piv, float _time) - { - float RotateUV_ang = _radian; - float RotateUV_cos = cos(_time*RotateUV_ang); - float RotateUV_sin = sin(_time*RotateUV_ang); - return (mul(_uv - _piv, float2x2( RotateUV_cos, -RotateUV_sin, RotateUV_sin, RotateUV_cos)) + _piv); - } - // - fixed3 DecodeLightProbe( fixed3 N ){ - return ShadeSH9(float4(N,1)); - } - - uniform float _GI_Intensity; - - struct VertexInput { - float4 vertex : POSITION; - float3 normal : NORMAL; - float4 tangent : TANGENT; - float2 texcoord0 : TEXCOORD0; - }; - struct VertexOutput { - float4 pos : SV_POSITION; - float2 uv0 : TEXCOORD0; - float4 posWorld : TEXCOORD1; - float3 normalDir : TEXCOORD2; - float3 tangentDir : TEXCOORD3; - float3 bitangentDir : TEXCOORD4; - //v.2.0.7 - float mirrorFlag : TEXCOORD5; - LIGHTING_COORDS(6,7) - UNITY_FOG_COORDS(8) - // - }; - VertexOutput vert (VertexInput v) { - VertexOutput o = (VertexOutput)0; - o.uv0 = v.texcoord0; - o.normalDir = UnityObjectToWorldNormal(v.normal); - o.tangentDir = normalize( mul( unity_ObjectToWorld, float4( v.tangent.xyz, 0.0 ) ).xyz ); - o.bitangentDir = normalize(cross(o.normalDir, o.tangentDir) * v.tangent.w); - o.posWorld = mul(unity_ObjectToWorld, v.vertex); - float3 lightColor = _LightColor0.rgb; - o.pos = UnityObjectToClipPos( v.vertex ); - //v.2.0.7 鏡の中判定(右手座標系か、左手座標系かの判定)o.mirrorFlag = -1 なら鏡の中. - float3 crossFwd = cross(UNITY_MATRIX_V[0], UNITY_MATRIX_V[1]); - o.mirrorFlag = dot(crossFwd, UNITY_MATRIX_V[2]) < 0 ? 1 : -1; - // - UNITY_TRANSFER_FOG(o,o.pos); - TRANSFER_VERTEX_TO_FRAGMENT(o) - return o; - } - float4 frag(VertexOutput i, fixed facing : VFACE) : SV_TARGET { - i.normalDir = normalize(i.normalDir); - float3x3 tangentTransform = float3x3( i.tangentDir, i.bitangentDir, i.normalDir); - float3 viewDirection = normalize(_WorldSpaceCameraPos.xyz - i.posWorld.xyz); - float2 Set_UV0 = i.uv0; - //v.2.0.6 - //float3 _NormalMap_var = UnpackNormal(tex2D(_NormalMap,TRANSFORM_TEX(Set_UV0, _NormalMap))); - float3 _NormalMap_var = UnpackScaleNormal(tex2D(_NormalMap,TRANSFORM_TEX(Set_UV0, _NormalMap)), _BumpScale); - float3 normalLocal = _NormalMap_var.rgb; - float3 normalDirection = normalize(mul( normalLocal, tangentTransform )); // Perturbed normals - float4 _MainTex_var = tex2D(_MainTex,TRANSFORM_TEX(Set_UV0, _MainTex)); -//v.2.0.4 -#ifdef _IS_CLIPPING_MODE -//DoubleShadeWithFeather_Clipping - float4 _ClippingMask_var = tex2D(_ClippingMask,TRANSFORM_TEX(Set_UV0, _ClippingMask)); - float Set_Clipping = saturate((lerp( _ClippingMask_var.r, (1.0 - _ClippingMask_var.r), _Inverse_Clipping )+_Clipping_Level)); - clip(Set_Clipping - 0.5); -#elif _IS_CLIPPING_TRANSMODE -//DoubleShadeWithFeather_TransClipping - float4 _ClippingMask_var = tex2D(_ClippingMask,TRANSFORM_TEX(Set_UV0, _ClippingMask)); - float Set_MainTexAlpha = _MainTex_var.a; - float _IsBaseMapAlphaAsClippingMask_var = lerp( _ClippingMask_var.r, Set_MainTexAlpha, _IsBaseMapAlphaAsClippingMask ); - float _Inverse_Clipping_var = lerp( _IsBaseMapAlphaAsClippingMask_var, (1.0 - _IsBaseMapAlphaAsClippingMask_var), _Inverse_Clipping ); - float Set_Clipping = saturate((_Inverse_Clipping_var+_Clipping_Level)); - clip(Set_Clipping - 0.5); - -#elif _IS_CLIPPING_OFF -//DoubleShadeWithFeather -#endif - - UNITY_LIGHT_ATTENUATION(attenuation, i, i.posWorld.xyz); - -//v.2.0.4 -#ifdef _IS_PASS_FWDBASE - - float3 defaultLightDirection = normalize(UNITY_MATRIX_V[2].xyz + UNITY_MATRIX_V[1].xyz); - //v.2.0.5 - float3 defaultLightColor = saturate(max(half3(0.05,0.05,0.05)*_Unlit_Intensity,max(ShadeSH9(half4(0.0, 0.0, 0.0, 1.0)),ShadeSH9(half4(0.0, -1.0, 0.0, 1.0)).rgb)*_Unlit_Intensity)); - float3 customLightDirection = normalize(mul( unity_ObjectToWorld, float4(((float3(1.0,0.0,0.0)*_Offset_X_Axis_BLD*10)+(float3(0.0,1.0,0.0)*_Offset_Y_Axis_BLD*10)+(float3(0.0,0.0,-1.0)*lerp(-1.0,1.0,_Inverse_Z_Axis_BLD))),0)).xyz); - float3 lightDirection = normalize(lerp(defaultLightDirection,_WorldSpaceLightPos0.xyz,any(_WorldSpaceLightPos0.xyz))); - lightDirection = lerp(lightDirection, customLightDirection, _Is_BLD); - //v.2.0.5: - float3 lightColor = lerp(max(defaultLightColor,_LightColor0.rgb),max(defaultLightColor,saturate(_LightColor0.rgb)),_Is_Filter_LightColor); -#elif _IS_PASS_FWDDELTA - float3 lightDirection = normalize(lerp(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz - i.posWorld.xyz,_WorldSpaceLightPos0.w)); - //v.2.0.5: - float3 addPassLightColor = (0.5*dot(lerp( i.normalDir, normalDirection, _Is_NormalMapToBase ), lightDirection)+0.5) * _LightColor0.rgb * attenuation; - float pureIntencity = max(0.001,(0.299*_LightColor0.r + 0.587*_LightColor0.g + 0.114*_LightColor0.b)); - float3 lightColor = max(0, lerp(addPassLightColor, lerp(0,min(addPassLightColor,addPassLightColor/pureIntencity),_WorldSpaceLightPos0.w),_Is_Filter_LightColor)); -#endif -////// Lighting: - float3 halfDirection = normalize(viewDirection+lightDirection); - //v.2.0.5 - _Color = _BaseColor; - -#ifdef _IS_PASS_FWDBASE - float3 Set_LightColor = lightColor.rgb; - float3 Set_BaseColor = lerp( (_BaseColor.rgb*_MainTex_var.rgb), ((_BaseColor.rgb*_MainTex_var.rgb)*Set_LightColor), _Is_LightColor_Base ); - //v.2.0.5 - float4 _1st_ShadeMap_var = lerp(tex2D(_1st_ShadeMap,TRANSFORM_TEX(Set_UV0, _1st_ShadeMap)),_MainTex_var,_Use_BaseAs1st); - float3 Set_1st_ShadeColor = lerp( (_1st_ShadeColor.rgb*_1st_ShadeMap_var.rgb), ((_1st_ShadeColor.rgb*_1st_ShadeMap_var.rgb)*Set_LightColor), _Is_LightColor_1st_Shade ); - //v.2.0.5 - float4 _2nd_ShadeMap_var = lerp(tex2D(_2nd_ShadeMap,TRANSFORM_TEX(Set_UV0, _2nd_ShadeMap)),_1st_ShadeMap_var,_Use_1stAs2nd); - float3 Set_2nd_ShadeColor = lerp( (_2nd_ShadeColor.rgb*_2nd_ShadeMap_var.rgb), ((_2nd_ShadeColor.rgb*_2nd_ShadeMap_var.rgb)*Set_LightColor), _Is_LightColor_2nd_Shade ); - float _HalfLambert_var = 0.5*dot(lerp( i.normalDir, normalDirection, _Is_NormalMapToBase ),lightDirection)+0.5; - float4 _Set_2nd_ShadePosition_var = tex2D(_Set_2nd_ShadePosition,TRANSFORM_TEX(Set_UV0, _Set_2nd_ShadePosition)); - float4 _Set_1st_ShadePosition_var = tex2D(_Set_1st_ShadePosition,TRANSFORM_TEX(Set_UV0, _Set_1st_ShadePosition)); - //v.2.0.6 - //Minmimum value is same as the Minimum Feather's value with the Minimum Step's value as threshold. - float _SystemShadowsLevel_var = (attenuation*0.5)+0.5+_Tweak_SystemShadowsLevel > 0.001 ? (attenuation*0.5)+0.5+_Tweak_SystemShadowsLevel : 0.0001; - float Set_FinalShadowMask = saturate((1.0 + ( (lerp( _HalfLambert_var, _HalfLambert_var*saturate(_SystemShadowsLevel_var), _Set_SystemShadowsToBase ) - (_BaseColor_Step-_BaseShade_Feather)) * ((1.0 - _Set_1st_ShadePosition_var.rgb).r - 1.0) ) / (_BaseColor_Step - (_BaseColor_Step-_BaseShade_Feather)))); - // - //Composition: 3 Basic Colors as Set_FinalBaseColor - float3 Set_FinalBaseColor = lerp(Set_BaseColor,lerp(Set_1st_ShadeColor,Set_2nd_ShadeColor,saturate((1.0 + ( (_HalfLambert_var - (_ShadeColor_Step-_1st2nd_Shades_Feather)) * ((1.0 - _Set_2nd_ShadePosition_var.rgb).r - 1.0) ) / (_ShadeColor_Step - (_ShadeColor_Step-_1st2nd_Shades_Feather))))),Set_FinalShadowMask); // Final Color - float4 _Set_HighColorMask_var = tex2D(_Set_HighColorMask,TRANSFORM_TEX(Set_UV0, _Set_HighColorMask)); - float _Specular_var = 0.5*dot(halfDirection,lerp( i.normalDir, normalDirection, _Is_NormalMapToHighColor ))+0.5; // Specular - float _TweakHighColorMask_var = (saturate((_Set_HighColorMask_var.g+_Tweak_HighColorMaskLevel))*lerp( (1.0 - step(_Specular_var,(1.0 - pow(_HighColor_Power,5)))), pow(_Specular_var,exp2(lerp(11,1,_HighColor_Power))), _Is_SpecularToHighColor )); - float4 _HighColor_Tex_var = tex2D(_HighColor_Tex,TRANSFORM_TEX(Set_UV0, _HighColor_Tex)); - float3 _HighColor_var = (lerp( (_HighColor_Tex_var.rgb*_HighColor.rgb), ((_HighColor_Tex_var.rgb*_HighColor.rgb)*Set_LightColor), _Is_LightColor_HighColor )*_TweakHighColorMask_var); - //Composition: 3 Basic Colors and HighColor as Set_HighColor - float3 Set_HighColor = (lerp( saturate((Set_FinalBaseColor-_TweakHighColorMask_var)), Set_FinalBaseColor, lerp(_Is_BlendAddToHiColor,1.0,_Is_SpecularToHighColor) )+lerp( _HighColor_var, (_HighColor_var*((1.0 - Set_FinalShadowMask)+(Set_FinalShadowMask*_TweakHighColorOnShadow))), _Is_UseTweakHighColorOnShadow )); - float4 _Set_RimLightMask_var = tex2D(_Set_RimLightMask,TRANSFORM_TEX(Set_UV0, _Set_RimLightMask)); - float3 _Is_LightColor_RimLight_var = lerp( _RimLightColor.rgb, (_RimLightColor.rgb*Set_LightColor), _Is_LightColor_RimLight ); - float _RimArea_var = (1.0 - dot(lerp( i.normalDir, normalDirection, _Is_NormalMapToRimLight ),viewDirection)); - float _RimLightPower_var = pow(_RimArea_var,exp2(lerp(3,0,_RimLight_Power))); - float _Rimlight_InsideMask_var = saturate(lerp( (0.0 + ( (_RimLightPower_var - _RimLight_InsideMask) * (1.0 - 0.0) ) / (1.0 - _RimLight_InsideMask)), step(_RimLight_InsideMask,_RimLightPower_var), _RimLight_FeatherOff )); - float _VertHalfLambert_var = 0.5*dot(i.normalDir,lightDirection)+0.5; - float3 _LightDirection_MaskOn_var = lerp( (_Is_LightColor_RimLight_var*_Rimlight_InsideMask_var), (_Is_LightColor_RimLight_var*saturate((_Rimlight_InsideMask_var-((1.0 - _VertHalfLambert_var)+_Tweak_LightDirection_MaskLevel)))), _LightDirection_MaskOn ); - float _ApRimLightPower_var = pow(_RimArea_var,exp2(lerp(3,0,_Ap_RimLight_Power))); - float3 Set_RimLight = (saturate((_Set_RimLightMask_var.g+_Tweak_RimLightMaskLevel))*lerp( _LightDirection_MaskOn_var, (_LightDirection_MaskOn_var+(lerp( _Ap_RimLightColor.rgb, (_Ap_RimLightColor.rgb*Set_LightColor), _Is_LightColor_Ap_RimLight )*saturate((lerp( (0.0 + ( (_ApRimLightPower_var - _RimLight_InsideMask) * (1.0 - 0.0) ) / (1.0 - _RimLight_InsideMask)), step(_RimLight_InsideMask,_ApRimLightPower_var), _Ap_RimLight_FeatherOff )-(saturate(_VertHalfLambert_var)+_Tweak_LightDirection_MaskLevel))))), _Add_Antipodean_RimLight )); - //Composition: HighColor and RimLight as _RimLight_var - float3 _RimLight_var = lerp( Set_HighColor, (Set_HighColor+Set_RimLight), _RimLight ); - //Matcap - //v.2.0.6 : CameraRolling Stabilizer - //鏡スクリプト判定:_sign_Mirror = -1 なら、鏡の中と判定. - //v.2.0.7 - fixed _sign_Mirror = i.mirrorFlag; - // - float3 _Camera_Right = UNITY_MATRIX_V[0].xyz; - float3 _Camera_Front = UNITY_MATRIX_V[2].xyz; - float3 _Up_Unit = float3(0, 1, 0); - float3 _Right_Axis = cross(_Camera_Front, _Up_Unit); - //鏡の中なら反転. - if(_sign_Mirror < 0){ - _Right_Axis = -1 * _Right_Axis; - _Rotate_MatCapUV = -1 * _Rotate_MatCapUV; - }else{ - _Right_Axis = _Right_Axis; - } - float _Camera_Right_Magnitude = sqrt(_Camera_Right.x*_Camera_Right.x + _Camera_Right.y*_Camera_Right.y + _Camera_Right.z*_Camera_Right.z); - float _Right_Axis_Magnitude = sqrt(_Right_Axis.x*_Right_Axis.x + _Right_Axis.y*_Right_Axis.y + _Right_Axis.z*_Right_Axis.z); - float _Camera_Roll_Cos = dot(_Right_Axis, _Camera_Right) / (_Right_Axis_Magnitude * _Camera_Right_Magnitude); - float _Camera_Roll = acos(clamp(_Camera_Roll_Cos, -1, 1)); - fixed _Camera_Dir = _Camera_Right.y < 0 ? -1 : 1; - float _Rot_MatCapUV_var_ang = (_Rotate_MatCapUV*3.141592654) - _Camera_Dir*_Camera_Roll*_CameraRolling_Stabilizer; - //v.2.0.7 - float2 _Rot_MatCapNmUV_var = RotateUV(Set_UV0, (_Rotate_NormalMapForMatCapUV*3.141592654), float2(0.5, 0.5), 1.0); - //V.2.0.6 - float3 _NormalMapForMatCap_var = UnpackScaleNormal(tex2D(_NormalMapForMatCap,TRANSFORM_TEX(_Rot_MatCapNmUV_var, _NormalMapForMatCap)),_BumpScaleMatcap); - //v.2.0.5: MatCap with camera skew correction - float3 viewNormal = (mul(UNITY_MATRIX_V, float4(lerp( i.normalDir, mul( _NormalMapForMatCap_var.rgb, tangentTransform ).rgb, _Is_NormalMapForMatCap ),0))).rgb; - float3 NormalBlend_MatcapUV_Detail = viewNormal.rgb * float3(-1,-1,1); - float3 NormalBlend_MatcapUV_Base = (mul( UNITY_MATRIX_V, float4(viewDirection,0) ).rgb*float3(-1,-1,1)) + float3(0,0,1); - float3 noSknewViewNormal = NormalBlend_MatcapUV_Base*dot(NormalBlend_MatcapUV_Base, NormalBlend_MatcapUV_Detail)/NormalBlend_MatcapUV_Base.b - NormalBlend_MatcapUV_Detail; - float2 _ViewNormalAsMatCapUV = (lerp(noSknewViewNormal,viewNormal,_Is_Ortho).rg*0.5)+0.5; - //v.2.0.7 - float2 _Rot_MatCapUV_var = RotateUV((0.0 + ((_ViewNormalAsMatCapUV - (0.0+_Tweak_MatCapUV)) * (1.0 - 0.0) ) / ((1.0-_Tweak_MatCapUV) - (0.0+_Tweak_MatCapUV))), _Rot_MatCapUV_var_ang, float2(0.5, 0.5), 1.0); - //鏡の中ならUV左右反転. - if(_sign_Mirror < 0){ - _Rot_MatCapUV_var.x = 1-_Rot_MatCapUV_var.x; - }else{ - _Rot_MatCapUV_var = _Rot_MatCapUV_var; - } - //v.2.0.6 : LOD of Matcap - float4 _MatCap_Sampler_var = tex2Dlod(_MatCap_Sampler,float4(TRANSFORM_TEX(_Rot_MatCapUV_var, _MatCap_Sampler),0.0,_BlurLevelMatcap)); - // - //MatcapMask - float4 _Set_MatcapMask_var = tex2D(_Set_MatcapMask,TRANSFORM_TEX(Set_UV0, _Set_MatcapMask)); - float _Tweak_MatcapMaskLevel_var = saturate(lerp(_Set_MatcapMask_var.g, (1.0 - _Set_MatcapMask_var.g), _Inverse_MatcapMask) + _Tweak_MatcapMaskLevel); - // - float3 _Is_LightColor_MatCap_var = lerp( (_MatCap_Sampler_var.rgb*_MatCapColor.rgb), ((_MatCap_Sampler_var.rgb*_MatCapColor.rgb)*Set_LightColor), _Is_LightColor_MatCap ); - //v.2.0.6 : ShadowMask on Matcap in Blend mode : multiply - float3 Set_MatCap = lerp( _Is_LightColor_MatCap_var, (_Is_LightColor_MatCap_var*((1.0 - Set_FinalShadowMask)+(Set_FinalShadowMask*_TweakMatCapOnShadow)) + lerp(Set_HighColor*Set_FinalShadowMask*(1.0-_TweakMatCapOnShadow), float3(0.0, 0.0, 0.0), _Is_BlendAddToMatCap)), _Is_UseTweakMatCapOnShadow ); - // - //Composition: RimLight and MatCap as finalColor - //Broke down finalColor composition - float3 matCapColorOnAddMode = _RimLight_var+Set_MatCap*_Tweak_MatcapMaskLevel_var; - float _Tweak_MatcapMaskLevel_var_MultiplyMode = _Tweak_MatcapMaskLevel_var * lerp (1.0, (1.0 - (Set_FinalShadowMask)*(1.0 - _TweakMatCapOnShadow)), _Is_UseTweakMatCapOnShadow); - float3 matCapColorOnMultiplyMode = Set_HighColor*(1-_Tweak_MatcapMaskLevel_var_MultiplyMode) + Set_HighColor*Set_MatCap*_Tweak_MatcapMaskLevel_var_MultiplyMode + lerp(float3(0,0,0),Set_RimLight,_RimLight); - float3 matCapColorFinal = lerp(matCapColorOnMultiplyMode, matCapColorOnAddMode, _Is_BlendAddToMatCap); - float3 finalColor = lerp(_RimLight_var, matCapColorFinal, _MatCap);// Final Composition before Emissive - // - //v.2.0.6: GI_Intensity with Intensity Multiplier Filter - float3 envLightColor = DecodeLightProbe(normalDirection) < float3(1,1,1) ? DecodeLightProbe(normalDirection) : float3(1,1,1); - float envLightIntensity = 0.299*envLightColor.r + 0.587*envLightColor.g + 0.114*envLightColor.b <1 ? (0.299*envLightColor.r + 0.587*envLightColor.g + 0.114*envLightColor.b) : 1; -//v.2.0.7 -#ifdef _EMISSIVE_SIMPLE - float4 _Emissive_Tex_var = tex2D(_Emissive_Tex,TRANSFORM_TEX(Set_UV0, _Emissive_Tex)); - float emissiveMask = _Emissive_Tex_var.a; - emissive = _Emissive_Tex_var.rgb * _Emissive_Color.rgb * emissiveMask; -#elif _EMISSIVE_ANIMATION - //v.2.0.7 Calculation View Coord UV for Scroll - float3 viewNormal_Emissive = (mul(UNITY_MATRIX_V, float4(i.normalDir,0))).xyz; - float3 NormalBlend_Emissive_Detail = viewNormal_Emissive * float3(-1,-1,1); - float3 NormalBlend_Emissive_Base = (mul( UNITY_MATRIX_V, float4(viewDirection,0)).xyz*float3(-1,-1,1)) + float3(0,0,1); - float3 noSknewViewNormal_Emissive = NormalBlend_Emissive_Base*dot(NormalBlend_Emissive_Base, NormalBlend_Emissive_Detail)/NormalBlend_Emissive_Base.z - NormalBlend_Emissive_Detail; - float2 _ViewNormalAsEmissiveUV = noSknewViewNormal_Emissive.xy*0.5+0.5; - float2 _ViewCoord_UV = RotateUV(_ViewNormalAsEmissiveUV, -(_Camera_Dir*_Camera_Roll), float2(0.5,0.5), 1.0); - //鏡の中ならUV左右反転. - if(_sign_Mirror < 0){ - _ViewCoord_UV.x = 1-_ViewCoord_UV.x; - }else{ - _ViewCoord_UV = _ViewCoord_UV; - } - float2 emissive_uv = lerp(i.uv0, _ViewCoord_UV, _Is_ViewCoord_Scroll); - // - float4 _time_var = _Time; - float _base_Speed_var = (_time_var.g*_Base_Speed); - float _Is_PingPong_Base_var = lerp(_base_Speed_var, sin(_base_Speed_var), _Is_PingPong_Base ); - float2 scrolledUV = emissive_uv - float2(_Scroll_EmissiveU, _Scroll_EmissiveV)*_Is_PingPong_Base_var; - float rotateVelocity = _Rotate_EmissiveUV*3.141592654; - float2 _rotate_EmissiveUV_var = RotateUV(scrolledUV, rotateVelocity, float2(0.5, 0.5), _Is_PingPong_Base_var); - float4 _Emissive_Tex_var = tex2D(_Emissive_Tex,TRANSFORM_TEX(Set_UV0, _Emissive_Tex)); - float emissiveMask = _Emissive_Tex_var.a; - _Emissive_Tex_var = tex2D(_Emissive_Tex,TRANSFORM_TEX(_rotate_EmissiveUV_var, _Emissive_Tex)); - float _colorShift_Speed_var = 1.0 - cos(_time_var.g*_ColorShift_Speed); - float viewShift_var = smoothstep( 0.0, 1.0, max(0,dot(normalDirection,viewDirection))); - float4 colorShift_Color = lerp(_Emissive_Color, lerp(_Emissive_Color, _ColorShift, _colorShift_Speed_var), _Is_ColorShift); - float4 viewShift_Color = lerp(_ViewShift, colorShift_Color, viewShift_var); - float4 emissive_Color = lerp(colorShift_Color, viewShift_Color, _Is_ViewShift); - emissive = emissive_Color.rgb * _Emissive_Tex_var.rgb * emissiveMask; -#endif -// - //Final Composition - finalColor = saturate(finalColor) + (envLightColor*envLightIntensity*_GI_Intensity*smoothstep(1,0,envLightIntensity/2)) + emissive; - -#elif _IS_PASS_FWDDELTA - //v.2.0.5: - _BaseColor_Step = saturate(_BaseColor_Step + _StepOffset); - _ShadeColor_Step = saturate(_ShadeColor_Step + _StepOffset); - // - //v.2.0.5: If Added lights is directional, set 0 as _LightIntensity - float _LightIntensity = lerp(0,(0.299*_LightColor0.r + 0.587*_LightColor0.g + 0.114*_LightColor0.b)*attenuation,_WorldSpaceLightPos0.w) ; - //v.2.0.5: Filtering the high intensity zone of PointLights - float3 Set_LightColor = lerp(lightColor,lerp(lightColor,min(lightColor,_LightColor0.rgb*attenuation*_BaseColor_Step),_WorldSpaceLightPos0.w),_Is_Filter_HiCutPointLightColor); - // - float3 Set_BaseColor = lerp( (_BaseColor.rgb*_MainTex_var.rgb*_LightIntensity), ((_BaseColor.rgb*_MainTex_var.rgb)*Set_LightColor), _Is_LightColor_Base ); - //v.2.0.5 - float4 _1st_ShadeMap_var = lerp(tex2D(_1st_ShadeMap,TRANSFORM_TEX(Set_UV0, _1st_ShadeMap)),_MainTex_var,_Use_BaseAs1st); - float3 Set_1st_ShadeColor = lerp( (_1st_ShadeColor.rgb*_1st_ShadeMap_var.rgb*_LightIntensity), ((_1st_ShadeColor.rgb*_1st_ShadeMap_var.rgb)*Set_LightColor), _Is_LightColor_1st_Shade ); - //v.2.0.5 - float4 _2nd_ShadeMap_var = lerp(tex2D(_2nd_ShadeMap,TRANSFORM_TEX(Set_UV0, _2nd_ShadeMap)),_1st_ShadeMap_var,_Use_1stAs2nd); - float3 Set_2nd_ShadeColor = lerp( (_2nd_ShadeColor.rgb*_2nd_ShadeMap_var.rgb*_LightIntensity), ((_2nd_ShadeColor.rgb*_2nd_ShadeMap_var.rgb)*Set_LightColor), _Is_LightColor_2nd_Shade ); - float _HalfLambert_var = 0.5*dot(lerp( i.normalDir, normalDirection, _Is_NormalMapToBase ),lightDirection)+0.5; - float4 _Set_2nd_ShadePosition_var = tex2D(_Set_2nd_ShadePosition,TRANSFORM_TEX(Set_UV0, _Set_2nd_ShadePosition)); - float4 _Set_1st_ShadePosition_var = tex2D(_Set_1st_ShadePosition,TRANSFORM_TEX(Set_UV0, _Set_1st_ShadePosition)); - //v.2.0.5: - float Set_FinalShadowMask = saturate((1.0 + ( (lerp( _HalfLambert_var, (_HalfLambert_var*saturate(1.0+_Tweak_SystemShadowsLevel)), _Set_SystemShadowsToBase ) - (_BaseColor_Step-_BaseShade_Feather)) * ((1.0 - _Set_1st_ShadePosition_var.rgb).r - 1.0) ) / (_BaseColor_Step - (_BaseColor_Step-_BaseShade_Feather)))); - //Composition: 3 Basic Colors as finalColor - float3 finalColor = lerp(Set_BaseColor,lerp(Set_1st_ShadeColor,Set_2nd_ShadeColor,saturate((1.0 + ( (_HalfLambert_var - (_ShadeColor_Step-_1st2nd_Shades_Feather)) * ((1.0 - _Set_2nd_ShadePosition_var.rgb).r - 1.0) ) / (_ShadeColor_Step - (_ShadeColor_Step-_1st2nd_Shades_Feather))))),Set_FinalShadowMask); // Final Color - - //v.2.0.6: Add HighColor if _Is_Filter_HiCutPointLightColor is False - float4 _Set_HighColorMask_var = tex2D(_Set_HighColorMask,TRANSFORM_TEX(Set_UV0, _Set_HighColorMask)); - float _Specular_var = 0.5*dot(halfDirection,lerp( i.normalDir, normalDirection, _Is_NormalMapToHighColor ))+0.5; // Specular - float _TweakHighColorMask_var = (saturate((_Set_HighColorMask_var.g+_Tweak_HighColorMaskLevel))*lerp( (1.0 - step(_Specular_var,(1.0 - pow(_HighColor_Power,5)))), pow(_Specular_var,exp2(lerp(11,1,_HighColor_Power))), _Is_SpecularToHighColor )); - float4 _HighColor_Tex_var = tex2D(_HighColor_Tex,TRANSFORM_TEX(Set_UV0, _HighColor_Tex)); - float3 _HighColor_var = (lerp( (_HighColor_Tex_var.rgb*_HighColor.rgb), ((_HighColor_Tex_var.rgb*_HighColor.rgb)*Set_LightColor), _Is_LightColor_HighColor )*_TweakHighColorMask_var); - finalColor = finalColor + lerp(lerp( _HighColor_var, (_HighColor_var*((1.0 - Set_FinalShadowMask)+(Set_FinalShadowMask*_TweakHighColorOnShadow))), _Is_UseTweakHighColorOnShadow ),float3(0,0,0),_Is_Filter_HiCutPointLightColor); - // - - finalColor = saturate(finalColor); -#endif - - -//v.2.0.4 -#ifdef _IS_CLIPPING_OFF -//DoubleShadeWithFeather - #ifdef _IS_PASS_FWDBASE - fixed4 finalRGBA = fixed4(finalColor,1); - #elif _IS_PASS_FWDDELTA - fixed4 finalRGBA = fixed4(finalColor,0); - #endif -#elif _IS_CLIPPING_MODE -//DoubleShadeWithFeather_Clipping - #ifdef _IS_PASS_FWDBASE - fixed4 finalRGBA = fixed4(finalColor,1); - #elif _IS_PASS_FWDDELTA - fixed4 finalRGBA = fixed4(finalColor,0); - #endif -#elif _IS_CLIPPING_TRANSMODE -//DoubleShadeWithFeather_TransClipping - float Set_Opacity = saturate((_Inverse_Clipping_var+_Tweak_transparency)); - #ifdef _IS_PASS_FWDBASE - fixed4 finalRGBA = fixed4(finalColor,Set_Opacity); - #elif _IS_PASS_FWDDELTA - fixed4 finalRGBA = fixed4(finalColor * Set_Opacity,0); - #endif -#endif - UNITY_APPLY_FOG(i.fogCoord, finalRGBA); - return finalRGBA; - } diff --git a/Assets/ProjectBlue/Packages/Toon/Shader/UCTS_DoubleShadeWithFeather.cginc.meta b/Assets/ProjectBlue/Packages/Toon/Shader/UCTS_DoubleShadeWithFeather.cginc.meta deleted file mode 100644 index 8cc5b9f..0000000 --- a/Assets/ProjectBlue/Packages/Toon/Shader/UCTS_DoubleShadeWithFeather.cginc.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 3e71e37dd1a726d468db5e355c39a52e -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/Toon/Shader/UCTS_Outline.cginc b/Assets/ProjectBlue/Packages/Toon/Shader/UCTS_Outline.cginc deleted file mode 100644 index f94cb95..0000000 --- a/Assets/ProjectBlue/Packages/Toon/Shader/UCTS_Outline.cginc +++ /dev/null @@ -1,128 +0,0 @@ -//UCTS_Outline.cginc -//Unitychan Toon Shader ver.2.0 -//v.2.0.7.5 -//nobuyuki@unity3d.com -//https://github.com/unity3d-jp/UnityChanToonShaderVer2_Project -//(C)Unity Technologies Japan/UCL -// 2018/08/23 N.Kobayashi (Unity Technologies Japan) -// カメラオフセット付きアウトライン(BaseColorライトカラー反映修正版) -// 2017/06/05 PS4対応版 -// Ver.2.0.4.3 -// 2018/02/05 Outline Tex対応版 -// #pragma multi_compile _IS_OUTLINE_CLIPPING_NO _IS_OUTLINE_CLIPPING_YES -// _IS_OUTLINE_CLIPPING_YESは、Clippigマスクを使用するシェーダーでのみ使用できる. OutlineのブレンドモードにBlend SrcAlpha OneMinusSrcAlphaを追加すること. -// - uniform float4 _LightColor0; - uniform float4 _BaseColor; - //v.2.0.7.5 - uniform float _Unlit_Intensity; - uniform fixed _Is_Filter_LightColor; - uniform fixed _Is_LightColor_Outline; - //v.2.0.5 - uniform float4 _Color; - uniform sampler2D _MainTex; uniform float4 _MainTex_ST; - uniform float _Outline_Width; - uniform float _Farthest_Distance; - uniform float _Nearest_Distance; - uniform sampler2D _Outline_Sampler; uniform float4 _Outline_Sampler_ST; - uniform float4 _Outline_Color; - uniform fixed _Is_BlendBaseColor; - uniform float _Offset_Z; - //v2.0.4 - uniform sampler2D _OutlineTex; uniform float4 _OutlineTex_ST; - uniform fixed _Is_OutlineTex; - //Baked Normal Texture for Outline - uniform sampler2D _BakedNormal; uniform float4 _BakedNormal_ST; - uniform fixed _Is_BakedNormal; - // -//v.2.0.4 -#ifdef _IS_OUTLINE_CLIPPING_YES - uniform sampler2D _ClippingMask; uniform float4 _ClippingMask_ST; - uniform float _Clipping_Level; - uniform fixed _Inverse_Clipping; - uniform fixed _IsBaseMapAlphaAsClippingMask; -#endif - struct VertexInput { - float4 vertex : POSITION; - float3 normal : NORMAL; - float4 tangent : TANGENT; - float2 texcoord0 : TEXCOORD0; - }; - struct VertexOutput { - float4 pos : SV_POSITION; - float2 uv0 : TEXCOORD0; - float3 normalDir : TEXCOORD1; - float3 tangentDir : TEXCOORD2; - float3 bitangentDir : TEXCOORD3; - }; - VertexOutput vert (VertexInput v) { - VertexOutput o = (VertexOutput)0; - o.uv0 = v.texcoord0; - float4 objPos = mul ( unity_ObjectToWorld, float4(0,0,0,1) ); - float2 Set_UV0 = o.uv0; - float4 _Outline_Sampler_var = tex2Dlod(_Outline_Sampler,float4(TRANSFORM_TEX(Set_UV0, _Outline_Sampler),0.0,0)); - //v.2.0.4.3 baked Normal Texture for Outline - o.normalDir = UnityObjectToWorldNormal(v.normal); - o.tangentDir = normalize( mul( unity_ObjectToWorld, float4( v.tangent.xyz, 0.0 ) ).xyz ); - o.bitangentDir = normalize(cross(o.normalDir, o.tangentDir) * v.tangent.w); - float3x3 tangentTransform = float3x3( o.tangentDir, o.bitangentDir, o.normalDir); - //UnpackNormal()が使えないので、以下で展開。使うテクスチャはBump指定をしないこと. - float4 _BakedNormal_var = (tex2Dlod(_BakedNormal,float4(TRANSFORM_TEX(Set_UV0, _BakedNormal),0.0,0)) * 2 - 1); - float3 _BakedNormalDir = normalize(mul(_BakedNormal_var.rgb, tangentTransform)); - //ここまで. - float Set_Outline_Width = (_Outline_Width*0.001*smoothstep( _Farthest_Distance, _Nearest_Distance, distance(objPos.rgb,_WorldSpaceCameraPos) )*_Outline_Sampler_var.rgb).r; - //v.2.0.7.5 - float4 _ClipCameraPos = mul(UNITY_MATRIX_VP, float4(_WorldSpaceCameraPos.xyz, 1)); - //v.2.0.7 - #if defined(UNITY_REVERSED_Z) - //v.2.0.4.2 (DX) - _Offset_Z = _Offset_Z * -0.01; - #else - //OpenGL - _Offset_Z = _Offset_Z * 0.01; - #endif -//v2.0.4 -#ifdef _OUTLINE_NML - //v.2.0.4.3 baked Normal Texture for Outline - o.pos = UnityObjectToClipPos(lerp(float4(v.vertex.xyz + v.normal*Set_Outline_Width,1), float4(v.vertex.xyz + _BakedNormalDir*Set_Outline_Width,1),_Is_BakedNormal)); -#elif _OUTLINE_POS - Set_Outline_Width = Set_Outline_Width*2; - float signVar = dot(normalize(v.vertex),normalize(v.normal))<0 ? -1 : 1; - o.pos = UnityObjectToClipPos(float4(v.vertex.xyz + signVar*normalize(v.vertex)*Set_Outline_Width, 1)); -#endif - //v.2.0.7.5 - o.pos.z = o.pos.z + _Offset_Z * _ClipCameraPos.z; - return o; - } - float4 frag(VertexOutput i) : SV_Target{ - //v.2.0.5 - _Color = _BaseColor; - float4 objPos = mul ( unity_ObjectToWorld, float4(0,0,0,1) ); - //v.2.0.7.5 - half3 ambientSkyColor = unity_AmbientSky.rgb>0.05 ? unity_AmbientSky.rgb*_Unlit_Intensity : half3(0.05,0.05,0.05)*_Unlit_Intensity; - float3 lightColor = _LightColor0.rgb >0.05 ? _LightColor0.rgb : ambientSkyColor.rgb; - float lightColorIntensity = (0.299*lightColor.r + 0.587*lightColor.g + 0.114*lightColor.b); - lightColor = lightColorIntensity<1 ? lightColor : lightColor/lightColorIntensity; - lightColor = lerp(half3(1.0,1.0,1.0), lightColor, _Is_LightColor_Outline); - float2 Set_UV0 = i.uv0; - float4 _MainTex_var = tex2D(_MainTex,TRANSFORM_TEX(Set_UV0, _MainTex)); - float3 Set_BaseColor = _BaseColor.rgb*_MainTex_var.rgb; - float3 _Is_BlendBaseColor_var = lerp( _Outline_Color.rgb*lightColor, (_Outline_Color.rgb*Set_BaseColor*Set_BaseColor*lightColor), _Is_BlendBaseColor ); - // - float3 _OutlineTex_var = tex2D(_OutlineTex,TRANSFORM_TEX(Set_UV0, _OutlineTex)); -//v.2.0.7.5 -#ifdef _IS_OUTLINE_CLIPPING_NO - float3 Set_Outline_Color = lerp(_Is_BlendBaseColor_var, _OutlineTex_var.rgb*_Outline_Color.rgb*lightColor, _Is_OutlineTex ); - return float4(Set_Outline_Color,1.0); -#elif _IS_OUTLINE_CLIPPING_YES - float4 _ClippingMask_var = tex2D(_ClippingMask,TRANSFORM_TEX(Set_UV0, _ClippingMask)); - float Set_MainTexAlpha = _MainTex_var.a; - float _IsBaseMapAlphaAsClippingMask_var = lerp( _ClippingMask_var.r, Set_MainTexAlpha, _IsBaseMapAlphaAsClippingMask ); - float _Inverse_Clipping_var = lerp( _IsBaseMapAlphaAsClippingMask_var, (1.0 - _IsBaseMapAlphaAsClippingMask_var), _Inverse_Clipping ); - float Set_Clipping = saturate((_Inverse_Clipping_var+_Clipping_Level)); - clip(Set_Clipping - 0.5); - float4 Set_Outline_Color = lerp( float4(_Is_BlendBaseColor_var,Set_Clipping), float4((_OutlineTex_var.rgb*_Outline_Color.rgb*lightColor),Set_Clipping), _Is_OutlineTex ); - return Set_Outline_Color; -#endif - } -// UCTS_Outline.cginc ここまで. diff --git a/Assets/ProjectBlue/Packages/Toon/Shader/UCTS_Outline.cginc.meta b/Assets/ProjectBlue/Packages/Toon/Shader/UCTS_Outline.cginc.meta deleted file mode 100644 index 6daeaf5..0000000 --- a/Assets/ProjectBlue/Packages/Toon/Shader/UCTS_Outline.cginc.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 85a91a2ebe95ae0479b9c47155da00c7 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/Toon/Shader/UCTS_ShadingGradeMap.cginc b/Assets/ProjectBlue/Packages/Toon/Shader/UCTS_ShadingGradeMap.cginc deleted file mode 100644 index b3b3e8e..0000000 --- a/Assets/ProjectBlue/Packages/Toon/Shader/UCTS_ShadingGradeMap.cginc +++ /dev/null @@ -1,486 +0,0 @@ -//UCTS_ShadingGradeMap.cginc -//Unitychan Toon Shader ver.2.0 -//v.2.0.7.5 -//nobuyuki@unity3d.com -//https://github.com/unity3d-jp/UnityChanToonShaderVer2_Project -//(C)Unity Technologies Japan/UCL -//#pragma multi_compile _IS_TRANSCLIPPING_OFF _IS_TRANSCLIPPING_ON -//#pragma multi_compile _IS_ANGELRING_OFF _IS_ANGELRING_ON -//#pragma multi_compile _IS_PASS_FWDBASE _IS_PASS_FWDDELTA -//#include "UCTS_ShadingGradeMap.cginc" - - uniform sampler2D _MainTex; uniform float4 _MainTex_ST; - uniform float4 _BaseColor; - //v.2.0.5 - uniform float4 _Color; - uniform fixed _Use_BaseAs1st; - uniform fixed _Use_1stAs2nd; - // - uniform fixed _Is_LightColor_Base; - uniform sampler2D _1st_ShadeMap; uniform float4 _1st_ShadeMap_ST; - uniform float4 _1st_ShadeColor; - uniform fixed _Is_LightColor_1st_Shade; - uniform sampler2D _2nd_ShadeMap; uniform float4 _2nd_ShadeMap_ST; - uniform float4 _2nd_ShadeColor; - uniform fixed _Is_LightColor_2nd_Shade; - uniform sampler2D _NormalMap; uniform float4 _NormalMap_ST; - uniform fixed _Is_NormalMapToBase; - uniform fixed _Set_SystemShadowsToBase; - uniform float _Tweak_SystemShadowsLevel; - uniform sampler2D _ShadingGradeMap; uniform float4 _ShadingGradeMap_ST; - //v.2.0.6 - uniform float _Tweak_ShadingGradeMapLevel; - uniform fixed _BlurLevelSGM; - // - uniform float _1st_ShadeColor_Step; - uniform float _1st_ShadeColor_Feather; - uniform float _2nd_ShadeColor_Step; - uniform float _2nd_ShadeColor_Feather; - uniform float4 _HighColor; - uniform sampler2D _HighColor_Tex; uniform float4 _HighColor_Tex_ST; - uniform fixed _Is_LightColor_HighColor; - uniform fixed _Is_NormalMapToHighColor; - uniform float _HighColor_Power; - uniform fixed _Is_SpecularToHighColor; - uniform fixed _Is_BlendAddToHiColor; - uniform fixed _Is_UseTweakHighColorOnShadow; - uniform float _TweakHighColorOnShadow; - uniform sampler2D _Set_HighColorMask; uniform float4 _Set_HighColorMask_ST; - uniform float _Tweak_HighColorMaskLevel; - uniform fixed _RimLight; - uniform float4 _RimLightColor; - uniform fixed _Is_LightColor_RimLight; - uniform fixed _Is_NormalMapToRimLight; - uniform float _RimLight_Power; - uniform float _RimLight_InsideMask; - uniform fixed _RimLight_FeatherOff; - uniform fixed _LightDirection_MaskOn; - uniform float _Tweak_LightDirection_MaskLevel; - uniform fixed _Add_Antipodean_RimLight; - uniform float4 _Ap_RimLightColor; - uniform fixed _Is_LightColor_Ap_RimLight; - uniform float _Ap_RimLight_Power; - uniform fixed _Ap_RimLight_FeatherOff; - uniform sampler2D _Set_RimLightMask; uniform float4 _Set_RimLightMask_ST; - uniform float _Tweak_RimLightMaskLevel; - uniform fixed _MatCap; - uniform sampler2D _MatCap_Sampler; uniform float4 _MatCap_Sampler_ST; - uniform float4 _MatCapColor; - uniform fixed _Is_LightColor_MatCap; - uniform fixed _Is_BlendAddToMatCap; - uniform float _Tweak_MatCapUV; - uniform float _Rotate_MatCapUV; - uniform fixed _Is_NormalMapForMatCap; - uniform sampler2D _NormalMapForMatCap; uniform float4 _NormalMapForMatCap_ST; - uniform float _Rotate_NormalMapForMatCapUV; - uniform fixed _Is_UseTweakMatCapOnShadow; - uniform float _TweakMatCapOnShadow; - //MatcapMask - uniform sampler2D _Set_MatcapMask; uniform float4 _Set_MatcapMask_ST; - uniform float _Tweak_MatcapMaskLevel; - //v.2.0.5 - uniform fixed _Is_Ortho; - //v.2.0.6 - uniform float _CameraRolling_Stabilizer; - uniform fixed _BlurLevelMatcap; - uniform fixed _Inverse_MatcapMask; - uniform float _BumpScale; - uniform float _BumpScaleMatcap; - //Emissive - uniform sampler2D _Emissive_Tex; uniform float4 _Emissive_Tex_ST; - uniform float4 _Emissive_Color; - //v.2.0.7 - uniform fixed _Is_ViewCoord_Scroll; - uniform float _Rotate_EmissiveUV; - uniform float _Base_Speed; - uniform float _Scroll_EmissiveU; - uniform float _Scroll_EmissiveV; - uniform fixed _Is_PingPong_Base; - uniform float4 _ColorShift; - uniform float4 _ViewShift; - uniform float _ColorShift_Speed; - uniform fixed _Is_ColorShift; - uniform fixed _Is_ViewShift; - uniform float3 emissive; - // - uniform float _Unlit_Intensity; - //v.2.0.5 - uniform fixed _Is_Filter_HiCutPointLightColor; - uniform fixed _Is_Filter_LightColor; - //v.2.0.4.4 - uniform float _StepOffset; - uniform fixed _Is_BLD; - uniform float _Offset_X_Axis_BLD; - uniform float _Offset_Y_Axis_BLD; - uniform fixed _Inverse_Z_Axis_BLD; -//v.2.0.4 -#ifdef _IS_TRANSCLIPPING_OFF -// -#elif _IS_TRANSCLIPPING_ON - uniform sampler2D _ClippingMask; uniform float4 _ClippingMask_ST; - uniform fixed _IsBaseMapAlphaAsClippingMask; - uniform float _Clipping_Level; - uniform fixed _Inverse_Clipping; - uniform float _Tweak_transparency; -#endif - - // UV回転をする関数:RotateUV() - //float2 rotatedUV = RotateUV(i.uv0, (_angular_Verocity*3.141592654), float2(0.5, 0.5), _Time.g); - float2 RotateUV(float2 _uv, float _radian, float2 _piv, float _time) - { - float RotateUV_ang = _radian; - float RotateUV_cos = cos(_time*RotateUV_ang); - float RotateUV_sin = sin(_time*RotateUV_ang); - return (mul(_uv - _piv, float2x2( RotateUV_cos, -RotateUV_sin, RotateUV_sin, RotateUV_cos)) + _piv); - } - // - fixed3 DecodeLightProbe( fixed3 N ){ - return ShadeSH9(float4(N,1)); - } - - uniform float _GI_Intensity; -//v.2.0.4 -#ifdef _IS_ANGELRING_OFF -// -#elif _IS_ANGELRING_ON - uniform fixed _AngelRing; - uniform sampler2D _AngelRing_Sampler; uniform float4 _AngelRing_Sampler_ST; - uniform float4 _AngelRing_Color; - uniform fixed _Is_LightColor_AR; - uniform float _AR_OffsetU; - uniform float _AR_OffsetV; - uniform fixed _ARSampler_AlphaOn; - -#endif - struct VertexInput { - float4 vertex : POSITION; - float3 normal : NORMAL; - float4 tangent : TANGENT; - float2 texcoord0 : TEXCOORD0; -//v.2.0.4 -#ifdef _IS_ANGELRING_OFF -// -#elif _IS_ANGELRING_ON - float2 texcoord1 : TEXCOORD1; -#endif - }; - struct VertexOutput { - float4 pos : SV_POSITION; - float2 uv0 : TEXCOORD0; -//v.2.0.4 -#ifdef _IS_ANGELRING_OFF - float4 posWorld : TEXCOORD1; - float3 normalDir : TEXCOORD2; - float3 tangentDir : TEXCOORD3; - float3 bitangentDir : TEXCOORD4; - //v.2.0.7 - float mirrorFlag : TEXCOORD5; - LIGHTING_COORDS(6,7) - UNITY_FOG_COORDS(8) - // -#elif _IS_ANGELRING_ON - float2 uv1 : TEXCOORD1; - float4 posWorld : TEXCOORD2; - float3 normalDir : TEXCOORD3; - float3 tangentDir : TEXCOORD4; - float3 bitangentDir : TEXCOORD5; - //v.2.0.7 - float mirrorFlag : TEXCOORD6; - LIGHTING_COORDS(7,8) - UNITY_FOG_COORDS(9) - // -#endif - }; - VertexOutput vert (VertexInput v) { - VertexOutput o = (VertexOutput)0; - o.uv0 = v.texcoord0; -//v.2.0.4 -#ifdef _IS_ANGELRING_OFF -// -#elif _IS_ANGELRING_ON - o.uv1 = v.texcoord1; -#endif - o.normalDir = UnityObjectToWorldNormal(v.normal); - o.tangentDir = normalize( mul( unity_ObjectToWorld, float4( v.tangent.xyz, 0.0 ) ).xyz ); - o.bitangentDir = normalize(cross(o.normalDir, o.tangentDir) * v.tangent.w); - o.posWorld = mul(unity_ObjectToWorld, v.vertex); - float3 lightColor = _LightColor0.rgb; - o.pos = UnityObjectToClipPos( v.vertex ); - //v.2.0.7 鏡の中判定(右手座標系か、左手座標系かの判定)o.mirrorFlag = -1 なら鏡の中. - float3 crossFwd = cross(UNITY_MATRIX_V[0], UNITY_MATRIX_V[1]); - o.mirrorFlag = dot(crossFwd, UNITY_MATRIX_V[2]) < 0 ? 1 : -1; - // - UNITY_TRANSFER_FOG(o,o.pos); - TRANSFER_VERTEX_TO_FRAGMENT(o) - return o; - } - float4 frag(VertexOutput i, fixed facing : VFACE) : SV_TARGET { - i.normalDir = normalize(i.normalDir); - float3x3 tangentTransform = float3x3( i.tangentDir, i.bitangentDir, i.normalDir); - float3 viewDirection = normalize(_WorldSpaceCameraPos.xyz - i.posWorld.xyz); - float2 Set_UV0 = i.uv0; - //v.2.0.6 - float3 _NormalMap_var = UnpackScaleNormal(tex2D(_NormalMap,TRANSFORM_TEX(Set_UV0, _NormalMap)), _BumpScale); - float3 normalLocal = _NormalMap_var.rgb; - float3 normalDirection = normalize(mul( normalLocal, tangentTransform )); // Perturbed normals - float4 _MainTex_var = tex2D(_MainTex,TRANSFORM_TEX(Set_UV0, _MainTex)); -//v.2.0.4 -#ifdef _IS_TRANSCLIPPING_OFF -// -#elif _IS_TRANSCLIPPING_ON - float4 _ClippingMask_var = tex2D(_ClippingMask,TRANSFORM_TEX(Set_UV0, _ClippingMask)); - float Set_MainTexAlpha = _MainTex_var.a; - float _IsBaseMapAlphaAsClippingMask_var = lerp( _ClippingMask_var.r, Set_MainTexAlpha, _IsBaseMapAlphaAsClippingMask ); - float _Inverse_Clipping_var = lerp( _IsBaseMapAlphaAsClippingMask_var, (1.0 - _IsBaseMapAlphaAsClippingMask_var), _Inverse_Clipping ); - float Set_Clipping = saturate((_Inverse_Clipping_var+_Clipping_Level)); - clip(Set_Clipping - 0.5); -#endif - - UNITY_LIGHT_ATTENUATION(attenuation, i, i.posWorld.xyz); -//v.2.0.4 -#ifdef _IS_PASS_FWDBASE - float3 defaultLightDirection = normalize(UNITY_MATRIX_V[2].xyz + UNITY_MATRIX_V[1].xyz); - //v.2.0.5 - float3 defaultLightColor = saturate(max(half3(0.05,0.05,0.05)*_Unlit_Intensity,max(ShadeSH9(half4(0.0, 0.0, 0.0, 1.0)),ShadeSH9(half4(0.0, -1.0, 0.0, 1.0)).rgb)*_Unlit_Intensity)); - float3 customLightDirection = normalize(mul( unity_ObjectToWorld, float4(((float3(1.0,0.0,0.0)*_Offset_X_Axis_BLD*10)+(float3(0.0,1.0,0.0)*_Offset_Y_Axis_BLD*10)+(float3(0.0,0.0,-1.0)*lerp(-1.0,1.0,_Inverse_Z_Axis_BLD))),0)).xyz); - float3 lightDirection = normalize(lerp(defaultLightDirection,_WorldSpaceLightPos0.xyz,any(_WorldSpaceLightPos0.xyz))); - lightDirection = lerp(lightDirection, customLightDirection, _Is_BLD); - //v.2.0.5: - float3 lightColor = lerp(max(defaultLightColor,_LightColor0.rgb),max(defaultLightColor,saturate(_LightColor0.rgb)),_Is_Filter_LightColor); -#elif _IS_PASS_FWDDELTA - float3 lightDirection = normalize(lerp(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz - i.posWorld.xyz,_WorldSpaceLightPos0.w)); - //v.2.0.5: - float3 addPassLightColor = (0.5*dot(lerp( i.normalDir, normalDirection, _Is_NormalMapToBase ), lightDirection)+0.5) * _LightColor0.rgb * attenuation; - float pureIntencity = max(0.001,(0.299*_LightColor0.r + 0.587*_LightColor0.g + 0.114*_LightColor0.b)); - float3 lightColor = max(0, lerp(addPassLightColor, lerp(0,min(addPassLightColor,addPassLightColor/pureIntencity),_WorldSpaceLightPos0.w),_Is_Filter_LightColor)); -#endif -////// Lighting: - float3 halfDirection = normalize(viewDirection+lightDirection); - //v.2.0.5 - _Color = _BaseColor; - -#ifdef _IS_PASS_FWDBASE - float3 Set_LightColor = lightColor.rgb; - float3 Set_BaseColor = lerp( (_MainTex_var.rgb*_BaseColor.rgb), ((_MainTex_var.rgb*_BaseColor.rgb)*Set_LightColor), _Is_LightColor_Base ); - //v.2.0.5 - float4 _1st_ShadeMap_var = lerp(tex2D(_1st_ShadeMap,TRANSFORM_TEX(Set_UV0, _1st_ShadeMap)),_MainTex_var,_Use_BaseAs1st); - float3 _Is_LightColor_1st_Shade_var = lerp( (_1st_ShadeMap_var.rgb*_1st_ShadeColor.rgb), ((_1st_ShadeMap_var.rgb*_1st_ShadeColor.rgb)*Set_LightColor), _Is_LightColor_1st_Shade ); - float _HalfLambert_var = 0.5*dot(lerp( i.normalDir, normalDirection, _Is_NormalMapToBase ),lightDirection)+0.5; // Half Lambert - //float4 _ShadingGradeMap_var = tex2D(_ShadingGradeMap,TRANSFORM_TEX(Set_UV0, _ShadingGradeMap)); - //v.2.0.6 - float4 _ShadingGradeMap_var = tex2Dlod(_ShadingGradeMap,float4(TRANSFORM_TEX(Set_UV0, _ShadingGradeMap),0.0,_BlurLevelSGM)); - //v.2.0.6 - //Minmimum value is same as the Minimum Feather's value with the Minimum Step's value as threshold. - float _SystemShadowsLevel_var = (attenuation*0.5)+0.5+_Tweak_SystemShadowsLevel > 0.001 ? (attenuation*0.5)+0.5+_Tweak_SystemShadowsLevel : 0.0001; - float _ShadingGradeMapLevel_var = _ShadingGradeMap_var.r < 0.95 ? _ShadingGradeMap_var.r+_Tweak_ShadingGradeMapLevel : 1; - float Set_ShadingGrade = saturate(_ShadingGradeMapLevel_var)*lerp( _HalfLambert_var, (_HalfLambert_var*saturate(_SystemShadowsLevel_var)), _Set_SystemShadowsToBase ); - // - float Set_FinalShadowMask = saturate((1.0 + ( (Set_ShadingGrade - (_1st_ShadeColor_Step-_1st_ShadeColor_Feather)) * (0.0 - 1.0) ) / (_1st_ShadeColor_Step - (_1st_ShadeColor_Step-_1st_ShadeColor_Feather)))); // Base and 1st Shade Mask - float3 _BaseColor_var = lerp(Set_BaseColor,_Is_LightColor_1st_Shade_var,Set_FinalShadowMask); - //v.2.0.5 - float4 _2nd_ShadeMap_var = lerp(tex2D(_2nd_ShadeMap,TRANSFORM_TEX(Set_UV0, _2nd_ShadeMap)),_1st_ShadeMap_var,_Use_1stAs2nd); - float Set_ShadeShadowMask = saturate((1.0 + ( (Set_ShadingGrade - (_2nd_ShadeColor_Step-_2nd_ShadeColor_Feather)) * (0.0 - 1.0) ) / (_2nd_ShadeColor_Step - (_2nd_ShadeColor_Step-_2nd_ShadeColor_Feather)))); // 1st and 2nd Shades Mask - //Composition: 3 Basic Colors as Set_FinalBaseColor - float3 Set_FinalBaseColor = lerp(_BaseColor_var,lerp(_Is_LightColor_1st_Shade_var,lerp( (_2nd_ShadeMap_var.rgb*_2nd_ShadeColor.rgb), ((_2nd_ShadeMap_var.rgb*_2nd_ShadeColor.rgb)*Set_LightColor), _Is_LightColor_2nd_Shade ),Set_ShadeShadowMask),Set_FinalShadowMask); - float4 _Set_HighColorMask_var = tex2D(_Set_HighColorMask,TRANSFORM_TEX(Set_UV0, _Set_HighColorMask)); - float _Specular_var = 0.5*dot(halfDirection,lerp( i.normalDir, normalDirection, _Is_NormalMapToHighColor ))+0.5; // Specular - float _TweakHighColorMask_var = (saturate((_Set_HighColorMask_var.g+_Tweak_HighColorMaskLevel))*lerp( (1.0 - step(_Specular_var,(1.0 - pow(_HighColor_Power,5)))), pow(_Specular_var,exp2(lerp(11,1,_HighColor_Power))), _Is_SpecularToHighColor )); - float4 _HighColor_Tex_var = tex2D(_HighColor_Tex,TRANSFORM_TEX(Set_UV0, _HighColor_Tex)); - float3 _HighColor_var = (lerp( (_HighColor_Tex_var.rgb*_HighColor.rgb), ((_HighColor_Tex_var.rgb*_HighColor.rgb)*Set_LightColor), _Is_LightColor_HighColor )*_TweakHighColorMask_var); - //Composition: 3 Basic Colors and HighColor as Set_HighColor - float3 Set_HighColor = (lerp( saturate((Set_FinalBaseColor-_TweakHighColorMask_var)), Set_FinalBaseColor, lerp(_Is_BlendAddToHiColor,1.0,_Is_SpecularToHighColor) )+lerp( _HighColor_var, (_HighColor_var*((1.0 - Set_FinalShadowMask)+(Set_FinalShadowMask*_TweakHighColorOnShadow))), _Is_UseTweakHighColorOnShadow )); - float4 _Set_RimLightMask_var = tex2D(_Set_RimLightMask,TRANSFORM_TEX(Set_UV0, _Set_RimLightMask)); - float3 _Is_LightColor_RimLight_var = lerp( _RimLightColor.rgb, (_RimLightColor.rgb*Set_LightColor), _Is_LightColor_RimLight ); - float _RimArea_var = (1.0 - dot(lerp( i.normalDir, normalDirection, _Is_NormalMapToRimLight ),viewDirection)); - float _RimLightPower_var = pow(_RimArea_var,exp2(lerp(3,0,_RimLight_Power))); - float _Rimlight_InsideMask_var = saturate(lerp( (0.0 + ( (_RimLightPower_var - _RimLight_InsideMask) * (1.0 - 0.0) ) / (1.0 - _RimLight_InsideMask)), step(_RimLight_InsideMask,_RimLightPower_var), _RimLight_FeatherOff )); - float _VertHalfLambert_var = 0.5*dot(i.normalDir,lightDirection)+0.5; - float3 _LightDirection_MaskOn_var = lerp( (_Is_LightColor_RimLight_var*_Rimlight_InsideMask_var), (_Is_LightColor_RimLight_var*saturate((_Rimlight_InsideMask_var-((1.0 - _VertHalfLambert_var)+_Tweak_LightDirection_MaskLevel)))), _LightDirection_MaskOn ); - float _ApRimLightPower_var = pow(_RimArea_var,exp2(lerp(3,0,_Ap_RimLight_Power))); - float3 Set_RimLight = (saturate((_Set_RimLightMask_var.g+_Tweak_RimLightMaskLevel))*lerp( _LightDirection_MaskOn_var, (_LightDirection_MaskOn_var+(lerp( _Ap_RimLightColor.rgb, (_Ap_RimLightColor.rgb*Set_LightColor), _Is_LightColor_Ap_RimLight )*saturate((lerp( (0.0 + ( (_ApRimLightPower_var - _RimLight_InsideMask) * (1.0 - 0.0) ) / (1.0 - _RimLight_InsideMask)), step(_RimLight_InsideMask,_ApRimLightPower_var), _Ap_RimLight_FeatherOff )-(saturate(_VertHalfLambert_var)+_Tweak_LightDirection_MaskLevel))))), _Add_Antipodean_RimLight )); - //Composition: HighColor and RimLight as _RimLight_var - float3 _RimLight_var = lerp( Set_HighColor, (Set_HighColor+Set_RimLight), _RimLight ); - //Matcap - //v.2.0.6 : CameraRolling Stabilizer - //鏡スクリプト判定:_sign_Mirror = -1 なら、鏡の中と判定. - //v.2.0.7 - fixed _sign_Mirror = i.mirrorFlag; - // - float3 _Camera_Right = UNITY_MATRIX_V[0].xyz; - float3 _Camera_Front = UNITY_MATRIX_V[2].xyz; - float3 _Up_Unit = float3(0, 1, 0); - float3 _Right_Axis = cross(_Camera_Front, _Up_Unit); - //鏡の中なら反転. - if(_sign_Mirror < 0){ - _Right_Axis = -1 * _Right_Axis; - _Rotate_MatCapUV = -1 * _Rotate_MatCapUV; - }else{ - _Right_Axis = _Right_Axis; - } - float _Camera_Right_Magnitude = sqrt(_Camera_Right.x*_Camera_Right.x + _Camera_Right.y*_Camera_Right.y + _Camera_Right.z*_Camera_Right.z); - float _Right_Axis_Magnitude = sqrt(_Right_Axis.x*_Right_Axis.x + _Right_Axis.y*_Right_Axis.y + _Right_Axis.z*_Right_Axis.z); - float _Camera_Roll_Cos = dot(_Right_Axis, _Camera_Right) / (_Right_Axis_Magnitude * _Camera_Right_Magnitude); - float _Camera_Roll = acos(clamp(_Camera_Roll_Cos, -1, 1)); - fixed _Camera_Dir = _Camera_Right.y < 0 ? -1 : 1; - float _Rot_MatCapUV_var_ang = (_Rotate_MatCapUV*3.141592654) - _Camera_Dir*_Camera_Roll*_CameraRolling_Stabilizer; - //v.2.0.7 - float2 _Rot_MatCapNmUV_var = RotateUV(Set_UV0, (_Rotate_NormalMapForMatCapUV*3.141592654), float2(0.5, 0.5), 1.0); - //V.2.0.6 - float3 _NormalMapForMatCap_var = UnpackScaleNormal(tex2D(_NormalMapForMatCap,TRANSFORM_TEX(_Rot_MatCapNmUV_var, _NormalMapForMatCap)),_BumpScaleMatcap); - //v.2.0.5: MatCap with camera skew correction - float3 viewNormal = (mul(UNITY_MATRIX_V, float4(lerp( i.normalDir, mul( _NormalMapForMatCap_var.rgb, tangentTransform ).rgb, _Is_NormalMapForMatCap ),0))).rgb; - float3 NormalBlend_MatcapUV_Detail = viewNormal.rgb * float3(-1,-1,1); - float3 NormalBlend_MatcapUV_Base = (mul( UNITY_MATRIX_V, float4(viewDirection,0) ).rgb*float3(-1,-1,1)) + float3(0,0,1); - float3 noSknewViewNormal = NormalBlend_MatcapUV_Base*dot(NormalBlend_MatcapUV_Base, NormalBlend_MatcapUV_Detail)/NormalBlend_MatcapUV_Base.b - NormalBlend_MatcapUV_Detail; - float2 _ViewNormalAsMatCapUV = (lerp(noSknewViewNormal,viewNormal,_Is_Ortho).rg*0.5)+0.5; - // - //v.2.0.7 - float2 _Rot_MatCapUV_var = RotateUV((0.0 + ((_ViewNormalAsMatCapUV - (0.0+_Tweak_MatCapUV)) * (1.0 - 0.0) ) / ((1.0-_Tweak_MatCapUV) - (0.0+_Tweak_MatCapUV))), _Rot_MatCapUV_var_ang, float2(0.5, 0.5), 1.0); - //鏡の中ならUV左右反転. - if(_sign_Mirror < 0){ - _Rot_MatCapUV_var.x = 1-_Rot_MatCapUV_var.x; - }else{ - _Rot_MatCapUV_var = _Rot_MatCapUV_var; - } - //v.2.0.6 : LOD of Matcap - float4 _MatCap_Sampler_var = tex2Dlod(_MatCap_Sampler,float4(TRANSFORM_TEX(_Rot_MatCapUV_var, _MatCap_Sampler),0.0,_BlurLevelMatcap)); - // - //MatcapMask - float4 _Set_MatcapMask_var = tex2D(_Set_MatcapMask,TRANSFORM_TEX(Set_UV0, _Set_MatcapMask)); - float _Tweak_MatcapMaskLevel_var = saturate(lerp(_Set_MatcapMask_var.g, (1.0 - _Set_MatcapMask_var.g), _Inverse_MatcapMask) + _Tweak_MatcapMaskLevel); - float3 _Is_LightColor_MatCap_var = lerp( (_MatCap_Sampler_var.rgb*_MatCapColor.rgb), ((_MatCap_Sampler_var.rgb*_MatCapColor.rgb)*Set_LightColor), _Is_LightColor_MatCap ); - //v.2.0.6 : ShadowMask on Matcap in Blend mode : multiply - float3 Set_MatCap = lerp( _Is_LightColor_MatCap_var, (_Is_LightColor_MatCap_var*((1.0 - Set_FinalShadowMask)+(Set_FinalShadowMask*_TweakMatCapOnShadow)) + lerp(Set_HighColor*Set_FinalShadowMask*(1.0-_TweakMatCapOnShadow), float3(0.0, 0.0, 0.0), _Is_BlendAddToMatCap)), _Is_UseTweakMatCapOnShadow ); - // - //v.2.0.6 - //Composition: RimLight and MatCap as finalColor - //Broke down finalColor composition - float3 matCapColorOnAddMode = _RimLight_var+Set_MatCap*_Tweak_MatcapMaskLevel_var; - float _Tweak_MatcapMaskLevel_var_MultiplyMode = _Tweak_MatcapMaskLevel_var * lerp (1, (1 - (Set_FinalShadowMask)*(1 - _TweakMatCapOnShadow)), _Is_UseTweakMatCapOnShadow); - float3 matCapColorOnMultiplyMode = Set_HighColor*(1-_Tweak_MatcapMaskLevel_var_MultiplyMode) + Set_HighColor*Set_MatCap*_Tweak_MatcapMaskLevel_var_MultiplyMode + lerp(float3(0,0,0),Set_RimLight,_RimLight); - float3 matCapColorFinal = lerp(matCapColorOnMultiplyMode, matCapColorOnAddMode, _Is_BlendAddToMatCap); -//v.2.0.4 -#ifdef _IS_ANGELRING_OFF - float3 finalColor = lerp(_RimLight_var, matCapColorFinal, _MatCap);// Final Composition before Emissive - // -#elif _IS_ANGELRING_ON - float3 finalColor = lerp(_RimLight_var, matCapColorFinal, _MatCap);// Final Composition before AR - //v.2.0.7 AR Camera Rolling Stabilizer - float3 _AR_OffsetU_var = lerp(mul(UNITY_MATRIX_V, float4(i.normalDir,0)).xyz,float3(0,0,1),_AR_OffsetU); - float2 AR_VN = _AR_OffsetU_var.xy*0.5 + float2(0.5,0.5); - float2 AR_VN_Rotate = RotateUV(AR_VN, -(_Camera_Dir*_Camera_Roll), float2(0.5,0.5), 1.0); - float2 _AR_OffsetV_var = float2(AR_VN_Rotate.x, lerp(i.uv1.y, AR_VN_Rotate.y, _AR_OffsetV)); - float4 _AngelRing_Sampler_var = tex2D(_AngelRing_Sampler,TRANSFORM_TEX(_AR_OffsetV_var, _AngelRing_Sampler)); - float3 _Is_LightColor_AR_var = lerp( (_AngelRing_Sampler_var.rgb*_AngelRing_Color.rgb), ((_AngelRing_Sampler_var.rgb*_AngelRing_Color.rgb)*Set_LightColor), _Is_LightColor_AR ); - float3 Set_AngelRing = _Is_LightColor_AR_var; - float Set_ARtexAlpha = _AngelRing_Sampler_var.a; - float3 Set_AngelRingWithAlpha = (_Is_LightColor_AR_var*_AngelRing_Sampler_var.a); - //Composition: MatCap and AngelRing as finalColor - finalColor = lerp(finalColor, lerp((finalColor + Set_AngelRing), ((finalColor*(1.0 - Set_ARtexAlpha))+Set_AngelRingWithAlpha), _ARSampler_AlphaOn ), _AngelRing );// Final Composition before Emissive -#endif -//v.2.0.7 -#ifdef _EMISSIVE_SIMPLE - float4 _Emissive_Tex_var = tex2D(_Emissive_Tex,TRANSFORM_TEX(Set_UV0, _Emissive_Tex)); - float emissiveMask = _Emissive_Tex_var.a; - emissive = _Emissive_Tex_var.rgb * _Emissive_Color.rgb * emissiveMask; -#elif _EMISSIVE_ANIMATION - //v.2.0.7 Calculation View Coord UV for Scroll - float3 viewNormal_Emissive = (mul(UNITY_MATRIX_V, float4(i.normalDir,0))).xyz; - float3 NormalBlend_Emissive_Detail = viewNormal_Emissive * float3(-1,-1,1); - float3 NormalBlend_Emissive_Base = (mul( UNITY_MATRIX_V, float4(viewDirection,0)).xyz*float3(-1,-1,1)) + float3(0,0,1); - float3 noSknewViewNormal_Emissive = NormalBlend_Emissive_Base*dot(NormalBlend_Emissive_Base, NormalBlend_Emissive_Detail)/NormalBlend_Emissive_Base.z - NormalBlend_Emissive_Detail; - float2 _ViewNormalAsEmissiveUV = noSknewViewNormal_Emissive.xy*0.5+0.5; - float2 _ViewCoord_UV = RotateUV(_ViewNormalAsEmissiveUV, -(_Camera_Dir*_Camera_Roll), float2(0.5,0.5), 1.0); - //鏡の中ならUV左右反転. - if(_sign_Mirror < 0){ - _ViewCoord_UV.x = 1-_ViewCoord_UV.x; - }else{ - _ViewCoord_UV = _ViewCoord_UV; - } - float2 emissive_uv = lerp(i.uv0, _ViewCoord_UV, _Is_ViewCoord_Scroll); - // - float4 _time_var = _Time; - float _base_Speed_var = (_time_var.g*_Base_Speed); - float _Is_PingPong_Base_var = lerp(_base_Speed_var, sin(_base_Speed_var), _Is_PingPong_Base ); - float2 scrolledUV = emissive_uv + float2(_Scroll_EmissiveU, _Scroll_EmissiveV)*_Is_PingPong_Base_var; - float rotateVelocity = _Rotate_EmissiveUV*3.141592654; - float2 _rotate_EmissiveUV_var = RotateUV(scrolledUV, rotateVelocity, float2(0.5, 0.5), _Is_PingPong_Base_var); - float4 _Emissive_Tex_var = tex2D(_Emissive_Tex,TRANSFORM_TEX(Set_UV0, _Emissive_Tex)); - float emissiveMask = _Emissive_Tex_var.a; - _Emissive_Tex_var = tex2D(_Emissive_Tex,TRANSFORM_TEX(_rotate_EmissiveUV_var, _Emissive_Tex)); - float _colorShift_Speed_var = 1.0 - cos(_time_var.g*_ColorShift_Speed); - float viewShift_var = smoothstep( 0.0, 1.0, max(0,dot(normalDirection,viewDirection))); - float4 colorShift_Color = lerp(_Emissive_Color, lerp(_Emissive_Color, _ColorShift, _colorShift_Speed_var), _Is_ColorShift); - float4 viewShift_Color = lerp(_ViewShift, colorShift_Color, viewShift_var); - float4 emissive_Color = lerp(colorShift_Color, viewShift_Color, _Is_ViewShift); - emissive = emissive_Color.rgb * _Emissive_Tex_var.rgb * emissiveMask; -#endif -// - //v.2.0.6: GI_Intensity with Intensity Multiplier Filter - float3 envLightColor = DecodeLightProbe(normalDirection) < float3(1,1,1) ? DecodeLightProbe(normalDirection) : float3(1,1,1); - float envLightIntensity = 0.299*envLightColor.r + 0.587*envLightColor.g + 0.114*envLightColor.b <1 ? (0.299*envLightColor.r + 0.587*envLightColor.g + 0.114*envLightColor.b) : 1; - //Final Composition - finalColor = saturate(finalColor) + (envLightColor*envLightIntensity*_GI_Intensity*smoothstep(1,0,envLightIntensity/2)) + emissive; - - -#elif _IS_PASS_FWDDELTA - //v.2.0.4.4 - _1st_ShadeColor_Step = saturate(_1st_ShadeColor_Step + _StepOffset); - _2nd_ShadeColor_Step = saturate(_2nd_ShadeColor_Step + _StepOffset); - // - //v.2.0.5: If Added lights is directional, set 0 as _LightIntensity - float _LightIntensity = lerp(0,(0.299*_LightColor0.r + 0.587*_LightColor0.g + 0.114*_LightColor0.b)*attenuation,_WorldSpaceLightPos0.w) ; - //v.2.0.5: Filtering the high intensity zone of PointLights - float3 Set_LightColor = lerp(lightColor,lerp(lightColor,min(lightColor,_LightColor0.rgb*attenuation*_1st_ShadeColor_Step),_WorldSpaceLightPos0.w),_Is_Filter_HiCutPointLightColor); - // - float3 Set_BaseColor = lerp( (_MainTex_var.rgb*_BaseColor.rgb*_LightIntensity), ((_MainTex_var.rgb*_BaseColor.rgb)*Set_LightColor), _Is_LightColor_Base ); - //v.2.0.5 - float4 _1st_ShadeMap_var = lerp(tex2D(_1st_ShadeMap,TRANSFORM_TEX(Set_UV0, _1st_ShadeMap)),_MainTex_var,_Use_BaseAs1st); - float3 _Is_LightColor_1st_Shade_var = lerp( (_1st_ShadeMap_var.rgb*_1st_ShadeColor.rgb*_LightIntensity), ((_1st_ShadeMap_var.rgb*_1st_ShadeColor.rgb)*Set_LightColor), _Is_LightColor_1st_Shade ); - float _HalfLambert_var = 0.5*dot(lerp( i.normalDir, normalDirection, _Is_NormalMapToBase ),lightDirection)+0.5; // Half Lambert - //v.2.0.6 - float4 _ShadingGradeMap_var = tex2Dlod(_ShadingGradeMap,float4(TRANSFORM_TEX(Set_UV0, _ShadingGradeMap),0.0,_BlurLevelSGM)); - //v.2.0.6 - float _ShadingGradeMapLevel_var = _ShadingGradeMap_var.r < 0.95 ? _ShadingGradeMap_var.r+_Tweak_ShadingGradeMapLevel : 1; - float Set_ShadingGrade = saturate(_ShadingGradeMapLevel_var)*lerp( _HalfLambert_var, (_HalfLambert_var*saturate(1.0+_Tweak_SystemShadowsLevel)), _Set_SystemShadowsToBase ); - // - float Set_FinalShadowMask = saturate((1.0 + ( (Set_ShadingGrade - (_1st_ShadeColor_Step-_1st_ShadeColor_Feather)) * (0.0 - 1.0) ) / (_1st_ShadeColor_Step - (_1st_ShadeColor_Step-_1st_ShadeColor_Feather)))); // Base and 1st Shade Mask - float3 _BaseColor_var = lerp(Set_BaseColor,_Is_LightColor_1st_Shade_var,Set_FinalShadowMask); - //v.2.0.5 - float4 _2nd_ShadeMap_var = lerp(tex2D(_2nd_ShadeMap,TRANSFORM_TEX(Set_UV0, _2nd_ShadeMap)),_1st_ShadeMap_var,_Use_1stAs2nd); - float Set_ShadeShadowMask = saturate((1.0 + ( (Set_ShadingGrade - (_2nd_ShadeColor_Step-_2nd_ShadeColor_Feather)) * (0.0 - 1.0) ) / (_2nd_ShadeColor_Step - (_2nd_ShadeColor_Step-_2nd_ShadeColor_Feather)))); // 1st and 2nd Shades Mask - //Composition: 3 Basic Colors as finalColor - float3 finalColor = lerp(_BaseColor_var,lerp(_Is_LightColor_1st_Shade_var,lerp( (_2nd_ShadeMap_var.rgb*_2nd_ShadeColor.rgb*_LightIntensity), ((_2nd_ShadeMap_var.rgb*_2nd_ShadeColor.rgb)*Set_LightColor), _Is_LightColor_2nd_Shade ),Set_ShadeShadowMask),Set_FinalShadowMask); - - //v.2.0.6: Add HighColor if _Is_Filter_HiCutPointLightColor is False - float4 _Set_HighColorMask_var = tex2D(_Set_HighColorMask,TRANSFORM_TEX(Set_UV0, _Set_HighColorMask)); - float _Specular_var = 0.5*dot(halfDirection,lerp( i.normalDir, normalDirection, _Is_NormalMapToHighColor ))+0.5; // Specular - float _TweakHighColorMask_var = (saturate((_Set_HighColorMask_var.g+_Tweak_HighColorMaskLevel))*lerp( (1.0 - step(_Specular_var,(1.0 - pow(_HighColor_Power,5)))), pow(_Specular_var,exp2(lerp(11,1,_HighColor_Power))), _Is_SpecularToHighColor )); - float4 _HighColor_Tex_var = tex2D(_HighColor_Tex,TRANSFORM_TEX(Set_UV0, _HighColor_Tex)); - float3 _HighColor_var = (lerp( (_HighColor_Tex_var.rgb*_HighColor.rgb), ((_HighColor_Tex_var.rgb*_HighColor.rgb)*Set_LightColor), _Is_LightColor_HighColor )*_TweakHighColorMask_var); - finalColor = finalColor + lerp(lerp( _HighColor_var, (_HighColor_var*((1.0 - Set_FinalShadowMask)+(Set_FinalShadowMask*_TweakHighColorOnShadow))), _Is_UseTweakHighColorOnShadow ),float3(0,0,0),_Is_Filter_HiCutPointLightColor); - // - - finalColor = saturate(finalColor); -#endif - - -//v.2.0.4 -#ifdef _IS_TRANSCLIPPING_OFF - #ifdef _IS_PASS_FWDBASE - fixed4 finalRGBA = fixed4(finalColor,1); - #elif _IS_PASS_FWDDELTA - fixed4 finalRGBA = fixed4(finalColor,0); - #endif -#elif _IS_TRANSCLIPPING_ON - float Set_Opacity = saturate((_Inverse_Clipping_var+_Tweak_transparency)); - #ifdef _IS_PASS_FWDBASE - fixed4 finalRGBA = fixed4(finalColor,Set_Opacity); - #elif _IS_PASS_FWDDELTA - fixed4 finalRGBA = fixed4(finalColor * Set_Opacity,0); - #endif -#endif - - UNITY_APPLY_FOG(i.fogCoord, finalRGBA); - return finalRGBA; - } diff --git a/Assets/ProjectBlue/Packages/Toon/Shader/UCTS_ShadingGradeMap.cginc.meta b/Assets/ProjectBlue/Packages/Toon/Shader/UCTS_ShadingGradeMap.cginc.meta deleted file mode 100644 index f2d45d4..0000000 --- a/Assets/ProjectBlue/Packages/Toon/Shader/UCTS_ShadingGradeMap.cginc.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 975bd16123f555d4cb83cbe0947bc969 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/Toon/Shader/UCTS_ShadowCaster.cginc b/Assets/ProjectBlue/Packages/Toon/Shader/UCTS_ShadowCaster.cginc deleted file mode 100644 index 7258690..0000000 --- a/Assets/ProjectBlue/Packages/Toon/Shader/UCTS_ShadowCaster.cginc +++ /dev/null @@ -1,84 +0,0 @@ -//UCTS_ShadowCaster.cginc -//Unitychan Toon Shader ver.2.0 -//v.2.0.7.5 -//nobuyuki@unity3d.com -//https://github.com/unity3d-jp/UnityChanToonShaderVer2_Project -//(C)Unity Technologies Japan/UCL -//#pragma multi_compile _IS_CLIPPING_OFF _IS_CLIPPING_MODE _IS_CLIPPING_TRANSMODE -// -#ifdef _IS_CLIPPING_MODE -//_Clipping - uniform sampler2D _ClippingMask; uniform float4 _ClippingMask_ST; - uniform float _Clipping_Level; - uniform fixed _Inverse_Clipping; -#elif _IS_CLIPPING_TRANSMODE -//_TransClipping - uniform sampler2D _ClippingMask; uniform float4 _ClippingMask_ST; - uniform float _Clipping_Level; - uniform fixed _Inverse_Clipping; - uniform sampler2D _MainTex; uniform float4 _MainTex_ST; - uniform fixed _IsBaseMapAlphaAsClippingMask; -#elif _IS_CLIPPING_OFF -//Default -#endif - struct VertexInput { - float4 vertex : POSITION; -#ifdef _IS_CLIPPING_MODE -//_Clipping - float2 texcoord0 : TEXCOORD0; -#elif _IS_CLIPPING_TRANSMODE -//_TransClipping - float2 texcoord0 : TEXCOORD0; -#elif _IS_CLIPPING_OFF -//Default -#endif - }; - struct VertexOutput { - V2F_SHADOW_CASTER; -#ifdef _IS_CLIPPING_MODE -//_Clipping - float2 uv0 : TEXCOORD1; -#elif _IS_CLIPPING_TRANSMODE -//_TransClipping - float2 uv0 : TEXCOORD1; -#elif _IS_CLIPPING_OFF -//Default -#endif - }; - VertexOutput vert (VertexInput v) { - VertexOutput o = (VertexOutput)0; -#ifdef _IS_CLIPPING_MODE -//_Clipping - o.uv0 = v.texcoord0; -#elif _IS_CLIPPING_TRANSMODE -//_TransClipping - o.uv0 = v.texcoord0; -#elif _IS_CLIPPING_OFF -//Default -#endif - o.pos = UnityObjectToClipPos( v.vertex ); - TRANSFER_SHADOW_CASTER(o) - return o; - } - float4 frag(VertexOutput i) : SV_TARGET { -#ifdef _IS_CLIPPING_MODE -//_Clipping - float2 Set_UV0 = i.uv0; - float4 _ClippingMask_var = tex2D(_ClippingMask,TRANSFORM_TEX(Set_UV0, _ClippingMask)); - float Set_Clipping = saturate((lerp( _ClippingMask_var.r, (1.0 - _ClippingMask_var.r), _Inverse_Clipping )+_Clipping_Level)); - clip(Set_Clipping - 0.5); -#elif _IS_CLIPPING_TRANSMODE -//_TransClipping - float2 Set_UV0 = i.uv0; - float4 _ClippingMask_var = tex2D(_ClippingMask,TRANSFORM_TEX(Set_UV0, _ClippingMask)); - float4 _MainTex_var = tex2D(_MainTex,TRANSFORM_TEX(Set_UV0, _MainTex)); - float Set_MainTexAlpha = _MainTex_var.a; - float _IsBaseMapAlphaAsClippingMask_var = lerp( _ClippingMask_var.r, Set_MainTexAlpha, _IsBaseMapAlphaAsClippingMask ); - float _Inverse_Clipping_var = lerp( _IsBaseMapAlphaAsClippingMask_var, (1.0 - _IsBaseMapAlphaAsClippingMask_var), _Inverse_Clipping ); - float Set_Clipping = saturate((_Inverse_Clipping_var+_Clipping_Level)); - clip(Set_Clipping - 0.5); -#elif _IS_CLIPPING_OFF -//Default -#endif - SHADOW_CASTER_FRAGMENT(i) - } diff --git a/Assets/ProjectBlue/Packages/Toon/Shader/UCTS_ShadowCaster.cginc.meta b/Assets/ProjectBlue/Packages/Toon/Shader/UCTS_ShadowCaster.cginc.meta deleted file mode 100644 index 82c83b4..0000000 --- a/Assets/ProjectBlue/Packages/Toon/Shader/UCTS_ShadowCaster.cginc.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 88969529ba814a443a64b12be843983f -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM.meta b/Assets/ProjectBlue/Packages/VRM.meta deleted file mode 100644 index ea8a7b7..0000000 --- a/Assets/ProjectBlue/Packages/VRM.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 94f59e1247c606f488d366f20201c497 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler.meta b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler.meta deleted file mode 100644 index 826e91a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e509c0ca2ba866542b5dee8fee478ff5 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Editor.meta b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Editor.meta deleted file mode 100644 index 5bcc9e4..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Editor.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 8cd2bcb494688d7489fe6793710e5e0a -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Editor/Tests.meta b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Editor/Tests.meta deleted file mode 100644 index dbb76f6..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Editor/Tests.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ee2640c4fb81fa94dafbd7bdb0ff0c43 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Editor/Tests/DepthFirstScheduler.cs b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Editor/Tests/DepthFirstScheduler.cs deleted file mode 100644 index 1014108..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Editor/Tests/DepthFirstScheduler.cs +++ /dev/null @@ -1,24 +0,0 @@ -using NUnit.Framework; -using System.Linq; - - -namespace DepthFirstScheduler -{ - public class DepthFirstScheduler - { - [Test] - public void ScheduleTreeTest() - { - var s = Schedulable.Create(); - - var tasks = s.GetRoot().Traverse().ToArray(); - Assert.AreEqual(2, tasks.Length); - - var task_int = s.AddTask(Scheduler.CurrentThread, () => 0); - task_int = task_int.ContinueWith(Scheduler.CurrentThread, _ => 1); - - var status = s.Execute(); - Assert.AreEqual(ExecutionStatus.Done, status); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Editor/Tests/DepthFirstScheduler.cs.meta b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Editor/Tests/DepthFirstScheduler.cs.meta deleted file mode 100644 index 8053a0e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Editor/Tests/DepthFirstScheduler.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 3003e87b5df13394eadfda925bb816e5 -timeCreated: 1540294752 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Functor.cs b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Functor.cs deleted file mode 100644 index 3f7f6a5..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Functor.cs +++ /dev/null @@ -1,192 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; - -namespace DepthFirstScheduler -{ - public enum ExecutionStatus - { - Unknown, - Done, - Continue, // coroutine or schedulable - Error, - } - - public interface IFunctor - { - T GetResult(); - Exception GetError(); - ExecutionStatus Execute(); - } - - #region Functor - public class Functor : IFunctor - { - T m_result; - public T GetResult() - { - return m_result; - } - - Exception m_error; - public Exception GetError() - { - return m_error; - } - - Action m_pred; - public Functor(Func func) - { - m_pred = () => m_result = func(); - } - - public ExecutionStatus Execute() - { - try - { - m_pred(); - return ExecutionStatus.Done; - } - catch (Exception ex) - { - m_error = ex; - return ExecutionStatus.Error; - } - } - } - - public static class Functor - { - /// - /// 引数の型を隠蔽した実行器を生成する - /// - /// 引数の型 - /// 結果の型 - /// - /// - /// - public static Functor Create(Func arg, Func pred) - { - return new Functor(() => pred(arg())); - } - } - #endregion - - #region CoroutineFunctor - public class CoroutineFunctor : IFunctor - { - T m_result; - public T GetResult() - { - return m_result; - } - - Exception m_error; - public Exception GetError() - { - return m_error; - } - - Func m_arg; - Func m_starter; - Stack m_it; - public CoroutineFunctor(Func arg, Func starter) - { - m_arg = arg; - m_starter = starter; - } - - public ExecutionStatus Execute() - { - if (m_it == null) - { - m_result = m_arg(); - m_it = new Stack(); - m_it.Push(m_starter(m_result)); - } - - try - { - if (m_it.Count!=0) - { - if (m_it.Peek().MoveNext()) - { - var nested = m_it.Peek().Current as IEnumerator; - if (nested!=null) - { - m_it.Push(nested); - } - } - else - { - m_it.Pop(); - } - return ExecutionStatus.Continue; - } - else - { - return ExecutionStatus.Done; - } - - } - catch(Exception ex) - { - m_error = ex; - return ExecutionStatus.Error; - } - } - } - - public static class CoroutineFunctor - { - public static CoroutineFunctor Create(Func arg, Func starter) - { - return new CoroutineFunctor(arg, starter); - } - } - #endregion - - /* - public class SchedulableFunctor : IFunctor - { - Schedulable m_schedulable; - Func> m_starter; - TaskChain m_chain; - - public SchedulableFunctor(Func> starter) - { - m_starter = starter; - } - - public ExecutionStatus Execute() - { - if (m_chain == null) - { - m_schedulable = m_starter(); - m_chain = TaskChain.Schedule(m_schedulable, ex => m_error = ex); - } - - return m_chain.Next(); - } - - Exception m_error; - public Exception GetError() - { - return m_error; - } - - public T GetResult() - { - return m_schedulable.Func.GetResult(); - } - } - - public static class SchedulableFunctor - { - public static SchedulableFunctor Create(Func> starter) - { - return new SchedulableFunctor(starter); - } - } - */ -} diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Functor.cs.meta b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Functor.cs.meta deleted file mode 100644 index 713019b..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Functor.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: c320f3f577dde634a871dc88266c2a20 -timeCreated: 1520084196 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/IEnumeratorExtensions.cs b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/IEnumeratorExtensions.cs deleted file mode 100644 index c7b4b3c..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/IEnumeratorExtensions.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System.Collections; -using System.Collections.Generic; - - -namespace - DepthFirstScheduler -{ - public static class IEnumeratorExtensions - { - public static void CoroutinetoEnd(this IEnumerator coroutine) - { - var stack = new Stack(); - stack.Push(coroutine); - while (stack.Count > 0) - { - if (stack.Peek().MoveNext()) - { - var nested = stack.Peek().Current as IEnumerator; - if (nested != null) - { - stack.Push(nested); - } - } - else - { - stack.Pop(); - } - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/LockQueue.cs b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/LockQueue.cs deleted file mode 100644 index 205edb0..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/LockQueue.cs +++ /dev/null @@ -1,95 +0,0 @@ -using System.Collections; -using System.Collections.Generic; - - -namespace DepthFirstScheduler -{ - public class LockQueue where T : class - { - List m_queue = new List(); - public int Count - { - get - { - lock (((ICollection)m_queue).SyncRoot) - { - return m_queue.Count; - } - } - } - - public void Enqueue(T t) - { - lock (((ICollection)m_queue).SyncRoot) - { - m_queue.Add(t); - } - } - - public T Dequeue(out int remain) - { - lock (((ICollection)m_queue).SyncRoot) - { - if (m_queue.Count == 0) - { - remain = 0; - return null; - } - var item = m_queue[0]; - m_queue.RemoveAt(0); - remain = m_queue.Count; - return item; - } - } - - public T Dequeue() - { - lock (((ICollection)m_queue).SyncRoot) - { - if (m_queue.Count == 0) return null; - var item = m_queue[0]; - m_queue.RemoveAt(0); - return item; - } - } - } - - public class LockQueueForValue where T : struct - { - List m_queue = new List(); - public int Count - { - get - { - lock (((ICollection)m_queue).SyncRoot) - { - return m_queue.Count; - } - } - } - - public void Enqueue(T t) - { - lock (((ICollection)m_queue).SyncRoot) - { - m_queue.Add(t); - } - } - - public bool TryDequeue(out T t) - { - lock (((ICollection)m_queue).SyncRoot) - { - if (m_queue.Count == 0) - { - t = default(T); - return false; - } - - t = m_queue[0]; - m_queue.RemoveAt(0); - return true; - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/LockQueue.cs.meta b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/LockQueue.cs.meta deleted file mode 100644 index cc5d5cf..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/LockQueue.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: f6b1eb436e400704ab6e2ad6eff29f4b -timeCreated: 1519978475 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/MainThreadDispatcher.cs b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/MainThreadDispatcher.cs deleted file mode 100644 index 82e254e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/MainThreadDispatcher.cs +++ /dev/null @@ -1,150 +0,0 @@ -using System; -using System.Collections.Generic; -using UnityEngine; - -namespace DepthFirstScheduler -{ - /// - /// UniRxのMainThreadDispatcherを参考にした。 - /// * https://github.com/neuecc/UniRx/blob/master/Assets/Plugins/UniRx/Scripts/UnityEngineBridge/MainThreadDispatcher.cs - /// - public class MainThreadDispatcher : MonoBehaviour - { - - [Header("Debug")] - public int TaskCount; - - IEnumerable Ancestors(Transform t) - { - yield return t; - - if (t.parent != null) - { - foreach (var x in Ancestors(t.parent)) - { - yield return x; - } - } - } - - private void Update() - { - TaskCount = Scheduler.MainThread.UpdateAndGetTaskCount(); - } - - static MainThreadDispatcher instance; - static bool initialized; - static bool isQuitting = false; - - public static bool IsInitialized - { - get { return initialized && instance != null; } - } - - [ThreadStatic] - static object mainThreadToken; - - public static MainThreadDispatcher Instance - { - get - { - Initialize(); - return instance; - } - } - - public static void Initialize() - { - if (!initialized) - { -#if UNITY_EDITOR - if (!Application.isPlaying) - { - return; - } -#endif - MainThreadDispatcher dispatcher = null; - - try - { - dispatcher = GameObject.FindObjectOfType(); - } - catch - { - // Throw exception when calling from a worker thread. - var ex = new Exception( - "DepthFirstScheduler requires a MainThreadDispatcher component created on the main thread." - + " Make sure it is added to the scene before calling DepthFirstScheduler from a worker thread."); - UnityEngine.Debug.LogException(ex); - throw ex; - } - - if (isQuitting) - { - // don't create new instance after quitting - // avoid "Some objects were not cleaned up when closing the scene find target" error. - return; - } - - if (dispatcher == null) - { - // awake call immediately from UnityEngine - new GameObject("DepthFirstScheduler").AddComponent(); - } - else - { - dispatcher.Awake(); // force awake - } - } - } - - public static bool IsInMainThread - { - get - { - return (mainThreadToken != null); - } - } - - - void Awake() - { - if (instance == null) - { - Debug.Log("Initialize UniTask.MainThredDispatcher"); - - instance = this; - mainThreadToken = new object(); - initialized = true; - - DontDestroyOnLoad(gameObject); - } - else - { - if (this != instance) - { - Debug.LogWarning("There is already a MainThreadDispatcher in the scene."); - } - } - } - - void OnDestroy() - { - if (instance == this) - { - instance = GameObject.FindObjectOfType(); - initialized = instance != null; - } - - if (Scheduler.SingleWorkerThread != null) - { - Scheduler.SingleWorkerThread.Dispose(); - } - } - - void OnApplicationQuit() - { - isQuitting = true; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/MainThreadDispatcher.cs.meta b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/MainThreadDispatcher.cs.meta deleted file mode 100644 index 5777e1a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/MainThreadDispatcher.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: b030a9507e46dd3488c080be0227b219 -timeCreated: 1519977925 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/MonitorQueue.cs b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/MonitorQueue.cs deleted file mode 100644 index 79bf982..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/MonitorQueue.cs +++ /dev/null @@ -1,47 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Threading; - - -namespace DepthFirstScheduler -{ - /// - /// http://blogs.msdn.com/b/toub/archive/2006/04/12/blocking-queues.aspx - /// - /// 終了を通知するにはnullを投入する手が使える - /// - /// - public class MonitorQueue - { - private Int32 _count = 0; - public Int32 Count - { - get - { - return _count; - } - } - - private Queue _queue = new Queue(); - - public T Dequeue() - { - lock (_queue) - { - while (_count <= 0) Monitor.Wait(_queue); - _count--; - return _queue.Dequeue(); - } - } - - public void Enqueue(T data) - { - lock (_queue) - { - _queue.Enqueue(data); - _count++; - Monitor.Pulse(_queue); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/MonitorQueue.cs.meta b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/MonitorQueue.cs.meta deleted file mode 100644 index 2b63917..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/MonitorQueue.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 5e968e04ff53e1c4a9a2869b7cf76055 -timeCreated: 1519990411 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Schedulable.cs b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Schedulable.cs deleted file mode 100644 index 411f629..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Schedulable.cs +++ /dev/null @@ -1,241 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -#if ((NET_4_6 || NET_STANDARD_2_0) && UNITY_2017_1_OR_NEWER) -using System.Threading.Tasks; -#endif - -namespace DepthFirstScheduler -{ - public interface ISchedulable - { - /// 実行が終了したか?Coroutineの実行が一回で終わらない場合がある - ExecutionStatus Execute(); - Exception GetError(); - IScheduler Schedulder { get; } - - ISchedulable Parent { get; set; } - void AddChild(ISchedulable child); - IEnumerable Traverse(); - } - - public static class ISchedulableExtensions - { - public static ISchedulable GetRoot(this ISchedulable self) - { - var current = self; - while (current.Parent != null) - { - current = current.Parent; - } - return current; - } - } - - public class NoParentException: Exception - { - public NoParentException():base("No parent task can't ContinueWith or OnExecute. First AddTask") - { - } - } - - public class Schedulable : ISchedulable - { - List m_children = new List(); - public void AddChild(ISchedulable child) - { - child.Parent = this; - m_children.Add(child); - } - public IEnumerable Traverse() - { - yield return this; - - foreach (var child in m_children) - { - foreach (var x in child.Traverse()) - { - yield return x; - } - } - } - - public ISchedulable Parent - { - get; - set; - } - - public IScheduler Schedulder - { - get; - private set; - } - - public IFunctor Func - { - get; - private set; - } - - public Exception GetError() - { - return Func.GetError(); - } - - public Schedulable() - { - } - - public Schedulable(IScheduler scheduler, IFunctor func) - { - Schedulder = scheduler; - Func = func; - } - - public ExecutionStatus Execute() - { - if (Func == null) - { - return ExecutionStatus.Done; - } - return Func.Execute(); - } - - /// - /// スケジュールされたタスクをすべて即時に実行する - /// - public void ExecuteAll() - { - foreach (var x in this.GetRoot().Traverse()) - { - while (true) - { - var status = x.Execute(); - if (status != ExecutionStatus.Continue) - { - if (status == ExecutionStatus.Error) - { - throw x.GetError(); - } - break; - } - // Coroutineタスクが継続している - } - } - } - - public Schedulable AddTask(IScheduler scheduler, Action pred) - { - return AddTask(scheduler, () => { pred(); return Unit.Default; }); - } - - public Schedulable AddTask(IScheduler scheduler, Func pred) - { - var schedulable = new Schedulable(scheduler, Functor.Create(() => Unit.Default, _ => pred())); - AddChild(schedulable); - return schedulable; - } - - public Schedulable AddCoroutine(IScheduler scheduler, Func starter) - { - var func = CoroutineFunctor.Create(() => default(T), _ => starter()); - var schedulable = new Schedulable(scheduler, func); - AddChild(schedulable); - return schedulable; - } - - public Schedulable ContinueWith(IScheduler scheduler, Action pred) - { - return ContinueWith(scheduler, t => { pred(t); return Unit.Default; }); - } - - public Schedulable ContinueWith(IScheduler scheduler, Func pred) - { - if (Parent == null) - { - throw new NoParentException(); - } - - Func getResult = null; - if (Func != null) - { - getResult = Func.GetResult; - } - var func = Functor.Create(getResult, pred); - var schedulable = new Schedulable(scheduler, func); - Parent.AddChild(schedulable); - return schedulable; - } - - public Schedulable ContinueWithCoroutine(IScheduler scheduler, Func starter) - { - if (Parent == null) - { - throw new NoParentException(); - } - - var func = CoroutineFunctor.Create(() => default(T), _ => starter()); - var schedulable = new Schedulable(scheduler, func); - Parent.AddChild(schedulable); - return schedulable; - } - - public Schedulable OnExecute(IScheduler scheduler, Action> pred) - { - if (Parent == null) - { - throw new NoParentException(); - } - - Func getResult = null; - if (Func != null) - { - getResult = Func.GetResult; - } - - var schedulable = new Schedulable(); - schedulable.Func = Functor.Create(getResult, _ => { pred(schedulable); return Unit.Default; }); - Parent.AddChild(schedulable); - return schedulable; - } - } - - public static class Schedulable - { - public static Schedulable Create() - { - return new Schedulable().AddTask(Scheduler.CurrentThread, () => - { - }); - } - } - - public static class SchedulableExtensions - { - public static void Subscribe( - this Schedulable schedulable, - IScheduler scheduler, - Action onCompleted, - Action onError) - { - schedulable.ContinueWith(scheduler, onCompleted); - TaskChain.Schedule(schedulable.GetRoot(), onError); - } - -#if ((NET_4_6 || NET_STANDARD_2_0) && UNITY_2017_1_OR_NEWER) - public static Task ToTask(this Schedulable schedulable) - { - return ToTask(schedulable, Scheduler.MainThread); - } - - public static Task ToTask(this Schedulable schedulable, IScheduler scheduler) - { - var tcs = new TaskCompletionSource(); - schedulable.Subscribe(scheduler, r => tcs.TrySetResult(r), ex => tcs.TrySetException(ex)); - return tcs.Task; - } -#endif - - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Schedulable.cs.meta b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Schedulable.cs.meta deleted file mode 100644 index 439f4a2..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Schedulable.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 45e21e7db278f344fbaeffc4c4b82b1e -timeCreated: 1519981307 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler.cs b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler.cs deleted file mode 100644 index 41d898f..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System; - -namespace DepthFirstScheduler -{ - public interface IScheduler : IDisposable - { - void Enqueue(TaskChain item); - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler.cs.meta b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler.cs.meta deleted file mode 100644 index 38b4375..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 5a160dc164df4094dbbc892055ac82ae -timeCreated: 1520084097 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler.meta b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler.meta deleted file mode 100644 index 9ca5002..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d19246637ebeaf94ea3c676f9e3bf667 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler/CurrentThreadScheduler.cs b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler/CurrentThreadScheduler.cs deleted file mode 100644 index 2fa03e2..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler/CurrentThreadScheduler.cs +++ /dev/null @@ -1,102 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; - -namespace DepthFirstScheduler -{ - public static partial class Scheduler - { - private static IScheduler currentThread; - - public static IScheduler CurrentThread - { - get { return currentThread ?? (currentThread = new CurrentThreadScheduler()); } - } - - public class CurrentThreadScheduler : IScheduler - { - [ThreadStatic] - private static Queue queue; - - private static Queue GetQueue() - { - return queue; - } - - private static void SetQueue(Queue newQueue) - { - queue = newQueue; - } - - public void Enqueue(TaskChain item) - { - var q = GetQueue(); - - if (q == null) - { - q = new Queue(5); - q.Enqueue(item); - SetQueue(q); - - try - { - Trampoline.Run(q); - } - finally - { - SetQueue(null); - } - } - else - { - q.Enqueue(item); - } - } - - #region IDisposable Support - - private bool disposedValue = false; - - protected virtual void Dispose(bool disposing) - { - if (!disposedValue) - { - if (disposing) - { - var queue = GetQueue(); - if (queue != null) queue.Clear(); - SetQueue(null); - } - disposedValue = true; - } - } - - public void Dispose() - { - Dispose(true); - } - - #endregion - } - - static class Trampoline - { - public static void Run(Queue queue) - { - while (queue.Count > 0) - { - var chain = queue.Dequeue(); - - while (true) - { - var status = chain.Next(); - if (status != ExecutionStatus.Continue) - { - break; - } - } - } - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler/CurrentThreadScheduler.cs.meta b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler/CurrentThreadScheduler.cs.meta deleted file mode 100644 index 57b7907..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler/CurrentThreadScheduler.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 21979cc7137a17d4ea8b6202381a02d0 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler/StepScheduler.cs b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler/StepScheduler.cs deleted file mode 100644 index e5406eb..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler/StepScheduler.cs +++ /dev/null @@ -1,52 +0,0 @@ -namespace DepthFirstScheduler -{ - public static partial class Scheduler - { - private static StepScheduler mainThread; - - public static StepScheduler MainThread - { - get - { - if (mainThread != null) return mainThread; - mainThread = new StepScheduler(); - MainThreadDispatcher.Initialize(); - return mainThread; - } - } - - public class StepScheduler : IScheduler - { - LockQueue m_taskQueue = new LockQueue(); - - public void Enqueue(TaskChain item) - { - m_taskQueue.Enqueue(item); - } - - TaskChain m_chain; - - public int UpdateAndGetTaskCount() - { - if (m_chain != null) - { - var status = m_chain.Next(); - if (status == ExecutionStatus.Continue) - { - // m_item継続中 - return m_taskQueue.Count; - } - m_chain = null; - } - - int count; - m_chain = m_taskQueue.Dequeue(out count); - return count; - } - - public void Dispose() - { - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler/StepScheduler.cs.meta b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler/StepScheduler.cs.meta deleted file mode 100644 index f5e8c09..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler/StepScheduler.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 84161938c020c37419bc79f021f849fb -timeCreated: 1520062584 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler/ThreadPoolScheduler.cs b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler/ThreadPoolScheduler.cs deleted file mode 100644 index 6c2dbea..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler/ThreadPoolScheduler.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System; - -namespace DepthFirstScheduler -{ - public static partial class Scheduler - { - private static IScheduler threadPool; - - public static IScheduler ThreadPool - { - get { return threadPool ?? (threadPool = new ThreadPoolScheduler()); } - } - - public class ThreadPoolScheduler : IScheduler - { - public void Enqueue(TaskChain item) - { - System.Threading.ThreadPool.QueueUserWorkItem(_ => - { - if (item == null) - { - return; - } - - while (true) - { - var status = item.Next(); - if (status != ExecutionStatus.Continue) - { - break; - } - } - - }); - } - - public void Dispose() - { - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler/ThreadPoolScheduler.cs.meta b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler/ThreadPoolScheduler.cs.meta deleted file mode 100644 index 42a8066..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler/ThreadPoolScheduler.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: d8a8d78a486bbdf4b95ae83d02b480d8 -timeCreated: 1524110819 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler/ThreadScheduler.cs b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler/ThreadScheduler.cs deleted file mode 100644 index 0c44c55..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler/ThreadScheduler.cs +++ /dev/null @@ -1,101 +0,0 @@ -using System; -using System.Threading; - -namespace DepthFirstScheduler -{ - public static partial class Scheduler - { - private static IScheduler singleWorkerThread; - - public static IScheduler SingleWorkerThread - { - get { return singleWorkerThread ?? (singleWorkerThread = new ThreadScheduler()); } - } - - public class ThreadScheduler : IScheduler - { - MonitorQueue m_queue = new MonitorQueue(); - - Thread m_thread; - - public ThreadScheduler() - { - // start worker thread - m_thread = new Thread(new ParameterizedThreadStart(Worker)); - m_thread.Start(m_queue); - } - - static void Worker(Object arg) - { - MonitorQueue queue = (MonitorQueue)arg; - while (true) - { - var chain = queue.Dequeue(); - if (chain == null) - { - break; - } - - while (true) - { - var status = chain.Next(); - if (status != ExecutionStatus.Continue) - { - break; - } - } - } - - // end - } - - public void Enqueue(TaskChain item) - { - m_queue.Enqueue(item); - } - - #region IDisposable Support - - private bool disposedValue = false; // 重複する呼び出しを検出するには - - protected virtual void Dispose(bool disposing) - { - if (!disposedValue) - { - if (disposing) - { - // TODO: マネージ状態を破棄します (マネージ オブジェクト)。 - if (m_thread != null) - { - m_queue.Enqueue(null); - m_thread.Join(); - m_thread = null; - } - } - - // TODO: アンマネージ リソース (アンマネージ オブジェクト) を解放し、下のファイナライザーをオーバーライドします。 - // TODO: 大きなフィールドを null に設定します。 - - disposedValue = true; - } - } - - // TODO: 上の Dispose(bool disposing) にアンマネージ リソースを解放するコードが含まれる場合にのみ、ファイナライザーをオーバーライドします。 - // ~ThreadScheduler() { - // // このコードを変更しないでください。クリーンアップ コードを上の Dispose(bool disposing) に記述します。 - // Dispose(false); - // } - - // このコードは、破棄可能なパターンを正しく実装できるように追加されました。 - public void Dispose() - { - // このコードを変更しないでください。クリーンアップ コードを上の Dispose(bool disposing) に記述します。 - Dispose(true); - // TODO: 上のファイナライザーがオーバーライドされる場合は、次の行のコメントを解除してください。 - // GC.SuppressFinalize(this); - } - - #endregion - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler/ThreadScheduler.cs.meta b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler/ThreadScheduler.cs.meta deleted file mode 100644 index 9e4cb55..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Scheduler/ThreadScheduler.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 8df1de98bdc0b534bbe68e8f2f8a858f -timeCreated: 1520062592 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/TaskChain.cs b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/TaskChain.cs deleted file mode 100644 index f5a05eb..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/TaskChain.cs +++ /dev/null @@ -1,91 +0,0 @@ -using System; -using System.Linq; -using System.Collections.Generic; - - -namespace DepthFirstScheduler -{ - public enum ChainStatus - { - Unknown, - Continue, - Done, - Error, - } - - public class TaskChain - { - public IEnumerator Enumerator; - public Action OnError; - public ChainStatus ChainStatus; - - public static TaskChain Schedule(ISchedulable schedulable, Action onError) - { - var item = new TaskChain - { - Enumerator = schedulable.Traverse().GetEnumerator(), - OnError = onError - }; - - if (item.Enumerator.MoveNext()) - { - if (item.Enumerator.Current.Schedulder == null) - { - // default - Scheduler.MainThread.Enqueue(item); - } - else - { - item.Enumerator.Current.Schedulder.Enqueue(item); - } - } - - return item; - } - - /// - /// - /// - /// - public ExecutionStatus Next() - { - if (this.ChainStatus == ChainStatus.Done - || this.ChainStatus== ChainStatus.Error) - { - return ExecutionStatus.Done; - } - - { - var status = Enumerator.Current.Execute(); - if (status == ExecutionStatus.Error) - { - ChainStatus = ChainStatus.Error; - OnError(Enumerator.Current.GetError()); - } - if (status == ExecutionStatus.Continue) - { - // 中断(coroutine) - ChainStatus = ChainStatus.Continue; - return ExecutionStatus.Continue; - } - } - - if (!Enumerator.MoveNext()) - { - // 終了 - ChainStatus = ChainStatus.Done; - return ExecutionStatus.Done; - } - - if (Enumerator.Current.Schedulder != null) - { - // Scheduleして中断 - ChainStatus = ChainStatus.Continue; - Enumerator.Current.Schedulder.Enqueue(this); - return ExecutionStatus.Done; - } - - return Next(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/TaskChain.cs.meta b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/TaskChain.cs.meta deleted file mode 100644 index e50b9f1..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/TaskChain.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 38fc7e076ba93a847ad72d3d459d06b6 -timeCreated: 1520084019 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Unit.cs b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Unit.cs deleted file mode 100644 index fed9eb6..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Unit.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System; - -namespace DepthFirstScheduler -{ - [Serializable] - public struct Unit : IEquatable - { - static readonly Unit @default = new Unit(); - - public static Unit Default { get { return @default; } } - - public static bool operator ==(Unit first, Unit second) - { - return true; - } - - public static bool operator !=(Unit first, Unit second) - { - return false; - } - - public bool Equals(Unit other) - { - return true; - } - public override bool Equals(object obj) - { - return obj is Unit; - } - - public override int GetHashCode() - { - return 0; - } - - public override string ToString() - { - return "()"; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Unit.cs.meta b/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Unit.cs.meta deleted file mode 100644 index 24f0ea5..0000000 --- a/Assets/ProjectBlue/Packages/VRM/DepthFirstScheduler/Unit.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 98bd42f8c3a895d4bac6cbcf523878bb -timeCreated: 1520081817 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/MToon.meta b/Assets/ProjectBlue/Packages/VRM/MToon.meta deleted file mode 100644 index daa1c1a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/MToon.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 096830ccae07d264bb67dae034c5d87b -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/MToon/MToon.meta b/Assets/ProjectBlue/Packages/VRM/MToon/MToon.meta deleted file mode 100644 index 027049a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/MToon/MToon.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 5a93e49bd768975479f3f94f477d1539 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Editor.meta b/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Editor.meta deleted file mode 100644 index e0f19e3..0000000 --- a/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Editor.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 659b388e7cd15394b973770bc6dc03db -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Editor/MToonInspector.cs b/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Editor/MToonInspector.cs deleted file mode 100644 index 4395f05..0000000 --- a/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Editor/MToonInspector.cs +++ /dev/null @@ -1,307 +0,0 @@ -using System; -using System.Linq; -using UnityEditor; -using UnityEngine; -using UnityEngine.Rendering; - -namespace MToon -{ - public class MToonInspector : ShaderGUI - { - private MaterialProperty _blendMode; - private MaterialProperty _bumpMap; - private MaterialProperty _bumpScale; - private MaterialProperty _color; - private MaterialProperty _cullMode; -// private MaterialProperty _outlineCullMode; - private MaterialProperty _cutoff; - - private MaterialProperty _debugMode; - private MaterialProperty _emissionColor; - private MaterialProperty _emissionMap; - private MaterialProperty _lightColorAttenuation; - private MaterialProperty _indirectLightIntensity; - private MaterialProperty _mainTex; - private MaterialProperty _outlineColor; - private MaterialProperty _outlineColorMode; - private MaterialProperty _outlineLightingMix; - private MaterialProperty _outlineWidth; - private MaterialProperty _outlineScaledMaxDistance; - private MaterialProperty _outlineWidthMode; - private MaterialProperty _outlineWidthTexture; - private MaterialProperty _receiveShadowRate; - private MaterialProperty _receiveShadowTexture; - private MaterialProperty _shadingGradeRate; - private MaterialProperty _shadingGradeTexture; - private MaterialProperty _shadeColor; - private MaterialProperty _shadeShift; - private MaterialProperty _shadeTexture; - private MaterialProperty _shadeToony; - private MaterialProperty _sphereAdd; - - public override void OnGUI(MaterialEditor materialEditor, MaterialProperty[] properties) - { - _debugMode = FindProperty(Utils.PropDebugMode, properties); - _outlineWidthMode = FindProperty(Utils.PropOutlineWidthMode, properties); - _outlineColorMode = FindProperty(Utils.PropOutlineColorMode, properties); - _blendMode = FindProperty(Utils.PropBlendMode, properties); - _cullMode = FindProperty(Utils.PropCullMode, properties); -// _outlineCullMode = FindProperty(Utils.PropOutlineCullMode, properties); - _cutoff = FindProperty(Utils.PropCutoff, properties); - _color = FindProperty(Utils.PropColor, properties); - _shadeColor = FindProperty(Utils.PropShadeColor, properties); - _mainTex = FindProperty(Utils.PropMainTex, properties); - _shadeTexture = FindProperty(Utils.PropShadeTexture, properties); - _bumpScale = FindProperty(Utils.PropBumpScale, properties); - _bumpMap = FindProperty(Utils.PropBumpMap, properties); - _receiveShadowRate = FindProperty(Utils.PropReceiveShadowRate, properties); - _receiveShadowTexture = FindProperty(Utils.PropReceiveShadowTexture, properties); - _shadingGradeRate = FindProperty(Utils.PropShadingGradeRate, properties); - _shadingGradeTexture = FindProperty(Utils.PropShadingGradeTexture, properties); - _shadeShift = FindProperty(Utils.PropShadeShift, properties); - _shadeToony = FindProperty(Utils.PropShadeToony, properties); - _lightColorAttenuation = FindProperty(Utils.PropLightColorAttenuation, properties); - _indirectLightIntensity = FindProperty(Utils.PropIndirectLightIntensity, properties); - _sphereAdd = FindProperty(Utils.PropSphereAdd, properties); - _emissionColor = FindProperty(Utils.PropEmissionColor, properties); - _emissionMap = FindProperty(Utils.PropEmissionMap, properties); - _outlineWidthTexture = FindProperty(Utils.PropOutlineWidthTexture, properties); - _outlineWidth = FindProperty(Utils.PropOutlineWidth, properties); - _outlineScaledMaxDistance = FindProperty(Utils.PropOutlineScaledMaxDistance, properties); - _outlineColor = FindProperty(Utils.PropOutlineColor, properties); - _outlineLightingMix = FindProperty(Utils.PropOutlineLightingMix, properties); - - var materials = materialEditor.targets.Select(x => x as Material).ToArray(); - Draw(materialEditor, materials); - } - - private void Draw(MaterialEditor materialEditor, Material[] materials) - { - EditorGUI.BeginChangeCheck(); - { - EditorGUILayout.LabelField("Rendering", EditorStyles.boldLabel); - EditorGUILayout.BeginVertical(GUI.skin.box); - { - EditorGUILayout.LabelField("Mode", EditorStyles.boldLabel); - if (PopupEnum("Rendering Type", _blendMode, materialEditor)) - { - ModeChanged(materials, isBlendModeChangedByUser: true); - } - - if (PopupEnum("Cull Mode", _cullMode, materialEditor)) - { - ModeChanged(materials); - } - } - EditorGUILayout.EndVertical(); - EditorGUILayout.Space(); - - EditorGUILayout.LabelField("Color", EditorStyles.boldLabel); - EditorGUILayout.BeginVertical(GUI.skin.box); - { - EditorGUILayout.LabelField("Texture", EditorStyles.boldLabel); - { - materialEditor.TexturePropertySingleLine(new GUIContent("Lit Color, Alpha", "Lit (RGB), Alpha (A)"), - _mainTex, _color); - - materialEditor.TexturePropertySingleLine(new GUIContent("Shade Color", "Shade (RGB)"), _shadeTexture, - _shadeColor); - } - var bm = (RenderMode) _blendMode.floatValue; - if (bm == RenderMode.Cutout) - { - EditorGUILayout.Space(); - EditorGUILayout.LabelField("Alpha", EditorStyles.boldLabel); - { - materialEditor.ShaderProperty(_cutoff, "Cutoff"); - } - } - } - EditorGUILayout.EndVertical(); - EditorGUILayout.Space(); - - EditorGUILayout.LabelField("Lighting", EditorStyles.boldLabel); - EditorGUILayout.BeginVertical(GUI.skin.box); - { - EditorGUILayout.LabelField("Lit & Shade Mixing", EditorStyles.boldLabel); - { - materialEditor.ShaderProperty(_shadeShift, - new GUIContent("Shading Shift", - "Zero is Default. Negative value increase lit area. Positive value increase shade area.")); - materialEditor.ShaderProperty(_shadeToony, - new GUIContent("Shading Toony", - "0.0 is Lambert. Higher value get toony shading.")); - materialEditor.TexturePropertySingleLine( - new GUIContent("Shadow Receive Multiplier", - "Texture (A) * Rate. White is Default. Black attenuates shadows."), - _receiveShadowTexture, - _receiveShadowRate); - materialEditor.TexturePropertySingleLine( - new GUIContent("Lit & Shade Mixing Multiplier", - "Texture (R) * Rate. Compatible with UTS2 ShadingGradeMap. White is Default. Black amplifies shade."), - _shadingGradeTexture, - _shadingGradeRate); - } - EditorGUILayout.Space(); - - EditorGUILayout.LabelField("Light Color", EditorStyles.boldLabel); - { - materialEditor.ShaderProperty(_lightColorAttenuation, "LightColor Attenuation"); - materialEditor.ShaderProperty(_indirectLightIntensity, "GI Intensity"); - } - EditorGUILayout.Space(); - - EditorGUILayout.LabelField("Emission", EditorStyles.boldLabel); - { - materialEditor.TexturePropertyWithHDRColor(new GUIContent("Emission", "Emission (RGB)"), - _emissionMap, - _emissionColor, -#if UNITY_2018_1_OR_NEWER -#else - new ColorPickerHDRConfig(minBrightness: 0, maxBrightness: 10, minExposureValue: -10, - maxExposureValue: 10), -#endif - showAlpha: false); - - materialEditor.TexturePropertySingleLine(new GUIContent("MatCap", "MatCap Texture (RGB)"), - _sphereAdd); - } - EditorGUILayout.Space(); - - EditorGUILayout.LabelField("Normal", EditorStyles.boldLabel); - { - // Normal - EditorGUI.BeginChangeCheck(); - materialEditor.TexturePropertySingleLine(new GUIContent("Normal Map", "Normal Map (RGB)"), - _bumpMap, - _bumpScale); - if (EditorGUI.EndChangeCheck()) - { - materialEditor.RegisterPropertyChangeUndo("BumpEnabledDisabled"); - ModeChanged(materials); - } - } - } - EditorGUILayout.EndVertical(); - EditorGUILayout.Space(); - - EditorGUILayout.LabelField("Outline", EditorStyles.boldLabel); - EditorGUILayout.BeginVertical(GUI.skin.box); - { - // Outline - EditorGUILayout.LabelField("Width", EditorStyles.boldLabel); - { - if (PopupEnum("Mode", _outlineWidthMode, materialEditor)) - { - ModeChanged(materials); - } - - var widthMode = (OutlineWidthMode) _outlineWidthMode.floatValue; - if (widthMode != OutlineWidthMode.None) - { - materialEditor.TexturePropertySingleLine( - new GUIContent("Width", "Outline Width Texture (RGB)"), - _outlineWidthTexture, _outlineWidth); - } - - if (widthMode == OutlineWidthMode.ScreenCoordinates) - { - materialEditor.ShaderProperty(_outlineScaledMaxDistance, "Width Scaled Max Distance"); - } - } - EditorGUILayout.Space(); - - EditorGUILayout.LabelField("Color", EditorStyles.boldLabel); - { - var widthMode = (OutlineWidthMode) _outlineWidthMode.floatValue; - if (widthMode != OutlineWidthMode.None) - { - EditorGUI.BeginChangeCheck(); - - if (PopupEnum("Mode", _outlineColorMode, materialEditor)) - { - ModeChanged(materials); - } - - var colorMode = (OutlineColorMode) _outlineColorMode.floatValue; - - materialEditor.ShaderProperty(_outlineColor, "Color"); - if (colorMode == OutlineColorMode.MixedLighting) - materialEditor.DefaultShaderProperty(_outlineLightingMix, "Lighting Mix"); - } - } - } - EditorGUILayout.EndVertical(); - EditorGUILayout.Space(); - - EditorGUILayout.LabelField("Options", EditorStyles.boldLabel); - EditorGUILayout.BeginVertical(GUI.skin.box); - { - EditorGUILayout.LabelField("Texture Options", EditorStyles.boldLabel); - { - materialEditor.TextureScaleOffsetProperty(_mainTex); - } - EditorGUILayout.Space(); - - EditorGUILayout.LabelField("Debugging Options", EditorStyles.boldLabel); - { - if (PopupEnum("Visualize", _debugMode, materialEditor)) - { - ModeChanged(materials); - } - } - EditorGUILayout.Space(); - - EditorGUILayout.LabelField("Advanced Options", EditorStyles.boldLabel); - { -#if UNITY_5_6_OR_NEWER -// materialEditor.EnableInstancingField(); - materialEditor.DoubleSidedGIField(); -#endif - EditorGUI.BeginChangeCheck(); - materialEditor.RenderQueueField(); - if (EditorGUI.EndChangeCheck()) - { - ModeChanged(materials); - } - } - } - EditorGUILayout.EndVertical(); - EditorGUILayout.Space(); - } - EditorGUI.EndChangeCheck(); - } - - public override void AssignNewShaderToMaterial(Material material, Shader oldShader, Shader newShader) - { - base.AssignNewShaderToMaterial(material, oldShader, newShader); - - Utils.ValidateProperties(material, isBlendModeChangedByUser: true); - } - - private static void ModeChanged(Material[] materials, bool isBlendModeChangedByUser = false) - { - foreach (var material in materials) - { - Utils.ValidateProperties(material, isBlendModeChangedByUser); - } - } - - private static bool PopupEnum(string name, MaterialProperty property, MaterialEditor editor) where T : struct - { - EditorGUI.showMixedValue = property.hasMixedValue; - EditorGUI.BeginChangeCheck(); - var ret = EditorGUILayout.Popup(name, (int) property.floatValue, Enum.GetNames(typeof(T))); - var changed = EditorGUI.EndChangeCheck(); - if (changed) - { - editor.RegisterPropertyChangeUndo("EnumPopUp"); - property.floatValue = ret; - } - - EditorGUI.showMixedValue = false; - return changed; - } - - } -} \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Editor/MToonInspector.cs.meta b/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Editor/MToonInspector.cs.meta deleted file mode 100644 index cfe6932..0000000 --- a/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Editor/MToonInspector.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 8b43baa9f62f04748bb167ad186f1b1a -timeCreated: 1514224771 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Scripts.meta b/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Scripts.meta deleted file mode 100644 index e9861e0..0000000 --- a/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Scripts.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: cb28b03461088294e890bbf2ccf7a3e1 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Scripts/Enums.cs b/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Scripts/Enums.cs deleted file mode 100644 index 418544a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Scripts/Enums.cs +++ /dev/null @@ -1,44 +0,0 @@ -namespace MToon -{ - public enum DebugMode - { - None, - Normal, - LitShadeRate, - } - - public enum OutlineColorMode - { - FixedColor, - MixedLighting - } - - public enum OutlineWidthMode - { - None, - WorldCoordinates, - ScreenCoordinates - } - - public enum RenderMode - { - Opaque, - Cutout, - Transparent, - TransparentWithZWrite, - } - - public enum CullMode - { - Off, - Front, - Back, - } - - public struct RenderQueueRequirement - { - public int DefaultValue; - public int MinValue; - public int MaxValue; - } -} \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Scripts/Enums.cs.meta b/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Scripts/Enums.cs.meta deleted file mode 100644 index 5149027..0000000 --- a/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Scripts/Enums.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 9a3fb070d7eb4114b5cf387e2cd60391 -timeCreated: 1548858571 \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Scripts/MToonDefinition.cs b/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Scripts/MToonDefinition.cs deleted file mode 100644 index 9b367a8..0000000 --- a/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Scripts/MToonDefinition.cs +++ /dev/null @@ -1,100 +0,0 @@ -using UnityEngine; - -namespace MToon -{ - public class MToonDefinition - { - public MetaDefinition Meta; - public RenderingDefinition Rendering; - public ColorDefinition Color; - public LightingDefinition Lighting; - public OutlineDefinition Outline; - public TextureUvCoordsDefinition TextureOption; - public RenderQueueDefinition RenderQueue; - } - - public class MetaDefinition - { - public int VersionNumber; - } - - public class RenderingDefinition - { - public RenderMode RenderMode; - public CullMode CullMode; - } - - public class ColorDefinition - { - public Color LitColor; - public Texture2D LitMultiplyTexture; - public Color ShadeColor; - public Texture2D ShadeMultiplyTexture; - public float CutoutThresholdValue; - } - - public class LightingDefinition - { - public LitAndShadeMixingDefinition LitAndShadeMixing; - public LightingInfluenceDefinition LightingInfluence; - public EmissionDefinition Emission; - public MatCapDefinition MatCap; - public NormalDefinition Normal; - } - - public class LitAndShadeMixingDefinition - { - public float ShadingShiftValue; - public float ShadingToonyValue; - public float ShadowReceiveMultiplierValue; - public Texture2D ShadowReceiveMultiplierMultiplyTexture; - public float LitAndShadeMixingMultiplierValue; - public Texture2D LitAndShadeMixingMultiplierMultiplyTexture; - } - - public class LightingInfluenceDefinition - { - public float LightColorAttenuationValue; - public float GiIntensityValue; - } - - public class EmissionDefinition - { - public Color EmissionColor; - public Texture2D EmissionMultiplyTexture; - } - - public class MatCapDefinition - { - public Texture2D AdditiveTexture; - } - - public class NormalDefinition - { - public Texture2D NormalTexture; - public float NormalScaleValue; - } - - public class OutlineDefinition - { - public OutlineWidthMode OutlineWidthMode; - public float OutlineWidthValue; - public Texture2D OutlineWidthMultiplyTexture; - public float OutlineScaledMaxDistanceValue; - public OutlineColorMode OutlineColorMode; - public Color OutlineColor; - public float OutlineLightingMixValue; - } - - public class TextureUvCoordsDefinition - { - public Vector2 MainTextureLeftBottomOriginScale; - public Vector2 MainTextureLeftBottomOriginOffset; - } - - public class RenderQueueDefinition - { - public RenderMode RenderQueueOriginMode; - public int RenderQueueOffsetNumber; - } -} \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Scripts/MToonDefinition.cs.meta b/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Scripts/MToonDefinition.cs.meta deleted file mode 100644 index 47c4a33..0000000 --- a/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Scripts/MToonDefinition.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 2849b99d94074fcf9e10c5ca3eab15a8 -timeCreated: 1548857282 \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Scripts/Utils.cs b/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Scripts/Utils.cs deleted file mode 100644 index 67c25bb..0000000 --- a/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Scripts/Utils.cs +++ /dev/null @@ -1,267 +0,0 @@ -using System; -using UnityEngine; -using UnityEngine.Rendering; - -namespace MToon -{ - public static class Utils - { - public const string PropDebugMode = "_DebugMode"; - public const string PropOutlineWidthMode = "_OutlineWidthMode"; - public const string PropOutlineColorMode = "_OutlineColorMode"; - public const string PropBlendMode = "_BlendMode"; - public const string PropCullMode = "_CullMode"; - public const string PropOutlineCullMode = "_OutlineCullMode"; - public const string PropCutoff = "_Cutoff"; - public const string PropColor = "_Color"; - public const string PropShadeColor = "_ShadeColor"; - public const string PropMainTex = "_MainTex"; - public const string PropShadeTexture = "_ShadeTexture"; - public const string PropBumpScale = "_BumpScale"; - public const string PropBumpMap = "_BumpMap"; - public const string PropReceiveShadowRate = "_ReceiveShadowRate"; - public const string PropReceiveShadowTexture = "_ReceiveShadowTexture"; - public const string PropShadingGradeRate = "_ShadingGradeRate"; - public const string PropShadingGradeTexture = "_ShadingGradeTexture"; - public const string PropShadeShift = "_ShadeShift"; - public const string PropShadeToony = "_ShadeToony"; - public const string PropLightColorAttenuation = "_LightColorAttenuation"; - public const string PropIndirectLightIntensity = "_IndirectLightIntensity"; - public const string PropSphereAdd = "_SphereAdd"; - public const string PropEmissionColor = "_EmissionColor"; - public const string PropEmissionMap = "_EmissionMap"; - public const string PropOutlineWidthTexture = "_OutlineWidthTexture"; - public const string PropOutlineWidth = "_OutlineWidth"; - public const string PropOutlineScaledMaxDistance = "_OutlineScaledMaxDistance"; - public const string PropOutlineColor = "_OutlineColor"; - public const string PropOutlineLightingMix = "_OutlineLightingMix"; - public const string PropSrcBlend = "_SrcBlend"; - public const string PropDstBlend = "_DstBlend"; - public const string PropZWrite = "_ZWrite"; - - public const string KeyNormalMap = "_NORMALMAP"; - public const string KeyAlphaTestOn = "_ALPHATEST_ON"; - public const string KeyAlphaBlendOn = "_ALPHABLEND_ON"; - public const string KeyAlphaPremultiplyOn = "_ALPHAPREMULTIPLY_ON"; - public const string KeyOutlineWidthWorld = "MTOON_OUTLINE_WIDTH_WORLD"; - public const string KeyOutlineWidthScreen = "MTOON_OUTLINE_WIDTH_SCREEN"; - public const string KeyOutlineColorFixed = "MTOON_OUTLINE_COLOR_FIXED"; - public const string KeyOutlineColorMixed = "MTOON_OUTLINE_COLOR_MIXED"; - public const string KeyDebugNormal = "MTOON_DEBUG_NORMAL"; - public const string KeyDebugLitShadeRate = "MTOON_DEBUG_LITSHADERATE"; - - public const string TagRenderTypeKey = "RenderType"; - public const string TagRenderTypeValueOpaque = "Opaque"; - public const string TagRenderTypeValueTransparentCutout = "TransparentCutout"; - public const string TagRenderTypeValueTransparent = "Transparent"; - - private static void SetMToonParametersToMaterial(Material material, MToonDefinition parameters) - { - throw new NotImplementedException(); - } - - private static MToonDefinition GetMToonParametersFromMaterial(Material material) - { - throw new NotImplementedException(); - } - - /// - /// Validate properties and Set hidden properties, keywords. - /// if isBlendModeChangedByUser is true, renderQueue will set specified render mode's default value. - /// - /// - /// - public static void ValidateProperties(Material material, bool isBlendModeChangedByUser = false) - { - ValidateBlendMode(material, (RenderMode) material.GetFloat(PropBlendMode), isBlendModeChangedByUser); - ValidateNormalMode(material, material.GetTexture(PropBumpMap)); - ValidateOutlineMode(material, - (OutlineWidthMode) material.GetFloat(PropOutlineWidthMode), - (OutlineColorMode) material.GetFloat(PropOutlineColorMode)); - ValidateDebugMode(material, (DebugMode) material.GetFloat(PropDebugMode)); - ValidateCullMode(material, (CullMode) material.GetFloat(PropCullMode)); - - var mainTex = material.GetTexture(PropMainTex); - var shadeTex = material.GetTexture(PropShadeTexture); - if (mainTex != null && shadeTex == null) - { - material.SetTexture(PropShadeTexture, mainTex); - } - } - - public static RenderQueueRequirement GetRenderQueueRequirement(RenderMode renderMode) - { - const int shaderDefaultQueue = -1; - const int firstTransparentQueue = 2501; - const int spanOfQueue = 50; - - switch (renderMode) - { - case RenderMode.Opaque: - return new RenderQueueRequirement() - { - DefaultValue = shaderDefaultQueue, - MinValue = shaderDefaultQueue, - MaxValue = shaderDefaultQueue, - }; - case RenderMode.Cutout: - return new RenderQueueRequirement() - { - DefaultValue = (int) RenderQueue.AlphaTest, - MinValue = (int) RenderQueue.AlphaTest, - MaxValue = (int) RenderQueue.AlphaTest, - }; - case RenderMode.Transparent: - return new RenderQueueRequirement() - { - DefaultValue = (int) RenderQueue.Transparent, - MinValue = (int) RenderQueue.Transparent - spanOfQueue + 1, - MaxValue = (int) RenderQueue.Transparent, - }; - case RenderMode.TransparentWithZWrite: - return new RenderQueueRequirement() - { - DefaultValue = firstTransparentQueue, - MinValue = firstTransparentQueue, - MaxValue = firstTransparentQueue + spanOfQueue - 1, - }; - default: - throw new ArgumentOutOfRangeException("renderMode", renderMode, null); - } - } - - private static void ValidateDebugMode(Material material, DebugMode debugMode) - { - switch (debugMode) - { - case DebugMode.None: - SetKeyword(material, KeyDebugNormal, false); - SetKeyword(material, KeyDebugLitShadeRate, false); - break; - case DebugMode.Normal: - SetKeyword(material, KeyDebugNormal, true); - SetKeyword(material, KeyDebugLitShadeRate, false); - break; - case DebugMode.LitShadeRate: - SetKeyword(material, KeyDebugNormal, false); - SetKeyword(material, KeyDebugLitShadeRate, true); - break; - } - } - - private static void ValidateBlendMode(Material material, RenderMode renderMode, bool isChangedByUser) - { - switch (renderMode) - { - case RenderMode.Opaque: - material.SetOverrideTag(TagRenderTypeKey, TagRenderTypeValueOpaque); - material.SetInt(PropSrcBlend, (int) BlendMode.One); - material.SetInt(PropDstBlend, (int) BlendMode.Zero); - material.SetInt(PropZWrite, 1); - SetKeyword(material, KeyAlphaTestOn, false); - SetKeyword(material, KeyAlphaBlendOn, false); - SetKeyword(material, KeyAlphaPremultiplyOn, false); - break; - case RenderMode.Cutout: - material.SetOverrideTag(TagRenderTypeKey, TagRenderTypeValueTransparentCutout); - material.SetInt(PropSrcBlend, (int) BlendMode.One); - material.SetInt(PropDstBlend, (int) BlendMode.Zero); - material.SetInt(PropZWrite, 1); - SetKeyword(material, KeyAlphaTestOn, true); - SetKeyword(material, KeyAlphaBlendOn, false); - SetKeyword(material, KeyAlphaPremultiplyOn, false); - break; - case RenderMode.Transparent: - material.SetOverrideTag(TagRenderTypeKey, TagRenderTypeValueTransparent); - material.SetInt(PropSrcBlend, (int) BlendMode.SrcAlpha); - material.SetInt(PropDstBlend, (int) BlendMode.OneMinusSrcAlpha); - material.SetInt(PropZWrite, 0); - SetKeyword(material, KeyAlphaTestOn, false); - SetKeyword(material, KeyAlphaBlendOn, true); - SetKeyword(material, KeyAlphaPremultiplyOn, false); - break; - case RenderMode.TransparentWithZWrite: - material.SetOverrideTag(TagRenderTypeKey, TagRenderTypeValueTransparent); - material.SetInt(PropSrcBlend, (int) BlendMode.SrcAlpha); - material.SetInt(PropDstBlend, (int) BlendMode.OneMinusSrcAlpha); - material.SetInt(PropZWrite, 1); - SetKeyword(material, KeyAlphaTestOn, false); - SetKeyword(material, KeyAlphaBlendOn, true); - SetKeyword(material, KeyAlphaPremultiplyOn, false); - break; - } - - var requirement = GetRenderQueueRequirement(renderMode); - if (isChangedByUser) - { - material.renderQueue = requirement.DefaultValue; - } - else - { - material.renderQueue = Mathf.Clamp(material.renderQueue, requirement.MinValue, requirement.MaxValue); - } - } - - private static void ValidateOutlineMode(Material material, OutlineWidthMode outlineWidthMode, - OutlineColorMode outlineColorMode) - { - var isFixed = outlineColorMode == OutlineColorMode.FixedColor; - var isMixed = outlineColorMode == OutlineColorMode.MixedLighting; - - switch (outlineWidthMode) - { - case OutlineWidthMode.None: - SetKeyword(material, KeyOutlineWidthWorld, false); - SetKeyword(material, KeyOutlineWidthScreen, false); - SetKeyword(material, KeyOutlineColorFixed, false); - SetKeyword(material, KeyOutlineColorMixed, false); - break; - case OutlineWidthMode.WorldCoordinates: - SetKeyword(material, KeyOutlineWidthWorld, true); - SetKeyword(material, KeyOutlineWidthScreen, false); - SetKeyword(material, KeyOutlineColorFixed, isFixed); - SetKeyword(material, KeyOutlineColorMixed, isMixed); - break; - case OutlineWidthMode.ScreenCoordinates: - SetKeyword(material, KeyOutlineWidthWorld, false); - SetKeyword(material, KeyOutlineWidthScreen, true); - SetKeyword(material, KeyOutlineColorFixed, isFixed); - SetKeyword(material, KeyOutlineColorMixed, isMixed); - break; - } - } - - private static void ValidateNormalMode(Material material, bool requireNormalMapping) - { - SetKeyword(material, KeyNormalMap, requireNormalMapping); - } - - private static void ValidateCullMode(Material material, CullMode cullMode) - { - switch (cullMode) - { - case CullMode.Back: - material.SetInt(PropCullMode, (int) CullMode.Back); - material.SetInt(PropOutlineCullMode, (int) CullMode.Front); - break; - case CullMode.Front: - material.SetInt(PropCullMode, (int) CullMode.Front); - material.SetInt(PropOutlineCullMode, (int) CullMode.Back); - break; - case CullMode.Off: - material.SetInt(PropCullMode, (int) CullMode.Off); - material.SetInt(PropOutlineCullMode, (int) CullMode.Front); - break; - } - } - - private static void SetKeyword(Material mat, string keyword, bool required) - { - if (required) - mat.EnableKeyword(keyword); - else - mat.DisableKeyword(keyword); - } - - } -} \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Scripts/Utils.cs.meta b/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Scripts/Utils.cs.meta deleted file mode 100644 index bd4175c..0000000 --- a/Assets/ProjectBlue/Packages/VRM/MToon/MToon/Scripts/Utils.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 9d2012c170a74b3db0002f7ecda53622 -timeCreated: 1537557325 \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF.meta deleted file mode 100644 index fb2732e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e9ba12f2f26d91c4b97dcbce99bdc472 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor.meta deleted file mode 100644 index 5a549ac..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 17539511fac1b3547aaba67fa61ad4d1 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/ImporterMenu.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/ImporterMenu.cs deleted file mode 100644 index 63f4504..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/ImporterMenu.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System.IO; -using UnityEditor; -using UnityEngine; - - -namespace UniGLTF -{ - public static class ImporterMenu - { - [MenuItem(UniGLTFVersion.MENU + "/Import", priority = 1)] - public static void ImportMenu() - { - var path = EditorUtility.OpenFilePanel("open gltf", "", "gltf,glb,zip"); - if (string.IsNullOrEmpty(path)) - { - return; - } - - if (Application.isPlaying) - { - // - // load into scene - // - var context = new ImporterContext(); - context.Load(path); - context.ShowMeshes(); - Selection.activeGameObject = context.Root; - } - else - { - // - // save as asset - // - if (path.StartsWithUnityAssetPath()) - { - Debug.LogWarningFormat("disallow import from folder under the Assets"); - return; - } - - var assetPath = EditorUtility.SaveFilePanel("save prefab", "Assets", Path.GetFileNameWithoutExtension(path), "prefab"); - if (string.IsNullOrEmpty(path)) - { - return; - } - - // import as asset - gltfAssetPostprocessor.ImportAsset(path, Path.GetExtension(path).ToLower(), UnityPath.FromFullpath(assetPath)); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/ImporterMenu.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/ImporterMenu.cs.meta deleted file mode 100644 index 47d70b5..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/ImporterMenu.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: ae2833922b06981439883d1e924b4cd0 -timeCreated: 1517153624 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/Tests.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/Tests.meta deleted file mode 100644 index cc5117c..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/Tests.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 53614ebfcd8620a4c924e3967859d303 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/Tests/JsonDeserializeTests.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/Tests/JsonDeserializeTests.cs deleted file mode 100644 index e056df6..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/Tests/JsonDeserializeTests.cs +++ /dev/null @@ -1,36 +0,0 @@ -using NUnit.Framework; -using UnityEngine; - -namespace UniGLTF -{ - public class JsonDeserializeTests - { - static T deserialize(string json) - { - return JsonUtility.FromJson(json); - } - - [Test] - public void PrimitivesExtensionsTest() - { - { - var r = deserialize(""); - Assert.AreEqual(null, r); - } - - { - var r = deserialize("{}"); - Assert.NotNull(r); - // This is a curious behaviour of JsonUtility. - // TODO: We should replace a library which treats JSON from JsonUtility - //Assert.Null(r.KHR_draco_mesh_compression); - } - - { - var r = deserialize("{\"KHR_draco_mesh_compression\":{}}"); - Assert.NotNull(r); - //Assert.NotNull(r.KHR_draco_mesh_compression); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/Tests/JsonDeserializeTests.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/Tests/JsonDeserializeTests.cs.meta deleted file mode 100644 index 84f6aba..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/Tests/JsonDeserializeTests.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 6dab77b78a3d45bf8c20e7dcc8046881 -timeCreated: 1547715653 \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/Tests/MaterialTests.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/Tests/MaterialTests.cs deleted file mode 100644 index 8109ecd..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/Tests/MaterialTests.cs +++ /dev/null @@ -1,193 +0,0 @@ -using NUnit.Framework; -using UnityEngine; - - -namespace UniGLTF -{ - public class MaterialTests - { - [Test] - public void UnlitShaderImportTest() - { - var shaderStore = new ShaderStore(null); - - { - // OPAQUE/Color - var shader = shaderStore.GetShader(new glTFMaterial - { - alphaMode = "OPAQUE", - pbrMetallicRoughness = new glTFPbrMetallicRoughness - { - baseColorFactor = new float[] { 1, 0, 0, 1 }, - }, - extensions = new glTFMaterial_extensions - { - KHR_materials_unlit = new glTF_KHR_materials_unlit { } - } - }); - Assert.AreEqual("UniGLTF/UniUnlit", shader.name); - } - - { - // OPAQUE/Texture - var shader = shaderStore.GetShader(new glTFMaterial - { - alphaMode = "OPAQUE", - pbrMetallicRoughness = new glTFPbrMetallicRoughness - { - baseColorTexture = new glTFMaterialBaseColorTextureInfo(), - }, - extensions = new glTFMaterial_extensions - { - KHR_materials_unlit = new glTF_KHR_materials_unlit { } - } - }); - Assert.AreEqual("UniGLTF/UniUnlit", shader.name); - } - - { - // OPAQUE/Color/Texture - var shader = shaderStore.GetShader(new glTFMaterial - { - alphaMode = "OPAQUE", - pbrMetallicRoughness = new glTFPbrMetallicRoughness - { - baseColorFactor = new float[] { 1, 0, 0, 1 }, - baseColorTexture = new glTFMaterialBaseColorTextureInfo(), - }, - extensions = new glTFMaterial_extensions - { - KHR_materials_unlit = new glTF_KHR_materials_unlit { } - } - }); - Assert.AreEqual("UniGLTF/UniUnlit", shader.name); - } - - { - // BLEND/Color - var shader = shaderStore.GetShader(new glTFMaterial - { - alphaMode = "BLEND", - pbrMetallicRoughness = new glTFPbrMetallicRoughness - { - baseColorFactor = new float[] { 1, 0, 0, 1 }, - }, - extensions = new glTFMaterial_extensions - { - KHR_materials_unlit = new glTF_KHR_materials_unlit { } - } - }); - Assert.AreEqual("UniGLTF/UniUnlit", shader.name); - } - - { - // BLEND/Texture - var shader = shaderStore.GetShader(new glTFMaterial - { - alphaMode = "BLEND", - pbrMetallicRoughness = new glTFPbrMetallicRoughness - { - baseColorTexture = new glTFMaterialBaseColorTextureInfo(), - }, - extensions = new glTFMaterial_extensions - { - KHR_materials_unlit = new glTF_KHR_materials_unlit { } - } - }); - Assert.AreEqual("UniGLTF/UniUnlit", shader.name); - } - - { - // BLEND/Color/Texture - var shader = shaderStore.GetShader(new glTFMaterial - { - alphaMode = "BLEND", - pbrMetallicRoughness = new glTFPbrMetallicRoughness - { - baseColorFactor = new float[] { 1, 0, 0, 1 }, - baseColorTexture = new glTFMaterialBaseColorTextureInfo(), - }, - extensions = new glTFMaterial_extensions - { - KHR_materials_unlit = new glTF_KHR_materials_unlit { } - } - }); - Assert.AreEqual("UniGLTF/UniUnlit", shader.name); - } - - { - // MASK/Texture - var shader = shaderStore.GetShader(new glTFMaterial - { - alphaMode = "MASK", - pbrMetallicRoughness = new glTFPbrMetallicRoughness - { - baseColorTexture = new glTFMaterialBaseColorTextureInfo(), - }, - extensions = new glTFMaterial_extensions - { - KHR_materials_unlit = new glTF_KHR_materials_unlit { } - } - }); - Assert.AreEqual("UniGLTF/UniUnlit", shader.name); - } - - { - // MASK/Color/Texture - var shader = shaderStore.GetShader(new glTFMaterial - { - alphaMode = "MASK", - pbrMetallicRoughness = new glTFPbrMetallicRoughness - { - baseColorFactor = new float[] { 1, 0, 0, 1 }, - baseColorTexture = new glTFMaterialBaseColorTextureInfo(), - }, - extensions = new glTFMaterial_extensions - { - KHR_materials_unlit = new glTF_KHR_materials_unlit { } - } - }); - Assert.AreEqual("UniGLTF/UniUnlit", shader.name); - } - - { - // default - var shader = shaderStore.GetShader(new glTFMaterial - { - extensions = new glTFMaterial_extensions - { - KHR_materials_unlit = new glTF_KHR_materials_unlit { } - } - }); - Assert.AreEqual("UniGLTF/UniUnlit", shader.name); - } - } - - [Test] - public void MaterialImportTest() - { - var shaderStore = new ShaderStore(null); - var materialImporter = new MaterialImporter(shaderStore, null); - - { - var material = materialImporter.CreateMaterial(0, new glTFMaterial - { - - }); - Assert.AreEqual("Standard", material.shader.name); - } - } - - [Test] - public void MaterialExportTest() - { - var material = new Material(Shader.Find("Standard")); - material.SetColor("_EmissionColor", new Color(0, 1, 2, 1)); - var materialExporter = new MaterialExporter(); - var textureExportManager = new TextureExportManager(new Texture[] { }); - var gltfMaterial = materialExporter.ExportMaterial(material, textureExportManager); - - Assert.AreEqual(gltfMaterial.emissiveFactor, new float[] { 0, 0.5f, 1 }); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/Tests/MaterialTests.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/Tests/MaterialTests.cs.meta deleted file mode 100644 index 5e98791..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/Tests/MaterialTests.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 37dbc1bc37728a44f8e33ad44e407c91 -timeCreated: 1533626339 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/Tests/UniGLTFTests.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/Tests/UniGLTFTests.cs deleted file mode 100644 index b9d5677..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/Tests/UniGLTFTests.cs +++ /dev/null @@ -1,671 +0,0 @@ -using NUnit.Framework; -using System; -using System.Collections.Generic; -using System.Linq; -using UniJSON; -using UnityEngine; - - -namespace UniGLTF -{ - public class UniGLTFTests - { - static GameObject CreateSimpleScene() - { - var root = new GameObject("gltfRoot").transform; - - var scene = new GameObject("scene0").transform; - scene.SetParent(root, false); - scene.localPosition = new Vector3(1, 2, 3); - - return root.gameObject; - } - - void AssertAreEqual(Transform go, Transform other) - { - var lt = go.Traverse().GetEnumerator(); - var rt = go.Traverse().GetEnumerator(); - - while (lt.MoveNext()) - { - if (!rt.MoveNext()) - { - throw new Exception("rt shorter"); - } - - MonoBehaviourComparator.AssertAreEquals(lt.Current.gameObject, rt.Current.gameObject); - } - - if (rt.MoveNext()) - { - throw new Exception("rt longer"); - } - } - - [Test] - public void UniGLTFSimpleSceneTest() - { - var go = CreateSimpleScene(); - var context = new ImporterContext(); - - try - { - // export - var gltf = new glTF(); - - string json = null; - using (var exporter = new gltfExporter(gltf)) - { - exporter.Prepare(go); - exporter.Export(); - - // remove empty buffer - gltf.buffers.Clear(); - - json = gltf.ToJson(); - } - - // import - context.ParseJson(json, new SimpleStorage(new ArraySegment())); - //Debug.LogFormat("{0}", context.Json); - context.Load(); - - AssertAreEqual(go.transform, context.Root.transform); - } - finally - { - //Debug.LogFormat("Destory, {0}", go.name); - GameObject.DestroyImmediate(go); - context.EditorDestroyRootAndAssets(); - } - } - - void BufferTest(int init, params int[] size) - { - var initBytes = init == 0 ? null : new byte[init]; - var storage = new ArrayByteBuffer(initBytes); - var buffer = new glTFBuffer(storage); - - var values = new List(); - int offset = 0; - foreach (var x in size) - { - var nums = Enumerable.Range(offset, x).Select(y => (Byte)y).ToArray(); - values.AddRange(nums); - var bytes = new ArraySegment(nums); - offset += x; - buffer.Append(bytes, glBufferTarget.NONE); - } - - Assert.AreEqual(values.Count, buffer.byteLength); - Assert.True(Enumerable.SequenceEqual(values, buffer.GetBytes().ToArray())); - } - - [Test] - public void BufferTest() - { - BufferTest(0, 0, 100, 200); - BufferTest(0, 128); - BufferTest(0, 256); - - BufferTest(1024, 0); - BufferTest(1024, 128); - BufferTest(1024, 2048); - BufferTest(1024, 900, 900); - } - - [Test] - public void UnityPathTest() - { - var root = UnityPath.FromUnityPath("."); - Assert.IsFalse(root.IsNull); - Assert.IsFalse(root.IsUnderAssetsFolder); - Assert.AreEqual(UnityPath.FromUnityPath("."), root); - - var assets = UnityPath.FromUnityPath("Assets"); - Assert.IsFalse(assets.IsNull); - Assert.IsTrue(assets.IsUnderAssetsFolder); - - var rootChild = root.Child("Assets"); - Assert.AreEqual(assets, rootChild); - - var assetsChild = assets.Child("Hoge"); - var hoge = UnityPath.FromUnityPath("Assets/Hoge"); - Assert.AreEqual(assetsChild, hoge); - - //var children = root.TravserseDir().ToArray(); - } - - [Test] - public void VersionChecker() - { - Assert.False(ImporterContext.IsGeneratedUniGLTFAndOlderThan("hoge", 1, 16)); - Assert.False(ImporterContext.IsGeneratedUniGLTFAndOlderThan("UniGLTF-1.16", 1, 16)); - Assert.True(ImporterContext.IsGeneratedUniGLTFAndOlderThan("UniGLTF-1.15", 1, 16)); - Assert.False(ImporterContext.IsGeneratedUniGLTFAndOlderThan("UniGLTF-11.16", 1, 16)); - Assert.True(ImporterContext.IsGeneratedUniGLTFAndOlderThan("UniGLTF-0.16", 1, 16)); - Assert.True(ImporterContext.IsGeneratedUniGLTFAndOlderThan("UniGLTF", 1, 16)); - } - - [Test] - public void MeshTest() - { - var model = new glTFMesh("mesh") - { - primitives = new List - { - new glTFPrimitives - { - attributes = new glTFAttributes - { - POSITION = 0, - } - } - }, - }; - - var json = model.ToJson(); - Assert.AreEqual(@"{""name"":""mesh"",""primitives"":[{""mode"":0,""indices"":-1,""attributes"":{""POSITION"":0},""material"":0}]}", json); - Debug.Log(json); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json2 = JsonSchema.FromType().Serialize(model, c); - Assert.AreEqual(@"{""name"":""mesh"",""primitives"":[{""mode"":0,""attributes"":{""POSITION"":0},""material"":0}]}", json2); - } - - [Test] - public void PrimitiveTest() - { - var model = new glTFPrimitives - { - attributes = new glTFAttributes - { - POSITION = 0, - }, - extras = new glTFPrimitives_extras - { - targetNames = new List - { - "aaa", - } - } - }; - - var json = model.ToJson(); - Assert.AreEqual(@"{""mode"":0,""indices"":-1,""attributes"":{""POSITION"":0},""material"":0,""extras"":{""targetNames"":[""aaa""]}}", json); - Debug.Log(json); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json2 = JsonSchema.FromType().Serialize(model, c); - Assert.AreEqual(@"{""mode"":0,""attributes"":{""POSITION"":0},""material"":0,""extras"":{""targetNames"":[""aaa""]}}", json2); - } - - [Test] - public void AttributesTest() - { - var model = new glTFAttributes - { - POSITION = 0, - }; - - var json = model.ToJson(); - Assert.AreEqual(@"{""POSITION"":0}", json); - Debug.Log(json); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json2 = JsonSchema.FromType().Serialize(model, c); - Assert.AreEqual(json, json2); - } - - [Test] - public void TextureInfoTest() - { - var model = new glTFMaterialBaseColorTextureInfo() - { - index = 1, - }; - - var json = model.ToJson(); - Assert.AreEqual(@"{""index"":1,""texCoord"":0}", json); - Debug.Log(json); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json2 = JsonSchema.FromType().Serialize(model, c); - Assert.AreEqual(json, json2); - } - - [Test] - public void TextureInfoTestError() - { - var model = new glTFMaterialBaseColorTextureInfo(); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var ex = Assert.Throws( - () => JsonSchema.FromType().Serialize(model, c) - ); - Assert.AreEqual("[index.String] minimum: ! -1>=0", ex.Message); - } - - [Test] - public void MaterialTest() - { - var model = new glTFMaterial() - { - name = "a", - emissiveFactor = new float[] { 0.5f, 0.5f, 0.5f }, - }; - - var json = model.ToJson(); - Assert.AreEqual(@"{""name"":""a"",""emissiveFactor"":[0.5,0.5,0.5],""doubleSided"":false}", json); - Debug.Log(json); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json2 = JsonSchema.FromType().Serialize(model, c); - Assert.AreEqual(@"{""name"":""a"",""emissiveFactor"":[0.5,0.5,0.5],""doubleSided"":false}", json2); - } - - [Test] - public void MaterialAlphaTest() - { - var model = new glTFMaterial() - { - name = "a", - emissiveFactor = new float[] { 0.5f, 0.5f, 0.5f }, - alphaMode = "MASK", - }; - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json = JsonSchema.FromType().Serialize(model, c); - Assert.AreEqual(@"{""name"":""a"",""emissiveFactor"":[0.5,0.5,0.5],""alphaMode"":""MASK"",""alphaCutoff"":0.5,""doubleSided"":false}", json); - } - - [Test] - public void GlTFToJsonTest() - { - var gltf = new glTF(); - using (var exporter = new gltfExporter(gltf)) - { - exporter.Prepare(CreateSimpleScene()); - exporter.Export(); - } - - var expected = gltf.ToJson().ParseAsJson(); - expected.AddKey(Utf8String.From("meshes")); - expected.AddValue(default(ArraySegment), ValueNodeType.Array); - expected["meshes"].AddValue(default(ArraySegment), ValueNodeType.Object); - - var mesh = expected["meshes"][0]; - mesh.AddKey(Utf8String.From("name")); - mesh.AddValue(Utf8String.From(JsonString.Quote("test")).Bytes, ValueNodeType.String); - mesh.AddKey(Utf8String.From("primitives")); - mesh.AddValue(default(ArraySegment), ValueNodeType.Array); - mesh["primitives"].AddValue(default(ArraySegment), ValueNodeType.Object); - - var primitive = mesh["primitives"][0]; - primitive.AddKey(Utf8String.From("mode")); - primitive.AddValue(Utf8String.From("0").Bytes, ValueNodeType.Integer); - primitive.AddKey(Utf8String.From("indices")); - primitive.AddValue(Utf8String.From("0").Bytes, ValueNodeType.Integer); - primitive.AddKey(Utf8String.From("material")); - primitive.AddValue(Utf8String.From("0").Bytes, ValueNodeType.Integer); - primitive.AddKey(Utf8String.From("attributes")); - primitive.AddValue(default(ArraySegment), ValueNodeType.Object); - primitive["attributes"].AddKey(Utf8String.From("POSITION")); - primitive["attributes"].AddValue(Utf8String.From("0").Bytes, ValueNodeType.Integer); - primitive.AddKey(Utf8String.From("targets")); - primitive.AddValue(default(ArraySegment), ValueNodeType.Array); - primitive["targets"].AddValue(default(ArraySegment), ValueNodeType.Object); - primitive["targets"][0].AddKey(Utf8String.From("POSITION")); - primitive["targets"][0].AddValue(Utf8String.From("1").Bytes, ValueNodeType.Integer); - primitive["targets"].AddValue(default(ArraySegment), ValueNodeType.Object); - primitive["targets"][1].AddKey(Utf8String.From("POSITION")); - primitive["targets"][1].AddValue(Utf8String.From("2").Bytes, ValueNodeType.Integer); - primitive["targets"][1].AddKey(Utf8String.From("TANGENT")); - primitive["targets"][1].AddValue(Utf8String.From("0").Bytes, ValueNodeType.Integer); - - gltf.meshes.Add(new glTFMesh("test") - { - primitives = new List - { - new glTFPrimitives - { - indices = 0, - attributes = new glTFAttributes - { - POSITION = 0, - TANGENT = -1 // should be removed - }, - targets = new List - { - new gltfMorphTarget - { - POSITION = 1, - TANGENT = -1 // should be removed - }, - new gltfMorphTarget - { - POSITION = 2, - TANGENT = 0 - } - } - } - } - }); - var actual = gltf.ToJson().ParseAsJson(); - - Assert.AreEqual(expected, actual); - } - - public void MaterialTestError() - { - var model = new glTFMaterial() - { - name = "b", - emissiveFactor = new float[] { 1.5f, 0.5f, 0.5f }, - }; - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var ex = Assert.Throws( - () => JsonSchema.FromType().Serialize(model, c) - ); - Assert.AreEqual("[emissiveFactor.String] maximum: ! 1.5<=1", ex.Message); - } - - [Test] - public void NodeTest() - { - var model = new glTFNode() - { - name = "a", - skin = 0, - camera = -1, - }; - - var json = model.ToJson(); - Assert.AreEqual(@"{""name"":""a"",""skin"":0}", json); - Debug.Log(json); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json2 = JsonSchema.FromType().Serialize(model, c); - Assert.AreEqual(@"{""name"":""a"",""extras"":{}}", json2); - } - - [Test] - public void NodeMeshTest() - { - var model = new glTFNode() - { - name = "a", - mesh = 2, - skin = 0, - camera = -1, - }; - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json = JsonSchema.FromType().Serialize(model, c); - Assert.AreEqual(@"{""name"":""a"",""mesh"":2,""skin"":0,""extras"":{}}", json); - } - - [Test] - public void NodeTestError() - { - var model = new glTFNode() - { - name = "a", - camera = -2, - }; - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var ex = Assert.Throws( - () => JsonSchema.FromType().Serialize(model, c) - ); - Assert.AreEqual("[camera.String] minimum: ! -2>=0", ex.Message); - } - - [Test] - public void SkinTest() - { - var model = new glTFSkin() - { - name = "b", - joints = new int[] { 1 }, - }; - - var json = model.ToJson(); - Assert.AreEqual(@"{""inverseBindMatrices"":-1,""joints"":[1]}", json); - Debug.Log(json); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json2 = JsonSchema.FromType().Serialize(model, c); - Assert.AreEqual(@"{""joints"":[1],""name"":""b""}", json2); - } - - [Test] - public void SkinTestEmptyName() - { - var model = new glTFSkin() - { - name = "", - joints = new int[] { 1 }, - }; - - var json = model.ToJson(); - // "name" = "", not excluded - Assert.AreEqual(@"{""inverseBindMatrices"":-1,""joints"":[1]}", json); - Debug.Log(json); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json2 = JsonSchema.FromType().Serialize(model, c); - Assert.AreEqual(@"{""joints"":[1],""name"":""""}", json2); - } - - [Test] - public void SkinTestErrorNull() - { - var model = new glTFSkin() - { - name = "b", - joints = null, - }; - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var ex = Assert.Throws( - () => JsonSchema.FromType().Serialize(model, c) - ); - Assert.AreEqual("[joints.String] null", ex.Message); - } - - [Test] - public void SkinTestError() - { - var model = new glTFSkin() - { - name = "b", - joints = new int[] { }, - }; - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var ex = Assert.Throws( - () => JsonSchema.FromType().Serialize(model, c) - ); - Assert.AreEqual("[joints.String] minItems", ex.Message); - } - - [Test] - public void AssetsTest() - { - var model = new glTFAssets() - { - version = "0.49", - }; - - //var json = model.ToJson(); - //Assert.AreEqual(@"{""inverseBindMatrices"":-1,""joints"":[1]}", json); - //Debug.Log(json); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json2 = JsonSchema.FromType().Serialize(model, c); - Assert.AreEqual(@"{""version"":""0.49""}", json2); - } - - [Test] - public void AssetsTestError() - { - var model = new glTFAssets(); - - //var json = model.ToJson(); - //Assert.AreEqual(@"{""inverseBindMatrices"":-1,""joints"":[1]}", json); - //Debug.Log(json); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var ex = Assert.Throws( - () => JsonSchema.FromType().Serialize(model, c) - ); - Assert.AreEqual("[version.String] null", ex.Message); - } - - [Test] - public void GLTFTest() - { - var model = new glTF() - { - asset = new glTFAssets() - { - version = "0.49", - }, - extensions = null, - }; - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json2 = JsonSchema.FromType().Serialize(model, c); - Assert.AreEqual(@"{""asset"":{""version"":""0.49""},""extras"":{}}", json2); - } - - [Test] - public void SameMeshButDifferentMaterialExport() - { - var go = new GameObject("same_mesh"); - try - { - var shader = Shader.Find("Unlit/Color"); - - var cubeA = GameObject.CreatePrimitive(PrimitiveType.Cube); - { - cubeA.transform.SetParent(go.transform); - var material = new Material(shader); - material.name = "red"; - material.color = Color.red; - cubeA.GetComponent().sharedMaterial = material; - } - - { - var cubeB = GameObject.Instantiate(cubeA); - cubeB.transform.SetParent(go.transform); - var material = new Material(shader); - material.color = Color.blue; - material.name = "blue"; - cubeB.GetComponent().sharedMaterial = material; - - Assert.AreEqual(cubeB.GetComponent().sharedMesh, cubeA.GetComponent().sharedMesh); - } - - // export - var gltf = new glTF(); - var json = default(string); - using (var exporter = new gltfExporter(gltf)) - { - exporter.Prepare(go); - exporter.Export(); - - json = gltf.ToJson(); - } - - Assert.AreEqual(2, gltf.meshes.Count); - - var red = gltf.materials[gltf.meshes[0].primitives[0].material]; - Assert.AreEqual(new float[] { 1, 0, 0, 1 }, red.pbrMetallicRoughness.baseColorFactor); - - var blue = gltf.materials[gltf.meshes[1].primitives[0].material]; - Assert.AreEqual(new float[] { 0, 0, 1, 1 }, blue.pbrMetallicRoughness.baseColorFactor); - - Assert.AreEqual(2, gltf.nodes.Count); - - Assert.AreNotEqual(gltf.nodes[0].mesh, gltf.nodes[1].mesh); - - // import - var context = new ImporterContext(); - context.ParseJson(json, new SimpleStorage(new ArraySegment(new byte[1024 * 1024]))); - //Debug.LogFormat("{0}", context.Json); - context.Load(); - - var importedRed = context.Root.transform.GetChild(0); - var importedRedMaterial = importedRed.GetComponent().sharedMaterial; - Assert.AreEqual("red", importedRedMaterial.name); - Assert.AreEqual(Color.red, importedRedMaterial.color); - - var importedBlue = context.Root.transform.GetChild(1); - var importedBlueMaterial = importedBlue.GetComponent().sharedMaterial; - Assert.AreEqual("blue", importedBlueMaterial.name); - Assert.AreEqual(Color.blue, importedBlueMaterial.color); - } - finally - { - GameObject.DestroyImmediate(go); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/Tests/UniGLTFTests.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/Tests/UniGLTFTests.cs.meta deleted file mode 100644 index 2c26ee5..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/Tests/UniGLTFTests.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 164dff9806a684447ae2c9d679ae730b -timeCreated: 1521096875 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/UniGLTFVersionMenu.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/UniGLTFVersionMenu.cs deleted file mode 100644 index 20579b3..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/UniGLTFVersionMenu.cs +++ /dev/null @@ -1,45 +0,0 @@ -#if VRM_DEVELOP -using System.Collections.Generic; -using System.IO; -using System.Linq; -using UnityEditor; - - -namespace UniGLTF -{ - public static class UniGLTFVersionMenu - { - public const int MENU_PRIORITY = 99; - static string path = "Assets/UniGLTF/Core/Scripts/UniGLTFVersion.cs"; - - const string template = @" -namespace UniGLTF -{{ - public static partial class UniGLTFVersion - {{ - public const int MAJOR = {0}; - public const int MINOR = {1}; - - public const string VERSION = ""{0}.{1}""; - }} -}} -"; - - [MenuItem(UniGLTFVersion.MENU + "/Increment", priority = MENU_PRIORITY)] - public static void IncrementVersion() - { - var source = string.Format(template, UniGLTFVersion.MAJOR, UniGLTFVersion.MINOR + 1); - File.WriteAllText(path, source); - AssetDatabase.Refresh(); - } - - [MenuItem(UniGLTFVersion.MENU + "/Decrement", priority = MENU_PRIORITY)] - public static void DecrementVersion() - { - var source = string.Format(template, UniGLTFVersion.MAJOR, UniGLTFVersion.MINOR - 1); - File.WriteAllText(path, source); - AssetDatabase.Refresh(); - } - } -} -#endif diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/UniGLTFVersionMenu.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/UniGLTFVersionMenu.cs.meta deleted file mode 100644 index ce8f77c..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/UniGLTFVersionMenu.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 49d23365a29018d4cb142227a01e662d -timeCreated: 1522130550 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/gltfAssetPostprocessor.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/gltfAssetPostprocessor.cs deleted file mode 100644 index 9b23704..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/gltfAssetPostprocessor.cs +++ /dev/null @@ -1,86 +0,0 @@ -using System; -using System.IO; -using UnityEditor; -using UnityEngine; - - -namespace UniGLTF -{ - public class gltfAssetPostprocessor : AssetPostprocessor - { - static void OnPostprocessAllAssets(string[] importedAssets, - string[] deletedAssets, - string[] movedAssets, - string[] movedFromAssetPaths) - { - foreach (string path in importedAssets) - { - if (UnityPath.FromUnityPath(path).IsStreamingAsset) - { - Debug.LogFormat("Skip StreamingAssets: {0}", path); - continue; - } - - var ext = Path.GetExtension(path).ToLower(); - switch (ext) - { - case ".gltf": - case ".glb": - { - var gltfPath = UnityPath.FromUnityPath(path); - var prefabPath = gltfPath.Parent.Child(gltfPath.FileNameWithoutExtension + ".prefab"); - ImportAsset(UnityPath.FromUnityPath(path).FullPath, ext, prefabPath); - break; - } - } - } - } - - public static void ImportAsset(string src, string ext, UnityPath prefabPath) - { - if (!prefabPath.IsUnderAssetsFolder) - { - Debug.LogWarningFormat("out of asset path: {0}", prefabPath); - return; - } - - var context = new ImporterContext(); - context.Parse(src); - - // Extract textures to assets folder - context.ExtranctImages(prefabPath); - - ImportDelayed(src, prefabPath, context); - } - - static void ImportDelayed(string src, UnityPath prefabPath, ImporterContext context) - { - EditorApplication.delayCall += () => - { - // - // After textures imported(To ensure TextureImporter be accessible). - // - try - { - context.Load(); - context.SaveAsAsset(prefabPath); - context.EditorDestroyRoot(); - } - catch (UniGLTFNotSupportedException ex) - { - Debug.LogWarningFormat("{0}: {1}", - src, - ex.Message - ); - context.EditorDestroyRootAndAssets(); - } - catch (Exception ex) - { - Debug.LogErrorFormat("import error: {0}", src); - Debug.LogErrorFormat("{0}", ex); - context.EditorDestroyRootAndAssets(); - } - }; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/gltfAssetPostprocessor.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/gltfAssetPostprocessor.cs.meta deleted file mode 100644 index bf13239..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Editor/gltfAssetPostprocessor.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 7bbb264b34e75dd438622e1f29f0f46c -timeCreated: 1517119659 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts.meta deleted file mode 100644 index 7300a1c..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e0958377954fe7b4a9410cafe5d3b04d -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions.meta deleted file mode 100644 index a30517b..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 53fc9804df97bed4db0da5a60497d6be -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/ArrayExtensions.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/ArrayExtensions.cs deleted file mode 100644 index e764f4f..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/ArrayExtensions.cs +++ /dev/null @@ -1,127 +0,0 @@ -using System; -using System.Linq; -using System.Collections.Generic; -using System.Runtime.InteropServices; - - -namespace UniGLTF -{ - public static class Pin - { - public static Pin Create(ArraySegment src) where T : struct - { - return new Pin(src); - } - public static Pin Create(T[] src) where T : struct - { - return Create(new ArraySegment(src)); - } - } - public class Pin : IDisposable - where T : struct - { - GCHandle m_pinnedArray; - - ArraySegment m_src; - - public int Length - { - get - { - return m_src.Count * Marshal.SizeOf(typeof(T)); - } - } - - public Pin(ArraySegment src) - { - m_src = src; - m_pinnedArray = GCHandle.Alloc(src.Array, GCHandleType.Pinned); - } - - public IntPtr Ptr - { - get - { - var ptr = m_pinnedArray.AddrOfPinnedObject(); - return new IntPtr(ptr.ToInt64() + m_src.Offset); - } - } - - #region IDisposable Support - private bool disposedValue = false; // 重複する呼び出しを検出するには - - protected virtual void Dispose(bool disposing) - { - if (!disposedValue) - { - if (disposing) - { - // TODO: マネージ状態を破棄します (マネージ オブジェクト)。 - } - - // TODO: アンマネージ リソース (アンマネージ オブジェクト) を解放し、下のファイナライザーをオーバーライドします。 - // TODO: 大きなフィールドを null に設定します。 - if (m_pinnedArray.IsAllocated) - { - m_pinnedArray.Free(); - } - - disposedValue = true; - } - } - - // TODO: 上の Dispose(bool disposing) にアンマネージ リソースを解放するコードが含まれる場合にのみ、ファイナライザーをオーバーライドします。 - // ~Pin() { - // // このコードを変更しないでください。クリーンアップ コードを上の Dispose(bool disposing) に記述します。 - // Dispose(false); - // } - - // このコードは、破棄可能なパターンを正しく実装できるように追加されました。 - public void Dispose() - { - // このコードを変更しないでください。クリーンアップ コードを上の Dispose(bool disposing) に記述します。 - Dispose(true); - // TODO: 上のファイナライザーがオーバーライドされる場合は、次の行のコメントを解除してください。 - // GC.SuppressFinalize(this); - } - #endregion - } - - public static class ArrayExtensions - { - public static int MarshalCoyTo(this ArraySegment src, T[] dst) where T : struct - { - var size = dst.Length * Marshal.SizeOf(typeof(T)); - using (var pin = Pin.Create(dst)) - { - Marshal.Copy(src.Array, src.Offset, pin.Ptr, size); - } - return size; - } - - public static Byte[] ToArray(this ArraySegment src) - { - var dst = new byte[src.Count]; - Array.Copy(src.Array, src.Offset, dst, 0, src.Count); - return dst; - } - - public static T[] SelectInplace(this T[] src, Func pred) - { - for (int i = 0; i < src.Length; ++i) - { - src[i] = pred(src[i]); - } - return src; - } - } - - public static class ListExtensions - { - public static void Assign(this List dst, T[] src, Func pred) - { - dst.Capacity = src.Length; - dst.AddRange(src.Select(pred)); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/ArrayExtensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/ArrayExtensions.cs.meta deleted file mode 100644 index e6658a3..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/ArrayExtensions.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: e843bb7270bc9f54f8495e1e35f82e8d -timeCreated: 1514252357 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/JsonParserExtensions.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/JsonParserExtensions.cs deleted file mode 100644 index 2163a42..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/JsonParserExtensions.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System.Linq; -using UnityEngine; -using System.Collections.Generic; - - -namespace UniJSON -{ - public static class JsonParserExtensions - { - public static List DeserializeList(this ListTreeNode jsonList) - { - return jsonList.ArrayItems().Select(x => { - - return JsonUtility.FromJson(new Utf8String(x.Value.Bytes).ToString()); - - }).ToList(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/JsonParserExtensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/JsonParserExtensions.cs.meta deleted file mode 100644 index 6aa0b19..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/JsonParserExtensions.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: d0a724a200cc85b4887efa87292c6626 -timeCreated: 1515608626 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/StringExtensions.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/StringExtensions.cs deleted file mode 100644 index d181c7d..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/StringExtensions.cs +++ /dev/null @@ -1,73 +0,0 @@ -using System.IO; -using UnityEngine; - -namespace UniGLTF -{ - public static class StringExtensions - { - public static string ToLowerCamelCase(this string lower) - { - return lower.Substring(0, 1).ToLower() + lower.Substring(1); - } - public static string ToUpperCamelCase(this string lower) - { - return lower.Substring(0, 1).ToUpper() + lower.Substring(1); - } - - static string m_unityBasePath; - public static string UnityBasePath - { - get - { - if (m_unityBasePath == null) - { - m_unityBasePath = Path.GetFullPath(Application.dataPath + "/..").Replace("\\", "/"); - } - return m_unityBasePath; - } - } - - public static string AssetPathToFullPath(this string path) - { - return UnityBasePath + "/" + path; - } - - public static bool StartsWithUnityAssetPath(this string path) - { - return path.Replace("\\", "/").StartsWith(UnityBasePath + "/Assets"); - } - - public static string ToUnityRelativePath(this string path) - { - path = path.Replace("\\", "/"); - if (path.StartsWith(UnityBasePath)) - { - return path.Substring(UnityBasePath.Length + 1); - } - - //Debug.LogWarningFormat("{0} is starts with {1}", path, basePath); - return path; - } - - static readonly char[] EscapeChars = new char[] - { - '\\', - '/', - ':', - '*', - '?', - '"', - '<', - '>', - '|', - }; - public static string EscapeFilePath(this string path) - { - foreach(var x in EscapeChars) - { - path = path.Replace(x, '+'); - } - return path; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/StringExtensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/StringExtensions.cs.meta deleted file mode 100644 index 6c068c8..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/StringExtensions.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 54b33d3e5f599eb419fae2bbf00f1613 -timeCreated: 1517471530 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/UnityExtensions.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/UnityExtensions.cs deleted file mode 100644 index c3e2f58..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/UnityExtensions.cs +++ /dev/null @@ -1,313 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using UnityEngine; -#if UNITY_EDITOR -using UnityEditor; -#endif - - -namespace UniGLTF -{ - public struct PosRot - { - public Vector3 Position; - public Quaternion Rotation; - - public static PosRot FromGlobalTransform(Transform t) - { - return new PosRot - { - Position = t.position, - Rotation = t.rotation, - }; - } - } - - public class BlendShape - { - public string Name; - - public BlendShape(string name) - { - Name = name; - } - - public List Positions = new List(); - public List Normals = new List(); - public List Tangents = new List(); - } - - public static class UnityExtensions - { - public static Vector4 ReverseZ(this Vector4 v) - { - return new Vector4(v.x, v.y, -v.z, v.w); - } - - public static Vector3 ReverseZ(this Vector3 v) - { - return new Vector3(v.x, v.y, -v.z); - } - - [Obsolete] - public static Vector2 ReverseY(this Vector2 v) - { - return new Vector2(v.x, -v.y); - } - - public static Vector2 ReverseUV(this Vector2 v) - { - return new Vector2(v.x, 1.0f - v.y); - } - - public static Quaternion ReverseZ(this Quaternion q) - { - float angle; - Vector3 axis; - q.ToAngleAxis(out angle, out axis); - return Quaternion.AngleAxis(-angle, ReverseZ(axis)); - } - - public static Matrix4x4 Matrix4x4FromColumns(Vector4 c0, Vector4 c1, Vector4 c2, Vector4 c3) - { -#if UNITY_2017_1_OR_NEWER - return new Matrix4x4(c0, c1, c2, c3); -#else - var m = default(Matrix4x4); - m.SetColumn(0, c0); - m.SetColumn(1, c1); - m.SetColumn(2, c2); - m.SetColumn(3, c3); - return m; -#endif - } - - public static Matrix4x4 Matrix4x4FromRotation(Quaternion q) - { -#if UNITY_2017_1_OR_NEWER - return Matrix4x4.Rotate(q); -#else - var m = default(Matrix4x4); - m.SetTRS(Vector3.zero, q, Vector3.one); - return m; -#endif - } - - public static Matrix4x4 ReverseZ(this Matrix4x4 m) - { - m.SetTRS(m.ExtractPosition().ReverseZ(), m.ExtractRotation().ReverseZ(), m.ExtractScale()); - return m; - } - - public static Matrix4x4 MatrixFromArray(float[] values) - { - var m = new Matrix4x4(); - m.m00 = values[0]; - m.m10 = values[1]; - m.m20 = values[2]; - m.m30 = values[3]; - m.m01 = values[4]; - m.m11 = values[5]; - m.m21 = values[6]; - m.m31 = values[7]; - m.m02 = values[8]; - m.m12 = values[9]; - m.m22 = values[10]; - m.m32 = values[11]; - m.m03 = values[12]; - m.m13 = values[13]; - m.m23 = values[14]; - m.m33 = values[15]; - return m; - } - - // https://forum.unity.com/threads/how-to-assign-matrix4x4-to-transform.121966/ - public static Quaternion ExtractRotation(this Matrix4x4 matrix) - { - Vector3 forward; - forward.x = matrix.m02; - forward.y = matrix.m12; - forward.z = matrix.m22; - - Vector3 upwards; - upwards.x = matrix.m01; - upwards.y = matrix.m11; - upwards.z = matrix.m21; - - return Quaternion.LookRotation(forward, upwards); - } - - public static Vector3 ExtractPosition(this Matrix4x4 matrix) - { - Vector3 position; - position.x = matrix.m03; - position.y = matrix.m13; - position.z = matrix.m23; - return position; - } - - public static Vector3 ExtractScale(this Matrix4x4 matrix) - { - Vector3 scale; - scale.x = new Vector4(matrix.m00, matrix.m10, matrix.m20, matrix.m30).magnitude; - scale.y = new Vector4(matrix.m01, matrix.m11, matrix.m21, matrix.m31).magnitude; - scale.z = new Vector4(matrix.m02, matrix.m12, matrix.m22, matrix.m32).magnitude; - return scale; - } - - public static string RelativePathFrom(this Transform self, Transform root) - { - var path = new List(); - for (var current = self; current != null; current = current.parent) - { - if (current == root) - { - return String.Join("/", path.ToArray()); - } - - path.Insert(0, current.name); - } - - throw new Exception("no RelativePath"); - } - - public static Transform GetChildByName(this Transform self, string childName) - { - foreach (Transform child in self) - { - if (child.name == childName) - { - return child; - } - } - - throw new KeyNotFoundException(); - } - - public static Transform GetFromPath(this Transform self, string path) - { - var current = self; - - var splited = path.Split('/'); - - foreach (var childName in splited) - { - current = current.GetChildByName(childName); - } - - return current; - } - - public static IEnumerable GetChildren(this Transform self) - { - foreach (Transform child in self) - { - yield return child; - } - } - - public static IEnumerable Traverse(this Transform t) - { - yield return t; - foreach (Transform x in t) - { - foreach (Transform y in x.Traverse()) - { - yield return y; - } - } - } - - public static Transform FindDescenedant(this Transform t, string name) - { - return t.Traverse().First(x => x.name == name); - } - - public static IEnumerable Ancestors(this Transform t) - { - yield return t; - if (t.parent != null) - { - foreach (Transform x in t.parent.Ancestors()) - { - yield return x; - } - } - } - - public static float[] ToArray(this Quaternion q) - { - return new float[] { q.x, q.y, q.z, q.w }; - } - - public static float[] ToArray(this Vector3 v) - { - return new float[] { v.x, v.y, v.z }; - } - - public static float[] ToArray(this Vector4 v) - { - return new float[] { v.x, v.y, v.z, v.w }; - } - - public static float[] ToArray(this Color c) - { - return new float[] { c.r, c.g, c.b, c.a }; - } - - public static void ReverseZRecursive(this Transform root) - { - var globalMap = root.Traverse().ToDictionary(x => x, x => PosRot.FromGlobalTransform(x)); - - foreach (var x in root.Traverse()) - { - x.position = globalMap[x].Position.ReverseZ(); - x.rotation = globalMap[x].Rotation.ReverseZ(); - } - } - - public static Mesh GetSharedMesh(this Transform t) - { - var meshFilter = t.GetComponent(); - if (meshFilter != null) - { - return meshFilter.sharedMesh; - } - - var skinnedMeshRenderer = t.GetComponent(); - if (skinnedMeshRenderer != null) - { - return skinnedMeshRenderer.sharedMesh; - } - - return null; - } - - public static Material[] GetSharedMaterials(this Transform t) - { - var renderer = t.GetComponent(); - if (renderer != null) - { - return renderer.sharedMaterials; - } - - return new Material[] { }; - } - - public static bool Has(this Transform transform, T t) where T : Component - { - return transform.GetComponent() == t; - } - - public static T GetOrAddComponent(this GameObject go) where T : Component - { - var c = go.GetComponent(); - if (c != null) - { - return c; - } - return go.AddComponent(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/UnityExtensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/UnityExtensions.cs.meta deleted file mode 100644 index 062aed4..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/UnityExtensions.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 5294813527b3278458026afc820dd63d -timeCreated: 1515606586 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/glTFExtensions.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/glTFExtensions.cs deleted file mode 100644 index ffe895a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/glTFExtensions.cs +++ /dev/null @@ -1,203 +0,0 @@ -using System; -using System.Linq; -using System.Collections.Generic; -using System.Runtime.InteropServices; -using UnityEngine; - - -namespace UniGLTF -{ - [Serializable, StructLayout(LayoutKind.Sequential, Pack = 1)] - struct UShort4 - { - public ushort x; - public ushort y; - public ushort z; - public ushort w; - - public UShort4(ushort _x, ushort _y, ushort _z, ushort _w) - { - x = _x; - y = _y; - z = _z; - w = _w; - } - } - - public static class glTFExtensions - { - struct ComponentVec - { - public glComponentType ComponentType; - public int ElementCount; - - public ComponentVec(glComponentType componentType, int elementCount) - { - ComponentType = componentType; - ElementCount = elementCount; - } - } - - static Dictionary ComponentTypeMap = new Dictionary - { - { typeof(Vector2), new ComponentVec(glComponentType.FLOAT, 2) }, - { typeof(Vector3), new ComponentVec(glComponentType.FLOAT, 3) }, - { typeof(Vector4), new ComponentVec(glComponentType.FLOAT, 4) }, - { typeof(UShort4), new ComponentVec(glComponentType.UNSIGNED_SHORT, 4) }, - { typeof(Matrix4x4), new ComponentVec(glComponentType.FLOAT, 16) }, - { typeof(Color), new ComponentVec(glComponentType.FLOAT, 4) }, - }; - - static glComponentType GetComponentType() - { - var cv = default(ComponentVec); - if (ComponentTypeMap.TryGetValue(typeof(T), out cv)) - { - return cv.ComponentType; - } - else if (typeof(T) == typeof(uint)) - { - return glComponentType.UNSIGNED_INT; - } - else if (typeof(T) == typeof(float)) - { - return glComponentType.FLOAT; - } - else - { - throw new NotImplementedException(typeof(T).Name); - } - } - - static string GetAccessorType() - { - var cv = default(ComponentVec); - if (ComponentTypeMap.TryGetValue(typeof(T), out cv)) - { - switch (cv.ElementCount) - { - case 2: return "VEC2"; - case 3: return "VEC3"; - case 4: return "VEC4"; - case 16: return "MAT4"; - default: throw new Exception(); - } - } - else - { - return "SCALAR"; - } - } - - static int GetAccessorElementCount() - { - var cv = default(ComponentVec); - if (ComponentTypeMap.TryGetValue(typeof(T), out cv)) - { - return cv.ElementCount; - } - else - { - return 1; - } - } - - public static int ExtendBufferAndGetAccessorIndex(this glTF gltf, int bufferIndex, T[] array, - glBufferTarget target = glBufferTarget.NONE) where T : struct - { - return gltf.ExtendBufferAndGetAccessorIndex(bufferIndex, new ArraySegment(array), target); - } - - public static int ExtendBufferAndGetAccessorIndex(this glTF gltf, int bufferIndex, - ArraySegment array, - glBufferTarget target = glBufferTarget.NONE) where T : struct - { - if (array.Count == 0) - { - return -1; - } - var viewIndex = ExtendBufferAndGetViewIndex(gltf, bufferIndex, array, target); - - // index buffer's byteStride is unnecessary - gltf.bufferViews[viewIndex].byteStride = 0; - - var accessorIndex = gltf.accessors.Count; - gltf.accessors.Add(new glTFAccessor - { - bufferView = viewIndex, - byteOffset = 0, - componentType = GetComponentType(), - type = GetAccessorType(), - count = array.Count, - }); - return accessorIndex; - } - - public static int ExtendBufferAndGetViewIndex(this glTF gltf, int bufferIndex, - T[] array, - glBufferTarget target = glBufferTarget.NONE) where T : struct - { - return ExtendBufferAndGetViewIndex(gltf, bufferIndex, new ArraySegment(array), target); - } - - public static int ExtendBufferAndGetViewIndex(this glTF gltf, int bufferIndex, - ArraySegment array, - glBufferTarget target = glBufferTarget.NONE) where T : struct - { - if (array.Count == 0) - { - return -1; - } - var view = gltf.buffers[bufferIndex].Append(array, target); - var viewIndex = gltf.bufferViews.Count; - gltf.bufferViews.Add(view); - return viewIndex; - } - - public static int ExtendSparseBufferAndGetAccessorIndex(this glTF gltf, int bufferIndex, - int accessorCount, - T[] sparseValues, int[] sparseIndices, int sparseViewIndex, - glBufferTarget target = glBufferTarget.NONE) where T : struct - { - return ExtendSparseBufferAndGetAccessorIndex(gltf, bufferIndex, - accessorCount, - new ArraySegment(sparseValues), sparseIndices, sparseViewIndex, - target); - } - - public static int ExtendSparseBufferAndGetAccessorIndex(this glTF gltf, int bufferIndex, - int accessorCount, - ArraySegment sparseValues, int[] sparseIndices, int sparseIndicesViewIndex, - glBufferTarget target = glBufferTarget.NONE) where T : struct - { - if (sparseValues.Count == 0) - { - return -1; - } - var sparseValuesViewIndex = ExtendBufferAndGetViewIndex(gltf, bufferIndex, sparseValues, target); - var accessorIndex = gltf.accessors.Count; - gltf.accessors.Add(new glTFAccessor - { - byteOffset = 0, - componentType = GetComponentType(), - type = GetAccessorType(), - count = accessorCount, - - sparse = new glTFSparse - { - count=sparseIndices.Length, - indices = new glTFSparseIndices - { - bufferView = sparseIndicesViewIndex, - componentType = glComponentType.UNSIGNED_INT - }, - values = new glTFSparseValues - { - bufferView = sparseValuesViewIndex, - } - } - }); - return accessorIndex; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/glTFExtensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/glTFExtensions.cs.meta deleted file mode 100644 index 33e9436..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Extensions/glTFExtensions.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 870cb47398900534994d90eb1cecace8 -timeCreated: 1517038417 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format.meta deleted file mode 100644 index cd96520..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b4d586a8a244b4d488e56d14d10290a4 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/BytesBuffer.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/BytesBuffer.cs deleted file mode 100644 index 1c50307..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/BytesBuffer.cs +++ /dev/null @@ -1,187 +0,0 @@ -using System; -using System.IO; -using System.Runtime.InteropServices; - - -namespace UniGLTF -{ - public interface IBytesBuffer - { - string Uri { get; } - ArraySegment GetBytes(); - glTFBufferView Extend(ArraySegment array, glBufferTarget target) where T : struct; - } - - public static class IBytesBufferExtensions - { - public static glTFBufferView Extend(this IBytesBuffer buffer, T[] array, glBufferTarget target) where T : struct - { - return buffer.Extend(new ArraySegment(array), target); - } - } - - /// - /// for buffer with uri read - /// - public class UriByteBuffer : IBytesBuffer - { - public string Uri - { - get; - private set; - } - - Byte[] m_bytes; - public ArraySegment GetBytes() - { - return new ArraySegment(m_bytes); - } - - public UriByteBuffer(string baseDir, string uri) - { - Uri = uri; - m_bytes = ReadFromUri(baseDir, uri); - } - - const string DataPrefix = "data:application/octet-stream;base64,"; - - const string DataPrefix2 = "data:application/gltf-buffer;base64,"; - - const string DataPrefix3 = "data:image/jpeg;base64,"; - - public static Byte[] ReadEmbeded(string uri) - { - var pos = uri.IndexOf(";base64,"); - if (pos < 0) - { - throw new NotImplementedException(); - } - else - { - return Convert.FromBase64String(uri.Substring(pos + 8)); - } - } - - Byte[] ReadFromUri(string baseDir, string uri) - { - var bytes = ReadEmbeded(uri); - if (bytes != null) - { - return bytes; - } - else - { - // as local file path - return File.ReadAllBytes(Path.Combine(baseDir, uri)); - } - } - - public glTFBufferView Extend(ArraySegment array, glBufferTarget target) where T : struct - { - throw new NotImplementedException(); - } - } - - /// - /// for glb chunk buffer read - /// - public class ArraySegmentByteBuffer : IBytesBuffer - { - ArraySegment m_bytes; - - public ArraySegmentByteBuffer(ArraySegment bytes) - { - m_bytes = bytes; - } - - public string Uri - { - get; - private set; - } - - public glTFBufferView Extend(ArraySegment array, glBufferTarget target) where T : struct - { - throw new NotImplementedException(); - } - - public ArraySegment GetBytes() - { - return m_bytes; - } - } - - /// - /// for exporter - /// - public class ArrayByteBuffer : IBytesBuffer - { - public string Uri - { - get; - private set; - } - - Byte[] m_bytes; - int m_used; - - public ArrayByteBuffer(Byte[] bytes = null) - { - Uri = ""; - m_bytes = bytes; - } - - public glTFBufferView Extend(ArraySegment array, glBufferTarget target) where T : struct - { - using (var pin = Pin.Create(array)) - { - var elementSize = Marshal.SizeOf(typeof(T)); - var view = Extend(pin.Ptr, array.Count * elementSize, elementSize, target); - return view; - } - } - - public glTFBufferView Extend(IntPtr p, int bytesLength, int stride, glBufferTarget target) - { - var tmp = m_bytes; - // alignment - var padding = m_used % stride == 0 ? 0 : stride - m_used % stride; - - if (m_bytes == null || m_used + padding + bytesLength > m_bytes.Length) - { - // recreate buffer - m_bytes = new Byte[m_used + padding + bytesLength]; - if (m_used > 0) - { - Buffer.BlockCopy(tmp, 0, m_bytes, 0, m_used); - } - } - if (m_used + padding + bytesLength > m_bytes.Length) - { - throw new ArgumentOutOfRangeException(); - } - - Marshal.Copy(p, m_bytes, m_used + padding, bytesLength); - var result=new glTFBufferView - { - buffer = 0, - byteLength = bytesLength, - byteOffset = m_used + padding, - byteStride = stride, - target = target, - }; - m_used = m_used + padding + bytesLength; - return result; - } - - public ArraySegment GetBytes() - { - if (m_bytes == null) - { - return new ArraySegment(); - } - - return new ArraySegment(m_bytes, 0, m_used); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/BytesBuffer.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/BytesBuffer.cs.meta deleted file mode 100644 index ca30506..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/BytesBuffer.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 33b0000c5446b7547bcad1da1e9768ed -timeCreated: 1516730619 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras.meta deleted file mode 100644 index 75eb350..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 919fcd252bf1af5488ce5442abe06cb9 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/KHR_draco_mesh_compression.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/KHR_draco_mesh_compression.cs deleted file mode 100644 index 1e4b9ae..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/KHR_draco_mesh_compression.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using UniJSON; - - -namespace UniGLTF -{ - [Serializable] - public partial class glTFPrimitives_extensions : ExtensionsBase - { - [JsonSerializeMembers] - void SerializeMembers_draco(GLTFJsonFormatter f) - { - //throw new NotImplementedException(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/KHR_draco_mesh_compression.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/KHR_draco_mesh_compression.cs.meta deleted file mode 100644 index 3cdd0a8..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/KHR_draco_mesh_compression.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 2d21c7591557c7744a6fa34a7acace91 -timeCreated: 1533605595 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/KHR_materials_unlit.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/KHR_materials_unlit.cs deleted file mode 100644 index 72e2851..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/KHR_materials_unlit.cs +++ /dev/null @@ -1,55 +0,0 @@ -using System; -using UniJSON; - -namespace UniGLTF -{ - [Serializable] - public class glTF_KHR_materials_unlit : JsonSerializableBase - { - public static string ExtensionName - { - get - { - return "KHR_materials_unlit"; - } - } - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - //throw new System.NotImplementedException(); - } - - public static glTFMaterial CreateDefault() - { - return new glTFMaterial - { - pbrMetallicRoughness = new glTFPbrMetallicRoughness - { - baseColorFactor = new float[] { 1.0f, 1.0f, 1.0f, 1.0f }, - roughnessFactor = 0.9f, - metallicFactor = 0.0f, - }, - extensions = new glTFMaterial_extensions - { - KHR_materials_unlit = new glTF_KHR_materials_unlit(), - }, - }; - } - } - - [Serializable] - public partial class glTFMaterial_extensions : ExtensionsBase - { - [JsonSchema(Required = true)] - public glTF_KHR_materials_unlit KHR_materials_unlit; - - [JsonSerializeMembers] - void SerializeMembers_unlit(GLTFJsonFormatter f) - { - if (KHR_materials_unlit != null) - { - f.Key("KHR_materials_unlit"); f.GLTFValue(KHR_materials_unlit); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/KHR_materials_unlit.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/KHR_materials_unlit.cs.meta deleted file mode 100644 index 9fb2776..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/KHR_materials_unlit.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 2c95b5ebe597e924fa2e7fcce3a65f76 -timeCreated: 1533606191 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/glTFCameraExtensions.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/glTFCameraExtensions.cs deleted file mode 100644 index f7bae36..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/glTFCameraExtensions.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; -using UniJSON; - - -namespace UniGLTF -{ - [Serializable] - [ItemJsonSchema(ValueType = ValueNodeType.Object)] - public partial class glTFOrthographic_extensions : ExtensionsBase { } - - [Serializable] - public partial class glTFOrthographic_extras : ExtraBase { } - - [Serializable] - [ItemJsonSchema(ValueType = ValueNodeType.Object)] - public partial class glTFPerspective_extensions : ExtensionsBase { } - - [Serializable] - public partial class glTFPerspective_extras : ExtraBase { } - - [Serializable] - [ItemJsonSchema(ValueType = ValueNodeType.Object)] - public partial class glTFCamera_extensions : ExtensionsBase { } - - [Serializable] - public partial class glTFCamera_extras : ExtraBase { } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/glTFCameraExtensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/glTFCameraExtensions.cs.meta deleted file mode 100644 index 3f5c26d..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/glTFCameraExtensions.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 38f59c64e05855b41be64595c570e366 -timeCreated: 1533605499 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/glTFExtensions.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/glTFExtensions.cs deleted file mode 100644 index 20b649b..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/glTFExtensions.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System; -using System.Linq; -using System.Reflection; -using UniJSON; - - -namespace UniGLTF -{ - #region Base - public class JsonSerializeMembersAttribute : Attribute { } - - public class PartialExtensionBase : JsonSerializableBase - { - protected override void SerializeMembers(GLTFJsonFormatter f) - { - foreach (var method in this.GetType().GetMethods(BindingFlags.Instance | - BindingFlags.Public | BindingFlags.NonPublic)) - { - if (method.GetCustomAttributes(typeof(JsonSerializeMembersAttribute), true).Any()) - { - method.Invoke(this, new[] { f }); - } - } - } - - public int __count - { - get - { - return typeof(T).GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) - .Where(x => x.GetCustomAttributes(typeof(JsonSerializeMembersAttribute), true).Any()) - .Count(); - } - } - } - - [ItemJsonSchema(ValueType = ValueNodeType.Object)] - //[JsonSchema(MinProperties = 1)] - public partial class ExtensionsBase : PartialExtensionBase - { - } - - //[JsonSchema(MinProperties = 1)] - public partial class ExtraBase : PartialExtensionBase - { - } - #endregion - - [Serializable] - public partial class glTF_extensions : ExtensionsBase { } - - [Serializable] - public partial class gltf_extras : ExtraBase { } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/glTFExtensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/glTFExtensions.cs.meta deleted file mode 100644 index f1fd71e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/glTFExtensions.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 356f989283db8c848b851b82c34086d1 -timeCreated: 1532101527 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/glTFMesh.Primitives.extras.targetNames.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/glTFMesh.Primitives.extras.targetNames.cs deleted file mode 100644 index bbfc189..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/glTFMesh.Primitives.extras.targetNames.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System; -using System.Collections.Generic; -using UniJSON; - - -namespace UniGLTF -{ - /// - /// https://github.com/KhronosGroup/glTF/issues/1036 - /// - [Serializable] - public partial class glTFPrimitives_extras : ExtraBase - { - [JsonSchema(Required = true, MinItems = 1)] - public List targetNames = new List(); - - [JsonSerializeMembers] - void PrimitiveMembers(GLTFJsonFormatter f) - { - if (targetNames.Count > 0) - { - f.Key("targetNames"); - f.BeginList(); - foreach (var x in targetNames) - { - f.Value(x); - } - f.EndList(); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/glTFMesh.Primitives.extras.targetNames.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/glTFMesh.Primitives.extras.targetNames.cs.meta deleted file mode 100644 index 10ec6ee..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/glTFMesh.Primitives.extras.targetNames.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: e95762d0b18d11243b32a56f21cef862 -timeCreated: 1533605545 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/glTFNode.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/glTFNode.cs deleted file mode 100644 index 0c0b982..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/glTFNode.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System; - - -namespace UniGLTF -{ - [Serializable] - public partial class glTFNode_extensions : ExtensionsBase { } - - [Serializable] - public partial class glTFNode_extra : ExtraBase { } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/glTFNode.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/glTFNode.cs.meta deleted file mode 100644 index d68a4cd..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/ExtensionsAndExtras/glTFNode.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: eef0405c0c9670947ab6fa2034f0343f -timeCreated: 1533605847 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/GLTFJsonFormatter.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/GLTFJsonFormatter.cs deleted file mode 100644 index 7a6b1b0..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/GLTFJsonFormatter.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System.Collections.Generic; -using UniJSON; - - -namespace UniGLTF -{ - public class GLTFJsonFormatter: UniJSON.JsonFormatter - { - public void GLTFValue(JsonSerializableBase s) - { - CommaCheck(); - Store.Write(s.ToJson()); - } - - public void GLTFValue(IEnumerable values) where T : JsonSerializableBase - { - BeginList(); - foreach (var value in values) - { - GLTFValue(value); - } - EndList(); - } - - public void GLTFValue(List values) - { - BeginList(); - foreach (var value in values) - { - this.Value(value); - } - EndList(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/GLTFJsonFormatter.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/GLTFJsonFormatter.cs.meta deleted file mode 100644 index eb52e7f..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/GLTFJsonFormatter.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: b80a7ee38e762de44a90d60d9d4ff4dd -timeCreated: 1531806259 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/JsonSerializableBase.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/JsonSerializableBase.cs deleted file mode 100644 index 3d302b1..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/JsonSerializableBase.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; - - -namespace UniGLTF -{ - [Serializable] - public abstract class JsonSerializableBase - { - protected abstract void SerializeMembers(GLTFJsonFormatter f); - - public string ToJson() - { - var f = new GLTFJsonFormatter(); - f.BeginMap(); - - SerializeMembers(f); - - f.EndMap(); - return f.ToString(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/JsonSerializableBase.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/JsonSerializableBase.cs.meta deleted file mode 100644 index a214281..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/JsonSerializableBase.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: d169186adbfc59b4b882611d37f0a282 -timeCreated: 1532078625 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/MonoBehaviourComparator.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/MonoBehaviourComparator.cs deleted file mode 100644 index ad50a70..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/MonoBehaviourComparator.cs +++ /dev/null @@ -1,68 +0,0 @@ -using System; -using UnityEngine; - - -namespace UniGLTF -{ - public static class MonoBehaviourComparator - { - public static bool AssertAreEquals(GameObject l, GameObject r) - { - return - l.name == r.name - && AssertAreEquals(l, r, - (x, y) => AssertAreEquals(x[0], y[0])) - && AssertAreEquals(l, r, - (x, y) => AssertAreEquals(x[0], y[0])) - && AssertAreEquals(l, r, - (x, y) => AssertAreEquals(x[0], y[0])) - && AssertAreEquals(l, r, - (x, y) => AssertAreEquals(x[0], y[0])) - ; - } - - public static bool AssertAreEquals(GameObject l, GameObject r, Func pred) where T : Component - { - var ll = l.GetComponents(); - var rr = r.GetComponents(); - if (ll.Length != rr.Length) - { - return false; - } - if (ll.Length == 0) - { - return true; - } - return pred(ll, rr); - } - - public static bool AssertAreEquals(Transform l, Transform r) - { - return - (l.localPosition == r.localPosition) - && (l.localRotation == r.localRotation) - && (l.localScale == r.localScale) - ; - } - - public static bool AssertAreEquals(MeshFilter l, MeshFilter r) - { - throw new NotImplementedException(); - } - - public static bool AssertAreEquals(MeshRenderer l, MeshRenderer r) - { - throw new NotImplementedException(); - } - - public static bool AssertAreEquals(SkinnedMeshRenderer l, SkinnedMeshRenderer r) - { - throw new NotImplementedException(); - } - - public static bool AssetAreEquals(Texture2D l, Texture2D r) - { - throw new NotImplementedException(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/MonoBehaviourComparator.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/MonoBehaviourComparator.cs.meta deleted file mode 100644 index 6154229..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/MonoBehaviourComparator.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 7cee53236ca4f234ab42ba8e92afd178 -timeCreated: 1521104277 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glEnum.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glEnum.cs deleted file mode 100644 index 1915c1d..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glEnum.cs +++ /dev/null @@ -1,48 +0,0 @@ -/// -/// https://gist.github.com/szimek/763999 -/// -namespace UniGLTF -{ - public enum glComponentType : int - { - BYTE = 5120, // signed ? - UNSIGNED_BYTE = 5121, - - SHORT = 5122, - UNSIGNED_SHORT = 5123, - - //INT = 5124, - UNSIGNED_INT = 5125, - - FLOAT = 5126, - } - - public enum glBufferTarget : int - { - NONE = 0, - ARRAY_BUFFER = 34962, - ELEMENT_ARRAY_BUFFER = 34963, - } - - public enum glFilter : int - { - NONE = 0, - NEAREST = 9728, - LINEAR = 9729, - - #region for minFilter only - NEAREST_MIPMAP_NEAREST = 9984, - LINEAR_MIPMAP_NEAREST = 9985, - NEAREST_MIPMAP_LINEAR = 9986, - LINEAR_MIPMAP_LINEAR = 9987, - #endregion - } - - public enum glWrap : int - { - NONE = 0, - CLAMP_TO_EDGE = 33071, - REPEAT = 10497, - MIRRORED_REPEAT = 33648, - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glEnum.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glEnum.cs.meta deleted file mode 100644 index d109113..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glEnum.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 378358a997cd2e9418f180593fb04a6f -timeCreated: 1516212452 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTF.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTF.cs deleted file mode 100644 index 17252ad..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTF.cs +++ /dev/null @@ -1,522 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using UniJSON; - - -namespace UniGLTF -{ - [Serializable] - public class gltfScene : JsonSerializableBase - { - [JsonSchema(MinItems = 1)] - [ItemJsonSchema(Minimum = 0)] - public int[] nodes; - - public object extensions; - public object extras; - public string name; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - f.KeyValue(() => nodes); - } - } - - [Serializable] - public class glTF : JsonSerializableBase, IEquatable - { - [JsonSchema(Required = true)] - public glTFAssets asset = new glTFAssets(); - - #region Buffer - [JsonSchema(MinItems = 1, ExplicitIgnorableItemLength = 0)] - public List buffers = new List(); - public int AddBuffer(IBytesBuffer bytesBuffer) - { - var index = buffers.Count; - buffers.Add(new glTFBuffer(bytesBuffer)); - return index; - } - - [JsonSchema(MinItems = 1, ExplicitIgnorableItemLength = 0)] - public List bufferViews = new List(); - public int AddBufferView(glTFBufferView view) - { - var index = bufferViews.Count; - bufferViews.Add(view); - return index; - } - - [JsonSchema(MinItems = 1, ExplicitIgnorableItemLength = 0)] - public List accessors = new List(); - - T[] GetAttrib(glTFAccessor accessor, glTFBufferView view) where T : struct - { - return GetAttrib(accessor.count, accessor.byteOffset, view); - } - T[] GetAttrib(int count, int byteOffset, glTFBufferView view) where T : struct - { - var attrib = new T[count]; - // - var segment = buffers[view.buffer].GetBytes(); - var bytes = new ArraySegment(segment.Array, segment.Offset + view.byteOffset + byteOffset, count * view.byteStride); - bytes.MarshalCoyTo(attrib); - return attrib; - } - - public ArraySegment GetViewBytes(int bufferView) - { - var view = bufferViews[bufferView]; - var segment = buffers[view.buffer].GetBytes(); - return new ArraySegment(segment.Array, segment.Offset + view.byteOffset, view.byteLength); - } - - IEnumerable _GetIndices(glTFAccessor accessor, out int count) - { - count = accessor.count; - var view = bufferViews[accessor.bufferView]; - switch ((glComponentType)accessor.componentType) - { - case glComponentType.UNSIGNED_BYTE: - { - return GetAttrib(accessor, view).Select(x => (int)(x)); - } - - case glComponentType.UNSIGNED_SHORT: - { - return GetAttrib(accessor, view).Select(x => (int)(x)); - } - - case glComponentType.UNSIGNED_INT: - { - return GetAttrib(accessor, view).Select(x => (int)(x)); - } - } - throw new NotImplementedException("GetIndices: unknown componenttype: " + accessor.componentType); - } - - IEnumerable _GetIndices(glTFBufferView view, int count, int byteOffset, glComponentType componentType) - { - switch (componentType) - { - case glComponentType.UNSIGNED_BYTE: - { - return GetAttrib(count, byteOffset, view).Select(x => (int)(x)); - } - - case glComponentType.UNSIGNED_SHORT: - { - return GetAttrib(count, byteOffset, view).Select(x => (int)(x)); - } - - case glComponentType.UNSIGNED_INT: - { - return GetAttrib(count, byteOffset, view).Select(x => (int)(x)); - } - } - throw new NotImplementedException("GetIndices: unknown componenttype: " + componentType); - } - - public int[] GetIndices(int accessorIndex) - { - int count; - var result = _GetIndices(accessors[accessorIndex], out count); - var indices = new int[count]; - - // flip triangles - var it = result.GetEnumerator(); - { - for (int i = 0; i < count; i += 3) - { - it.MoveNext(); indices[i + 2] = it.Current; - it.MoveNext(); indices[i + 1] = it.Current; - it.MoveNext(); indices[i] = it.Current; - } - } - - return indices; - } - - public T[] GetArrayFromAccessor(int accessorIndex) where T : struct - { - var vertexAccessor = accessors[accessorIndex]; - - if (vertexAccessor.count <= 0) return new T[] { }; - - var result = (vertexAccessor.bufferView != -1) - ? GetAttrib(vertexAccessor, bufferViews[vertexAccessor.bufferView]) - : new T[vertexAccessor.count] - ; - - var sparse = vertexAccessor.sparse; - if (sparse != null && sparse.count > 0) - { - // override sparse values - var indices = _GetIndices(bufferViews[sparse.indices.bufferView], sparse.count, sparse.indices.byteOffset, sparse.indices.componentType); - var values = GetAttrib(sparse.count, sparse.values.byteOffset, bufferViews[sparse.values.bufferView]); - - var it = indices.GetEnumerator(); - for (int i = 0; i < sparse.count; ++i) - { - it.MoveNext(); - result[it.Current] = values[i]; - } - } - return result; - } - - public float[] GetArrayFromAccessorAsFloat(int accessorIndex) - { - var vertexAccessor = accessors[accessorIndex]; - - if (vertexAccessor.count <= 0) return new float[] { }; - - var bufferCount = vertexAccessor.count * vertexAccessor.TypeCount; - var result = (vertexAccessor.bufferView != -1) - ? GetAttrib(bufferCount, vertexAccessor.byteOffset, bufferViews[vertexAccessor.bufferView]) - : new float[bufferCount] - ; - - var sparse = vertexAccessor.sparse; - if (sparse != null && sparse.count > 0) - { - // override sparse values - var indices = _GetIndices(bufferViews[sparse.indices.bufferView], sparse.count, sparse.indices.byteOffset, sparse.indices.componentType); - var values = GetAttrib(sparse.count * vertexAccessor.TypeCount, sparse.values.byteOffset, bufferViews[sparse.values.bufferView]); - - var it = indices.GetEnumerator(); - for (int i = 0; i < sparse.count; ++i) - { - it.MoveNext(); - result[it.Current] = values[i]; - } - } - return result; - } - #endregion - - [JsonSchema(MinItems = 1, ExplicitIgnorableItemLength = 0)] - public List textures = new List(); - - [JsonSchema(MinItems = 1, ExplicitIgnorableItemLength = 0)] - public List samplers = new List(); - public glTFTextureSampler GetSampler(int index) - { - if (samplers.Count == 0) - { - samplers.Add(new glTFTextureSampler()); // default sampler - } - - return samplers[index]; - } - - [JsonSchema(MinItems = 1, ExplicitIgnorableItemLength = 0)] - public List images = new List(); - - public int GetImageIndexFromTextureIndex(int textureIndex) - { - return textures[textureIndex].source; - } - - public glTFImage GetImageFromTextureIndex(int textureIndex) - { - return images[GetImageIndexFromTextureIndex(textureIndex)]; - } - - public glTFTextureSampler GetSamplerFromTextureIndex(int textureIndex) - { - var samplerIndex = textures[textureIndex].sampler; - return GetSampler(samplerIndex); - } - - public ArraySegment GetImageBytes(IStorage storage, int imageIndex, out string textureName) - { - var image = images[imageIndex]; - if (string.IsNullOrEmpty(image.uri)) - { - // - // use buffer view (GLB) - // - //m_imageBytes = ToArray(byteSegment); - textureName = !string.IsNullOrEmpty(image.name) ? image.name : string.Format("{0:00}#GLB", imageIndex); - return GetViewBytes(image.bufferView); - } - else - { - if (image.uri.StartsWith("data:")) - { - textureName = !string.IsNullOrEmpty(image.name) ? image.name : string.Format("{0:00}#Base64Embeded", imageIndex); - } - else - { - textureName = !string.IsNullOrEmpty(image.name) ? image.name : Path.GetFileNameWithoutExtension(image.uri); - } - return storage.Get(image.uri); - } - } - - [JsonSchema(MinItems = 1, ExplicitIgnorableItemLength = 0)] - public List materials = new List(); - public string GetUniqueMaterialName(int index) - { - if (materials.Any(x => string.IsNullOrEmpty(x.name)) - || materials.Select(x => x.name).Distinct().Count() != materials.Count) - { - return String.Format("{0:00}_{1}", index, materials[index].name); - } - else - { - return materials[index].name; - } - } - - public bool MaterialHasVertexColor(glTFMaterial material) - { - if (material == null) - { - return false; - } - - var materialIndex = materials.IndexOf(material); - if (materialIndex == -1) - { - return false; - } - - return MaterialHasVertexColor(materialIndex); - } - - [JsonSchema(MinItems = 1, ExplicitIgnorableItemLength = 0)] - public List meshes = new List(); - - public bool MaterialHasVertexColor(int materialIndex) - { - if (materialIndex < 0 || materialIndex >= materials.Count) - { - return false; - } - - var hasVertexColor = meshes.SelectMany(x => x.primitives).Any(x => x.material == materialIndex && x.HasVertexColor); - return hasVertexColor; - } - - [JsonSchema(MinItems = 1, ExplicitIgnorableItemLength = 0)] - public List nodes = new List(); - - [JsonSchema(MinItems = 1, ExplicitIgnorableItemLength = 0)] - public List skins = new List(); - - [JsonSchema(Dependencies = new string[] { "scenes" }, Minimum = 0)] - public int scene; - - [JsonSchema(MinItems = 1, ExplicitIgnorableItemLength = 0)] - public List scenes = new List(); - public int[] rootnodes - { - get - { - return scenes[scene].nodes; - } - } - - [JsonSchema(MinItems = 1, ExplicitIgnorableItemLength = 0)] - public List animations = new List(); - - [JsonSchema(MinItems = 1, ExplicitIgnorableItemLength = 0)] - public List cameras = new List(); - - [JsonSchema(MinItems = 1, ExplicitIgnorableItemLength = 0)] - public List extensionsUsed = new List(); - - [JsonSchema(MinItems = 1, ExplicitIgnorableItemLength = 0)] - public List extensionsRequired = new List(); - - public glTF_extensions extensions = new glTF_extensions(); - public gltf_extras extras = new gltf_extras(); - - public override string ToString() - { - return string.Format("{0}", asset); - } - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - if (extensionsUsed.Count > 0) - { - f.Key("extensionsUsed"); f.GLTFValue(extensionsUsed); - } - if (extensions.__count > 0) - { - f.Key("extensions"); f.GLTFValue(extensions); - } - if (extras.__count > 0) - { - f.Key("extras"); f.GLTFValue(extras); - } - - f.Key("asset"); f.GLTFValue(asset); - - // buffer - if (buffers.Any()) - { - f.Key("buffers"); f.GLTFValue(buffers); - } - if (bufferViews.Any()) - { - f.Key("bufferViews"); f.GLTFValue(bufferViews); - } - if (accessors.Any()) - { - f.Key("accessors"); f.GLTFValue(accessors); - } - - // materials - if (images.Any()) - { - f.Key("images"); f.GLTFValue(images); - if (samplers.Count == 0) - { - samplers.Add(new glTFTextureSampler()); - } - } - - if (samplers.Any()) - { - f.Key("samplers"); f.GLTFValue(samplers); - } - - if (textures.Any()) - { - f.Key("textures"); f.GLTFValue(textures); - } - if (materials.Any()) - { - f.Key("materials"); f.GLTFValue(materials); - } - - // meshes - if (meshes.Any()) - { - f.Key("meshes"); f.GLTFValue(meshes); - } - if (skins.Any()) - { - f.Key("skins"); f.GLTFValue(skins); - } - - // scene - if (nodes.Any()) - { - f.Key("nodes"); f.GLTFValue(nodes); - } - if (scenes.Any()) - { - f.Key("scenes"); f.GLTFValue(scenes); - if (scene >= 0) - { - f.KeyValue(() => scene); - } - } - - // animations - if (animations.Any()) - { - f.Key("animations"); f.GLTFValue(animations); - } - } - - public bool Equals(glTF other) - { - return - textures.SequenceEqual(other.textures) - && samplers.SequenceEqual(other.samplers) - && images.SequenceEqual(other.images) - && materials.SequenceEqual(other.materials) - && meshes.SequenceEqual(other.meshes) - && nodes.SequenceEqual(other.nodes) - && skins.SequenceEqual(other.skins) - && scene == other.scene - && scenes.SequenceEqual(other.scenes) - && animations.SequenceEqual(other.animations) - ; - } - - bool UsedExtension(string key) - { - if (extensionsUsed.Contains(key)) - { - return true; - } - - return false; - } - - static Utf8String s_extensions = Utf8String.From("extensions"); - - void Traverse(ListTreeNode node, JsonFormatter f, Utf8String parentKey) - { - if(node.IsMap()) - { - f.BeginMap(); - foreach(var kv in node.ObjectItems()) - { - if (parentKey == s_extensions) - { - if (!UsedExtension(kv.Key.GetString())) - { - continue; - } - } - f.Key(kv.Key.GetUtf8String()); - Traverse(kv.Value, f, kv.Key.GetUtf8String()); - } - f.EndMap(); - } - else if(node.IsArray()) - { - f.BeginList(); - foreach(var x in node.ArrayItems()) - { - Traverse(x, f, default(Utf8String)); - } - f.EndList(); - } - else - { - f.Value(node); - } - } - - string RemoveUnusedExtensions(string json) - { - var f = new JsonFormatter(); - - Traverse(JsonParser.Parse(json), f, default(Utf8String)); - - return f.ToString(); - } - - public byte[] ToGlbBytes(bool UseUniJSONSerializer = false) - { - string json; - if (UseUniJSONSerializer) - { - var c = new JsonSchemaValidationContext(this) - { - EnableDiagnosisForNotRequiredFields = true, - }; - json = JsonSchema.FromType(GetType()).Serialize(this, c); - } - else - { - json = ToJson(); - } - - RemoveUnusedExtensions(json); - - return Glb.ToBytes(json, buffers[0].GetBytes()); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTF.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTF.cs.meta deleted file mode 100644 index b104789..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTF.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 317adeaa75a118a4f857721c90946933 -timeCreated: 1516618885 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFAnimation.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFAnimation.cs deleted file mode 100644 index f17be25..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFAnimation.cs +++ /dev/null @@ -1,210 +0,0 @@ -using System; -using System.Linq; -using System.Collections.Generic; -using UniJSON; - - -namespace UniGLTF -{ - [Serializable] - public class glTFAnimationTarget : JsonSerializableBase - { - [JsonSchema(Minimum = 0)] - public int node; - - [JsonSchema(Required = true, EnumValues = new object[] { "translation", "rotation", "scale", "weights" }, EnumSerializationType = EnumSerializationType.AsString)] - public string path; - - // empty schemas - public object extensions; - public object extras; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - f.KeyValue(() => node); - if (!string.IsNullOrEmpty(path)) - { - f.KeyValue(() => path); - } - } - - public enum Interpolations - { - LINEAR, - STEP, - CUBICSPLINE - } - - public const string PATH_TRANSLATION = "translation"; - public const string PATH_EULER_ROTATION = "rotation"; - public const string PATH_ROTATION = "rotation"; - public const string PATH_SCALE = "scale"; - public const string PATH_WEIGHT = "weights"; - public const string NOT_IMPLEMENTED = "NotImplemented"; - - public enum AnimationPropertys - { - Translation, - EulerRotation, - Rotation, - Scale, - Weight, - BlendShape, - - NotImplemented - } - - public static string GetPathName(AnimationPropertys property) - { - switch (property) - { - case AnimationPropertys.Translation: - return PATH_TRANSLATION; - case AnimationPropertys.EulerRotation: - case AnimationPropertys.Rotation: - return PATH_ROTATION; - case AnimationPropertys.Scale: - return PATH_SCALE; - case AnimationPropertys.BlendShape: - return PATH_WEIGHT; - default: throw new NotImplementedException(); - } - } - - public static AnimationPropertys GetAnimationProperty(string path) - { - switch (path) - { - case PATH_TRANSLATION: - return AnimationPropertys.Translation; - case PATH_ROTATION: - return AnimationPropertys.Rotation; - case PATH_SCALE: - return AnimationPropertys.Scale; - case PATH_WEIGHT: - return AnimationPropertys.BlendShape; - default: throw new NotImplementedException(); - } - } - - public static int GetElementCount(AnimationPropertys property) - { - switch (property) - { - case AnimationPropertys.Translation: return 3; - case AnimationPropertys.EulerRotation: return 3; - case AnimationPropertys.Rotation: return 4; - case AnimationPropertys.Scale: return 3; - case AnimationPropertys.BlendShape: return 1; - default: throw new NotImplementedException(); - } - } - - public static int GetElementCount(string path) - { - return GetElementCount(GetAnimationProperty(path)); - } - } - - [Serializable] - public class glTFAnimationChannel : JsonSerializableBase - { - [JsonSchema(Required = true, Minimum = 0)] - public int sampler = -1; - - [JsonSchema(Required = true)] - public glTFAnimationTarget target; - - // empty schemas - public object extensions; - public object extras; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - f.KeyValue(() => sampler); - f.Key("target"); f.GLTFValue(target); - } - } - - [Serializable] - public class glTFAnimationSampler : JsonSerializableBase - { - [JsonSchema(Required = true, Minimum = 0)] - public int input = -1; - - [JsonSchema(EnumValues = new object[] { "LINEAR", "STEP", "CUBICSPLINE" }, EnumSerializationType = EnumSerializationType.AsString)] - public string interpolation; - - [JsonSchema(Required = true, Minimum = 0)] - public int output = -1; - - // empty schemas - public object extensions; - public object extras; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - f.KeyValue(() => input); - if (!string.IsNullOrEmpty(interpolation)) - { - f.KeyValue(() => interpolation); - } - f.KeyValue(() => output); - } - } - - [Serializable] - public class glTFAnimation : JsonSerializableBase - { - public string name = ""; - - [JsonSchema(Required = true, MinItems = 1)] - public List channels = new List(); - - [JsonSchema(Required = true, MinItems = 1)] - public List samplers = new List(); - - // empty schemas - public object extensions; - public object extras; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - if (!string.IsNullOrEmpty(name)) - { - f.KeyValue(() => name); - } - - f.Key("channels"); f.GLTFValue(channels); - f.Key("samplers"); f.GLTFValue(samplers); - } - - public int AddChannelAndGetSampler(int nodeIndex, glTFAnimationTarget.AnimationPropertys property) - { - // find channel - var channel = channels.FirstOrDefault(x => x.target.node == nodeIndex && x.target.path == glTFAnimationTarget.GetPathName(property)); - if (channel != null) - { - return channel.sampler; - } - - // not found. create new - var samplerIndex = samplers.Count; - var sampler = new glTFAnimationSampler(); - samplers.Add(sampler); - - channel = new glTFAnimationChannel - { - sampler = samplerIndex, - target = new glTFAnimationTarget - { - node = nodeIndex, - path = glTFAnimationTarget.GetPathName(property), - }, - }; - channels.Add(channel); - - return samplerIndex; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFAnimation.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFAnimation.cs.meta deleted file mode 100644 index 4ca7197..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFAnimation.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: f571aa160b9de354c8f5fcc6a38e41f1 -timeCreated: 1515833098 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFAssets.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFAssets.cs deleted file mode 100644 index bf691fc..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFAssets.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System; -using UniJSON; - -namespace UniGLTF -{ - [Serializable] - public class glTFAssets : JsonSerializableBase - { - public string generator; - - [JsonSchema(Required = true, Pattern = "^[0-9]+\\.[0-9]+$")] - public string version; - - public string copyright; - - [JsonSchema(Pattern = "^[0-9]+\\.[0-9]+$")] - public string minVersion; - - // empty schemas - public object extensions; - public object extras; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - f.Key("generator"); f.Value(generator); - f.Key("version"); f.Value(version); - } - - public override string ToString() - { - return string.Format("GLTF-{0} generated by {1}", version, generator); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFAssets.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFAssets.cs.meta deleted file mode 100644 index 3e851a1..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFAssets.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 1b759a27457c3cb49adea3fba807e447 -timeCreated: 1516618004 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFBuffer.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFBuffer.cs deleted file mode 100644 index c47975e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFBuffer.cs +++ /dev/null @@ -1,261 +0,0 @@ -using System; -using System.Linq; -using UniJSON; - -namespace UniGLTF -{ - [Serializable] - public class glTFBuffer : JsonSerializableBase - { - IBytesBuffer Storage; - - public void OpenStorage(IStorage storage) - { - Storage = new ArraySegmentByteBuffer(storage.Get(uri)); - /* - if (string.IsNullOrEmpty(uri)) - { - Storage = (glbDataBytes); - } - else - { - Storage = new UriByteBuffer(baseDir, uri); - } - */ - } - - public glTFBuffer(IBytesBuffer storage) - { - Storage = storage; - } - - public string uri; - - [JsonSchema(Required = true, Minimum = 1)] - public int byteLength; - - // empty schemas - public object extensions; - public object extras; - public string name; - - public glTFBufferView Append(T[] array, glBufferTarget target) where T : struct - { - return Append(new ArraySegment(array), target); - } - public glTFBufferView Append(ArraySegment segment, glBufferTarget target) where T : struct - { - var view = Storage.Extend(segment, target); - byteLength = Storage.GetBytes().Count; - return view; - } - - public ArraySegment GetBytes() - { - return Storage.GetBytes(); - } - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - if (!string.IsNullOrEmpty(uri)) - { - f.KeyValue(() => uri); - } - f.KeyValue(() => byteLength); - } - } - - [Serializable] - public class glTFBufferView : JsonSerializableBase - { - [JsonSchema(Required = true, Minimum = 0)] - public int buffer; - - [JsonSchema(Minimum = 0)] - public int byteOffset; - - [JsonSchema(Required = true, Minimum = 1)] - public int byteLength; - - [JsonSchema(Minimum = 4, Maximum = 252, MultipleOf = 4)] - public int byteStride; - - [JsonSchema(EnumSerializationType = EnumSerializationType.AsInt, EnumExcludes = new object[] { glBufferTarget.NONE })] - public glBufferTarget target; - - // empty schemas - public object extensions; - public object extras; - public string name; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - f.KeyValue(() => buffer); - f.KeyValue(() => byteOffset); - f.KeyValue(() => byteLength); - if (target != glBufferTarget.NONE) - { - f.Key("target"); f.Value((int)target); - } - /* When this is not defined, data is tightly packed. When two or more accessors use the same bufferView, this field must be defined. - if (byteStride >= 4) - { - f.KeyValue(() => byteStride); - } - */ - } - } - - [Serializable] - public class glTFSparseIndices : JsonSerializableBase - { - [JsonSchema(Required = true, Minimum = 0)] - public int bufferView = -1; - - [JsonSchema(Minimum = 0)] - public int byteOffset; - - [JsonSchema(Required = true, EnumValues = new object[] { 5121, 5123, 5125 })] - public glComponentType componentType; - - // empty schemas - public object extensions; - public object extras; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - f.KeyValue(() => bufferView); - f.KeyValue(() => byteOffset); - f.Key("componentType"); f.Value((int)componentType); - } - } - - [Serializable] - public class glTFSparseValues : JsonSerializableBase - { - [JsonSchema(Required = true, Minimum = 0)] - public int bufferView = -1; - - [JsonSchema(Minimum = 0)] - public int byteOffset; - - // empty schemas - public object extensions; - public object extras; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - f.KeyValue(() => bufferView); - f.KeyValue(() => byteOffset); - } - } - - [Serializable] - public class glTFSparse : JsonSerializableBase - { - [JsonSchema(Required = true, Minimum = 1)] - public int count; - - [JsonSchema(Required = true)] - public glTFSparseIndices indices; - - [JsonSchema(Required = true)] - public glTFSparseValues values; - - // empty schemas - public object extensions; - public object extras; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - f.KeyValue(() => count); - f.Key("indices"); f.GLTFValue(indices); - f.Key("values"); f.GLTFValue(values); - } - } - - [Serializable] - public class glTFAccessor : JsonSerializableBase - { - [JsonSchema(Minimum = 0)] - public int bufferView = -1; - - [JsonSchema(Minimum = 0, Dependencies = new string[] { "bufferView" })] - public int byteOffset; - - [JsonSchema(Required = true, EnumValues = new object[] { "SCALAR", "VEC2", "VEC3", "VEC4", "MAT2", "MAT3", "MAT4" }, EnumSerializationType = EnumSerializationType.AsString)] - public string type; - - public int TypeCount - { - get - { - switch (type) - { - case "SCALAR": - return 1; - case "VEC2": - return 2; - case "VEC3": - return 3; - case "VEC4": - case "MAT2": - return 4; - case "MAT3": - return 9; - case "MAT4": - return 16; - default: - throw new NotImplementedException(); - } - } - } - - [JsonSchema(Required = true, EnumSerializationType = EnumSerializationType.AsInt)] - public glComponentType componentType; - - [JsonSchema(Required = true, Minimum = 1)] - public int count; - - [JsonSchema(MinItems = 1, MaxItems = 16)] - public float[] max; - - [JsonSchema(MinItems = 1, MaxItems = 16)] - public float[] min; - - public bool normalized; - public glTFSparse sparse; - - // empty schemas - public string name; - - public object extensions; - - public object extras; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - f.KeyValue(() => bufferView); - f.KeyValue(() => byteOffset); - f.KeyValue(() => type); - f.Key("componentType"); f.Value((int)componentType); - f.KeyValue(() => count); - if (max != null && max.Any()) - { - f.KeyValue(() => max); - } - if (min != null && min.Any()) - { - f.KeyValue(() => min); - } - - if (sparse != null && sparse.count > 0) - { - f.Key("sparse"); f.GLTFValue(sparse); - } - - f.KeyValue(() => normalized); - f.KeyValue(() => name); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFBuffer.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFBuffer.cs.meta deleted file mode 100644 index 876e42e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFBuffer.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 50888f361f18c3140a23e9bfdcf43557 -timeCreated: 1515832638 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFCamera.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFCamera.cs deleted file mode 100644 index 87de30c..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFCamera.cs +++ /dev/null @@ -1,60 +0,0 @@ -using System; -using UniJSON; - -namespace UniGLTF -{ - public enum ProjectionType - { - Perspective, - Orthographic - } - - [Serializable] - public class glTFOrthographic - { - [JsonSchema(Required = true)] - public float xmag; - [JsonSchema(Required = true)] - public float ymag; - [JsonSchema(Required = true, Minimum = 0.0f, ExclusiveMinimum = true)] - public float zfar; - [JsonSchema(Required = true, Minimum = 0.0f)] - public float znear; - - [JsonSchema(MinProperties = 1)] - public glTFOrthographic_extensions extensions; - [JsonSchema(MinProperties = 1)] - public glTFOrthographic_extras extras; - } - - [Serializable] - public class glTFPerspective - { - [JsonSchema(Minimum = 0.0f, ExclusiveMinimum = true)] - public float aspectRatio; - [JsonSchema(Required = true, Minimum = 0.0f, ExclusiveMinimum = true)] - public float yfov; - [JsonSchema(Minimum = 0.0f, ExclusiveMinimum = true)] - public float zfar; - [JsonSchema(Required = true, Minimum = 0.0f, ExclusiveMinimum = true)] - public float znear; - - public glTFPerspective_extensions extensions; - public glTFPerspective_extras extras; - } - - [Serializable] - public class glTFCamera - { - public glTFOrthographic orthographic; - public glTFPerspective perspective; - - [JsonSchema(Required = true, EnumSerializationType = EnumSerializationType.AsLowerString)] - public ProjectionType type; - - public string name; - - public glTFCamera_extensions extensions; - public glTFCamera_extras extras; - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFCamera.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFCamera.cs.meta deleted file mode 100644 index 2ecc500..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFCamera.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: a4ff02eb93400b142a5ff47d1067bd8b -timeCreated: 1531635880 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFMaterial.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFMaterial.cs deleted file mode 100644 index cb51d96..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFMaterial.cs +++ /dev/null @@ -1,225 +0,0 @@ -using System; -using UniJSON; - -namespace UniGLTF -{ - public enum glTFTextureTypes - { - BaseColor, - Metallic, - Normal, - Occlusion, - Emissive, - Unknown - } - - public interface IglTFTextureinfo - { - glTFTextureTypes TextreType { get; } - } - - [Serializable] - public abstract class glTFTextureInfo : JsonSerializableBase, IglTFTextureinfo - { - [JsonSchema(Required = true, Minimum = 0)] - public int index = -1; - - [JsonSchema(Minimum = 0)] - public int texCoord; - - // empty schemas - public object extensions; - public object extras; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - f.KeyValue(() => index); - f.KeyValue(() => texCoord); - } - - public abstract glTFTextureTypes TextreType { get; } - } - - - [Serializable] - public class glTFMaterialBaseColorTextureInfo : glTFTextureInfo - { - public override glTFTextureTypes TextreType - { - get { return glTFTextureTypes.BaseColor; } - } - } - - [Serializable] - public class glTFMaterialMetallicRoughnessTextureInfo : glTFTextureInfo - { - public override glTFTextureTypes TextreType - { - get { return glTFTextureTypes.Metallic; } - } - } - - [Serializable] - public class glTFMaterialNormalTextureInfo : glTFTextureInfo - { - public float scale = 1.0f; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - f.KeyValue(() => scale); - base.SerializeMembers(f); - } - - public override glTFTextureTypes TextreType - { - get { return glTFTextureTypes.Normal; } - } - } - - [Serializable] - public class glTFMaterialOcclusionTextureInfo : glTFTextureInfo - { - [JsonSchema(Minimum = 0.0, Maximum = 1.0)] - public float strength = 1.0f; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - f.KeyValue(() => strength); - base.SerializeMembers(f); - } - - public override glTFTextureTypes TextreType - { - get { return glTFTextureTypes.Occlusion; } - } - } - - [Serializable] - public class glTFMaterialEmissiveTextureInfo : glTFTextureInfo - { - public override glTFTextureTypes TextreType - { - get { return glTFTextureTypes.Emissive; } - } - } - - [Serializable] - public class glTFPbrMetallicRoughness : JsonSerializableBase - { - public glTFMaterialBaseColorTextureInfo baseColorTexture = null; - - [JsonSchema(MinItems = 4, MaxItems = 4)] - [ItemJsonSchema(Minimum = 0.0, Maximum = 1.0)] - public float[] baseColorFactor; - - public glTFMaterialMetallicRoughnessTextureInfo metallicRoughnessTexture = null; - - [JsonSchema(Minimum = 0.0, Maximum = 1.0)] - public float metallicFactor = 1.0f; - - [JsonSchema(Minimum = 0.0, Maximum = 1.0)] - public float roughnessFactor = 1.0f; - - // empty schemas - public object extensions; - public object extras; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - if (baseColorTexture != null) - { - f.Key("baseColorTexture"); f.GLTFValue(baseColorTexture); - } - if (baseColorFactor != null) - { - f.KeyValue(() => baseColorFactor); - } - if (metallicRoughnessTexture != null) - { - f.Key("metallicRoughnessTexture"); f.GLTFValue(metallicRoughnessTexture); - } - f.KeyValue(() => metallicFactor); - f.KeyValue(() => roughnessFactor); - } - } - - [Serializable] - public class glTFMaterial : JsonSerializableBase - { - public string name; - public glTFPbrMetallicRoughness pbrMetallicRoughness; - public glTFMaterialNormalTextureInfo normalTexture = null; - - public glTFMaterialOcclusionTextureInfo occlusionTexture = null; - - public glTFMaterialEmissiveTextureInfo emissiveTexture = null; - - [JsonSchema(MinItems = 3, MaxItems = 3)] - [ItemJsonSchema(Minimum = 0.0, Maximum = 1.0)] - public float[] emissiveFactor; - - [JsonSchema(EnumValues = new object[] { "OPAQUE", "MASK", "BLEND" }, EnumSerializationType = EnumSerializationType.AsUpperString)] - public string alphaMode; - - [JsonSchema(Dependencies = new string[] { "alphaMode" }, Minimum = 0.0)] - public float alphaCutoff = 0.5f; - - public bool doubleSided; - - [JsonSchema(SkipSchemaComparison = true)] - public glTFMaterial_extensions extensions; - public object extras; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - if (!String.IsNullOrEmpty(name)) - { - f.Key("name"); f.Value(name); - } - if (pbrMetallicRoughness != null) - { - f.Key("pbrMetallicRoughness"); f.GLTFValue(pbrMetallicRoughness); - } - if (normalTexture != null) - { - f.Key("normalTexture"); f.GLTFValue(normalTexture); - } - if (occlusionTexture != null) - { - f.Key("occlusionTexture"); f.GLTFValue(occlusionTexture); - } - if (emissiveTexture != null) - { - f.Key("emissiveTexture"); f.GLTFValue(emissiveTexture); - } - if (emissiveFactor != null) - { - f.Key("emissiveFactor"); f.Serialize(emissiveFactor); - } - - f.KeyValue(() => doubleSided); - - if (!string.IsNullOrEmpty(alphaMode)) - { - f.KeyValue(() => alphaMode); - } - - if (extensions != null) - { - f.Key("extensions"); f.GLTFValue(extensions); - } - } - - public glTFTextureInfo[] GetTextures() - { - return new glTFTextureInfo[] - { - pbrMetallicRoughness.baseColorTexture, - pbrMetallicRoughness.metallicRoughnessTexture, - normalTexture, - occlusionTexture, - emissiveTexture - }; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFMaterial.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFMaterial.cs.meta deleted file mode 100644 index 69c4328..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFMaterial.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: f6315a9155238724c9b221c155c73f68 -timeCreated: 1515601872 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFMesh.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFMesh.cs deleted file mode 100644 index 3150416..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFMesh.cs +++ /dev/null @@ -1,169 +0,0 @@ -using System; -using System.Collections.Generic; -using UniJSON; - -namespace UniGLTF -{ - [Serializable] - public class glTFAttributes : JsonSerializableBase - { - [JsonSchema(Minimum = 0, ExplicitIgnorableValue = -1)] - public int POSITION = -1; - - [JsonSchema(Minimum = 0, ExplicitIgnorableValue = -1)] - public int NORMAL = -1; - - [JsonSchema(Minimum = 0, ExplicitIgnorableValue = -1)] - public int TANGENT = -1; - - [JsonSchema(Minimum = 0, ExplicitIgnorableValue = -1)] - public int TEXCOORD_0 = -1; - - [JsonSchema(Minimum = 0, ExplicitIgnorableValue = -1)] - public int COLOR_0 = -1; - - [JsonSchema(Minimum = 0, ExplicitIgnorableValue = -1)] - public int JOINTS_0 = -1; - - [JsonSchema(Minimum = 0, ExplicitIgnorableValue = -1)] - public int WEIGHTS_0 = -1; - - public override int GetHashCode() - { - return base.GetHashCode(); - } - - public override bool Equals(object obj) - { - var rhs = obj as glTFAttributes; - if (rhs == null) - { - return base.Equals(obj); - } - - return POSITION == rhs.POSITION - && NORMAL == rhs.NORMAL - && TANGENT == rhs.TANGENT - && TEXCOORD_0 == rhs.TEXCOORD_0 - && COLOR_0 == rhs.COLOR_0 - && JOINTS_0 == rhs.JOINTS_0 - && WEIGHTS_0 == rhs.WEIGHTS_0 - ; - } - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - f.KeyValue(() => POSITION); - if (NORMAL != -1) f.KeyValue(() => NORMAL); - if (TANGENT != -1) f.KeyValue(() => TANGENT); - if (TEXCOORD_0 != -1) f.KeyValue(() => TEXCOORD_0); - if (COLOR_0 != -1) f.KeyValue(() => COLOR_0); - if (JOINTS_0 != -1) f.KeyValue(() => JOINTS_0); - if (WEIGHTS_0 != -1) f.KeyValue(() => WEIGHTS_0); - } - } - - [Serializable] - public class gltfMorphTarget : JsonSerializableBase - { - [JsonSchema(Minimum = 0, ExplicitIgnorableValue = -1)] - public int POSITION = -1; - - [JsonSchema(Minimum = 0, ExplicitIgnorableValue = -1)] - public int NORMAL = -1; - - [JsonSchema(Minimum = 0, ExplicitIgnorableValue = -1)] - public int TANGENT = -1; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - f.KeyValue(() => POSITION); - if (NORMAL >= 0) f.KeyValue(() => NORMAL); - if (TANGENT >= 0) f.KeyValue(() => TANGENT); - } - } - - /// - /// https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/schema/mesh.primitive.schema.json - /// - [Serializable] - public class glTFPrimitives : JsonSerializableBase - { - [JsonSchema(EnumValues = new object[] { 0, 1, 2, 3, 4, 5, 6 })] - public int mode; - - [JsonSchema(Minimum = 0, ExplicitIgnorableValue = -1)] - public int indices = -1; - - [JsonSchema(Required = true, SkipSchemaComparison = true)] - public glTFAttributes attributes; - - public bool HasVertexColor - { - get - { - return attributes.COLOR_0 != -1; - } - } - - [JsonSchema(Minimum = 0)] - public int material; - - [JsonSchema(MinItems = 1, ExplicitIgnorableItemLength = 0)] - [ItemJsonSchema(SkipSchemaComparison = true)] - public List targets = new List(); - - public glTFPrimitives_extras extras = new glTFPrimitives_extras(); - - [JsonSchema(SkipSchemaComparison = true)] - public glTFPrimitives_extensions extensions = null; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - f.KeyValue(() => mode); - f.KeyValue(() => indices); - f.Key("attributes"); f.GLTFValue(attributes); - f.KeyValue(() => material); - if (targets != null && targets.Count > 0) - { - f.Key("targets"); f.GLTFValue(targets); - } - if (extras.targetNames.Count > 0) - { - f.Key("extras"); f.GLTFValue(extras); - } - } - } - - [Serializable] - public class glTFMesh : JsonSerializableBase - { - public string name; - - [JsonSchema(Required = true, MinItems = 1)] - public List primitives; - - [JsonSchema(MinItems = 1)] - public float[] weights; - - // empty schemas - public object extensions; - public object extras; - - public glTFMesh(string _name) - { - name = _name; - primitives = new List(); - } - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - f.KeyValue(() => name); - f.Key("primitives"); f.GLTFValue(primitives); - if (weights != null && weights.Length > 0) - { - f.KeyValue(() => weights); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFMesh.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFMesh.cs.meta deleted file mode 100644 index 5d8622c..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFMesh.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 20634c83ea30c99449cd85ef46368b13 -timeCreated: 1516622346 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFNode.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFNode.cs deleted file mode 100644 index edef688..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFNode.cs +++ /dev/null @@ -1,78 +0,0 @@ -using System; -using System.Linq; -using UniJSON; - -namespace UniGLTF -{ - [Serializable] - public class glTFNode : JsonSerializableBase - { - // TODO: need an empty string? - public string name; - - [JsonSchema(MinItems = 1)] - [ItemJsonSchema(Minimum = 0)] - public int[] children; - - [JsonSchema(MinItems = 16, MaxItems = 16)] - public float[] matrix; - - [JsonSchema(MinItems = 3, MaxItems = 3)] - public float[] translation; - - [JsonSchema(MinItems = 4, MaxItems = 4)] - [ItemJsonSchema(Minimum = -1.0, Maximum = 1.0)] - public float[] rotation; - - [JsonSchema(MinItems = 3, MaxItems = 3)] - public float[] scale; - - [JsonSchema(Minimum = 0, ExplicitIgnorableValue = -1)] - public int mesh = -1; - - [JsonSchema(Dependencies = new string[] { "mesh" }, Minimum = 0, ExplicitIgnorableValue = -1)] - public int skin = -1; - - [JsonSchema(Dependencies = new string[] { "mesh" }, MinItems = 1)] - public float[] weights; - - [JsonSchema(Minimum = 0, ExplicitIgnorableValue = -1)] - public int camera = -1; - - // empty schemas - public glTFNode_extensions extensions; - - public glTFNode_extra extras = new glTFNode_extra(); - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - if (children != null && children.Any()) - { - f.Key("children"); f.BeginList(); - foreach (var child in children) - { - f.Value(child); - } - f.EndList(); - } - - if (!string.IsNullOrEmpty(name)) f.KeyValue(() => name); - if (matrix != null) f.KeyValue(() => matrix); - if (translation != null) f.KeyValue(() => translation); - if (rotation != null) f.KeyValue(() => rotation); - if (scale != null) f.KeyValue(() => scale); - - if (mesh >= 0) f.KeyValue(() => mesh); - if (camera >= 0) f.KeyValue(() => camera); - if (skin >= 0) - { - f.KeyValue(() => skin); - - if (extras.__count > 0) - { - f.Key("extras"); f.GLTFValue(extras); - } - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFNode.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFNode.cs.meta deleted file mode 100644 index b973253..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFNode.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 655775a9435baed4281c569519829362 -timeCreated: 1515833011 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFSkin.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFSkin.cs deleted file mode 100644 index aebffb1..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFSkin.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System; -using UniJSON; - -namespace UniGLTF -{ - [Serializable] - public class glTFSkin : JsonSerializableBase - { - [JsonSchema(Minimum = 0, ExplicitIgnorableValue = -1)] - public int inverseBindMatrices = -1; - - [JsonSchema(Required = true, MinItems = 1)] - [ItemJsonSchema(Minimum = 0)] - public int[] joints; - - [JsonSchema(Minimum = 0, ExplicitIgnorableValue = -1)] - public int skeleton = -1; - - // empty schemas - public object extensions; - public object extras; - public string name; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - f.KeyValue(() => inverseBindMatrices); - f.KeyValue(() => joints); - if (skeleton >= 0) - { - f.KeyValue(() => skeleton); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFSkin.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFSkin.cs.meta deleted file mode 100644 index 3d20b39..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFSkin.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 592c03928131f494f99dca5ef46a8ba0 -timeCreated: 1516722509 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFTexture.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFTexture.cs deleted file mode 100644 index 199846b..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFTexture.cs +++ /dev/null @@ -1,123 +0,0 @@ -using System; -using System.IO; -using UniJSON; - -namespace UniGLTF -{ - [Serializable] - public class glTFTextureSampler : JsonSerializableBase - { - [JsonSchema(EnumSerializationType = EnumSerializationType.AsInt, - EnumExcludes = new object[] { - glFilter.NONE, - glFilter.NEAREST_MIPMAP_NEAREST, - glFilter.LINEAR_MIPMAP_NEAREST, - glFilter.NEAREST_MIPMAP_LINEAR, - glFilter.LINEAR_MIPMAP_LINEAR, - })] - public glFilter magFilter = glFilter.NEAREST; - - [JsonSchema(EnumSerializationType = EnumSerializationType.AsInt, - EnumExcludes = new object[] { glFilter.NONE })] - public glFilter minFilter = glFilter.NEAREST; - - [JsonSchema(EnumSerializationType = EnumSerializationType.AsInt, - EnumExcludes = new object[] { glWrap.NONE })] - public glWrap wrapS = glWrap.REPEAT; - - [JsonSchema(EnumSerializationType = EnumSerializationType.AsInt, - EnumExcludes = new object[] { glWrap.NONE })] - public glWrap wrapT = glWrap.REPEAT; - - // empty schemas - public object extensions; - public object extras; - public string name; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - f.Key("magFilter"); f.Value((int)magFilter); - f.Key("minFilter"); f.Value((int)minFilter); - f.Key("wrapS"); f.Value((int)wrapS); - f.Key("wrapT"); f.Value((int)wrapT); - } - } - - [Serializable] - public class glTFImage : JsonSerializableBase - { - public string name; - public string uri; - - [JsonSchema(Dependencies = new string[] { "mimeType" }, Minimum = 0)] - public int bufferView; - - [JsonSchema(EnumValues = new object[] { "image/jpeg", "image/png" }, EnumSerializationType =EnumSerializationType.AsString)] - public string mimeType; - - public string GetExt() - { - switch (mimeType) - { - case "image/png": - return ".png"; - - case "image/jpeg": - return ".jpg"; - - default: - if (uri.StartsWith("data:image/jpeg;")) - { - return ".jpg"; - } - else if (uri.StartsWith("data:image/png;")) - { - return ".png"; - } - else - { - return Path.GetExtension(uri).ToLower(); - } - } - } - - // empty schemas - public object extensions; - public object extras; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - f.KeyValue(() => name); - if (!string.IsNullOrEmpty(uri)) - { - f.KeyValue(() => uri); - } - else - { - f.KeyValue(() => bufferView); - f.KeyValue(() => mimeType); - } - } - } - - [Serializable] - public class glTFTexture : JsonSerializableBase - { - [JsonSchema(Minimum = 0)] - public int sampler; - - [JsonSchema(Minimum = 0)] - public int source; - - // empty schemas - public object extensions; - public object extras; - public string name; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - f.KeyValue(() => sampler); - f.KeyValue(() => source); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFTexture.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFTexture.cs.meta deleted file mode 100644 index b38c9e7..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glTFTexture.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 5eabe858953de424787a21d633fedda0 -timeCreated: 1515832646 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glbTypes.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glbTypes.cs deleted file mode 100644 index a876b54..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glbTypes.cs +++ /dev/null @@ -1,142 +0,0 @@ -using System; -using System.IO; -using System.Text; - -namespace UniGLTF -{ - public enum GlbChunkType : uint - { - JSON = 0x4E4F534A, - BIN = 0x004E4942, - } - - public struct GlbHeader - { - public static void WriteTo(Stream s) - { - s.WriteByte((Byte)'g'); - s.WriteByte((Byte)'l'); - s.WriteByte((Byte)'T'); - s.WriteByte((Byte)'F'); - var bytes = BitConverter.GetBytes((UInt32)2); - s.Write(bytes, 0, bytes.Length); - } - } - - public struct GlbChunk - { - public GlbChunkType ChunkType; - public ArraySegment Bytes; - - public GlbChunk(string json) : this( - GlbChunkType.JSON, - new ArraySegment(Encoding.UTF8.GetBytes(json)) - ) - { - } - - public GlbChunk(ArraySegment bytes) : this( - GlbChunkType.BIN, - bytes - ) - { - } - - public GlbChunk(GlbChunkType type, ArraySegment bytes) - { - ChunkType = type; - Bytes = bytes; - } - - byte GetPaddingByte() - { - // chunk type - switch (ChunkType) - { - case GlbChunkType.JSON: - return 0x20; - - case GlbChunkType.BIN: - return 0x00; - - default: - throw new Exception("unknown chunk type: " + ChunkType); - } - } - - public int WriteTo(Stream s) - { - // padding - var paddingValue = Bytes.Count % 4; - var padding = (paddingValue > 0) ? 4 - paddingValue : 0; - - // size - var bytes = BitConverter.GetBytes((int)(Bytes.Count + padding)); - s.Write(bytes, 0, bytes.Length); - - // chunk type - switch (ChunkType) - { - case GlbChunkType.JSON: - s.WriteByte((byte)'J'); - s.WriteByte((byte)'S'); - s.WriteByte((byte)'O'); - s.WriteByte((byte)'N'); - break; - - case GlbChunkType.BIN: - s.WriteByte((byte)'B'); - s.WriteByte((byte)'I'); - s.WriteByte((byte)'N'); - s.WriteByte((byte)0); - break; - - default: - throw new Exception("unknown chunk type: " + ChunkType); - } - - // body - s.Write(Bytes.Array, Bytes.Offset, Bytes.Count); - - // 4byte align - var pad = GetPaddingByte(); - for(int i=0; i body) - { - using (var s = new MemoryStream()) - { - GlbHeader.WriteTo(s); - - var pos = s.Position; - s.Position += 4; // skip total size - - int size = 12; - - { - var chunk = new GlbChunk(json); - size += chunk.WriteTo(s); - } - { - var chunk = new GlbChunk(body); - size += chunk.WriteTo(s); - } - - s.Position = pos; - var bytes = BitConverter.GetBytes(size); - s.Write(bytes, 0, bytes.Length); - - return s.ToArray(); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glbTypes.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glbTypes.cs.meta deleted file mode 100644 index fdc70e4..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/Format/glbTypes.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 9238dc0c44df9484bbdca85d818c9b73 -timeCreated: 1516616871 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO.meta deleted file mode 100644 index 8f812cd..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 00c97acd8c772e948b9831b7a8b87131 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/AnimationCurveData.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/AnimationCurveData.cs deleted file mode 100644 index cb08228..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/AnimationCurveData.cs +++ /dev/null @@ -1,121 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using UnityEngine; -#if UNITY_EDITOR -using UnityEditor; -#endif - - -namespace UniGLTF -{ - class AnimationCurveData - { -#if UNITY_EDITOR - public AnimationUtility.TangentMode TangentMode { get; private set; } - public glTFAnimationTarget.AnimationPropertys AnimationProperty { get; private set; } - public int SamplerIndex { get; private set; } - public int ElementCount { get; private set; } - public readonly List Keyframes = new List(); - - public AnimationCurveData(AnimationUtility.TangentMode tangentMode, glTFAnimationTarget.AnimationPropertys property, int samplerIndex, int elementCount) - { - TangentMode = tangentMode; - AnimationProperty = property; - SamplerIndex = samplerIndex; - ElementCount = elementCount; - } - - public string GetInterpolation() - { - switch (TangentMode) - { - case AnimationUtility.TangentMode.Linear: - return glTFAnimationTarget.Interpolations.LINEAR.ToString(); - case AnimationUtility.TangentMode.Constant: - return glTFAnimationTarget.Interpolations.STEP.ToString(); - default: - return glTFAnimationTarget.Interpolations.LINEAR.ToString(); - } - } - - /// - /// キーフレームのデータを入力する - /// - /// - /// - /// - public void SetKeyframeData(float time, float value, int valueOffset) - { - var existKeyframe = Keyframes.FirstOrDefault(x => x.Time == time); - if (existKeyframe != null) - { - existKeyframe.SetValue(value, valueOffset); - } - else - { - var newKeyframe = GetKeyframeData(AnimationProperty, ElementCount); - newKeyframe.Time = time; - newKeyframe.SetValue(value, valueOffset); - Keyframes.Add(newKeyframe); - } - } - - /// - /// キー情報がなかった要素に対して直前のキーの値を入力する - /// - public void RecountEmptyKeyframe() - { - if (Keyframes.Count == 0) - { - return; - } - - Keyframes.Sort((x, y) => (x.Time < y.Time) ? -1 : 1); - - for (int i = 1; i < Keyframes.Count; i++) - { - var current = Keyframes[i]; - var last = Keyframes[i - 1]; - for (int j = 0; j < current.EnterValues.Length; j++) - { - if (!current.EnterValues[j]) - { - Keyframes[i].SetValue(last.Values[j], j); - } - } - - } - } - - /// - /// アニメーションプロパティに対応したキーフレームを挿入する - /// - /// - /// - private static AnimationKeyframeData GetKeyframeData(glTFAnimationTarget.AnimationPropertys property, int elementCount) - { - switch (property) - { - case glTFAnimationTarget.AnimationPropertys.Translation: - return new AnimationKeyframeData(elementCount, (values) => - { - var temp = new Vector3(values[0], values[1], values[2]); - return temp.ReverseZ().ToArray(); - }); - case glTFAnimationTarget.AnimationPropertys.Rotation: - return new AnimationKeyframeData(elementCount, (values) => - { - var temp = new Quaternion(values[0], values[1], values[2], values[3]); - return temp.ReverseZ().ToArray(); - }); - case glTFAnimationTarget.AnimationPropertys.Scale: - return new AnimationKeyframeData(elementCount, null); - case glTFAnimationTarget.AnimationPropertys.BlendShape: - return new AnimationKeyframeData(elementCount, null); - default: - return null; - } - } -#endif - } -} \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/AnimationCurveData.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/AnimationCurveData.cs.meta deleted file mode 100644 index a6b2101..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/AnimationCurveData.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 1af21722605d44f58deebfcfca642b32 -timeCreated: 1537442711 \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/AnimationExporter.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/AnimationExporter.cs deleted file mode 100644 index b3cda06..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/AnimationExporter.cs +++ /dev/null @@ -1,222 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using UnityEngine; -#if UNITY_EDITOR -using UnityEditor; -#endif - - -namespace UniGLTF -{ - - public static class AnimationExporter - { - public class InputOutputValues - { - public float[] Input; - public float[] Output; - } - - public class AnimationWithSampleCurves - { - public glTFAnimation Animation; - public Dictionary SamplerMap = new Dictionary(); - } - -#if UNITY_EDITOR - public static List GetAnimationClips(Animation animation) - { - var clips = new List(); - foreach (AnimationState state in animation) - { - clips.Add(state.clip); - } - return clips; - } - - public static List GetAnimationClips(Animator animator) - { - var clips = new List(); - - RuntimeAnimatorController runtimeAnimatorController = animator.runtimeAnimatorController; - UnityEditor.Animations.AnimatorController animationController = runtimeAnimatorController as UnityEditor.Animations.AnimatorController; - - if (animationController == null) - { - return clips; - } - - foreach (var layer in animationController.layers) - { - foreach (var state in layer.stateMachine.states) - { - clips.Add(state.state.motion as AnimationClip); - } - } - return clips; - } - - static int GetNodeIndex(Transform root, List nodes, string path) - { - var descendant = root.GetFromPath(path); - return nodes.IndexOf(descendant); - } - - public static glTFAnimationTarget.AnimationPropertys PropertyToTarget(string property) - { - if (property.StartsWith("m_LocalPosition.")) - { - return glTFAnimationTarget.AnimationPropertys.Translation; - } - else if (property.StartsWith("localEulerAnglesRaw.")) - { - return glTFAnimationTarget.AnimationPropertys.EulerRotation; - } - else if (property.StartsWith("m_LocalRotation.")) - { - return glTFAnimationTarget.AnimationPropertys.Rotation; - } - else if (property.StartsWith("m_LocalScale.")) - { - return glTFAnimationTarget.AnimationPropertys.Scale; - } - else if (property.StartsWith("blendShape.")) - { - return glTFAnimationTarget.AnimationPropertys.BlendShape; - } - else - { - return glTFAnimationTarget.AnimationPropertys.NotImplemented; - } - } - - public static int GetElementOffset(string property) - { - if (property.EndsWith(".x")) - { - return 0; - } - if (property.EndsWith(".y") || property.StartsWith("blendShape.")) - { - return 1; - } - if (property.EndsWith(".z")) - { - return 2; - } - if (property.EndsWith(".w")) - { - return 3; - } - else - { - throw new NotImplementedException(); - } - } - - public static AnimationWithSampleCurves Export(AnimationClip clip, Transform root, List nodes) - { - var animation = new AnimationWithSampleCurves - { - Animation = new glTFAnimation(), - }; - -#if UNITY_5_6_OR_NEWER - List curveDatas = new List(); - - foreach (var binding in AnimationUtility.GetCurveBindings(clip)) - { - var curve = AnimationUtility.GetEditorCurve(clip, binding); - - var property = AnimationExporter.PropertyToTarget(binding.propertyName); - if (property == glTFAnimationTarget.AnimationPropertys.NotImplemented) - { - Debug.LogWarning("Not Implemented keyframe property : " + binding.propertyName); - continue; - } - if (property == glTFAnimationTarget.AnimationPropertys.EulerRotation) - { - Debug.LogWarning("Interpolation setting of AnimationClip should be Quaternion"); - continue; - } - - var nodeIndex = GetNodeIndex(root, nodes, binding.path); - var samplerIndex = animation.Animation.AddChannelAndGetSampler(nodeIndex, property); - var elementCount = 0; - if (property == glTFAnimationTarget.AnimationPropertys.BlendShape) - { - var mesh = nodes[nodeIndex].GetComponent().sharedMesh; - elementCount = mesh.blendShapeCount; - } - else - { - elementCount = glTFAnimationTarget.GetElementCount(property); - } - - // 同一のsamplerIndexが割り当てられているcurveDataがある場合はそれを使用し、無ければ作る - var curveData = curveDatas.FirstOrDefault(x => x.SamplerIndex == samplerIndex); - if (curveData == null) - { - curveData = new AnimationCurveData(AnimationUtility.GetKeyRightTangentMode(curve, 0), property, samplerIndex, elementCount); - curveDatas.Add(curveData); - } - - // 全てのキーフレームを回収 - int elementOffset = 0; - float valueFactor = 1.0f; - if (property == glTFAnimationTarget.AnimationPropertys.BlendShape) - { - var mesh = nodes[nodeIndex].GetComponent().sharedMesh; - var blendShapeName = binding.propertyName.Replace("blendShape.", ""); - elementOffset = mesh.GetBlendShapeIndex(blendShapeName); - valueFactor = 0.01f; - } - else - { - elementOffset = AnimationExporter.GetElementOffset(binding.propertyName); - } - - if (elementOffset >= 0 && elementOffset < elementCount) - { - for (int i = 0; i < curve.keys.Length; i++) - { - curveData.SetKeyframeData(curve.keys[i].time, curve.keys[i].value * valueFactor, elementOffset); - } - } - } - - //キー挿入 - foreach (var curve in curveDatas) - { - if (curve.Keyframes.Count == 0) - continue; - - curve.RecountEmptyKeyframe(); - - var elementNum = curve.Keyframes.First().Values.Length; - var values = default(InputOutputValues); - if (!animation.SamplerMap.TryGetValue(curve.SamplerIndex, out values)) - { - values = new InputOutputValues(); - values.Input = new float[curve.Keyframes.Count]; - values.Output = new float[curve.Keyframes.Count * elementNum]; - animation.SamplerMap[curve.SamplerIndex] = values; - animation.Animation.samplers[curve.SamplerIndex].interpolation = curve.GetInterpolation(); - } - - int keyframeIndex = 0; - foreach (var keyframe in curve.Keyframes) - { - values.Input[keyframeIndex] = keyframe.Time; - Buffer.BlockCopy(keyframe.GetRightHandCoordinate(), 0, values.Output, keyframeIndex * elementNum * sizeof(float), elementNum * sizeof(float)); - keyframeIndex++; - } - } -#endif - - return animation; - } -#endif - } - } \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/AnimationExporter.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/AnimationExporter.cs.meta deleted file mode 100644 index 6603cc1..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/AnimationExporter.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 015ae41bf6cb4428b8257ead79772908 -timeCreated: 1537443293 \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/AnimationImporter.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/AnimationImporter.cs deleted file mode 100644 index cab07ee..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/AnimationImporter.cs +++ /dev/null @@ -1,330 +0,0 @@ -using System; -using System.Linq; -using System.Collections.Generic; -using UnityEngine; - -namespace UniGLTF -{ - public static class AnimationImporter - { - private enum TangentMode - { - Linear, - Constant, - Cubicspline - } - - private static TangentMode GetTangentMode(string interpolation) - { - if (interpolation == glTFAnimationTarget.Interpolations.LINEAR.ToString()) - { - return TangentMode.Linear; - } - else if (interpolation == glTFAnimationTarget.Interpolations.STEP.ToString()) - { - return TangentMode.Constant; - } - else if (interpolation == glTFAnimationTarget.Interpolations.CUBICSPLINE.ToString()) - { - return TangentMode.Cubicspline; - } - else - { - throw new NotImplementedException(); - } - } - - private static void CalculateTanget(List keyframes, int current) - { - int back = current - 1; - if (back < 0) - { - return; - } - if (current < keyframes.Count) - { - var rightTangent = (keyframes[current].value - keyframes[back].value) / (keyframes[current].time - keyframes[back].time); - keyframes[back] = new Keyframe(keyframes[back].time, keyframes[back].value, keyframes[back].inTangent, rightTangent); - - var leftTangent = (keyframes[back].value - keyframes[current].value) / (keyframes[back].time - keyframes[current].time); - keyframes[current] = new Keyframe(keyframes[current].time, keyframes[current].value, leftTangent, 0); - } - } - - public static Quaternion GetShortest(Quaternion last, Quaternion rot) - { - if (Quaternion.Dot(last, rot) > 0.0) - { - return rot; - } - else - { - return new Quaternion(-rot.x, -rot.y, -rot.z, -rot.w); - } - - } - - public delegate float[] ReverseZ(float[] current, float[] last); - public static void SetAnimationCurve( - AnimationClip targetClip, - string relativePath, - string[] propertyNames, - float[] input, - float[] output, - string interpolation, - Type curveType, - ReverseZ reverse) - { - var tangentMode = GetTangentMode(interpolation); - - var curveCount = propertyNames.Length; - AnimationCurve[] curves = new AnimationCurve[curveCount]; - List[] keyframes = new List[curveCount]; - - int elementNum = curveCount; - int inputIndex = 0; - //Quaternion用 - float[] last = new float[curveCount]; - if (last.Length == 4) - { - last[3] = 1.0f; - } - for (inputIndex = 0; inputIndex < input.Length; ++inputIndex) - { - var time = input[inputIndex]; - var outputIndex = 0; - if (tangentMode == TangentMode.Cubicspline) - { - outputIndex = inputIndex * elementNum * 3; - var value = new float[curveCount]; - for (int i = 0; i < value.Length; i++) - { - value[i] = output[outputIndex + elementNum + i]; - } - var reversed = reverse(value, last); - last = reversed; - for (int i = 0; i < keyframes.Length; i++) - { - if (keyframes[i] == null) - keyframes[i] = new List(); - keyframes[i].Add(new Keyframe( - time, - reversed[i], - output[outputIndex + i], - output[outputIndex + i + elementNum * 2])); - } - } - else - { - outputIndex = inputIndex * elementNum; - var value = new float[curveCount]; - for (int i = 0; i < value.Length; i++) - { - value[i] = output[outputIndex + i]; - } - var reversed = reverse(value, last); - last = reversed; - - for (int i = 0; i < keyframes.Length; i++) - { - if (keyframes[i] == null) - keyframes[i] = new List(); - if (tangentMode == TangentMode.Linear) - { - keyframes[i].Add(new Keyframe(time, reversed[i], 0, 0)); - if (keyframes[i].Count > 0) - { - CalculateTanget(keyframes[i], keyframes[i].Count - 1); - } - } - else if (tangentMode == TangentMode.Constant) - keyframes[i].Add(new Keyframe(time, reversed[i], 0, float.PositiveInfinity)); - } - } - } - - for (int i = 0; i < curves.Length; i++) - { - curves[i] = new AnimationCurve(); - for (int j = 0; j < keyframes[i].Count; j++) - { - curves[i].AddKey(keyframes[i][j]); - } - - targetClip.SetCurve(relativePath, curveType, propertyNames[i], curves[i]); - } - } - - public static List ImportAnimationClip(ImporterContext ctx) - { - List animasionClips = new List(); - for (int i = 0; i < ctx.GLTF.animations.Count; ++i) - { - var clip = new AnimationClip(); - clip.ClearCurves(); - clip.legacy = true; - clip.name = ctx.GLTF.animations[i].name; - if (string.IsNullOrEmpty(clip.name)) - { - clip.name = "legacy_" + i; - } - clip.wrapMode = WrapMode.Loop; - - var animation = ctx.GLTF.animations[i]; - if (string.IsNullOrEmpty(animation.name)) - { - animation.name = string.Format("animation:{0}", i); - } - - foreach (var channel in animation.channels) - { - var targetTransform = ctx.Nodes[channel.target.node]; - var relativePath = targetTransform.RelativePathFrom(ctx.Root.transform); - switch (channel.target.path) - { - case glTFAnimationTarget.PATH_TRANSLATION: - { - var sampler = animation.samplers[channel.sampler]; - var input = ctx.GLTF.GetArrayFromAccessor(sampler.input); - var output = ctx.GLTF.GetArrayFromAccessorAsFloat(sampler.output); - - AnimationImporter.SetAnimationCurve( - clip, - relativePath, - new string[] { "localPosition.x", "localPosition.y", "localPosition.z" }, - input, - output, - sampler.interpolation, - typeof(Transform), - (values, last) => - { - Vector3 temp = new Vector3(values[0], values[1], values[2]); - return temp.ReverseZ().ToArray(); - } - ); - } - break; - - case glTFAnimationTarget.PATH_ROTATION: - { - var sampler = animation.samplers[channel.sampler]; - var input = ctx.GLTF.GetArrayFromAccessor(sampler.input); - var output = ctx.GLTF.GetArrayFromAccessorAsFloat(sampler.output); - - AnimationImporter.SetAnimationCurve( - clip, - relativePath, - new string[] { "localRotation.x", "localRotation.y", "localRotation.z", "localRotation.w" }, - input, - output, - sampler.interpolation, - typeof(Transform), - (values, last) => - { - Quaternion currentQuaternion = new Quaternion(values[0], values[1], values[2], values[3]); - Quaternion lastQuaternion = new Quaternion(last[0], last[1], last[2], last[3]); - return AnimationImporter.GetShortest(lastQuaternion, currentQuaternion.ReverseZ()).ToArray(); - } - ); - - clip.EnsureQuaternionContinuity(); - } - break; - - case glTFAnimationTarget.PATH_SCALE: - { - var sampler = animation.samplers[channel.sampler]; - var input = ctx.GLTF.GetArrayFromAccessor(sampler.input); - var output = ctx.GLTF.GetArrayFromAccessorAsFloat(sampler.output); - - AnimationImporter.SetAnimationCurve( - clip, - relativePath, - new string[] { "localScale.x", "localScale.y", "localScale.z" }, - input, - output, - sampler.interpolation, - typeof(Transform), - (values, last) => values); - } - break; - - case glTFAnimationTarget.PATH_WEIGHT: - { - var node = ctx.GLTF.nodes[channel.target.node]; - var mesh = ctx.GLTF.meshes[node.mesh]; - //var primitive = mesh.primitives.FirstOrDefault(); - //var targets = primitive.targets; - - List blendShapeNames = new List(); - var transform = ctx.Nodes[channel.target.node]; - var skinnedMeshRenderer = transform.GetComponent(); - if (skinnedMeshRenderer == null) - { - continue; - } - - for (int j = 0; j < skinnedMeshRenderer.sharedMesh.blendShapeCount; j++) - { - blendShapeNames.Add(skinnedMeshRenderer.sharedMesh.GetBlendShapeName(j)); - } - - var keyNames = blendShapeNames - .Where(x => !string.IsNullOrEmpty(x)) - .Select(x => "blendShape." + x) - .ToArray(); - - var sampler = animation.samplers[channel.sampler]; - var input = ctx.GLTF.GetArrayFromAccessor(sampler.input); - var output = ctx.GLTF.GetArrayFromAccessor(sampler.output); - AnimationImporter.SetAnimationCurve( - clip, - relativePath, - keyNames, - input, - output, - sampler.interpolation, - typeof(SkinnedMeshRenderer), - (values, last) => - { - for (int j = 0; j < values.Length; j++) - { - values[j] *= 100.0f; - } - return values; - }); - - } - break; - - default: - Debug.LogWarningFormat("unknown path: {0}", channel.target.path); - break; - } - } - animasionClips.Add(clip); - } - - return animasionClips; - } - - public static void ImportAnimation(ImporterContext ctx) - { - // animation - if (ctx.GLTF.animations != null && ctx.GLTF.animations.Any()) - { - var animation = ctx.Root.AddComponent(); - ctx.AnimationClips = ImportAnimationClip(ctx); - foreach (var clip in ctx.AnimationClips) - { - animation.AddClip(clip, clip.name); - } - if (ctx.AnimationClips.Count > 0) - { - animation.clip = ctx.AnimationClips.First(); - } - } - } - - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/AnimationImporter.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/AnimationImporter.cs.meta deleted file mode 100644 index 8f83fec..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/AnimationImporter.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: d602384685dd4f179350052013659720 -timeCreated: 1537445972 \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/AnimationKeyframeData.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/AnimationKeyframeData.cs deleted file mode 100644 index 1de683b..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/AnimationKeyframeData.cs +++ /dev/null @@ -1,54 +0,0 @@ -namespace UniGLTF -{ - class AnimationKeyframeData - { -#if UNITY_EDITOR - public float Time { get; set; } - public delegate float[] ConverterFunc(float[] values); - private ConverterFunc _converter; - private float[] _values; - public float[] Values - { - get { return _values; } - } - - private bool[] _enterValues; - public bool[] EnterValues - { - get { return _enterValues; } - } - - public AnimationKeyframeData(int elementCount, ConverterFunc converter) - { - _values = new float[elementCount]; - _enterValues = new bool[elementCount]; - for (int i = 0; i < _enterValues.Length; i++) - { - _enterValues[i] = false; - } - _converter = converter; - } - - public void SetValue(float src, int offset) - { - if (_values.Length > offset) - { - _values[offset] = src; - _enterValues[offset] = true; - } - } - - public virtual float[] GetRightHandCoordinate() - { - if (_converter != null) - { - return _converter(_values); - } - else - { - return _values; - } - } -#endif - } -} \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/AnimationKeyframeData.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/AnimationKeyframeData.cs.meta deleted file mode 100644 index 06d8ca4..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/AnimationKeyframeData.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: e27ef4fb768e49f591c2bb5eadd3b19b -timeCreated: 1537442737 \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/BytesReader.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/BytesReader.cs deleted file mode 100644 index 249c086..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/BytesReader.cs +++ /dev/null @@ -1,81 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using System.Text; - - -namespace UniGLTF -{ - public class BytesReader - { - Byte[] m_bytes; - int m_pos; - - public BytesReader(Byte[] bytes, int pos=0) - { - m_bytes = bytes; - m_pos = pos; - } - - public string ReadString(int count, Encoding encoding) - { - var s = encoding.GetString(m_bytes, m_pos, count); - m_pos += count; - return s; - } - - public float ReadSingle() - { - var n = BitConverter.ToSingle(m_bytes, m_pos); - m_pos += 4; - return n; - } - - public byte ReadUInt8() - { - return m_bytes[m_pos++]; - } - - public UInt16 ReadUInt16() - { - var n = BitConverter.ToUInt16(m_bytes, m_pos); - m_pos += 2; - return n; - } - - public sbyte ReadInt8() - { - return (sbyte)m_bytes[m_pos++]; - } - - public Int16 ReadInt16() - { - var n = BitConverter.ToInt16(m_bytes, m_pos); - m_pos += 2; - return n; - } - - public int ReadInt32() - { - var n = BitConverter.ToInt32(m_bytes, m_pos); - m_pos += 4; - return n; - } - - public void ReadToArray(T[] dst) where T : struct - { - var size = new ArraySegment(m_bytes, m_pos, m_bytes.Length - m_pos).MarshalCoyTo(dst); - m_pos += size; - } - - public T ReadStruct() where T : struct - { - var size = Marshal.SizeOf(typeof(T)); - using (var pin = Pin.Create(new ArraySegment(m_bytes, m_pos, m_bytes.Length - m_pos))) - { - var s = (T)Marshal.PtrToStructure(pin.Ptr, typeof(T)); - m_pos += size; - return s; - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/BytesReader.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/BytesReader.cs.meta deleted file mode 100644 index da1f45d..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/BytesReader.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: ecae7b7664269624ba8e03025a53819e -timeCreated: 1514252306 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/IStorage.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/IStorage.cs deleted file mode 100644 index 42cbc4f..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/IStorage.cs +++ /dev/null @@ -1,74 +0,0 @@ -using System; -using System.IO; - - -namespace UniGLTF -{ - public interface IStorage - { - ArraySegment Get(string url); - - /// - /// Get original filepath if exists - /// - /// - /// - string GetPath(string url); - } - - public class SimpleStorage : IStorage - { - ArraySegment m_bytes; - - public SimpleStorage():this(new ArraySegment()) - { - } - - public SimpleStorage(ArraySegment bytes) - { - m_bytes = bytes; - } - - public ArraySegment Get(string url) - { - return m_bytes; - } - - public string GetPath(string url) - { - return null; - } - } - - public class FileSystemStorage : IStorage - { - string m_root; - - public FileSystemStorage(string root) - { - m_root = Path.GetFullPath(root); - } - - public ArraySegment Get(string url) - { - var bytes = - (url.StartsWith("data:")) - ? UriByteBuffer.ReadEmbeded(url) - : File.ReadAllBytes(Path.Combine(m_root, url)) - ; - return new ArraySegment(bytes); - } - - public string GetPath(string url) - { - if (url.StartsWith("data:")) - { - return null; - } - else - { - return Path.Combine(m_root, url).Replace("\\", "/"); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/IStorage.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/IStorage.cs.meta deleted file mode 100644 index 0eb53f3..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/IStorage.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 9cb8b6f878e36a74f90d172daee60bed -timeCreated: 1529327531 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ImporterContext.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ImporterContext.cs deleted file mode 100644 index 82c78e5..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ImporterContext.cs +++ /dev/null @@ -1,1020 +0,0 @@ -using System; -using System.Linq; -using System.Collections.Generic; -using UnityEngine; -using System.IO; -using System.Text; -using System.Collections; -using DepthFirstScheduler; -#if UNITY_EDITOR -using UnityEditor; -#endif -#if ((NET_4_6 || NET_STANDARD_2_0) && UNITY_2017_1_OR_NEWER) -using System.Threading.Tasks; -#endif - - -namespace UniGLTF -{ - /// - /// GLTF importer - /// - public class ImporterContext: IDisposable - { - #region MeasureTime - bool m_showSpeedLog -#if VRM_DEVELOP - = true -#endif - ; - public bool ShowSpeedLog - { - set { m_showSpeedLog = value; } - } - - public struct KeyElapsed - { - public string Key; - public TimeSpan Elapsed; - public KeyElapsed(string key, TimeSpan elapsed) - { - Key = key; - Elapsed = elapsed; - } - } - - public struct MeasureScope : IDisposable - { - Action m_onDispose; - public MeasureScope(Action onDispose) - { - m_onDispose = onDispose; - } - public void Dispose() - { - m_onDispose(); - } - } - - public List m_speedReports = new List(); - - public IDisposable MeasureTime(string key) - { - var sw = System.Diagnostics.Stopwatch.StartNew(); - return new MeasureScope(() => - { - m_speedReports.Add(new KeyElapsed(key, sw.Elapsed)); - }); - } - - public string GetSpeedLog() - { - var total = TimeSpan.Zero; - - var sb = new StringBuilder(); - sb.AppendLine("【SpeedLog】"); - foreach (var kv in m_speedReports) - { - sb.AppendLine(string.Format("{0}: {1}ms", kv.Key, (int)kv.Elapsed.TotalMilliseconds)); - total += kv.Elapsed; - } - sb.AppendLine(string.Format("total: {0}ms", (int)total.TotalMilliseconds)); - - return sb.ToString(); - } - #endregion - - IShaderStore m_shaderStore; - public IShaderStore ShaderStore - { - get - { - if (m_shaderStore == null) - { - m_shaderStore = new ShaderStore(this); - } - return m_shaderStore; - } - } - - IMaterialImporter m_materialImporter; - protected void SetMaterialImporter(IMaterialImporter importer) - { - m_materialImporter = importer; - } - public IMaterialImporter MaterialImporter - { - get - { - if (m_materialImporter == null) - { - m_materialImporter = new MaterialImporter(ShaderStore, this); - } - return m_materialImporter; - } - } - - public ImporterContext(IShaderStore shaderStore) - { - m_shaderStore = shaderStore; - } - - public ImporterContext(IMaterialImporter materialImporter) - { - m_materialImporter = materialImporter; - } - - public ImporterContext() - { - } - - #region Source - - /// - /// JSON source - /// - public String Json; - - /// - /// GLTF parsed from JSON - /// - public glTF GLTF; // parsed - - public static bool IsGeneratedUniGLTFAndOlderThan(string generatorVersion, int major, int minor) - { - if (string.IsNullOrEmpty(generatorVersion)) return false; - if (generatorVersion == "UniGLTF") return true; - if (!generatorVersion.StartsWith("UniGLTF-")) return false; - - try - { - var index = generatorVersion.IndexOf('.'); - var generatorMajor = int.Parse(generatorVersion.Substring(8, index - 8)); - var generatorMinor = int.Parse(generatorVersion.Substring(index + 1)); - - if (generatorMajor < major) - { - return true; - } - else - { - if (generatorMinor >= minor) - { - return false; - } - else - { - return true; - } - } - } - catch (Exception ex) - { - Debug.LogWarningFormat("{0}: {1}", generatorVersion, ex); - return false; - } - } - - public bool IsGeneratedUniGLTFAndOlder(int major, int minor) - { - if (GLTF == null) return false; - if (GLTF.asset == null) return false; - return IsGeneratedUniGLTFAndOlderThan(GLTF.asset.generator, major, minor); - } - - /// - /// URI access - /// - public IStorage Storage; - #endregion - - #region Parse - public void Parse(string path) - { - Parse(path, File.ReadAllBytes(path)); - } - - /// - /// Parse gltf json or Parse json chunk of glb - /// - /// - /// - public virtual void Parse(string path, Byte[] bytes) - { - var ext = Path.GetExtension(path).ToLower(); - switch (ext) - { - case ".gltf": - ParseJson(Encoding.UTF8.GetString(bytes), new FileSystemStorage(Path.GetDirectoryName(path))); - break; - - case ".zip": - { - var zipArchive = Zip.ZipArchiveStorage.Parse(bytes); - var gltf = zipArchive.Entries.FirstOrDefault(x => x.FileName.ToLower().EndsWith(".gltf")); - if (gltf == null) - { - throw new Exception("no gltf in archive"); - } - var jsonBytes = zipArchive.Extract(gltf); - var json = Encoding.UTF8.GetString(jsonBytes); - ParseJson(json, zipArchive); - } - break; - - case ".glb": - ParseGlb(bytes); - break; - - default: - throw new NotImplementedException(); - } - } - - /// - /// - /// - /// - public void ParseGlb(Byte[] bytes) - { - var chunks = glbImporter.ParseGlbChanks(bytes); - - if (chunks.Count != 2) - { - throw new Exception("unknown chunk count: " + chunks.Count); - } - - if (chunks[0].ChunkType != GlbChunkType.JSON) - { - throw new Exception("chunk 0 is not JSON"); - } - - if (chunks[1].ChunkType != GlbChunkType.BIN) - { - throw new Exception("chunk 1 is not BIN"); - } - - var jsonBytes = chunks[0].Bytes; - ParseJson(Encoding.UTF8.GetString(jsonBytes.Array, jsonBytes.Offset, jsonBytes.Count), - new SimpleStorage(chunks[1].Bytes)); - } - - public virtual void ParseJson(string json, IStorage storage) - { - Json = json; - Storage = storage; - - GLTF = JsonUtility.FromJson(Json); - if (GLTF.asset.version != "2.0") - { - throw new UniGLTFException("unknown gltf version {0}", GLTF.asset.version); - } - - // Version Compatibility - RestoreOlderVersionValues(); - - // parepare byte buffer - //GLTF.baseDir = System.IO.Path.GetDirectoryName(Path); - foreach (var buffer in GLTF.buffers) - { - buffer.OpenStorage(storage); - } - } - - void RestoreOlderVersionValues() - { - var parsed = UniJSON.JsonParser.Parse(Json); - for (int i = 0; i < GLTF.images.Count; ++i) - { - if (string.IsNullOrEmpty(GLTF.images[i].name)) - { - try - { - var extraName = parsed["images"][i]["extra"]["name"].Value.GetString(); - if (!string.IsNullOrEmpty(extraName)) - { - //Debug.LogFormat("restore texturename: {0}", extraName); - GLTF.images[i].name = extraName; - } - } - catch (Exception) - { - // do nothing - } - } - } - for (int i = 0; i < GLTF.meshes.Count; ++i) - { - var mesh = GLTF.meshes[i]; - try - { - for (int j = 0; j < mesh.primitives.Count; ++j) - { - var primitive = mesh.primitives[j]; - for (int k = 0; k < primitive.targets.Count; ++k) - { - var extraName = parsed["meshes"][i]["primitives"][j]["targets"][k]["extra"]["name"].Value.GetString(); - //Debug.LogFormat("restore morphName: {0}", extraName); - primitive.extras.targetNames.Add(extraName); - } - } - } - catch (Exception) - { - // do nothing - } - } -#if false - for (int i = 0; i < GLTF.nodes.Count; ++i) - { - var node = GLTF.nodes[i]; - try - { - var extra = parsed["nodes"][i]["extra"]["skinRootBone"].AsInt; - //Debug.LogFormat("restore extra: {0}", extra); - //node.extras.skinRootBone = extra; - } - catch (Exception) - { - // do nothing - } - } -#endif - } - #endregion - - #region Load. Build unity objects - /// - /// ReadAllBytes, Parse, Create GameObject - /// - /// allbytes - public void Load(string path) - { - var bytes = File.ReadAllBytes(path); - Load(path, bytes); - } - - /// - /// Parse, Create GameObject - /// - /// gltf or glb path - /// allbytes - public void Load(string path, byte[] bytes) - { - Parse(path, bytes); - Load(); - Root.name = Path.GetFileNameWithoutExtension(path); - } - - public void CreateTextureItems(UnityPath imageBaseDir = default(UnityPath)) - { - if (m_textures.Any()) - { - return; - } - - for (int i = 0; i < GLTF.textures.Count; ++i) - { - - TextureItem item = null; -#if UNITY_EDITOR - var image = GLTF.GetImageFromTextureIndex(i); - if (imageBaseDir.IsUnderAssetsFolder - && !string.IsNullOrEmpty(image.uri) - && !image.uri.StartsWith("data:") - ) - { - /// - /// required SaveTexturesAsPng or SetTextureBaseDir - /// - var assetPath = imageBaseDir.Child(image.uri); - var textureName = !string.IsNullOrEmpty(image.name) ? image.name : Path.GetFileNameWithoutExtension(image.uri); - item = new TextureItem(i, assetPath, textureName); - } - else -#endif - { - item = new TextureItem(i); - } - - AddTexture(item); - } - } - - /// - /// Build unity objects from parsed gltf - /// - public void Load() - { - var schedulable = LoadAsync(); - schedulable.ExecuteAll(); - } - - [Obsolete("Action to Action")] - public IEnumerator LoadCoroutine(Action onLoaded, Action onError = null) - { - return LoadCoroutine(() => onLoaded(Unit.Default), onError); - } - - public IEnumerator LoadCoroutine(Action onError = null) - { - return LoadCoroutine(() => { }, onError); - } - - public IEnumerator LoadCoroutine(Action onLoaded, Action onError = null) - { - if (onLoaded == null) - { - onLoaded = () => { }; - } - - if (onError == null) - { - onError = Debug.LogError; - } - - var schedulable = LoadAsync(); - foreach (var x in schedulable.GetRoot().Traverse()) - { - while (true) - { - var status = x.Execute(); - if (status != ExecutionStatus.Continue) - { - break; - } - yield return null; - } - } - - onLoaded(); - } - - [Obsolete("Action to Action")] - public void LoadAsync(Action onLoaded, Action onError = null) - { - LoadAsync(() => onLoaded(Unit.Default), onError); - } - - public void LoadAsync(Action onLoaded, Action onError = null) - { - if (onError == null) - { - onError = Debug.LogError; - } - - LoadAsync() - .Subscribe(Scheduler.MainThread, - _ => onLoaded(), - onError - ); - } - -#if ((NET_4_6 || NET_STANDARD_2_0) && UNITY_2017_1_OR_NEWER) - public async Task LoadAsyncTask() - { - await LoadAsync().ToTask(); - return Root; - } -#endif - - protected virtual Schedulable LoadAsync() - { - return - Schedulable.Create() - .AddTask(Scheduler.ThreadPool, () => - { - if (m_textures.Count == 0) - { - // - // runtime - // - CreateTextureItems(); - } - else - { - // - // already CreateTextures(by assetPostProcessor or editor menu) - // - } - }) - .ContinueWithCoroutine(Scheduler.ThreadPool, TexturesProcessOnAnyThread) - .ContinueWithCoroutine(Scheduler.MainThread, TexturesProcessOnMainThread) - .ContinueWithCoroutine(Scheduler.MainThread, LoadMaterials) - .OnExecute(Scheduler.ThreadPool, parent => - { - // UniGLTF does not support draco - // https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_draco_mesh_compression/README.md#conformance - if (GLTF.extensionsRequired.Contains("KHR_draco_mesh_compression")) - { - throw new UniGLTFNotSupportedException("draco is not supported"); - } - - // meshes - var meshImporter = new MeshImporter(); - for (int i = 0; i < GLTF.meshes.Count; ++i) - { - var index = i; - parent.AddTask(Scheduler.ThreadPool, - () => - { - using (MeasureTime("ReadMesh")) - { - return meshImporter.ReadMesh(this, index); - } - }) - .ContinueWith(Scheduler.MainThread, x => - { - using (MeasureTime("BuildMesh")) - { - var meshWithMaterials = MeshImporter.BuildMesh(this, x); - - var mesh = meshWithMaterials.Mesh; - - // mesh name - if (string.IsNullOrEmpty(mesh.name)) - { - mesh.name = string.Format("UniGLTF import#{0}", i); - } - var originalName = mesh.name; - for (int j = 1; Meshes.Any(y => y.Mesh.name == mesh.name); ++j) - { - mesh.name = string.Format("{0}({1})", originalName, j); - } - - return meshWithMaterials; - } - }) - .ContinueWith(Scheduler.ThreadPool, x => Meshes.Add(x)) - ; - } - }) - .ContinueWithCoroutine(Scheduler.MainThread, LoadNodes) - .ContinueWithCoroutine(Scheduler.MainThread, BuildHierarchy) - .ContinueWith(Scheduler.MainThread, _ => - { - using (MeasureTime("AnimationImporter")) - { - AnimationImporter.ImportAnimation(this); - } - }) - .ContinueWith(Scheduler.CurrentThread, - _ => - { - OnLoadModel(); - if (m_showSpeedLog) - { - Debug.Log(GetSpeedLog()); - } - return Unit.Default; - }); - } - - protected virtual void OnLoadModel() - { - Root.name = "GLTF"; - } - - IEnumerator TexturesProcessOnAnyThread() - { - using (MeasureTime("TexturesProcessOnAnyThread")) - { - foreach (var x in GetTextures()) - { - x.ProcessOnAnyThread(GLTF, Storage); - yield return null; - } - } - } - - IEnumerator TexturesProcessOnMainThread() - { - using (MeasureTime("TexturesProcessOnMainThread")) - { - foreach (var x in GetTextures()) - { - yield return x.ProcessOnMainThreadCoroutine(GLTF); - } - } - } - - IEnumerator LoadMaterials() - { - using (MeasureTime("LoadMaterials")) - { - if (GLTF.materials == null || !GLTF.materials.Any()) - { - AddMaterial(MaterialImporter.CreateMaterial(0, null)); - } - else - { - for (int i = 0; i < GLTF.materials.Count; ++i) - { - AddMaterial(MaterialImporter.CreateMaterial(i, GLTF.materials[i])); - } - } - } - yield return null; - } - - IEnumerator LoadMeshes() - { - var meshImporter = new MeshImporter(); - for (int i = 0; i < GLTF.meshes.Count; ++i) - { - var meshContext = meshImporter.ReadMesh(this, i); - var meshWithMaterials = MeshImporter.BuildMesh(this, meshContext); - var mesh = meshWithMaterials.Mesh; - if (string.IsNullOrEmpty(mesh.name)) - { - mesh.name = string.Format("UniGLTF import#{0}", i); - } - Meshes.Add(meshWithMaterials); - - yield return null; - } - } - - IEnumerator LoadNodes() - { - using (MeasureTime("LoadNodes")) - { - foreach (var x in GLTF.nodes) - { - Nodes.Add(NodeImporter.ImportNode(x).transform); - } - } - - yield return null; - } - - IEnumerator BuildHierarchy() - { - using (MeasureTime("BuildHierarchy")) - { - var nodes = new List(); - for (int i = 0; i < Nodes.Count; ++i) - { - nodes.Add(NodeImporter.BuildHierarchy(this, i)); - } - - NodeImporter.FixCoordinate(this, nodes); - - // skinning - for (int i = 0; i < nodes.Count; ++i) - { - NodeImporter.SetupSkinning(this, nodes, i); - } - - // connect root - if (Root == null) - { - Root = new GameObject("_root_"); - } - foreach (var x in GLTF.rootnodes) - { - var t = nodes[x].Transform; - t.SetParent(Root.transform, false); - } - } - - yield return null; - } -#endregion - -#region Imported - public GameObject Root; - public List Nodes = new List(); - - List m_textures = new List(); - public IList GetTextures() - { - return m_textures; - } - public TextureItem GetTexture(int i) - { - if (i < 0 || i >= m_textures.Count) - { - return null; - } - return m_textures[i]; - } - public void AddTexture(TextureItem item) - { - m_textures.Add(item); - } - - List m_materials = new List(); - public void AddMaterial(Material material) - { - var originalName = material.name; - int j = 2; - while (m_materials.Any(x => x.name == material.name)) - { - material.name = string.Format("{0}({1})", originalName, j++); - } - m_materials.Add(material); - } - public IList GetMaterials() - { - return m_materials; - } - public Material GetMaterial(int index) - { - if (index < 0) return null; - if (index >= m_materials.Count) return null; - return m_materials[index]; - } - - public List Meshes = new List(); - public void ShowMeshes() - { - foreach (var x in Meshes) - { - foreach(var y in x.Renderers) - { - y.enabled = true; - } - } - } - - public void EnableUpdateWhenOffscreen() - { - foreach (var x in Meshes) - { - foreach (var r in x.Renderers) - { - var skinnedMeshRenderer = r as SkinnedMeshRenderer; - if (skinnedMeshRenderer != null) - { - skinnedMeshRenderer.updateWhenOffscreen = true; - } - } - } - } - - public List AnimationClips = new List(); - #endregion - - protected virtual IEnumerable ObjectsForSubAsset() - { - HashSet textures = new HashSet(); - foreach (var x in m_textures.SelectMany(y => y.GetTexturesForSaveAssets())) - { - if (!textures.Contains(x)) - { - textures.Add(x); - } - } - foreach (var x in textures) { yield return x; } - foreach (var x in m_materials) { yield return x; } - foreach (var x in Meshes) { yield return x.Mesh; } - foreach (var x in AnimationClips) { yield return x; } - } - -#if UNITY_EDITOR - #region Assets - public bool MeshAsSubAsset = false; - - protected virtual UnityPath GetAssetPath(UnityPath prefabPath, UnityEngine.Object o) - { - if (o is Material) - { - var materialDir = prefabPath.GetAssetFolder(".Materials"); - var materialPath = materialDir.Child(o.name.EscapeFilePath() + ".asset"); - return materialPath; - } - else if (o is Texture2D) - { - var textureDir = prefabPath.GetAssetFolder(".Textures"); - var texturePath = textureDir.Child(o.name.EscapeFilePath() + ".asset"); - return texturePath; - } - else if (o is Mesh && !MeshAsSubAsset) - { - var meshDir = prefabPath.GetAssetFolder(".Meshes"); - var meshPath = meshDir.Child(o.name.EscapeFilePath() + ".asset"); - return meshPath; - } - else - { - return default(UnityPath); - } - } - - public virtual bool AvoidOverwriteAndLoad(UnityPath assetPath, UnityEngine.Object o) - { - if (o is Material) - { - var loaded = assetPath.LoadAsset(); - - // replace component reference - foreach(var mesh in Meshes) - { - foreach(var r in mesh.Renderers) - { - for(int i=0; i x == o ? loaded : x).ToArray(); - } - } - } - } - - return true; - } - - return false; - } - - public void SaveAsAsset(UnityPath prefabPath) - { - ShowMeshes(); - - //var prefabPath = PrefabPath; - if (prefabPath.IsFileExists) - { - // clear SubAssets - foreach (var x in prefabPath.GetSubAssets().Where(x => !(x is GameObject) && !(x is Component))) - { - GameObject.DestroyImmediate(x, true); - } - } - - // - // save sub assets - // - var paths = new List(){ - prefabPath - }; - foreach (var o in ObjectsForSubAsset()) - { - if (o == null) continue; - - var assetPath = GetAssetPath(prefabPath, o); - if (!assetPath.IsNull) - { - if (assetPath.IsFileExists) - { - if (AvoidOverwriteAndLoad(assetPath, o)) - { - // 上書きせずに既存のアセットからロードして置き換えた - continue; - } - } - - // アセットとして書き込む - assetPath.Parent.EnsureFolder(); - assetPath.CreateAsset(o); - paths.Add(assetPath); - } - else - { - // save as subasset - prefabPath.AddObjectToAsset(o); - } - } - - // Create or upate Main Asset - if (prefabPath.IsFileExists) - { - Debug.LogFormat("replace prefab: {0}", prefabPath); - var prefab = prefabPath.LoadAsset(); - PrefabUtility.ReplacePrefab(Root, prefab, ReplacePrefabOptions.ReplaceNameBased); - } - else - { - Debug.LogFormat("create prefab: {0}", prefabPath); - PrefabUtility.CreatePrefab(prefabPath.Value, Root); - } - foreach (var x in paths) - { - x.ImportAsset(); - } - } - - /// - /// Extract images from glb or gltf out of Assets folder. - /// - /// - public void ExtranctImages(UnityPath prefabPath) - { - var prefabParentDir = prefabPath.Parent; - - // glb buffer - var folder = prefabPath.GetAssetFolder(".Textures"); - - // - // https://answers.unity.com/questions/647615/how-to-update-import-settings-for-newly-created-as.html - // - int created = 0; - //for (int i = 0; i < GLTF.textures.Count; ++i) - for (int i = 0; i < GLTF.images.Count; ++i) - { - folder.EnsureFolder(); - - //var x = GLTF.textures[i]; - var image = GLTF.images[i]; - var src = Storage.GetPath(image.uri); - if (UnityPath.FromFullpath(src).IsUnderAssetsFolder) - { - // asset is exists. - } - else - { - string textureName; - var byteSegment = GLTF.GetImageBytes(Storage, i, out textureName); - - // path - var dst = folder.Child(textureName + image.GetExt()); - File.WriteAllBytes(dst.FullPath, byteSegment.ToArray()); - dst.ImportAsset(); - - // make relative path from PrefabParentDir - image.uri = dst.Value.Substring(prefabParentDir.Value.Length + 1); - ++created; - } - } - - if (created > 0) - { - AssetDatabase.Refresh(); - } - - CreateTextureItems(prefabParentDir); - } - #endregion -#endif - - /// - /// This function is used for clean up after create assets. - /// - /// Ambiguous arguments - [Obsolete("Use Dispose for runtime loader resource management")] - public void Destroy(bool destroySubAssets) - { - if (Root != null) GameObject.DestroyImmediate(Root); - if (destroySubAssets) - { -#if UNITY_EDITOR - foreach (var o in ObjectsForSubAsset()) - { - UnityEngine.Object.DestroyImmediate(o, true); - } -#endif - } - } - - public void Dispose() - { - DestroyRootAndResources(); - } - - /// - /// Destroy resources that created ImporterContext for runtime load. - /// - public void DestroyRootAndResources() - { - if (!Application.isPlaying) - { - Debug.LogWarningFormat("Dispose called in editor mode. This function is for runtime"); - } - - // Remove hierarchy - if (Root != null) GameObject.Destroy(Root); - - // Remove resources. materials, textures meshes etc... - foreach (var o in ObjectsForSubAsset()) - { - UnityEngine.Object.DestroyImmediate(o, true); - } - } - -#if UNITY_EDITOR - /// - /// Destroy the GameObject that became the basis of Prefab - /// - public void EditorDestroyRoot() - { - if (Root != null) GameObject.DestroyImmediate(Root); - } - - /// - /// Destroy assets that created ImporterContext. This function is clean up for imoprter error. - /// - public void EditorDestroyRootAndAssets() - { - // Remove hierarchy - if (Root != null) GameObject.DestroyImmediate(Root); - - // Remove resources. materials, textures meshes etc... - foreach (var o in ObjectsForSubAsset()) - { - UnityEngine.Object.DestroyImmediate(o, true); - } - } -#endif - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ImporterContext.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ImporterContext.cs.meta deleted file mode 100644 index 00359b6..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ImporterContext.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 8d2d07b67753fb0489decee9926ab2da -timeCreated: 1517123236 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MaterialExporter.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MaterialExporter.cs deleted file mode 100644 index 613971d..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MaterialExporter.cs +++ /dev/null @@ -1,272 +0,0 @@ -using System; -using System.Collections.Generic; -using UniGLTF.UniUnlit; -using UnityEngine; -using UnityEngine.Rendering; - - -namespace UniGLTF -{ - public enum glTFBlendMode - { - OPAQUE, - MASK, - BLEND - } - - public interface IMaterialExporter - { - glTFMaterial ExportMaterial(Material m, TextureExportManager textureManager); - } - - public class MaterialExporter : IMaterialExporter - { - public virtual glTFMaterial ExportMaterial(Material m, TextureExportManager textureManager) - { - var material = CreateMaterial(m); - - // common params - material.name = m.name; - Export_Color(m, textureManager, material); - Export_Metallic(m, textureManager, material); - Export_Normal(m, textureManager, material); - Export_Occlusion(m, textureManager, material); - Export_Emission(m, textureManager, material); - - return material; - } - - static void Export_Color(Material m, TextureExportManager textureManager, glTFMaterial material) - { - if (m.HasProperty("_Color")) - { - material.pbrMetallicRoughness.baseColorFactor = m.color.ToArray(); - } - - if (m.HasProperty("_MainTex")) - { - var index = textureManager.CopyAndGetIndex(m.GetTexture("_MainTex"), RenderTextureReadWrite.sRGB); - if (index != -1) - { - material.pbrMetallicRoughness.baseColorTexture = new glTFMaterialBaseColorTextureInfo() - { - index = index, - }; - } - } - } - - static void Export_Metallic(Material m, TextureExportManager textureManager, glTFMaterial material) - { - int index = -1; - if (m.HasProperty("_MetallicGlossMap")) - { - index = textureManager.ConvertAndGetIndex(m.GetTexture("_MetallicGlossMap"), new MetallicRoughnessConverter()); - if (index != -1) - { - material.pbrMetallicRoughness.metallicRoughnessTexture = new glTFMaterialMetallicRoughnessTextureInfo() - { - index = index, - }; - } - } - - if (index != -1 && m.HasProperty("_GlossMapScale")) - { - material.pbrMetallicRoughness.metallicFactor = 1.0f; - material.pbrMetallicRoughness.roughnessFactor = 1.0f - m.GetFloat("_GlossMapScale"); - } - else - { - if (m.HasProperty("_Metallic")) - { - material.pbrMetallicRoughness.metallicFactor = m.GetFloat("_Metallic"); - } - if (m.HasProperty("_Glossiness")) - { - material.pbrMetallicRoughness.roughnessFactor = 1.0f - m.GetFloat("_Glossiness"); - } - - } - } - - static void Export_Normal(Material m, TextureExportManager textureManager, glTFMaterial material) - { - if (m.HasProperty("_BumpMap")) - { - var index = textureManager.ConvertAndGetIndex(m.GetTexture("_BumpMap"), new NormalConverter()); - if (index != -1) - { - material.normalTexture = new glTFMaterialNormalTextureInfo() - { - index = index, - }; - } - - if (index != -1 && m.HasProperty("_BumpScale")) - { - material.normalTexture.scale = m.GetFloat("_BumpScale"); - } - } - } - - static void Export_Occlusion(Material m, TextureExportManager textureManager, glTFMaterial material) - { - if (m.HasProperty("_OcclusionMap")) - { - var index = textureManager.ConvertAndGetIndex(m.GetTexture("_OcclusionMap"), new OcclusionConverter()); - if (index != -1) - { - material.occlusionTexture = new glTFMaterialOcclusionTextureInfo() - { - index = index, - }; - } - - if (index != -1 && m.HasProperty("_OcclusionStrength")) - { - material.occlusionTexture.strength = m.GetFloat("_OcclusionStrength"); - } - } - } - - static void Export_Emission(Material m, TextureExportManager textureManager, glTFMaterial material) - { - if (m.HasProperty("_EmissionColor")) - { - var color = m.GetColor("_EmissionColor"); - if (color.maxColorComponent > 1) - { - color /= color.maxColorComponent; - } - material.emissiveFactor = new float[] { color.r, color.g, color.b }; - } - - if (m.HasProperty("_EmissionMap")) - { - var index = textureManager.CopyAndGetIndex(m.GetTexture("_EmissionMap"), RenderTextureReadWrite.sRGB); - if (index != -1) - { - material.emissiveTexture = new glTFMaterialEmissiveTextureInfo() - { - index = index, - }; - } - } - } - - protected virtual glTFMaterial CreateMaterial(Material m) - { - switch (m.shader.name) - { - case "Unlit/Color": - return Export_UnlitColor(m); - - case "Unlit/Texture": - return Export_UnlitTexture(m); - - case "Unlit/Transparent": - return Export_UnlitTransparent(m); - - case "Unlit/Transparent Cutout": - return Export_UnlitCutout(m); - - case "UniGLTF/UniUnlit": - return Export_UniUnlit(m); - - default: - return Export_Standard(m); - } - } - - static glTFMaterial Export_UnlitColor(Material m) - { - var material = glTF_KHR_materials_unlit.CreateDefault(); - material.alphaMode = glTFBlendMode.OPAQUE.ToString(); - return material; - } - - static glTFMaterial Export_UnlitTexture(Material m) - { - var material = glTF_KHR_materials_unlit.CreateDefault(); - material.alphaMode = glTFBlendMode.OPAQUE.ToString(); - return material; - } - - static glTFMaterial Export_UnlitTransparent(Material m) - { - var material = glTF_KHR_materials_unlit.CreateDefault(); - material.alphaMode = glTFBlendMode.BLEND.ToString(); - return material; - } - - static glTFMaterial Export_UnlitCutout(Material m) - { - var material = glTF_KHR_materials_unlit.CreateDefault(); - material.alphaMode = glTFBlendMode.MASK.ToString(); - material.alphaCutoff = m.GetFloat("_Cutoff"); - return material; - } - - private glTFMaterial Export_UniUnlit(Material m) - { - var material = glTF_KHR_materials_unlit.CreateDefault(); - - var renderMode = UniUnlit.Utils.GetRenderMode(m); - if (renderMode == UniUnlitRenderMode.Opaque) - { - material.alphaMode = glTFBlendMode.OPAQUE.ToString(); - } - else if (renderMode == UniUnlitRenderMode.Transparent) - { - material.alphaMode = glTFBlendMode.BLEND.ToString(); - } - else if (renderMode == UniUnlitRenderMode.Cutout) - { - material.alphaMode = glTFBlendMode.MASK.ToString(); - } - else - { - material.alphaMode = glTFBlendMode.OPAQUE.ToString(); - } - - var cullMode = UniUnlit.Utils.GetCullMode(m); - if (cullMode == UniUnlitCullMode.Off) - { - material.doubleSided = true; - } - else - { - material.doubleSided = false; - } - - return material; - } - - static glTFMaterial Export_Standard(Material m) - { - var material = new glTFMaterial - { - pbrMetallicRoughness = new glTFPbrMetallicRoughness(), - }; - - switch (m.GetTag("RenderType", true)) - { - case "Transparent": - material.alphaMode = glTFBlendMode.BLEND.ToString(); - break; - - case "TransparentCutout": - material.alphaMode = glTFBlendMode.MASK.ToString(); - material.alphaCutoff = m.GetFloat("_Cutoff"); - break; - - default: - material.alphaMode = glTFBlendMode.OPAQUE.ToString(); - break; - } - - return material; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MaterialExporter.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MaterialExporter.cs.meta deleted file mode 100644 index e441123..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MaterialExporter.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 99662edfbf59e8f458bcba3b62b13050 -timeCreated: 1533622882 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MaterialImporter.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MaterialImporter.cs deleted file mode 100644 index 8e9cd4b..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MaterialImporter.cs +++ /dev/null @@ -1,267 +0,0 @@ -using UnityEngine; -using System; -using UnityEngine.Rendering; -#if UNITY_EDITOR -using UnityEditor; -#endif - - -namespace UniGLTF -{ - public interface IMaterialImporter - { - Material CreateMaterial(int i, glTFMaterial src); - } - - public class MaterialImporter : IMaterialImporter - { - IShaderStore m_shaderStore; - - ImporterContext m_context; - protected ImporterContext Context - { - get { return m_context; } - } - - public MaterialImporter(IShaderStore shaderStore, ImporterContext context) - { - m_shaderStore = shaderStore; - m_context = context; - } - - private enum BlendMode - { - Opaque, - Cutout, - Fade, - Transparent - } - - /// StandardShader vaiables - /// - /// _Color - /// _MainTex - /// _Cutoff - /// _Glossiness - /// _Metallic - /// _MetallicGlossMap - /// _BumpScale - /// _BumpMap - /// _Parallax - /// _ParallaxMap - /// _OcclusionStrength - /// _OcclusionMap - /// _EmissionColor - /// _EmissionMap - /// _DetailMask - /// _DetailAlbedoMap - /// _DetailNormalMapScale - /// _DetailNormalMap - /// _UVSec - /// _EmissionScaleUI - /// _EmissionColorUI - /// _Mode - /// _SrcBlend - /// _DstBlend - /// _ZWrite - public virtual Material CreateMaterial(int i, glTFMaterial x) - { - var shader = m_shaderStore.GetShader(x); - //Debug.LogFormat("[{0}]{1}", i, shader.name); - var material = new Material(shader); -#if UNITY_EDITOR - // textureImporter.SaveAndReimport(); may destory this material - material.hideFlags = HideFlags.DontUnloadUnusedAsset; -#endif - - material.name = (x == null || string.IsNullOrEmpty(x.name)) - ? string.Format("material_{0:00}", i) - : x.name - ; - - if (x == null) - { - Debug.LogWarning("glTFMaterial is empty"); - return material; - } - - // unlit material - if (x.extensions != null && x.extensions.KHR_materials_unlit != null) - { - // texture - var texture = m_context.GetTexture(x.pbrMetallicRoughness.baseColorTexture.index); - if (texture != null) - { - material.mainTexture = texture.Texture; - } - - // color - if (x.pbrMetallicRoughness.baseColorFactor != null && x.pbrMetallicRoughness.baseColorFactor.Length == 4) - { - var color = x.pbrMetallicRoughness.baseColorFactor; - material.color = new Color(color[0], color[1], color[2], color[3]); - } - - //renderMode - if (x.alphaMode == "OPAQUE") - { - UniUnlit.Utils.SetRenderMode(material, UniUnlit.UniUnlitRenderMode.Opaque); - } - else if (x.alphaMode == "BLEND") - { - UniUnlit.Utils.SetRenderMode(material, UniUnlit.UniUnlitRenderMode.Transparent); - } - else if(x.alphaMode == "MASK") - { - UniUnlit.Utils.SetRenderMode(material, UniUnlit.UniUnlitRenderMode.Cutout); - } - else - { - // default OPAQUE - UniUnlit.Utils.SetRenderMode(material, UniUnlit.UniUnlitRenderMode.Opaque); - } - - // culling - if (x.doubleSided) - { - UniUnlit.Utils.SetCullMode(material, UniUnlit.UniUnlitCullMode.Off); - } - else - { - UniUnlit.Utils.SetCullMode(material, UniUnlit.UniUnlitCullMode.Back); - } - - UniUnlit.Utils.ValidateProperties(material, true); - - return material; - } - - // PBR material - if (x.pbrMetallicRoughness != null) - { - if (x.pbrMetallicRoughness.baseColorFactor != null && x.pbrMetallicRoughness.baseColorFactor.Length == 4) - { - var color = x.pbrMetallicRoughness.baseColorFactor; - material.color = new Color(color[0], color[1], color[2], color[3]); - } - - if (x.pbrMetallicRoughness.baseColorTexture != null && x.pbrMetallicRoughness.baseColorTexture.index != -1) - { - var texture = m_context.GetTexture(x.pbrMetallicRoughness.baseColorTexture.index); - if (texture != null) - { - material.mainTexture = texture.Texture; - } - } - - if (x.pbrMetallicRoughness.metallicRoughnessTexture != null && x.pbrMetallicRoughness.metallicRoughnessTexture.index != -1) - { - material.EnableKeyword("_METALLICGLOSSMAP"); - var texture = Context.GetTexture(x.pbrMetallicRoughness.metallicRoughnessTexture.index); - if (texture != null) - { - var prop = "_MetallicGlossMap"; - material.SetTexture(prop, texture.ConvertTexture(prop)); - } - - material.SetFloat("_Metallic", 1.0f); - material.SetFloat("_GlossMapScale", 1.0f - x.pbrMetallicRoughness.roughnessFactor); - } - else - { - material.SetFloat("_Metallic", x.pbrMetallicRoughness.metallicFactor); - material.SetFloat("_Glossiness", 1.0f - x.pbrMetallicRoughness.roughnessFactor); - } - } - - if (x.normalTexture != null && x.normalTexture.index != -1) - { - material.EnableKeyword("_NORMALMAP"); - var texture = Context.GetTexture(x.normalTexture.index); - if (texture != null) - { - var prop = "_BumpMap"; - material.SetTexture(prop, texture.ConvertTexture(prop)); - material.SetFloat("_BumpScale", x.normalTexture.scale); - } - } - - if (x.occlusionTexture != null && x.occlusionTexture.index != -1) - { - var texture = Context.GetTexture(x.occlusionTexture.index); - if (texture != null) - { - var prop = "_OcclusionMap"; - material.SetTexture(prop, texture.ConvertTexture(prop)); - material.SetFloat("_OcclusionStrength", x.occlusionTexture.strength); - } - } - - if (x.emissiveFactor != null - || (x.emissiveTexture != null && x.emissiveTexture.index != -1)) - { - material.EnableKeyword("_EMISSION"); - material.globalIlluminationFlags &= ~MaterialGlobalIlluminationFlags.EmissiveIsBlack; - - if (x.emissiveFactor != null && x.emissiveFactor.Length == 3) - { - material.SetColor("_EmissionColor", new Color(x.emissiveFactor[0], x.emissiveFactor[1], x.emissiveFactor[2])); - } - - if (x.emissiveTexture.index != -1) - { - var texture = Context.GetTexture(x.emissiveTexture.index); - if (texture != null) - { - material.SetTexture("_EmissionMap", texture.Texture); - } - } - } - - BlendMode blendMode = BlendMode.Opaque; - // https://forum.unity.com/threads/standard-material-shader-ignoring-setfloat-property-_mode.344557/#post-2229980 - switch (x.alphaMode) - { - case "BLEND": - blendMode = BlendMode.Fade; - material.SetOverrideTag("RenderType", "Transparent"); - material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.SrcAlpha); - material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.OneMinusSrcAlpha); - material.SetInt("_ZWrite", 0); - material.DisableKeyword("_ALPHATEST_ON"); - material.EnableKeyword("_ALPHABLEND_ON"); - material.DisableKeyword("_ALPHAPREMULTIPLY_ON"); - material.renderQueue = 3000; - break; - - case "MASK": - blendMode = BlendMode.Cutout; - material.SetOverrideTag("RenderType", "TransparentCutout"); - material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.One); - material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.Zero); - material.SetInt("_ZWrite", 1); - material.EnableKeyword("_ALPHATEST_ON"); - material.DisableKeyword("_ALPHABLEND_ON"); - material.DisableKeyword("_ALPHAPREMULTIPLY_ON"); - material.renderQueue = 2450; - - break; - - default: // OPAQUE - blendMode = BlendMode.Opaque; - material.SetOverrideTag("RenderType", ""); - material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.One); - material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.Zero); - material.SetInt("_ZWrite", 1); - material.DisableKeyword("_ALPHATEST_ON"); - material.DisableKeyword("_ALPHABLEND_ON"); - material.DisableKeyword("_ALPHAPREMULTIPLY_ON"); - material.renderQueue = -1; - break; - } - - material.SetFloat("_Mode", (float)blendMode); - return material; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MaterialImporter.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MaterialImporter.cs.meta deleted file mode 100644 index 20f93ed..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MaterialImporter.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 7ce22d10dc7cdc647b05c0449173ce71 -timeCreated: 1533624185 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MeshExporter.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MeshExporter.cs deleted file mode 100644 index 56d9a32..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MeshExporter.cs +++ /dev/null @@ -1,261 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using UnityEngine; - -namespace UniGLTF -{ - public struct MeshWithRenderer - { - public Mesh Mesh; - public Renderer Rendererer; - } - - public static class MeshExporter - { - static glTFMesh ExportPrimitives(glTF gltf, int bufferIndex, - string rendererName, - Mesh mesh, Material[] materials, - List unityMaterials) - { - var positions = mesh.vertices.Select(y => y.ReverseZ()).ToArray(); - var positionAccessorIndex = gltf.ExtendBufferAndGetAccessorIndex(bufferIndex, positions, glBufferTarget.ARRAY_BUFFER); - gltf.accessors[positionAccessorIndex].min = positions.Aggregate(positions[0], (a, b) => new Vector3(Mathf.Min(a.x, b.x), Math.Min(a.y, b.y), Mathf.Min(a.z, b.z))).ToArray(); - gltf.accessors[positionAccessorIndex].max = positions.Aggregate(positions[0], (a, b) => new Vector3(Mathf.Max(a.x, b.x), Math.Max(a.y, b.y), Mathf.Max(a.z, b.z))).ToArray(); - - var normalAccessorIndex = gltf.ExtendBufferAndGetAccessorIndex(bufferIndex, mesh.normals.Select(y => y.ReverseZ()).ToArray(), glBufferTarget.ARRAY_BUFFER); -#if GLTF_EXPORT_TANGENTS - var tangentAccessorIndex = gltf.ExtendBufferAndGetAccessorIndex(bufferIndex, mesh.tangents.Select(y => y.ReverseZ()).ToArray(), glBufferTarget.ARRAY_BUFFER); -#endif - var uvAccessorIndex = gltf.ExtendBufferAndGetAccessorIndex(bufferIndex, mesh.uv.Select(y => y.ReverseUV()).ToArray(), glBufferTarget.ARRAY_BUFFER); - var colorAccessorIndex = gltf.ExtendBufferAndGetAccessorIndex(bufferIndex, mesh.colors, glBufferTarget.ARRAY_BUFFER); - - var boneweights = mesh.boneWeights; - var weightAccessorIndex = gltf.ExtendBufferAndGetAccessorIndex(bufferIndex, boneweights.Select(y => new Vector4(y.weight0, y.weight1, y.weight2, y.weight3)).ToArray(), glBufferTarget.ARRAY_BUFFER); - var jointsAccessorIndex = gltf.ExtendBufferAndGetAccessorIndex(bufferIndex, boneweights.Select(y => new UShort4((ushort)y.boneIndex0, (ushort)y.boneIndex1, (ushort)y.boneIndex2, (ushort)y.boneIndex3)).ToArray(), glBufferTarget.ARRAY_BUFFER); - - var attributes = new glTFAttributes - { - POSITION = positionAccessorIndex, - }; - if (normalAccessorIndex != -1) - { - attributes.NORMAL = normalAccessorIndex; - } -#if GLTF_EXPORT_TANGENTS - if (tangentAccessorIndex != -1) - { - attributes.TANGENT = tangentAccessorIndex; - } -#endif - if (uvAccessorIndex != -1) - { - attributes.TEXCOORD_0 = uvAccessorIndex; - } - if (colorAccessorIndex != -1) - { - attributes.COLOR_0 = colorAccessorIndex; - } - if (weightAccessorIndex != -1) - { - attributes.WEIGHTS_0 = weightAccessorIndex; - } - if (jointsAccessorIndex != -1) - { - attributes.JOINTS_0 = jointsAccessorIndex; - } - - var gltfMesh = new glTFMesh(mesh.name); - for (int j = 0; j < mesh.subMeshCount; ++j) - { - var indices = TriangleUtil.FlipTriangle(mesh.GetIndices(j)).Select(y => (uint)y).ToArray(); - var indicesAccessorIndex = gltf.ExtendBufferAndGetAccessorIndex(bufferIndex, indices, glBufferTarget.ELEMENT_ARRAY_BUFFER); - - if (j >= materials.Length) - { - Debug.LogWarningFormat("{0}.materials is not enough", rendererName); - break; - } - - gltfMesh.primitives.Add(new glTFPrimitives - { - attributes = attributes, - indices = indicesAccessorIndex, - mode = 4, // triangels ? - material = unityMaterials.IndexOf(materials[j]) - }); - } - return gltfMesh; - } - - static bool UseSparse( - bool usePosition, Vector3 position, - bool useNormal, Vector3 normal, - bool useTangent, Vector3 tangent - ) - { - var useSparse = - (usePosition && position != Vector3.zero) - || (useNormal && normal != Vector3.zero) - || (useTangent && tangent != Vector3.zero) - ; - return useSparse; - } - - static gltfMorphTarget ExportMorphTarget(glTF gltf, int bufferIndex, - Mesh mesh, int j, - bool useSparseAccessorForMorphTarget) - { - var blendShapeVertices = mesh.vertices; - var usePosition = blendShapeVertices != null && blendShapeVertices.Length > 0; - - var blendShapeNormals = mesh.normals; - var useNormal = usePosition && blendShapeNormals != null && blendShapeNormals.Length == blendShapeVertices.Length; - - var blendShapeTangents = mesh.tangents.Select(y => (Vector3)y).ToArray(); - //var useTangent = usePosition && blendShapeTangents != null && blendShapeTangents.Length == blendShapeVertices.Length; - var useTangent = false; - - var frameCount = mesh.GetBlendShapeFrameCount(j); - mesh.GetBlendShapeFrameVertices(j, frameCount - 1, blendShapeVertices, blendShapeNormals, null); - - var blendShapePositionAccessorIndex = -1; - var blendShapeNormalAccessorIndex = -1; - var blendShapeTangentAccessorIndex = -1; - if (useSparseAccessorForMorphTarget) - { - var accessorCount = blendShapeVertices.Length; - var sparseIndices = Enumerable.Range(0, blendShapeVertices.Length) - .Where(x => UseSparse( - usePosition, blendShapeVertices[x], - useNormal, blendShapeNormals[x], - useTangent, blendShapeTangents[x])) - .ToArray() - ; - - if (sparseIndices.Length == 0) - { - usePosition = false; - useNormal = false; - useTangent = false; - } - else - { - Debug.LogFormat("Sparse {0}/{1}", sparseIndices.Length, mesh.vertexCount); - } - /* - var vertexSize = 12; - if (useNormal) vertexSize += 12; - if (useTangent) vertexSize += 24; - var sparseBytes = (4 + vertexSize) * sparseIndices.Length; - var fullBytes = (vertexSize) * blendShapeVertices.Length; - Debug.LogFormat("Export sparse: {0}/{1}bytes({2}%)", - sparseBytes, fullBytes, (int)((float)sparseBytes / fullBytes) - ); - */ - - var sparseIndicesViewIndex = -1; - if (usePosition) - { - sparseIndicesViewIndex = gltf.ExtendBufferAndGetViewIndex(bufferIndex, sparseIndices); - - blendShapeVertices = sparseIndices.Select(x => blendShapeVertices[x].ReverseZ()).ToArray(); - blendShapePositionAccessorIndex = gltf.ExtendSparseBufferAndGetAccessorIndex(bufferIndex, accessorCount, - blendShapeVertices, - sparseIndices, sparseIndicesViewIndex, - glBufferTarget.ARRAY_BUFFER); - } - - if (useNormal) - { - blendShapeNormals = sparseIndices.Select(x => blendShapeNormals[x].ReverseZ()).ToArray(); - blendShapeNormalAccessorIndex = gltf.ExtendSparseBufferAndGetAccessorIndex(bufferIndex, accessorCount, - blendShapeNormals, - sparseIndices, sparseIndicesViewIndex, - glBufferTarget.ARRAY_BUFFER); - } - - if (useTangent) - { - blendShapeTangents = sparseIndices.Select(x => blendShapeTangents[x].ReverseZ()).ToArray(); - blendShapeTangentAccessorIndex = gltf.ExtendSparseBufferAndGetAccessorIndex(bufferIndex, accessorCount, - blendShapeTangents, sparseIndices, sparseIndicesViewIndex, - glBufferTarget.ARRAY_BUFFER); - } - } - else - { - for (int i = 0; i < blendShapeVertices.Length; ++i) blendShapeVertices[i] = blendShapeVertices[i].ReverseZ(); - if (usePosition) - { - blendShapePositionAccessorIndex = gltf.ExtendBufferAndGetAccessorIndex(bufferIndex, - blendShapeVertices, - glBufferTarget.ARRAY_BUFFER); - } - - if (useNormal) - { - for (int i = 0; i < blendShapeNormals.Length; ++i) blendShapeNormals[i] = blendShapeNormals[i].ReverseZ(); - blendShapeNormalAccessorIndex = gltf.ExtendBufferAndGetAccessorIndex(bufferIndex, - blendShapeNormals, - glBufferTarget.ARRAY_BUFFER); - } - - if (useTangent) - { - for (int i = 0; i < blendShapeTangents.Length; ++i) blendShapeTangents[i] = blendShapeTangents[i].ReverseZ(); - blendShapeTangentAccessorIndex = gltf.ExtendBufferAndGetAccessorIndex(bufferIndex, - blendShapeTangents, - glBufferTarget.ARRAY_BUFFER); - } - } - - if (blendShapePositionAccessorIndex != -1) - { - gltf.accessors[blendShapePositionAccessorIndex].min = blendShapeVertices.Aggregate(blendShapeVertices[0], (a, b) => new Vector3(Mathf.Min(a.x, b.x), Math.Min(a.y, b.y), Mathf.Min(a.z, b.z))).ToArray(); - gltf.accessors[blendShapePositionAccessorIndex].max = blendShapeVertices.Aggregate(blendShapeVertices[0], (a, b) => new Vector3(Mathf.Max(a.x, b.x), Math.Max(a.y, b.y), Mathf.Max(a.z, b.z))).ToArray(); - } - - return new gltfMorphTarget - { - POSITION = blendShapePositionAccessorIndex, - NORMAL = blendShapeNormalAccessorIndex, - TANGENT = blendShapeTangentAccessorIndex, - }; - } - - public static void ExportMeshes(glTF gltf, int bufferIndex, - List unityMeshes, List unityMaterials, - bool useSparseAccessorForMorphTarget) - { - for (int i = 0; i < unityMeshes.Count; ++i) - { - var x = unityMeshes[i]; - var mesh = x.Mesh; - var materials = x.Rendererer.sharedMaterials; - - var gltfMesh = ExportPrimitives(gltf, bufferIndex, - x.Rendererer.name, - mesh, materials, unityMaterials); - - for (int j = 0; j < mesh.blendShapeCount; ++j) - { - var morphTarget = ExportMorphTarget(gltf, bufferIndex, - mesh, j, - useSparseAccessorForMorphTarget); - - // - // all primitive has same blendShape - // - for (int k = 0; k < gltfMesh.primitives.Count; ++k) - { - gltfMesh.primitives[k].targets.Add(morphTarget); - gltfMesh.primitives[k].extras.targetNames.Add(mesh.GetBlendShapeName(j)); - } - } - - gltf.meshes.Add(gltfMesh); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MeshExporter.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MeshExporter.cs.meta deleted file mode 100644 index 7ca52c7..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MeshExporter.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 9b5d31a97e5221e43b16cfb4213a4a79 -timeCreated: 1545139997 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MeshImporter.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MeshImporter.cs deleted file mode 100644 index f56f27a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MeshImporter.cs +++ /dev/null @@ -1,561 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Runtime.InteropServices; -using UnityEngine; - - -namespace UniGLTF -{ - public class MeshImporter - { - const float FRAME_WEIGHT = 100.0f; - - - // multiple submMesh is not sharing a VertexBuffer. - // each subMesh use a independent VertexBuffer. - private static MeshContext _ImportMeshIndependentVertexBuffer(ImporterContext ctx, glTFMesh gltfMesh) - { - //Debug.LogWarning("_ImportMeshIndependentVertexBuffer"); - - var targets = gltfMesh.primitives[0].targets; - for (int i = 1; i < gltfMesh.primitives.Count; ++i) - { - if (!gltfMesh.primitives[i].targets.SequenceEqual(targets)) - { - throw new NotImplementedException(string.Format("diffirent targets: {0} with {1}", - gltfMesh.primitives[i], - targets)); - } - } - - var positions = new List(); - var normals = new List(); - var tangents = new List(); - var uv = new List(); - var colors = new List(); - var meshContext = new MeshContext(); - foreach (var prim in gltfMesh.primitives) - { - var indexOffset = positions.Count; - var indexBuffer = prim.indices; - - var positionCount = positions.Count; - positions.AddRange(ctx.GLTF.GetArrayFromAccessor(prim.attributes.POSITION).Select(x => x.ReverseZ())); - positionCount = positions.Count - positionCount; - - // normal - if (prim.attributes.NORMAL != -1) - { - normals.AddRange(ctx.GLTF.GetArrayFromAccessor(prim.attributes.NORMAL).Select(x => x.ReverseZ())); - } - - if (prim.attributes.TANGENT != -1) - { - tangents.AddRange(ctx.GLTF.GetArrayFromAccessor(prim.attributes.TANGENT).Select(x => x.ReverseZ())); - } - - // uv - if (prim.attributes.TEXCOORD_0 != -1) - { - if (ctx.IsGeneratedUniGLTFAndOlder(1, 16)) - { -#pragma warning disable 0612 - // backward compatibility - uv.AddRange(ctx.GLTF.GetArrayFromAccessor(prim.attributes.TEXCOORD_0).Select(x => x.ReverseY())); -#pragma warning restore 0612 - } - else - { - uv.AddRange(ctx.GLTF.GetArrayFromAccessor(prim.attributes.TEXCOORD_0).Select(x => x.ReverseUV())); - } - } - else - { - // for inconsistent attributes in primitives - uv.AddRange(new Vector2[positionCount]); - } - - // color - if (prim.attributes.COLOR_0 != -1) - { - colors.AddRange(ctx.GLTF.GetArrayFromAccessor(prim.attributes.COLOR_0)); - } - - // skin - if (prim.attributes.JOINTS_0 != -1 && prim.attributes.WEIGHTS_0 != -1) - { - var joints0 = ctx.GLTF.GetArrayFromAccessor(prim.attributes.JOINTS_0); // uint4 - var weights0 = ctx.GLTF.GetArrayFromAccessor(prim.attributes.WEIGHTS_0).Select(x => x.One()).ToArray(); - - for (int j = 0; j < joints0.Length; ++j) - { - var bw = new BoneWeight(); - - bw.boneIndex0 = joints0[j].x; - bw.weight0 = weights0[j].x; - - bw.boneIndex1 = joints0[j].y; - bw.weight1 = weights0[j].y; - - bw.boneIndex2 = joints0[j].z; - bw.weight2 = weights0[j].z; - - bw.boneIndex3 = joints0[j].w; - bw.weight3 = weights0[j].w; - - meshContext.boneWeights.Add(bw); - } - } - - // blendshape - if (prim.targets != null && prim.targets.Count > 0) - { - for (int i = 0; i < prim.targets.Count; ++i) - { - //var name = string.Format("target{0}", i++); - var primTarget = prim.targets[i]; - var blendShape = new BlendShape(!string.IsNullOrEmpty(prim.extras.targetNames[i]) - ? prim.extras.targetNames[i] - : i.ToString()) - ; - if (primTarget.POSITION != -1) - { - blendShape.Positions.AddRange( - ctx.GLTF.GetArrayFromAccessor(primTarget.POSITION).Select(x => x.ReverseZ()).ToArray()); - } - if (primTarget.NORMAL != -1) - { - blendShape.Normals.AddRange( - ctx.GLTF.GetArrayFromAccessor(primTarget.NORMAL).Select(x => x.ReverseZ()).ToArray()); - } - if (primTarget.TANGENT != -1) - { - blendShape.Tangents.AddRange( - ctx.GLTF.GetArrayFromAccessor(primTarget.TANGENT).Select(x => x.ReverseZ()).ToArray()); - } - meshContext.blendShapes.Add(blendShape); - } - } - - var indices = - (indexBuffer >= 0) - ? ctx.GLTF.GetIndices(indexBuffer) - : TriangleUtil.FlipTriangle(Enumerable.Range(0, meshContext.positions.Length)).ToArray() // without index array - ; - for (int i = 0; i < indices.Length; ++i) - { - indices[i] += indexOffset; - } - - meshContext.subMeshes.Add(indices); - - // material - meshContext.materialIndices.Add(prim.material); - } - - meshContext.positions = positions.ToArray(); - meshContext.normals = normals.ToArray(); - meshContext.tangents = tangents.ToArray(); - meshContext.uv = uv.ToArray(); - - return meshContext; - } - - - // multiple submesh sharing same VertexBuffer - private static MeshContext _ImportMeshSharingVertexBuffer(ImporterContext ctx, glTFMesh gltfMesh) - { - var context = new MeshContext(); - - { - var prim = gltfMesh.primitives.First(); - context.positions = ctx.GLTF.GetArrayFromAccessor(prim.attributes.POSITION).SelectInplace(x => x.ReverseZ()); - - // normal - if (prim.attributes.NORMAL != -1) - { - context.normals = ctx.GLTF.GetArrayFromAccessor(prim.attributes.NORMAL).SelectInplace(x => x.ReverseZ()); - } - - // tangent - if (prim.attributes.TANGENT != -1) - { - context.tangents = ctx.GLTF.GetArrayFromAccessor(prim.attributes.TANGENT).SelectInplace(x => x.ReverseZ()); - } - - // uv - if (prim.attributes.TEXCOORD_0 != -1) - { - if (ctx.IsGeneratedUniGLTFAndOlder(1, 16)) - { -#pragma warning disable 0612 - // backward compatibility - context.uv = ctx.GLTF.GetArrayFromAccessor(prim.attributes.TEXCOORD_0).SelectInplace(x => x.ReverseY()); -#pragma warning restore 0612 - } - else - { - context.uv = ctx.GLTF.GetArrayFromAccessor(prim.attributes.TEXCOORD_0).SelectInplace(x => x.ReverseUV()); - } - } - else - { - // for inconsistent attributes in primitives - context.uv = new Vector2[context.positions.Length]; - } - - // color - if (prim.attributes.COLOR_0 != -1) - { - context.colors = ctx.GLTF.GetArrayFromAccessor(prim.attributes.COLOR_0); - } - - // skin - if (prim.attributes.JOINTS_0 != -1 && prim.attributes.WEIGHTS_0 != -1) - { - var joints0 = ctx.GLTF.GetArrayFromAccessor(prim.attributes.JOINTS_0); // uint4 - var weights0 = ctx.GLTF.GetArrayFromAccessor(prim.attributes.WEIGHTS_0); - for (int i = 0; i < weights0.Length; ++i) - { - weights0[i] = weights0[i].One(); - } - - for (int j = 0; j < joints0.Length; ++j) - { - var bw = new BoneWeight(); - - bw.boneIndex0 = joints0[j].x; - bw.weight0 = weights0[j].x; - - bw.boneIndex1 = joints0[j].y; - bw.weight1 = weights0[j].y; - - bw.boneIndex2 = joints0[j].z; - bw.weight2 = weights0[j].z; - - bw.boneIndex3 = joints0[j].w; - bw.weight3 = weights0[j].w; - - context.boneWeights.Add(bw); - } - } - - // blendshape - if (prim.targets != null && prim.targets.Count > 0) - { - context.blendShapes.AddRange(prim.targets.Select((x, i) => new BlendShape( - i < prim.extras.targetNames.Count && !string.IsNullOrEmpty(prim.extras.targetNames[i]) - ? prim.extras.targetNames[i] - : i.ToString()))); - for (int i = 0; i < prim.targets.Count; ++i) - { - //var name = string.Format("target{0}", i++); - var primTarget = prim.targets[i]; - var blendShape = context.blendShapes[i]; - - if (primTarget.POSITION != -1) - { - blendShape.Positions.Assign( - ctx.GLTF.GetArrayFromAccessor(primTarget.POSITION), x => x.ReverseZ()); - } - if (primTarget.NORMAL != -1) - { - blendShape.Normals.Assign( - ctx.GLTF.GetArrayFromAccessor(primTarget.NORMAL), x => x.ReverseZ()); - } - if (primTarget.TANGENT != -1) - { - blendShape.Tangents.Assign( - ctx.GLTF.GetArrayFromAccessor(primTarget.TANGENT), x => x.ReverseZ()); - } - } - } - } - - foreach (var prim in gltfMesh.primitives) - { - if (prim.indices == -1) - { - context.subMeshes.Add(TriangleUtil.FlipTriangle(Enumerable.Range(0, context.positions.Length)).ToArray()); - } - else - { - var indices = ctx.GLTF.GetIndices(prim.indices); - context.subMeshes.Add(indices); - } - - // material - context.materialIndices.Add(prim.material); - } - - return context; - } - - - [Serializable, StructLayout(LayoutKind.Sequential, Pack = 1)] - struct Float4 - { - public float x; - public float y; - public float z; - public float w; - - public Float4 One() - { - var sum = x + y + z + w; - var f = 1.0f / sum; - return new Float4 - { - x = x * f, - y = y * f, - z = z * f, - w = w * f, - }; - } - } - - - public class MeshContext - { - public string name; - public Vector3[] positions; - public Vector3[] normals; - public Vector4[] tangents; - public Vector2[] uv; - public Color[] colors; - public List boneWeights = new List(); - public List subMeshes = new List(); - public List materialIndices = new List(); - public List blendShapes = new List(); - } - - - public MeshContext ReadMesh(ImporterContext ctx, int meshIndex) - { - var gltfMesh = ctx.GLTF.meshes[meshIndex]; - glTFAttributes lastAttributes = null; - var sharedAttributes = true; - foreach (var prim in gltfMesh.primitives) - { - if (lastAttributes != null && !prim.attributes.Equals(lastAttributes)) - { - sharedAttributes = false; - break; - } - lastAttributes = prim.attributes; - } - - var meshContext = sharedAttributes - ? _ImportMeshSharingVertexBuffer(ctx, gltfMesh) - : _ImportMeshIndependentVertexBuffer(ctx, gltfMesh) - ; - meshContext.name = gltfMesh.name; - if (string.IsNullOrEmpty(meshContext.name)) - { - meshContext.name = string.Format("UniGLTF import#{0}", meshIndex); - } - - return meshContext; - } - - - public static MeshWithMaterials BuildMesh(ImporterContext ctx, MeshImporter.MeshContext meshContext) - { - if (!meshContext.materialIndices.Any()) - { - meshContext.materialIndices.Add(0); - } - - //Debug.Log(prims.ToJson()); - var mesh = new Mesh(); - mesh.name = meshContext.name; - - if (meshContext.positions.Length > UInt16.MaxValue) - { -#if UNITY_2017_3_OR_NEWER - mesh.indexFormat = UnityEngine.Rendering.IndexFormat.UInt32; -#else - Debug.LogWarningFormat("vertices {0} exceed 65535. not implemented. Unity2017.3 supports large mesh", - meshContext.positions.Length); -#endif - } - - mesh.vertices = meshContext.positions; - bool recalculateNormals = false; - if (meshContext.normals != null && meshContext.normals.Length > 0) - { - mesh.normals = meshContext.normals; - } - else - { - recalculateNormals = true; - } - - if (meshContext.uv != null && meshContext.uv.Length > 0) - { - mesh.uv = meshContext.uv; - } - - bool recalculateTangents = true; -#if UNIGLTF_IMPORT_TANGENTS - if (meshContext.tangents != null && meshContext.tangents.Length > 0) - { - mesh.tangents = meshContext.tangents; - recalculateTangents = false; - } -#endif - - if (meshContext.colors != null && meshContext.colors.Length > 0) - { - mesh.colors = meshContext.colors; - } - if (meshContext.boneWeights != null && meshContext.boneWeights.Count > 0) - { - mesh.boneWeights = meshContext.boneWeights.ToArray(); - } - mesh.subMeshCount = meshContext.subMeshes.Count; - for (int i = 0; i < meshContext.subMeshes.Count; ++i) - { - mesh.SetTriangles(meshContext.subMeshes[i], i); - } - - if (recalculateNormals) - { - mesh.RecalculateNormals(); - } - if (recalculateTangents) - { -#if UNITY_5_6_OR_NEWER - mesh.RecalculateTangents(); -#else - CalcTangents(mesh); -#endif - } - - var result = new MeshWithMaterials - { - Mesh = mesh, - Materials = meshContext.materialIndices.Select(x => ctx.GetMaterial(x)).ToArray() - }; - - if (meshContext.blendShapes != null) - { - Vector3[] emptyVertices = null; - foreach (var blendShape in meshContext.blendShapes) - { - if (blendShape.Positions.Count > 0) - { - if (blendShape.Positions.Count == mesh.vertexCount) - { - mesh.AddBlendShapeFrame(blendShape.Name, FRAME_WEIGHT, - blendShape.Positions.ToArray(), - (meshContext.normals != null && meshContext.normals.Length == mesh.vertexCount) ? blendShape.Normals.ToArray() : null, - null - ); - } - else - { - Debug.LogWarningFormat("May be partial primitive has blendShape. Rquire separete mesh or extend blend shape, but not implemented: {0}", blendShape.Name); - } - } - else - { - if (emptyVertices == null) - { - emptyVertices = new Vector3[mesh.vertexCount]; - } - // Debug.LogFormat("empty blendshape: {0}.{1}", mesh.name, blendShape.Name); - // add empty blend shape for keep blend shape index - mesh.AddBlendShapeFrame(blendShape.Name, FRAME_WEIGHT, - emptyVertices, - null, - null - ); - } - } - } - - return result; - } - - /// - /// Meshの法線を元にタンジェントを計算する。 - /// - /// メッシュ - /// タンジェント - public static void CalcTangents(Mesh mesh) - { - int vertexCount = mesh.vertexCount; - Vector3[] vertices = mesh.vertices; - Vector3[] normals = mesh.normals; - Vector2[] texcoords = mesh.uv; - int[] triangles = mesh.triangles; - int triangleCount = triangles.Length / 3; - - Vector4[] tangents = new Vector4[vertexCount]; - Vector3[] tan1 = new Vector3[vertexCount]; - Vector3[] tan2 = new Vector3[vertexCount]; - - int tri = 0; - - for (int i = 0; i < (triangleCount); i++) - { - int i1 = triangles[tri]; - int i2 = triangles[tri + 1]; - int i3 = triangles[tri + 2]; - - Vector3 v1 = vertices[i1]; - Vector3 v2 = vertices[i2]; - Vector3 v3 = vertices[i3]; - - Vector2 w1 = texcoords[i1]; - Vector2 w2 = texcoords[i2]; - Vector2 w3 = texcoords[i3]; - - float x1 = v2.x - v1.x; - float x2 = v3.x - v1.x; - float y1 = v2.y - v1.y; - float y2 = v3.y - v1.y; - float z1 = v2.z - v1.z; - float z2 = v3.z - v1.z; - - float s1 = w2.x - w1.x; - float s2 = w3.x - w1.x; - float t1 = w2.y - w1.y; - float t2 = w3.y - w1.y; - - float r = 1.0f / (s1 * t2 - s2 * t1); - Vector3 sdir = new Vector3((t2 * x1 - t1 * x2) * r, (t2 * y1 - t1 * y2) * r, (t2 * z1 - t1 * z2) * r); - Vector3 tdir = new Vector3((s1 * x2 - s2 * x1) * r, (s1 * y2 - s2 * y1) * r, (s1 * z2 - s2 * z1) * r); - - tan1[i1] += sdir; - tan1[i2] += sdir; - tan1[i3] += sdir; - - tan2[i1] += tdir; - tan2[i2] += tdir; - tan2[i3] += tdir; - - tri += 3; - } - - for (int i = 0; i < (vertexCount); i++) - { - Vector3 n = normals[i]; - Vector3 t = tan1[i]; - - // Gram-Schmidt orthogonalize - Vector3.OrthoNormalize(ref n, ref t); - tangents[i].x = t.x; - tangents[i].y = t.y; - tangents[i].z = t.z; - - // Calculate handedness - tangents[i].w = (Vector3.Dot(Vector3.Cross(n, t), tan2[i]) < 0.0f) ? -1.0f : 1.0f; - } - - mesh.tangents = tangents; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MeshImporter.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MeshImporter.cs.meta deleted file mode 100644 index e01d5bd..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MeshImporter.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: cbd062b14ca5eba4da4a5653b85e2151 -timeCreated: 1535177327 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MeshWithMaterials.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MeshWithMaterials.cs deleted file mode 100644 index 42c2e11..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MeshWithMaterials.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; - - -namespace UniGLTF -{ - public class MeshWithMaterials - { - public Mesh Mesh; - public Material[] Materials; - - // 複数のノードから参照されうる - public List Renderers=new List(); // SkinnedMeshRenderer or MeshRenderer - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MeshWithMaterials.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MeshWithMaterials.cs.meta deleted file mode 100644 index 7c85381..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/MeshWithMaterials.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 04f2758551c076e4e9060e3117817e29 -timeCreated: 1517335903 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/NodeImporter.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/NodeImporter.cs deleted file mode 100644 index d84e6b4..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/NodeImporter.cs +++ /dev/null @@ -1,211 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using UnityEngine; - - -namespace UniGLTF -{ - public static class NodeImporter - { - public static GameObject ImportNode(glTFNode node) - { - var nodeName = node.name; - if (!string.IsNullOrEmpty(nodeName) && nodeName.Contains("/")) - { - Debug.LogWarningFormat("node {0} contains /. replace _", node.name); - nodeName = nodeName.Replace("/", "_"); - } - var go = new GameObject(nodeName); - - // - // transform - // - if (node.translation != null && node.translation.Length > 0) - { - go.transform.localPosition = new Vector3( - node.translation[0], - node.translation[1], - node.translation[2]); - } - if (node.rotation != null && node.rotation.Length > 0) - { - go.transform.localRotation = new Quaternion( - node.rotation[0], - node.rotation[1], - node.rotation[2], - node.rotation[3]); - } - if (node.scale != null && node.scale.Length > 0) - { - go.transform.localScale = new Vector3( - node.scale[0], - node.scale[1], - node.scale[2]); - } - if (node.matrix != null && node.matrix.Length > 0) - { - var m = UnityExtensions.MatrixFromArray(node.matrix); - go.transform.localRotation = m.ExtractRotation(); - go.transform.localPosition = m.ExtractPosition(); - go.transform.localScale = m.ExtractScale(); - } - return go; - } - - public class TransformWithSkin - { - public Transform Transform; - public GameObject GameObject { get { return Transform.gameObject; } } - public int? SkinIndex; - } - - public static TransformWithSkin BuildHierarchy(ImporterContext context, int i) - { - var go = context.Nodes[i].gameObject; - if (string.IsNullOrEmpty(go.name)) - { - go.name = string.Format("node{0:000}", i); - } - - var nodeWithSkin = new TransformWithSkin - { - Transform = go.transform, - }; - - // - // build hierachy - // - var node = context.GLTF.nodes[i]; - if (node.children != null) - { - foreach (var child in node.children) - { - context.Nodes[child].transform.SetParent(context.Nodes[i].transform, - false // node has local transform - ); - } - } - - // - // attach mesh - // - if (node.mesh != -1) - { - var mesh = context.Meshes[node.mesh]; - if (mesh.Mesh.blendShapeCount == 0 && node.skin == -1) - { - // without blendshape and bone skinning - var filter = go.AddComponent(); - filter.sharedMesh = mesh.Mesh; - var renderer = go.AddComponent(); - renderer.sharedMaterials = mesh.Materials; - // invisible in loading - renderer.enabled = false; - mesh.Renderers.Add(renderer); - } - else - { - var renderer = go.AddComponent(); - - if (node.skin != -1) - { - nodeWithSkin.SkinIndex = node.skin; - } - - renderer.sharedMesh = mesh.Mesh; - renderer.sharedMaterials = mesh.Materials; - // invisible in loading - renderer.enabled = false; - mesh.Renderers.Add(renderer); - } - } - - return nodeWithSkin; - } - - // - // fix node's coordinate. z-back to z-forward - // - public static void FixCoordinate(ImporterContext context, List nodes) - { - var globalTransformMap = nodes.ToDictionary(x => x.Transform, x => new PosRot - { - Position = x.Transform.position, - Rotation = x.Transform.rotation, - }); - foreach (var x in context.GLTF.rootnodes) - { - // fix nodes coordinate - // reverse Z in global - var t = nodes[x].Transform; - //t.SetParent(root.transform, false); - - foreach (var transform in t.Traverse()) - { - var g = globalTransformMap[transform]; - transform.position = g.Position.ReverseZ(); - transform.rotation = g.Rotation.ReverseZ(); - } - } - } - - public static void SetupSkinning(ImporterContext context, List nodes, int i) - { - var x = nodes[i]; - var skinnedMeshRenderer = x.Transform.GetComponent(); - if (skinnedMeshRenderer != null) - { - var mesh = skinnedMeshRenderer.sharedMesh; - if (x.SkinIndex.HasValue) - { - if (mesh == null) throw new Exception(); - if (skinnedMeshRenderer == null) throw new Exception(); - - if (x.SkinIndex.Value < context.GLTF.skins.Count) - { - // calculate internal values(boudingBox etc...) when sharedMesh assinged ? - skinnedMeshRenderer.sharedMesh = null; - - var skin = context.GLTF.skins[x.SkinIndex.Value]; - var joints = skin.joints.Select(y => nodes[y].Transform).ToArray(); - if (joints.Any()) - { - // have bones - skinnedMeshRenderer.bones = joints; - - if (skin.inverseBindMatrices != -1) - { - var bindPoses = context.GLTF.GetArrayFromAccessor(skin.inverseBindMatrices) - .Select(y => y.ReverseZ()) - .ToArray() - ; - mesh.bindposes = bindPoses; - } - else - { - // - // calc default matrices - // https://docs.unity3d.com/ScriptReference/Mesh-bindposes.html - // - var meshCoords = skinnedMeshRenderer.transform; // ? - var calculatedBindPoses = joints.Select(y => y.worldToLocalMatrix * meshCoords.localToWorldMatrix).ToArray(); - mesh.bindposes = calculatedBindPoses; - } - } - else - { - // BlendShape only ? - } - - skinnedMeshRenderer.sharedMesh = mesh; - if (skin.skeleton >= 0 && skin.skeleton < nodes.Count) - { - skinnedMeshRenderer.rootBone = nodes[skin.skeleton].Transform; - } - } - } - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/NodeImporter.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/NodeImporter.cs.meta deleted file mode 100644 index 6ceb399..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/NodeImporter.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: dcc3725a84dcf7f49960c89f1f68534c -timeCreated: 1537534443 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ShaderPropExporter.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ShaderPropExporter.meta deleted file mode 100644 index affcf84..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ShaderPropExporter.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a772f82376d878f4e953c02c2f06eb4f -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ShaderPropExporter/PreShaderPropExporter.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ShaderPropExporter/PreShaderPropExporter.cs deleted file mode 100644 index afa6be8..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ShaderPropExporter/PreShaderPropExporter.cs +++ /dev/null @@ -1,133 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Reflection; -using UnityEngine; -#if UNITY_EDITOR -using UnityEditor; -#endif - - -namespace UniGLTF.ShaderPropExporter -{ - public class PreExportShadersAttribute : Attribute { } - public class PreExportShaderAttribute : Attribute { } - - public struct SupportedShader - { - public string TargetFolder; - public string ShaderName; - - public SupportedShader(string targetFolder, string shaderName) - { - TargetFolder = targetFolder; - ShaderName = shaderName; - } - } - - public static partial class PreShaderPropExporter - { - const string TARGET_FOLDER = "UniGLTF/Core/Scripts"; - -#pragma warning disable 414 - [PreExportShaders] - static SupportedShader[] SupportedShaders = new SupportedShader[] - { - new SupportedShader(TARGET_FOLDER, "Standard"), - new SupportedShader(TARGET_FOLDER, "Unlit/Color"), - new SupportedShader(TARGET_FOLDER, "Unlit/Texture"), - new SupportedShader(TARGET_FOLDER, "Unlit/Transparent"), - new SupportedShader(TARGET_FOLDER, "Unlit/Transparent Cutout"), - new SupportedShader(TARGET_FOLDER, "UniGLTF/UniUnlit"), - }; -#pragma warning restore 414 - -#if UNITY_EDITOR - [MenuItem(UniGLTFVersion.MENU + "/PreExport ShaderProps")] - public static void PreExport() - { - foreach (var fi in typeof(PreShaderPropExporter).GetFields( - BindingFlags.Static - | BindingFlags.Public - | BindingFlags.NonPublic)) - { - var attr = fi.GetCustomAttributes(true).FirstOrDefault(y => y is PreExportShadersAttribute); - if (attr != null) - { - var supportedShaders = fi.GetValue(null) as SupportedShader[]; - foreach (var supported in supportedShaders) - { - PreExport(supported); - } - } - } - } - - static string EscapeShaderName(string name) - { - return name.Replace("/", "_").Replace(" ", "_"); - } - - static UnityPath GetExportDir(string target) - { - foreach (var x in UnityPath.FromUnityPath("Assets").TravserseDir()) - { - if (x.Value.EndsWith(target)) - { - var dir = x.Child("PreExportShaderProps"); - dir.EnsureFolder(); - return dir; - } - } - throw new Exception(target + " not found"); - } - - static void PreExport(SupportedShader supportedShader) - { - var path = GetExportDir(supportedShader.TargetFolder).Child(EscapeShaderName(supportedShader.ShaderName) + ".cs"); - Debug.LogFormat("PreExport: {0}", path.FullPath); - - var shader = Shader.Find(supportedShader.ShaderName); - var props = ShaderProps.FromShader(shader); - - File.WriteAllText(path.FullPath, props.ToString(shader.name)); - } -#endif - - #region Runtime - static Dictionary m_shaderPropMap; - - public static ShaderProps GetPropsForSupportedShader(string shaderName) - { - if (m_shaderPropMap == null) - { - m_shaderPropMap = new Dictionary(); - foreach (var prop in typeof(PreShaderPropExporter).GetProperties(BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic)) - { - if (prop.GetCustomAttributes(typeof(PreExportShaderAttribute), true).Any()) - { - var kv = (KeyValuePair)prop.GetValue(null, null); - m_shaderPropMap.Add(kv.Key, kv.Value); - } - } - } - - ShaderProps props; - if (m_shaderPropMap.TryGetValue(shaderName, out props)) - { - return props; - } - -#if UNITY_EDITOR - // fallback - Debug.LogWarningFormat("{0} is not predefined shader. Use ShaderUtil", shaderName); - var shader = Shader.Find(shaderName); - return ShaderProps.FromShader(shader); -#else - return null; -#endif - } - #endregion - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ShaderPropExporter/PreShaderPropExporter.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ShaderPropExporter/PreShaderPropExporter.cs.meta deleted file mode 100644 index 431e9cc..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ShaderPropExporter/PreShaderPropExporter.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 50935dd2f9f3fa445a687f30d4dd663b -timeCreated: 1533035131 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ShaderPropExporter/ShaderProps.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ShaderPropExporter/ShaderProps.cs deleted file mode 100644 index 49a3ba7..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ShaderPropExporter/ShaderProps.cs +++ /dev/null @@ -1,111 +0,0 @@ -#if UNITY_EDITOR -using System; -using System.Collections.Generic; -using UnityEditor; -using UnityEngine; -#endif - - -namespace UniGLTF.ShaderPropExporter -{ - public enum ShaderPropertyType - { - TexEnv, - Color, - Range, - Float, - Vector, - } - - public struct ShaderProperty - { - public string Key; - public ShaderPropertyType ShaderPropertyType; - - public ShaderProperty(string key, ShaderPropertyType propType) - { - Key = key; - ShaderPropertyType = propType; - } - } - - public class ShaderProps - { - public ShaderProperty[] Properties; - -#if UNITY_EDITOR - static ShaderPropertyType ConvType(ShaderUtil.ShaderPropertyType src) - { - switch (src) - { - case ShaderUtil.ShaderPropertyType.TexEnv: return ShaderPropertyType.TexEnv; - case ShaderUtil.ShaderPropertyType.Color: return ShaderPropertyType.Color; - case ShaderUtil.ShaderPropertyType.Float: return ShaderPropertyType.Float; - case ShaderUtil.ShaderPropertyType.Range: return ShaderPropertyType.Range; - case ShaderUtil.ShaderPropertyType.Vector: return ShaderPropertyType.Vector; - default: throw new NotImplementedException(); - } - } - - public static ShaderProps FromShader(Shader shader) - { - var properties = new List(); - for (int i = 0; i < ShaderUtil.GetPropertyCount(shader); ++i) - { - var name = ShaderUtil.GetPropertyName(shader, i); - var propType = ShaderUtil.GetPropertyType(shader, i); - properties.Add(new ShaderProperty(name, ConvType(propType))); - } - - return new ShaderProps - { - Properties = properties.ToArray(), - }; - } - - static string EscapeShaderName(string name) - { - return name.Replace("/", "_").Replace(" ", "_"); - } - - public string ToString(string shaderName) - { - var list = new List(); - foreach (var prop in Properties) - { - list.Add(string.Format("new ShaderProperty(\"{0}\", ShaderPropertyType.{1})\r\n", prop.Key, prop.ShaderPropertyType)); - } - - return string.Format(@"using System.Collections.Generic; - - -namespace UniGLTF.ShaderPropExporter -{{ - public static partial class PreShaderPropExporter - {{ - [PreExportShader] - static KeyValuePair {0} - {{ - get - {{ - return new KeyValuePair( - ""{1}"", - new ShaderProps - {{ - Properties = new ShaderProperty[]{{ -{2} - }} - }} - ); - }} - }} - }} -}} -" -, EscapeShaderName(shaderName) -, shaderName -, String.Join(",", list.ToArray())); - } -#endif - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ShaderPropExporter/ShaderProps.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ShaderPropExporter/ShaderProps.cs.meta deleted file mode 100644 index b078bfe..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ShaderPropExporter/ShaderProps.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 279964035c950b24cb745511298855dd -timeCreated: 1533539330 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ShaderStore.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ShaderStore.cs deleted file mode 100644 index 7618af0..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ShaderStore.cs +++ /dev/null @@ -1,123 +0,0 @@ -using UnityEngine; - - -namespace UniGLTF -{ - public interface IShaderStore - { - Shader GetShader(glTFMaterial material); - } - - public class ShaderStore : IShaderStore - { - readonly string m_defaultShaderName = "Standard"; - Shader m_default; - Shader Default - { - get - { - if (m_default == null) - { - m_default = Shader.Find(m_defaultShaderName); - } - return m_default; - } - } - - Shader m_vcolor; - Shader VColor - { - get - { - if (m_vcolor == null) m_vcolor = Shader.Find("UniGLTF/StandardVColor"); - return m_vcolor; - } - } - - Shader m_uniUnlit; - Shader UniUnlit - { - get - { - if (m_uniUnlit == null) m_uniUnlit = Shader.Find("UniGLTF/UniUnlit"); - return m_uniUnlit; - } - } - - Shader m_unlitTexture; - Shader UnlitTexture - { - get - { - if (m_unlitTexture == null) m_unlitTexture = Shader.Find("Unlit/Texture"); - return m_unlitTexture; - } - } - - Shader m_unlitColor; - Shader UnlitColor - { - get - { - if (m_unlitColor == null) m_unlitColor = Shader.Find("Unlit/Color"); - return m_unlitColor; - } - } - - Shader m_unlitTransparent; - Shader UnlitTransparent - { - get - { - if (m_unlitTransparent == null) m_unlitTransparent = Shader.Find("Unlit/Transparent"); - return m_unlitTransparent; - } - } - - Shader m_unlitCoutout; - Shader UnlitCutout - { - get - { - if (m_unlitCoutout == null) m_unlitCoutout = Shader.Find("Unlit/Transparent Cutout"); - return m_unlitCoutout; - } - } - - //ImporterContext m_context; - public ShaderStore(ImporterContext _) - { - //m_context = context; - } - - public static bool IsWhite(float[] color) - { - if (color == null) return false; - if(color.Length!=4)return false; - if(color[0]!=1 - || color[1]!=1 - || color[2]!=1 - || color[3] != 1) - { - return false; - } - return true; - } - - public Shader GetShader(glTFMaterial material) - { - if (material == null) - { - return Default; - } - - if (material.extensions != null && material.extensions.KHR_materials_unlit != null) - { - return UniUnlit; - } - - // standard - return Default; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ShaderStore.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ShaderStore.cs.meta deleted file mode 100644 index def6e66..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ShaderStore.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 75aae8e866422d24180458afaacb2c1d -timeCreated: 1529327427 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/StaticMeshIntegrator.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/StaticMeshIntegrator.cs deleted file mode 100644 index 200b11a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/StaticMeshIntegrator.cs +++ /dev/null @@ -1,186 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; -using System.IO; -using System.Linq; -#if UNITY_EDITOR -using UnityEditor; -#endif - - -namespace UniGLTF -{ - public static class StaticMeshIntegrator - { - const string ASSET_SUFFIX = ".mesh.asset"; - - class Integrator - { - List m_positions = new List(); - List m_normals = new List(); - List m_uv = new List(); - /* - List m_uv2 = new List(); // ToDo - List m_uv3 = new List(); // ToDo - List m_uv4 = new List(); // ToDo - List m_colors = new List(); // ToDo - */ - - List m_subMeshes = new List(); - - List m_materials = new List(); - public List Materials - { - get { return m_materials; } - } - - public void Push(Matrix4x4 localToRoot, Mesh mesh, Material[] materials) - { - var offset = m_positions.Count; - - var hasNormal = m_normals.Count == m_positions.Count; - var hasUv = m_uv.Count == m_positions.Count; - - // attributes - m_positions.AddRange(mesh.vertices.Select(x => localToRoot.MultiplyPoint(x))); - if(mesh.normals!=null && mesh.normals.Length == mesh.vertexCount) - { - if (!hasNormal) for (int i = m_normals.Count; i < m_positions.Count; ++i) m_normals.Add(Vector3.zero); - m_normals.AddRange(mesh.normals.Select(x => localToRoot.MultiplyVector(x))); - } - if (mesh.uv != null && mesh.uv.Length == mesh.vertexCount) - { - if (!hasUv) for (int i = m_uv.Count; i < m_positions.Count; ++i) m_uv.Add(Vector2.zero); - m_uv.AddRange(mesh.uv); - } - - // indices - for (int i = 0; i < mesh.subMeshCount; ++i) - { - m_subMeshes.Add(mesh.GetIndices(i).Select(x => offset + x).ToArray()); - } - - // materials - m_materials.AddRange(materials); - } - - public Mesh ToMesh() - { - var mesh = new Mesh(); - mesh.name = "integrated"; - - mesh.vertices = m_positions.ToArray(); - if (m_normals.Count > 0) - { - if (m_normals.Count < m_positions.Count) for (int i = m_normals.Count; i < m_positions.Count; ++i) m_normals.Add(Vector3.zero); - mesh.normals = m_normals.ToArray(); - } - if (m_uv.Count > 0) - { - if (m_uv.Count < m_positions.Count) for (int i = m_uv.Count; i < m_positions.Count; ++i) m_uv.Add(Vector2.zero); - mesh.uv = m_uv.ToArray(); - } - - mesh.subMeshCount = m_subMeshes.Count; - for(int i=0; i(); - var filter = t.GetComponent(); - if (renderer != null && filter != null && filter.sharedMesh != null - && renderer.sharedMaterials!=null && renderer.sharedMaterials.Length == filter.sharedMesh.subMeshCount) - { - integrator.Push(root.worldToLocalMatrix * t.localToWorldMatrix, filter.sharedMesh, renderer.sharedMaterials); - } - } - - return new MeshWithMaterials - { - Mesh = integrator.ToMesh(), - Materials = integrator.Materials.ToArray(), - }; - } - -#if UNITY_EDITOR - [MenuItem(UniGLTFVersion.MENU + "/Integrate static mesh", validate = true)] - public static bool CanIntegrateSelected() - { - return Selection.activeObject != null && Selection.activeObject is GameObject; - } - - [MenuItem(UniGLTFVersion.MENU + "/Integrate static mesh")] - public static void IntegrateSelected() - { - var go = Selection.activeObject as GameObject; - var meshWithMaterials = Integrate(go.transform); - - // save as asset - var assetPath = ""; -#if UNITY_2018_2_OR_NEWER - var prefab = PrefabUtility.GetCorrespondingObjectFromSource(go); -#else - var prefab = PrefabUtility.GetPrefabParent(go); -#endif - if (prefab != null) - { - var prefabPath = AssetDatabase.GetAssetPath(prefab); - assetPath = string.Format("{0}/{1}_{2}{3}", - Path.GetDirectoryName(prefabPath), - Path.GetFileNameWithoutExtension(prefabPath), - go.name, - ASSET_SUFFIX - ); - } - else - { - var path = EditorUtility.SaveFilePanel( - "Save mesh", - "Assets", - go.name+".asset", - "asset"); - if (string.IsNullOrEmpty(path)) - { - return; - } - assetPath = UnityPath.FromFullpath(path).Value; - } - - assetPath = AssetDatabase.GenerateUniqueAssetPath(assetPath); - Debug.LogFormat("CreateAsset: {0}", assetPath); - AssetDatabase.CreateAsset(meshWithMaterials.Mesh, assetPath); - - // add component - var meshObject = new GameObject(go.name + ".integrated"); - if (go.transform.parent != null) - { - meshObject.transform.SetParent(go.transform.parent, false); - } - meshObject.transform.localPosition = go.transform.localPosition; - meshObject.transform.localRotation = go.transform.localRotation; - meshObject.transform.localScale = go.transform.localScale; - - var filter = meshObject.AddComponent(); - filter.sharedMesh = meshWithMaterials.Mesh; - var renderer = meshObject.AddComponent(); - renderer.sharedMaterials = meshWithMaterials.Materials; - } -#endif - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/StaticMeshIntegrator.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/StaticMeshIntegrator.cs.meta deleted file mode 100644 index b9b730e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/StaticMeshIntegrator.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 5d049a3daed1255499aaec8b6d1a2afe -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureConverter.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureConverter.cs deleted file mode 100644 index b10e276..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureConverter.cs +++ /dev/null @@ -1,175 +0,0 @@ -using System.Linq; -using UnityEngine; -#if UNITY_EDITOR -using UnityEditor; -#endif - - -namespace UniGLTF -{ - public interface ITextureConverter - { - Texture2D GetImportTexture(Texture2D texture); - Texture2D GetExportTexture(Texture2D texture); - } - - public static class TextureConverter - { - public delegate Color32 ColorConversion(Color32 color); - - public static Texture2D Convert(Texture2D texture, glTFTextureTypes textureType, ColorConversion colorConversion, Material convertMaterial) - { - var copyTexture = TextureItem.CopyTexture(texture, TextureIO.GetColorSpace(textureType), convertMaterial); - if (colorConversion != null) - { - copyTexture.SetPixels32(copyTexture.GetPixels32().Select(x => colorConversion(x)).ToArray()); - copyTexture.Apply(); - } - copyTexture.name = texture.name; - return copyTexture; - } - - public static void AppendTextureExtension(Texture texture, string extension) - { - if (!texture.name.EndsWith(extension)) - { - texture.name = texture.name + extension; - } - } - - public static void RemoveTextureExtension(Texture texture, string extension) - { - if (texture.name.EndsWith(extension)) - { - texture.name = texture.name.Replace(extension, ""); - } - } - } - - class MetallicRoughnessConverter : ITextureConverter - { - private const string m_extension = ".metallicRoughness"; - - public Texture2D GetImportTexture(Texture2D texture) - { - var converted = TextureConverter.Convert(texture, glTFTextureTypes.Metallic, Import, null); - TextureConverter.AppendTextureExtension(converted, m_extension); - return converted; - } - - public Texture2D GetExportTexture(Texture2D texture) - { - var converted = TextureConverter.Convert(texture, glTFTextureTypes.Metallic, Export, null); - TextureConverter.RemoveTextureExtension(converted, m_extension); - return converted; - } - - public Color32 Import(Color32 src) - { - return new Color32 - { - r = src.b, - g = 0, - b = 0, - a = (byte)(255 - src.g), - }; - } - - public Color32 Export(Color32 src) - { - return new Color32 - { - r = 0, - g = (byte)(255 - src.a), - b = src.r, - a = 255, - }; - } - } - - class NormalConverter : ITextureConverter - { - private const string m_extension = ".normal"; - - private Material m_decoder; - private Material GetDecoder() - { - if (m_decoder == null) - { - m_decoder = new Material(Shader.Find("UniGLTF/NormalMapDecoder")); - } - return m_decoder; - } - - private Material m_encoder; - private Material GetEncoder() - { - if (m_encoder == null) - { - m_encoder = new Material(Shader.Find("UniGLTF/NormalMapEncoder")); - } - return m_encoder; - } - - // GLTF data to Unity texture - // ConvertToNormalValueFromRawColorWhenCompressionIsRequired - public Texture2D GetImportTexture(Texture2D texture) - { - var mat = GetEncoder(); - var converted = TextureConverter.Convert(texture, glTFTextureTypes.Normal, null, mat); - TextureConverter.AppendTextureExtension(converted, m_extension); - return converted; - } - - // Unity texture to GLTF data - // ConvertToRawColorWhenNormalValueIsCompressed - public Texture2D GetExportTexture(Texture2D texture) - { - var mat = GetDecoder(); - var converted = TextureConverter.Convert(texture, glTFTextureTypes.Normal, null, mat); - TextureConverter.RemoveTextureExtension(converted, m_extension); - return converted; - } - } - - class OcclusionConverter : ITextureConverter - { - private const string m_extension = ".occlusion"; - - public Texture2D GetImportTexture(Texture2D texture) - { - var converted = TextureConverter.Convert(texture, glTFTextureTypes.Occlusion, Import, null); - TextureConverter.AppendTextureExtension(converted, m_extension); - return converted; - } - - public Texture2D GetExportTexture(Texture2D texture) - { - var converted = TextureConverter.Convert(texture, glTFTextureTypes.Occlusion, Export, null); - TextureConverter.RemoveTextureExtension(converted, m_extension); - return converted; - } - - public Color32 Import(Color32 src) - { - return new Color32 - { - r = 0, - g = src.r, - b = 0, - a = 255, - }; - } - - public Color32 Export(Color32 src) - { - return new Color32 - { - r = src.g, - g = 0, - b = 0, - a = 255, - }; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureConverter.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureConverter.cs.meta deleted file mode 100644 index 1c3a1df..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureConverter.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 5d2d27884d6c4780b08c745e5cc5c5b5 -timeCreated: 1537261040 \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureExportManager.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureExportManager.cs deleted file mode 100644 index 2137af5..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureExportManager.cs +++ /dev/null @@ -1,85 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using UnityEngine; - - -namespace UniGLTF -{ - public class TextureExportManager - { - List m_textures; - public List Textures - { - get { return m_textures; } - } - - List m_exportTextures; - public Texture GetExportTexture(int index) - { - if (index < 0 || index >= m_exportTextures.Count) - { - return null; - } - if (m_exportTextures[index] != null) - { - // コピー変換済み - return m_exportTextures[index]; - } - - // オリジナル - return m_textures[index]; - } - - public TextureExportManager(IEnumerable textures) - { - /* - if (textures == null) - { - throw new System.ArgumentNullException(); - } - */ - m_textures = textures.ToList(); - m_exportTextures = new List(Enumerable.Repeat(null, m_textures.Count)); - } - - public int CopyAndGetIndex(Texture texture, RenderTextureReadWrite readWrite) - { - if (texture == null) - { - return -1; - } - - var index = m_textures.IndexOf(texture); - if (index == -1) - { - // ありえない? - return -1; - } - - // ToDo: may already exists - m_exportTextures[index] = TextureItem.CopyTexture(texture, readWrite, null); - - return index; - } - - public int ConvertAndGetIndex(Texture texture, ITextureConverter converter) - { - if (texture == null) - { - return -1; - } - - var index = m_textures.IndexOf(texture); - if (index == -1) - { - // ありえない? - return -1; - } - - m_exportTextures[index] = converter.GetExportTexture(texture as Texture2D); - - return index; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureExportManager.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureExportManager.cs.meta deleted file mode 100644 index 5048e04..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureExportManager.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 435499f173753ac418331fe0f967b789 -timeCreated: 1541561421 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureIO.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureIO.cs deleted file mode 100644 index cc0d86b..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureIO.cs +++ /dev/null @@ -1,175 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using UnityEngine; -#if UNITY_EDITOR -using UnityEditor; -#endif - - -namespace UniGLTF -{ - public static class TextureIO - { - public static RenderTextureReadWrite GetColorSpace(glTFTextureTypes textureType) - { - switch (textureType) - { - case glTFTextureTypes.Metallic: - case glTFTextureTypes.Normal: - case glTFTextureTypes.Occlusion: - return RenderTextureReadWrite.Linear; - case glTFTextureTypes.BaseColor: - case glTFTextureTypes.Emissive: - return RenderTextureReadWrite.sRGB; - default: - return RenderTextureReadWrite.sRGB; - } - } - - public static glTFTextureTypes GetglTFTextureType(string shaderName, string propName) - { - switch (propName) - { - case "_Color": - return glTFTextureTypes.BaseColor; - case "_MetallicGlossMap": - return glTFTextureTypes.Metallic; - case "_BumpMap": - return glTFTextureTypes.Normal; - case "_OcclusionMap": - return glTFTextureTypes.Occlusion; - case "_EmissionMap": - return glTFTextureTypes.Emissive; - default: - return glTFTextureTypes.Unknown; - } - } - - public static glTFTextureTypes GetglTFTextureType(glTF glTf, int textureIndex) - { - foreach (var material in glTf.materials) - { - var textureInfo = material.GetTextures().FirstOrDefault(x => (x!=null) && x.index == textureIndex); - if (textureInfo != null) - { - return textureInfo.TextreType; - } - } - return glTFTextureTypes.Unknown; - } - -#if UNITY_EDITOR - public static void MarkTextureAssetAsNormalMap(string assetPath) - { - if (string.IsNullOrEmpty(assetPath)) - { - return; - } - - var textureImporter = AssetImporter.GetAtPath(assetPath) as TextureImporter; - if (null == textureImporter) - { - return; - } - - //Debug.LogFormat("[MarkTextureAssetAsNormalMap] {0}", assetPath); - textureImporter.textureType = TextureImporterType.NormalMap; - textureImporter.SaveAndReimport(); - } -#endif - - public struct TextureExportItem - { - public Texture Texture; - public glTFTextureTypes TextureType; - - public TextureExportItem(Texture texture, glTFTextureTypes textureType) - { - Texture = texture; - TextureType = textureType; - } - } - - public static IEnumerable GetTextures(Material m) - { - var props = ShaderPropExporter.PreShaderPropExporter.GetPropsForSupportedShader(m.shader.name); - if (props == null) - { - yield return new TextureExportItem(m.mainTexture, glTFTextureTypes.BaseColor); - } - - foreach (var prop in props.Properties) - { - - if (prop.ShaderPropertyType == ShaderPropExporter.ShaderPropertyType.TexEnv) - { - yield return new TextureExportItem(m.GetTexture(prop.Key), GetglTFTextureType(m.shader.name, prop.Key)); - } - } - } - - - struct BytesWithMime - { - public Byte[] Bytes; - public string Mime; - } - - static BytesWithMime GetBytesWithMime(Texture texture, glTFTextureTypes textureType) - { -#if UNITY_EDITOR - var path = UnityPath.FromAsset(texture); - if (path.IsUnderAssetsFolder) - { - if (path.Extension == ".png") - { - return new BytesWithMime - { - Bytes = System.IO.File.ReadAllBytes(path.FullPath), - Mime = "image/png", - }; - } - } -#endif - - return new BytesWithMime - { - Bytes = TextureItem.CopyTexture(texture, TextureIO.GetColorSpace(textureType), null).EncodeToPNG(), - Mime = "image/png", - }; - } - - public static int ExportTexture(glTF gltf, int bufferIndex, Texture texture, glTFTextureTypes textureType) - { - var bytesWithMime = GetBytesWithMime(texture, textureType); ; - - // add view - var view = gltf.buffers[bufferIndex].Append(bytesWithMime.Bytes, glBufferTarget.NONE); - var viewIndex = gltf.AddBufferView(view); - - // add image - var imageIndex = gltf.images.Count; - gltf.images.Add(new glTFImage - { - name = texture.name, - bufferView = viewIndex, - mimeType = bytesWithMime.Mime, - }); - - // add sampler - var samplerIndex = gltf.samplers.Count; - var sampler = TextureSamplerUtil.Export(texture); - gltf.samplers.Add(sampler); - - // add texture - gltf.textures.Add(new glTFTexture - { - sampler = samplerIndex, - source = imageIndex, - }); - - return imageIndex; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureIO.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureIO.cs.meta deleted file mode 100644 index 2b85d8e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureIO.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: eca1330a83e17a14eb99fc6ea1697922 -timeCreated: 1533533316 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureItem.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureItem.cs deleted file mode 100644 index 3003197..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureItem.cs +++ /dev/null @@ -1,300 +0,0 @@ -using UnityEngine; -using System.Linq; -using System.Collections.Generic; -using System.Collections; -using System.IO; -using System; -using DepthFirstScheduler; -#if UNITY_EDITOR -using UnityEditor; -#endif - - -namespace UniGLTF -{ - public class TextureItem - { - private int m_textureIndex; - public Texture2D Texture - { - get - { - return m_textureLoader.Texture; - } - } - - #region Texture converter - private Dictionary m_converts = new Dictionary(); - public Dictionary Converts - { - get { return m_converts; } - } - - public Texture2D ConvertTexture(string prop) - { - var convertedTexture = Converts.FirstOrDefault(x => x.Key == prop); - if (convertedTexture.Value != null) - return convertedTexture.Value; - - if (prop == "_BumpMap") - { - if (Application.isPlaying) - { - var converted = new NormalConverter().GetImportTexture(Texture); - m_converts.Add(prop, converted); - return converted; - } - else - { -#if UNITY_EDITOR - var textureAssetPath = AssetDatabase.GetAssetPath(Texture); - if (!string.IsNullOrEmpty(textureAssetPath)) - { - TextureIO.MarkTextureAssetAsNormalMap(textureAssetPath); - } - else - { - Debug.LogWarningFormat("no asset for {0}", Texture); - } -#endif - return Texture; - } - } - - if (prop == "_MetallicGlossMap") - { - var converted = new MetallicRoughnessConverter().GetImportTexture(Texture); - m_converts.Add(prop, converted); - return converted; - } - - if (prop == "_OcclusionMap") - { - var converted = new OcclusionConverter().GetImportTexture(Texture); - m_converts.Add(prop, converted); - return converted; - } - - return null; - } - #endregion - - public bool IsAsset - { - private set; - get; - } - - public IEnumerable GetTexturesForSaveAssets() - { - if (!IsAsset) - { - yield return Texture; - } - if (m_converts.Any()) - { - foreach (var texture in m_converts) - { - yield return texture.Value; - } - } - } - - /// - /// Texture from buffer - /// - /// - public TextureItem(int index) - { - m_textureIndex = index; -#if UNIGLTF_USE_WEBREQUEST_TEXTURELOADER - m_textureLoader = new UnityWebRequestTextureLoader(m_textureIndex); -#else - m_textureLoader = new TextureLoader(m_textureIndex); -#endif - } - -#if UNITY_EDITOR - /// - /// Texture from asset - /// - /// - /// - /// - public TextureItem(int index, UnityPath assetPath, string textureName) - { - m_textureIndex = index; - IsAsset = true; - m_textureLoader = new AssetTextureLoader(assetPath, textureName); - } -#endif - - #region Process - ITextureLoader m_textureLoader; - - public void Process(glTF gltf, IStorage storage) - { - ProcessOnAnyThread(gltf, storage); - ProcessOnMainThreadCoroutine(gltf).CoroutinetoEnd(); - } - - public IEnumerator ProcessCoroutine(glTF gltf, IStorage storage) - { - ProcessOnAnyThread(gltf, storage); - yield return ProcessOnMainThreadCoroutine(gltf); - } - - public void ProcessOnAnyThread(glTF gltf, IStorage storage) - { - m_textureLoader.ProcessOnAnyThread(gltf, storage); - } - - public IEnumerator ProcessOnMainThreadCoroutine(glTF gltf) - { - using (m_textureLoader) - { - var textureType = TextureIO.GetglTFTextureType(gltf, m_textureIndex); - var colorSpace = TextureIO.GetColorSpace(textureType); - var isLinear = colorSpace == RenderTextureReadWrite.Linear; - yield return m_textureLoader.ProcessOnMainThread(isLinear); - TextureSamplerUtil.SetSampler(Texture, gltf.GetSamplerFromTextureIndex(m_textureIndex)); - } - } - #endregion - - struct ColorSpaceScope : IDisposable - { - bool m_sRGBWrite; - - public ColorSpaceScope(RenderTextureReadWrite colorSpace) - { - m_sRGBWrite = GL.sRGBWrite; - switch (colorSpace) - { - case RenderTextureReadWrite.Linear: - GL.sRGBWrite = false; - break; - - case RenderTextureReadWrite.sRGB: - default: - GL.sRGBWrite = true; - break; - } - } - public ColorSpaceScope(bool sRGBWrite) - { - m_sRGBWrite = GL.sRGBWrite; - GL.sRGBWrite = sRGBWrite; - } - - public void Dispose() - { - GL.sRGBWrite = m_sRGBWrite; - } - } - -#if UNITY_EDITOR && VRM_DEVELOP - [MenuItem("Assets/CopySRGBWrite", true)] - static bool CopySRGBWriteIsEnable() - { - return Selection.activeObject is Texture; - } - - [MenuItem("Assets/CopySRGBWrite")] - static void CopySRGBWrite() - { - CopySRGBWrite(true); - } - - [MenuItem("Assets/CopyNotSRGBWrite", true)] - static bool CopyNotSRGBWriteIsEnable() - { - return Selection.activeObject is Texture; - } - - [MenuItem("Assets/CopyNotSRGBWrite")] - static void CopyNotSRGBWrite() - { - CopySRGBWrite(false); - } - - static string AddPath(string path, string add) - { - return string.Format("{0}/{1}{2}{3}", - Path.GetDirectoryName(path), - Path.GetFileNameWithoutExtension(path), - add, - Path.GetExtension(path)); - } - - static void CopySRGBWrite(bool isSRGB) - { - var src = Selection.activeObject as Texture; - var texturePath = UnityPath.FromAsset(src); - - var path = EditorUtility.SaveFilePanel("save prefab", "Assets", - Path.GetFileNameWithoutExtension(AddPath(texturePath.FullPath, ".sRGB")), "prefab"); - var assetPath = UnityPath.FromFullpath(path); - if (!assetPath.IsUnderAssetsFolder) - { - return; - } - Debug.LogFormat("[CopySRGBWrite] {0} => {1}", texturePath, assetPath); - - var renderTexture = new RenderTexture(src.width, src.height, 0, - RenderTextureFormat.ARGB32, - RenderTextureReadWrite.sRGB); - using (var scope = new ColorSpaceScope(isSRGB)) - { - Graphics.Blit(src, renderTexture); - } - - var dst = new Texture2D(src.width, src.height, TextureFormat.ARGB32, false, - RenderTextureReadWrite.sRGB == RenderTextureReadWrite.Linear); - dst.ReadPixels(new Rect(0, 0, src.width, src.height), 0, 0); - dst.Apply(); - - RenderTexture.active = null; - - assetPath.CreateAsset(dst); - - GameObject.DestroyImmediate(renderTexture); - } -#endif - - public static Texture2D CopyTexture(Texture src, RenderTextureReadWrite colorSpace, Material material) - { - Texture2D dst = null; - - var renderTexture = new RenderTexture(src.width, src.height, 0, RenderTextureFormat.ARGB32, colorSpace); - - using (var scope = new ColorSpaceScope(colorSpace)) - { - if (material != null) - { - Graphics.Blit(src, renderTexture, material); - } - else - { - Graphics.Blit(src, renderTexture); - } - } - - dst = new Texture2D(src.width, src.height, TextureFormat.ARGB32, false, colorSpace == RenderTextureReadWrite.Linear); - dst.ReadPixels(new Rect(0, 0, src.width, src.height), 0, 0); - dst.name = src.name; - dst.Apply(); - - RenderTexture.active = null; - if (Application.isEditor) - { - GameObject.DestroyImmediate(renderTexture); - } - else - { - GameObject.Destroy(renderTexture); - } - return dst; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureItem.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureItem.cs.meta deleted file mode 100644 index 8804119..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureItem.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 09cdeb503b1e8234faf528b6ae134e7a -timeCreated: 1519799583 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureLoader.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureLoader.cs deleted file mode 100644 index 107c566..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureLoader.cs +++ /dev/null @@ -1,297 +0,0 @@ -using System; -using System.Collections; -using System.IO; -using UnityEngine; -using UnityEngine.Networking; -#if UNITY_EDITOR -using UnityEditor; -#endif - - -namespace UniGLTF -{ - public interface ITextureLoader : IDisposable - { - Texture2D Texture { get; } - - /// - /// Call from any thread - /// - /// - /// - void ProcessOnAnyThread(glTF gltf, IStorage storage); - - /// - /// Call from unity main thread - /// - /// - /// - IEnumerator ProcessOnMainThread(bool isLinear); - } - -#if UNITY_EDITOR - public class AssetTextureLoader : ITextureLoader - { - public Texture2D Texture - { - private set; - get; - } - - UnityPath m_assetPath; - - public AssetTextureLoader(UnityPath assetPath, string _) - { - m_assetPath = assetPath; - } - - public void Dispose() - { - } - - public void ProcessOnAnyThread(glTF gltf, IStorage storage) - { - } - - public IEnumerator ProcessOnMainThread(bool isLinear) - { - // - // texture from assets - // - m_assetPath.ImportAsset(); - var importer = m_assetPath.GetImporter(); - if (importer == null) - { - Debug.LogWarningFormat("fail to get TextureImporter: {0}", m_assetPath); - } - importer.sRGBTexture = !isLinear; - importer.SaveAndReimport(); - - Texture = m_assetPath.LoadAsset(); - //Texture.name = m_textureName; - if (Texture == null) - { - Debug.LogWarningFormat("fail to Load Texture2D: {0}", m_assetPath); - } - - yield break; - } - } -#endif - - public class TextureLoader : ITextureLoader - { - int m_textureIndex; - public TextureLoader(int textureIndex) - { - m_textureIndex = textureIndex; - } - - public Texture2D Texture - { - private set; - get; - } - - public void Dispose() - { - } - - static Byte[] ToArray(ArraySegment bytes) - { - if (bytes.Array == null) - { - return new byte[] { }; - } - else if (bytes.Offset == 0 && bytes.Count == bytes.Array.Length) - { - return bytes.Array; - } - else - { - Byte[] result = new byte[bytes.Count]; - Buffer.BlockCopy(bytes.Array, bytes.Offset, result, 0, result.Length); - return result; - } - } - - Byte[] m_imageBytes; - string m_textureName; - public void ProcessOnAnyThread(glTF gltf, IStorage storage) - { - var imageIndex = gltf.GetImageIndexFromTextureIndex(m_textureIndex); - var segments = gltf.GetImageBytes(storage, imageIndex, out m_textureName); - m_imageBytes = ToArray(segments); - } - - public IEnumerator ProcessOnMainThread(bool isLinear) - { - // - // texture from image(png etc) bytes - // - Texture = new Texture2D(2, 2, TextureFormat.ARGB32, false, isLinear); - Texture.name = m_textureName; - if (m_imageBytes != null) - { - Texture.LoadImage(m_imageBytes); - } - yield break; - } - } - - public class UnityWebRequestTextureLoader : ITextureLoader - { - public Texture2D Texture - { - private set; - get; - } - - int m_textureIndex; - - public UnityWebRequestTextureLoader(int textureIndex) - { - m_textureIndex = textureIndex; - } - - UnityWebRequest m_uwr; - public void Dispose() - { - if (m_uwr != null) - { - m_uwr.Dispose(); - m_uwr = null; - } - } - - ArraySegment m_segments; - string m_textureName; - public void ProcessOnAnyThread(glTF gltf, IStorage storage) - { - var imageIndex = gltf.GetImageIndexFromTextureIndex(m_textureIndex); - m_segments = gltf.GetImageBytes(storage, imageIndex, out m_textureName); - } - -#if false - HttpHost m_http; - class HttpHost : IDisposable - { - TcpListener m_listener; - Socket m_connection; - - public HttpHost(int port) - { - m_listener = new TcpListener(IPAddress.Loopback, port); - m_listener.Start(); - m_listener.BeginAcceptSocket(OnAccepted, m_listener); - } - - void OnAccepted(IAsyncResult ar) - { - var l = ar.AsyncState as TcpListener; - if (l == null) return; - m_connection = l.EndAcceptSocket(ar); - // 次の接続受付はしない - - BeginRead(m_connection, new byte[8192]); - } - - void BeginRead(Socket c, byte[] buffer) - { - AsyncCallback callback = ar => - { - var s = ar.AsyncState as Socket; - if (s == null) return; - var size = s.EndReceive(ar); - if (size > 0) - { - OnRead(buffer, size); - } - BeginRead(s, buffer); - }; - m_connection.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, callback, m_connection); - } - - List m_buffer = new List(); - void OnRead(byte[] buffer, int len) - { - m_buffer.AddRange(buffer.Take(len)); - } - - public string Url - { - get - { - - } - } - - public void Dispose() - { - if (m_connection != null) - { - m_connection.Dispose(); - m_connection = null; - } - if(m_listener != null) - { - m_listener.Stop(); - m_listener = null; - } - } - } -#endif - - class Deleter : IDisposable - { - string m_path; - public Deleter(string path) - { - m_path = path; - } - public void Dispose() - { - if (File.Exists(m_path)) - { - File.Delete(m_path); - } - } - } - - public IEnumerator ProcessOnMainThread(bool isLinear) - { - // tmp file - var tmp = Path.GetTempFileName(); - using (var f = new FileStream(tmp, FileMode.Create)) - { - f.Write(m_segments.Array, m_segments.Offset, m_segments.Count); - } - - using (var d = new Deleter(tmp)) - { - var url = "file:///" + tmp.Replace("\\", "/"); - Debug.LogFormat("UnityWebRequest: {0}", url); - using (var m_uwr = new WWW(url)) - { - yield return m_uwr; - - // wait for request - while (!m_uwr.isDone) - { - yield return null; - } - - if (!string.IsNullOrEmpty(m_uwr.error)) - { - Debug.Log(m_uwr.error); - yield break; - } - - // Get downloaded asset bundle - Texture = m_uwr.textureNonReadable; - Texture.name = m_textureName; - } - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureLoader.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureLoader.cs.meta deleted file mode 100644 index a1aa6bb..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureLoader.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 4ffd8b31d371e024593b9aff2cf2495b -timeCreated: 1540300073 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureSamplerUtil.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureSamplerUtil.cs deleted file mode 100644 index c6339e2..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureSamplerUtil.cs +++ /dev/null @@ -1,257 +0,0 @@ -using System; -using System.Collections.Generic; -using UnityEngine; - - -namespace UniGLTF -{ - public static class TextureSamplerUtil - { - #region WrapMode - public enum TextureWrapType - { - All, -#if UNITY_2017_1_OR_NEWER - U, - V, - W, -#endif - } - - public static KeyValuePair TypeWithMode(TextureWrapType type, TextureWrapMode mode) - { - return new KeyValuePair(type, mode); - } - - public static IEnumerable> GetUnityWrapMode(glTFTextureSampler sampler) - { -#if UNITY_2017_1_OR_NEWER - if (sampler.wrapS == sampler.wrapT) - { - switch (sampler.wrapS) - { - case glWrap.NONE: // default - yield return TypeWithMode(TextureWrapType.All, TextureWrapMode.Repeat); - break; - - case glWrap.CLAMP_TO_EDGE: - yield return TypeWithMode(TextureWrapType.All, TextureWrapMode.Clamp); - break; - - case glWrap.REPEAT: - yield return TypeWithMode(TextureWrapType.All, TextureWrapMode.Repeat); - break; - - case glWrap.MIRRORED_REPEAT: - yield return TypeWithMode(TextureWrapType.All, TextureWrapMode.Mirror); - break; - - default: - throw new NotImplementedException(); - } - } - else - { - switch (sampler.wrapS) - { - case glWrap.NONE: // default - yield return TypeWithMode(TextureWrapType.U, TextureWrapMode.Repeat); - break; - - case glWrap.CLAMP_TO_EDGE: - yield return TypeWithMode(TextureWrapType.U, TextureWrapMode.Clamp); - break; - - case glWrap.REPEAT: - yield return TypeWithMode(TextureWrapType.U, TextureWrapMode.Repeat); - break; - - case glWrap.MIRRORED_REPEAT: - yield return TypeWithMode(TextureWrapType.U, TextureWrapMode.Mirror); - break; - - default: - throw new NotImplementedException(); - } - switch (sampler.wrapT) - { - case glWrap.NONE: // default - yield return TypeWithMode(TextureWrapType.V, TextureWrapMode.Repeat); - break; - - case glWrap.CLAMP_TO_EDGE: - yield return TypeWithMode(TextureWrapType.V, TextureWrapMode.Clamp); - break; - - case glWrap.REPEAT: - yield return TypeWithMode(TextureWrapType.V, TextureWrapMode.Repeat); - break; - - case glWrap.MIRRORED_REPEAT: - yield return TypeWithMode(TextureWrapType.V, TextureWrapMode.Mirror); - break; - - default: - throw new NotImplementedException(); - } -#else - // Unity2017.1より前 - // * wrapSとwrapTの区別が無くてwrapしかない - // * Mirrorが無い - - switch (sampler.wrapS) - { - case glWrap.NONE: // default - yield return TypeWithMode(TextureWrapType.All, TextureWrapMode.Repeat); - break; - - case glWrap.CLAMP_TO_EDGE: - case glWrap.MIRRORED_REPEAT: - yield return TypeWithMode(TextureWrapType.All, TextureWrapMode.Clamp); - break; - - case glWrap.REPEAT: - yield return TypeWithMode(TextureWrapType.All, TextureWrapMode.Repeat); - break; - - default: - throw new NotImplementedException(); -#endif - } - } - #endregion - - public static FilterMode ImportFilterMode(glFilter filterMode) - { - switch (filterMode) - { - case glFilter.NEAREST: - case glFilter.NEAREST_MIPMAP_LINEAR: - case glFilter.NEAREST_MIPMAP_NEAREST: - return FilterMode.Point; - - case glFilter.NONE: - case glFilter.LINEAR: - case glFilter.LINEAR_MIPMAP_NEAREST: - return FilterMode.Bilinear; - - case glFilter.LINEAR_MIPMAP_LINEAR: - return FilterMode.Trilinear; - - default: - throw new NotImplementedException(); - - } - } - - public static void SetSampler(Texture2D texture, glTFTextureSampler sampler) - { - if (texture == null) - { - return; - } - - foreach (var kv in GetUnityWrapMode(sampler)) - { - switch (kv.Key) - { - case TextureWrapType.All: - texture.wrapMode = kv.Value; - break; - -#if UNITY_2017_1_OR_NEWER - case TextureWrapType.U: - texture.wrapModeU = kv.Value; - break; - - case TextureWrapType.V: - texture.wrapModeV = kv.Value; - break; - - case TextureWrapType.W: - texture.wrapModeW = kv.Value; - break; -#endif - - default: - throw new NotImplementedException(); - } - } - - texture.filterMode = ImportFilterMode(sampler.minFilter); - } - - #region Export - public static glFilter ExportFilterMode(Texture texture) - { - switch (texture.filterMode) - { - case FilterMode.Point: - return glFilter.NEAREST; - - case FilterMode.Bilinear: - return glFilter.LINEAR; - - case FilterMode.Trilinear: - return glFilter.LINEAR_MIPMAP_LINEAR; - - default: - throw new NotImplementedException(); - } - } - - public static TextureWrapMode GetWrapS(Texture texture) - { -#if UNITY_2017_1_OR_NEWER - return texture.wrapModeU; -#else - return texture.wrapMode; -#endif - } - - public static TextureWrapMode GetWrapT(Texture texture) - { -#if UNITY_2017_1_OR_NEWER - return texture.wrapModeV; -#else - return texture.wrapMode; -#endif - } - - public static glWrap ExportWrapMode(TextureWrapMode wrapMode) - { - switch (wrapMode) - { - case TextureWrapMode.Clamp: - return glWrap.CLAMP_TO_EDGE; - - case TextureWrapMode.Repeat: - return glWrap.REPEAT; - -#if UNITY_2017_1_OR_NEWER - case TextureWrapMode.Mirror: - case TextureWrapMode.MirrorOnce: - return glWrap.MIRRORED_REPEAT; -#endif - - default: - throw new NotImplementedException(); - } - } - - public static glTFTextureSampler Export(Texture texture) - { - var filter = ExportFilterMode(texture); - var wrapS = ExportWrapMode(GetWrapS(texture)); - var wrapT = ExportWrapMode(GetWrapT(texture)); - return new glTFTextureSampler - { - magFilter = filter, - minFilter = filter, - wrapS = wrapS, - wrapT = wrapT, - }; - } - #endregion - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureSamplerUtil.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureSamplerUtil.cs.meta deleted file mode 100644 index f30e2fb..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TextureSamplerUtil.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: f3929edbda61f9346906bfab93411b98 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TriangleUtil.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TriangleUtil.cs deleted file mode 100644 index b5b9359..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TriangleUtil.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System; -using System.Linq; -using System.Collections.Generic; - - -public static class TriangleUtil -{ - public static IEnumerable FlipTriangle(IEnumerable src) - { - return FlipTriangle(src.Select(x => (Int32)x)); - } - - public static IEnumerable FlipTriangle(IEnumerable src) - { - return FlipTriangle(src.Select(x => (Int32)x)); - } - - public static IEnumerable FlipTriangle(IEnumerable src) - { - return FlipTriangle(src.Select(x => (Int32)x)); - } - - public static IEnumerable FlipTriangle(IEnumerable src) - { - var it = src.GetEnumerator(); - while (true) - { - if (!it.MoveNext()) - { - yield break; - } - var i0 = it.Current; - - if (!it.MoveNext()) - { - yield break; - } - var i1 = it.Current; - - if (!it.MoveNext()) - { - yield break; - } - var i2 = it.Current; - - yield return i2; - yield return i1; - yield return i0; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TriangleUtil.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TriangleUtil.cs.meta deleted file mode 100644 index 5505bdb..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/TriangleUtil.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 3d3209540c7379646b36b389bea94f6f -timeCreated: 1517037932 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/UnityPath.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/UnityPath.cs deleted file mode 100644 index ed7be4f..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/UnityPath.cs +++ /dev/null @@ -1,424 +0,0 @@ -using System; -using System.IO; -using UnityEngine; -using System.Collections.Generic; -#if UNITY_EDITOR -using UnityEditor; -#endif - - -namespace UniGLTF -{ - /// - /// relative path from Unity project root. - /// For AssetDatabase. - /// - public struct UnityPath - { - #region UnityPath - public string Value - { - get; - private set; - } - - public override string ToString() - { - return string.Format("unity://{0}", Value); - } - - public bool IsNull - { - get { return Value == null; } - } - - public bool IsUnderAssetsFolder - { - get - { - if (IsNull) - { - return false; - } - return Value == "Assets" || Value.StartsWith("Assets/"); - } - } - - public bool IsStreamingAsset - { - get - { - if (IsNull) - { - return false; - } - - return FullPath.StartsWith(Application.streamingAssetsPath + "/"); - } - } - - public string FileNameWithoutExtension - { - get { return Path.GetFileNameWithoutExtension(Value); } - } - - public string Extension - { - get { return Path.GetExtension(Value); } - } - - public UnityPath Parent - { - get - { - if (IsNull) - { - return default(UnityPath); - } - - return new UnityPath(Path.GetDirectoryName(Value)); - } - } - - public bool HasParent - { - get - { - return !string.IsNullOrEmpty(Value); - } - } - - static readonly char[] EscapeChars = new char[] - { - '\\', - '/', - ':', - '*', - '?', - '"', - '<', - '>', - '|', - }; - - static string EscapeFilePath(string path) - { - foreach (var x in EscapeChars) - { - path = path.Replace(x, '+'); - } - return path; - } - - public UnityPath Child(string name) - { - if (IsNull) - { - throw new NotImplementedException(); - } - else if (Value == "") - { - return new UnityPath(name); - } - else - { - return new UnityPath(Value + "/" + name); - } - } - - public override int GetHashCode() - { - if (IsNull) - { - return 0; - } - return Value.GetHashCode(); - } - - public override bool Equals(object obj) - { - if(obj is UnityPath) - { - var rhs = (UnityPath)obj; - if(Value==null && rhs.Value == null) - { - return true; - } - else if (Value == null) - { - return false; - } - else if (rhs.Value == null) - { - return false; - } - else - { - return Value == rhs.Value; - } - } - else - { - return false; - } - } - - /// - /// Remove extension and add suffix - /// - /// - /// - /// - public UnityPath GetAssetFolder(string suffix) - { - if (!IsUnderAssetsFolder) - { - throw new NotImplementedException(); - } - - return new UnityPath( - string.Format("{0}/{1}{2}", - Parent.Value, - FileNameWithoutExtension, - suffix - )); - } - - UnityPath(string value) : this() - { - Value = value.Replace("\\", "/"); - } - - /// - /// - /// - /// Relative from unity current path. GetParent(Application.dataPath) - /// - public static UnityPath FromUnityPath(string unityPath) - { - if (String.IsNullOrEmpty(unityPath)) - { - return new UnityPath - { - Value="" - }; - } - return FromFullpath(Path.GetFullPath(unityPath)); - } - #endregion - - #region FullPath - static string s_basePath; - static string BaseFullPath - { - get - { - if (string.IsNullOrEmpty(s_basePath)) - { - s_basePath = Path.GetFullPath(Application.dataPath + "/..").Replace("\\", "/"); - } - return s_basePath; - } - } - - static string AssetFullPath - { - get - { - return BaseFullPath + "/Assets"; - } - } - - public string FullPath - { - get - { - if (IsNull) - { - throw new NotImplementedException(); - } - return Path.Combine(BaseFullPath, Value).Replace("\\", "/"); - } - } - - public bool IsFileExists - { - get { return File.Exists(FullPath); } - } - - public bool IsDirectoryExists - { - get { return Directory.Exists(FullPath); } - } - - /// - /// - /// - /// C:/path/to/file - /// - public static UnityPath FromFullpath(string fullPath) - { - if(fullPath == null) - { - fullPath = ""; - } - fullPath = fullPath.Replace("\\", "/"); - - if (fullPath == BaseFullPath) { - return new UnityPath - { - Value="" - }; - } - else if(fullPath.StartsWith(BaseFullPath + "/")) - { - return new UnityPath(fullPath.Substring(BaseFullPath.Length + 1)); - } - else - { - return default(UnityPath); - } - } - - public static bool IsUnderAssetFolder(string fullPath) - { - return fullPath.Replace("\\", "/").StartsWith(AssetFullPath); - } - #endregion - - public IEnumerable TravserseDir() - { - if (IsDirectoryExists) - { - yield return this; - - foreach(var child in ChildDirs) - { - foreach(var x in child.TravserseDir()) - { - yield return x; - } - } - } - } - - public IEnumerable ChildDirs - { - get - { - foreach(var x in Directory.GetDirectories(FullPath)) - { - yield return UnityPath.FromFullpath(x); - } - } - } - - public IEnumerable ChildFiles - { - get - { - foreach (var x in Directory.GetFiles(FullPath)) - { - yield return UnityPath.FromFullpath(x); - } - } - } - -#if UNITY_EDITOR - public T GetImporter() where T : AssetImporter - { - return AssetImporter.GetAtPath(Value) as T; - } - - public static UnityPath FromAsset(UnityEngine.Object asset) - { - return new UnityPath(AssetDatabase.GetAssetPath(asset)); - } - - public void ImportAsset() - { - if (!IsUnderAssetsFolder) - { - throw new NotImplementedException(); - } - AssetDatabase.ImportAsset(Value); - } - - public void EnsureFolder() - { - if (IsNull) - { - throw new NotImplementedException(); - } - - if (HasParent) - { - Parent.EnsureFolder(); - } - - if (!IsDirectoryExists) - { - var parent = Parent; - // ensure parent - parent.ImportAsset(); - // create - AssetDatabase.CreateFolder( - parent.Value, - Path.GetFileName(Value) - ); - ImportAsset(); - } - } - - public UnityEngine.Object[] GetSubAssets() - { - if (!IsUnderAssetsFolder) - { - throw new NotImplementedException(); - } - - return AssetDatabase.LoadAllAssetsAtPath(Value); - } - - public void CreateAsset(UnityEngine.Object o) - { - if (!IsUnderAssetsFolder) - { - throw new NotImplementedException(); - } - - AssetDatabase.CreateAsset(o, Value); - } - - public void AddObjectToAsset(UnityEngine.Object o) - { - if (!IsUnderAssetsFolder) - { - throw new NotImplementedException(); - } - - AssetDatabase.AddObjectToAsset(o, Value); - } - - public T LoadAsset() where T : UnityEngine.Object - { - if (!IsUnderAssetsFolder) - { - throw new NotImplementedException(); - } - - return AssetDatabase.LoadAssetAtPath(Value); - } - - public UnityPath GenerateUniqueAssetPath() - { - if (!IsUnderAssetsFolder) - { - throw new NotImplementedException(); - } - - return new UnityPath(AssetDatabase.GenerateUniqueAssetPath(Value)); - } - #endif - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/UnityPath.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/UnityPath.cs.meta deleted file mode 100644 index f64923d..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/UnityPath.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 7b7af908694806c469d62ce0b5b2f06a -timeCreated: 1532326996 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ZipArchiveStorage.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ZipArchiveStorage.cs deleted file mode 100644 index ea05e92..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ZipArchiveStorage.cs +++ /dev/null @@ -1,385 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Text; -using System.Linq; -using System.IO.Compression; -using System.Runtime.InteropServices; - -/// -/// https://en.wikipedia.org/wiki/Zip_(file_format) -/// -namespace UniGLTF.Zip -{ - - enum CompressionMethod : ushort - { - Stored = 0, // The file is stored (no compression) - Shrink = 1, // The file is Shrunk - Reduced1 = 2, // The file is Reduced with compression factor 1 - Reduced2 = 3, // The file is Reduced with compression factor 2 - Reduced3 = 4, // The file is Reduced with compression factor 3 - Reduced4 = 5, // The file is Reduced with compression factor 4 - Imploded = 6, // The file is Imploded - Reserved = 7, // Reserved for Tokenizing compression algorithm - Deflated = 8, // The file is Deflated - } - - class ZipParseException : Exception - { - public ZipParseException(string msg) : base(msg) - { } - } - - class EOCD - { - public ushort NumberOfThisDisk; - public ushort DiskWhereCentralDirectoryStarts; - public ushort NumberOfCentralDirectoryRecordsOnThisDisk; - public ushort TotalNumberOfCentralDirectoryRecords; - public int SizeOfCentralDirectoryBytes; - public int OffsetOfStartOfCentralDirectory; - public string Comment; - - public override string ToString() - { - return string.Format("", - NumberOfCentralDirectoryRecordsOnThisDisk, - OffsetOfStartOfCentralDirectory, - Comment - ); - } - - static int FindEOCD(byte[] bytes) - { - for (int i = bytes.Length - 22; i >= 0; --i) - { - if (bytes[i] == 0x50 - && bytes[i + 1] == 0x4b - && bytes[i + 2] == 0x05 - && bytes[i + 3] == 0x06) - { - return i; - } - } - - throw new ZipParseException("EOCD is not found"); - } - - public static EOCD Parse(Byte[] bytes) - { - var pos = FindEOCD(bytes); - using (var ms = new MemoryStream(bytes, pos, bytes.Length - pos, false)) - using (var r = new BinaryReader(ms)) - { - var sig = r.ReadInt32(); - if (sig != 0x06054b50) throw new ZipParseException("invalid eocd signature: " + sig); - - var eocd = new EOCD - { - NumberOfThisDisk = r.ReadUInt16(), - DiskWhereCentralDirectoryStarts = r.ReadUInt16(), - NumberOfCentralDirectoryRecordsOnThisDisk = r.ReadUInt16(), - TotalNumberOfCentralDirectoryRecords = r.ReadUInt16(), - SizeOfCentralDirectoryBytes = r.ReadInt32(), - OffsetOfStartOfCentralDirectory = r.ReadInt32(), - }; - - var commentLength = r.ReadUInt16(); - var commentBytes = r.ReadBytes(commentLength); - eocd.Comment = Encoding.ASCII.GetString(commentBytes); - - return eocd; - } - } - } - - abstract class CommonHeader - { - public Encoding Encoding = Encoding.UTF8; - public Byte[] Bytes; - public int Offset; - public abstract int Signature - { - get; - } - protected CommonHeader(Byte[] bytes, int offset) - { - var sig = BitConverter.ToInt32(bytes, offset); - if (sig != Signature) - { - throw new ZipParseException("invalid central directory file signature: " + sig); - } - Bytes = bytes; - Offset = offset; - - var start = offset + 4; - using (var ms = new MemoryStream(bytes, start, bytes.Length - start, false)) - using (var r = new BinaryReader(ms)) - { - ReadBefore(r); - Read(r); - ReadAfter(r); - } - } - - public UInt16 VersionNeededToExtract; - public UInt16 GeneralPurposeBitFlag; - public CompressionMethod CompressionMethod; - public UInt16 FileLastModificationTime; - public UInt16 FileLastModificationDate; - public Int32 CRC32; - public Int32 CompressedSize; - public Int32 UncompressedSize; - public UInt16 FileNameLength; - public UInt16 ExtraFieldLength; - - public abstract int FixedFieldLength - { - get; - } - - public abstract int Length - { - get; - } - - public string FileName - { - get - { - return Encoding.GetString(Bytes, - Offset + FixedFieldLength, - FileNameLength); - } - } - - public ArraySegment ExtraField - { - get - { - return new ArraySegment(Bytes, - Offset + FixedFieldLength + FileNameLength, - ExtraFieldLength); - } - } - - public override string ToString() - { - return string.Format("", - FileName, - CompressedSize, - UncompressedSize, - CompressionMethod - ); - } - - public abstract void ReadBefore(BinaryReader r); - - public void Read(BinaryReader r) - { - VersionNeededToExtract = r.ReadUInt16(); - GeneralPurposeBitFlag = r.ReadUInt16(); - CompressionMethod = (CompressionMethod)r.ReadUInt16(); - FileLastModificationTime = r.ReadUInt16(); - FileLastModificationDate = r.ReadUInt16(); - CRC32 = r.ReadInt32(); - CompressedSize = r.ReadInt32(); - UncompressedSize = r.ReadInt32(); - FileNameLength = r.ReadUInt16(); - ExtraFieldLength = r.ReadUInt16(); - } - - public abstract void ReadAfter(BinaryReader r); - } - - class CentralDirectoryFileHeader : CommonHeader - { - public override int Signature - { - get - { - return 0x02014b50; - } - } - - public CentralDirectoryFileHeader(Byte[] bytes, int offset) : base(bytes, offset) { } - - public UInt16 VersionMadeBy; - public UInt16 FileCommentLength; - public UInt16 DiskNumberWhereFileStarts; - public UInt16 InternalFileAttributes; - public Int32 ExternalFileAttributes; - public Int32 RelativeOffsetOfLocalFileHeader; - - public override int FixedFieldLength - { - get - { - return 46; - } - } - - public string FileComment - { - get - { - return Encoding.GetString(Bytes, - Offset + 46 + FileNameLength + ExtraFieldLength, - FileCommentLength); - } - } - - public override int Length - { - get - { - return FixedFieldLength + FileNameLength + ExtraFieldLength + FileCommentLength; - } - } - - public override void ReadBefore(BinaryReader r) - { - VersionMadeBy = r.ReadUInt16(); - } - - public override void ReadAfter(BinaryReader r) - { - FileCommentLength = r.ReadUInt16(); - DiskNumberWhereFileStarts = r.ReadUInt16(); - InternalFileAttributes = r.ReadUInt16(); - ExternalFileAttributes = r.ReadInt32(); - RelativeOffsetOfLocalFileHeader = r.ReadInt32(); - } - } - - class LocalFileHeader : CommonHeader - { - public override int FixedFieldLength - { - get - { - return 30; - } - } - - public override int Signature - { - get - { - return 0x04034b50; - } - } - - public override int Length - { - get - { - return FixedFieldLength + FileNameLength + ExtraFieldLength; - } - } - - public LocalFileHeader(Byte[] bytes, int offset) : base(bytes, offset) - { - } - - public override void ReadBefore(BinaryReader r) - { - } - - public override void ReadAfter(BinaryReader r) - { - } - } - - class ZipArchiveStorage : IStorage - { - public override string ToString() - { - return string.Format("", String.Join("", Entries.Select(x => x.ToString() + "\n").ToArray())); - } - - public List Entries = new List(); - - public static ZipArchiveStorage Parse(byte[] bytes) - { - var eocd = EOCD.Parse(bytes); - var archive = new ZipArchiveStorage(); - - var pos = eocd.OffsetOfStartOfCentralDirectory; - for (int i = 0; i < eocd.NumberOfCentralDirectoryRecordsOnThisDisk; ++i) - { - var file = new CentralDirectoryFileHeader(bytes, pos); - archive.Entries.Add(file); - pos += file.Length; - } - - return archive; - } - - public Byte[] Extract(CentralDirectoryFileHeader header) - { - var local = new LocalFileHeader(header.Bytes, header.RelativeOffsetOfLocalFileHeader); - var pos = local.Offset + local.Length; - - var dst = new Byte[local.UncompressedSize]; - -#if true - using (var s = new MemoryStream(header.Bytes, pos, local.CompressedSize, false)) - using (var deflateStream = new DeflateStream(s, CompressionMode.Decompress)) - { - int dst_pos = 0; - for (int remain = dst.Length; remain > 0;) - { - var readSize = deflateStream.Read(dst, dst_pos, remain); - dst_pos += readSize; - remain -= readSize; - } - } -#else - var size=RawInflate.RawInflateImport.RawInflate(dst, 0, dst.Length, - header.Bytes, pos, header.CompressedSize); -#endif - - return dst; - } - - public string ExtractToString(CentralDirectoryFileHeader header, Encoding encoding) - { - var local = new LocalFileHeader(header.Bytes, header.RelativeOffsetOfLocalFileHeader); - var pos = local.Offset + local.Length; - - using (var s = new MemoryStream(header.Bytes, pos, local.CompressedSize, false)) - using (var deflateStream = new DeflateStream(s, CompressionMode.Decompress)) - using (var r = new StreamReader(deflateStream, encoding)) - { - return r.ReadToEnd(); - } - } - - public ArraySegment Get(string url) - { - var found = Entries.FirstOrDefault(x => x.FileName == url); - if (found == null) - { - throw new FileNotFoundException("[ZipArchive]" + url); - } - - switch (found.CompressionMethod) - { - case CompressionMethod.Deflated: - return new ArraySegment(Extract(found)); - - case CompressionMethod.Stored: - return new ArraySegment(found.Bytes, found.RelativeOffsetOfLocalFileHeader, found.CompressedSize); - } - - throw new NotImplementedException(found.CompressionMethod.ToString()); - } - - public string GetPath(string url) - { - return null; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ZipArchiveStorage.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ZipArchiveStorage.cs.meta deleted file mode 100644 index 303fb3c..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/ZipArchiveStorage.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: b5aadac20fc53d04abe0492399479ce5 -timeCreated: 1528580594 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/glbImporter.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/glbImporter.cs deleted file mode 100644 index 2eef5e1..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/glbImporter.cs +++ /dev/null @@ -1,79 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using UnityEngine; - - -namespace UniGLTF -{ - public static class glbImporter - { - public const string GLB_MAGIC = "glTF"; - public const float GLB_VERSION = 2.0f; - - public static GlbChunkType ToChunkType(string src) - { - switch(src) - { - case "BIN": - return GlbChunkType.BIN; - - case "JSON": - return GlbChunkType.JSON; - - default: - throw new FormatException("unknown chunk type: " + src); - } - } - - public static List ParseGlbChanks(Byte[] bytes) - { - if (bytes.Length == 0) - { - throw new Exception("empty bytes"); - } - - int pos = 0; - if (Encoding.ASCII.GetString(bytes, 0, 4) != GLB_MAGIC) - { - throw new Exception("invalid magic"); - } - pos += 4; - - var version = BitConverter.ToUInt32(bytes, pos); - if (version != GLB_VERSION) - { - Debug.LogWarningFormat("unknown version: {0}", version); - return null; - } - pos += 4; - - //var totalLength = BitConverter.ToUInt32(bytes, pos); - pos += 4; - - var chunks = new List(); - while (pos < bytes.Length) - { - var chunkDataSize = BitConverter.ToInt32(bytes, pos); - pos += 4; - - //var type = (GlbChunkType)BitConverter.ToUInt32(bytes, pos); - var chunkTypeBytes = bytes.Skip(pos).Take(4).Where(x => x != 0).ToArray(); - var chunkTypeStr = Encoding.ASCII.GetString(chunkTypeBytes); - var type = ToChunkType(chunkTypeStr); - pos += 4; - - chunks.Add(new GlbChunk - { - ChunkType = type, - Bytes = new ArraySegment(bytes, (int)pos, (int)chunkDataSize) - }); - - pos += chunkDataSize; - } - - return chunks; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/glbImporter.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/glbImporter.cs.meta deleted file mode 100644 index 4246fe4..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/glbImporter.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 4a51e78bfa249be4c88e7612ed05eb6f -timeCreated: 1514252170 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/gltfExporter.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/gltfExporter.cs deleted file mode 100644 index 9a955dd..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/gltfExporter.cs +++ /dev/null @@ -1,365 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using UnityEngine; -#if UNITY_EDITOR -using UnityEditor; -#endif - - -namespace UniGLTF -{ - public class gltfExporter : IDisposable - { - const string CONVERT_HUMANOID_KEY = UniGLTFVersion.MENU + "/Export"; - -#if UNITY_EDITOR - [MenuItem(CONVERT_HUMANOID_KEY, true, 1)] - private static bool ExportValidate() - { - return Selection.activeObject != null && Selection.activeObject is GameObject; - } - - [MenuItem(CONVERT_HUMANOID_KEY, false, 1)] - private static void ExportFromMenu() - { - var go = Selection.activeObject as GameObject; - var path = EditorUtility.SaveFilePanel( - "Save glb", - "", - go.name + ".glb", - "glb"); - if (string.IsNullOrEmpty(path)) - { - return; - } - - var gltf = new glTF(); - using (var exporter = new gltfExporter(gltf)) - { - exporter.Prepare(go); - exporter.Export(); - } - var bytes = gltf.ToGlbBytes(); - File.WriteAllBytes(path, bytes); - - if (path.StartsWithUnityAssetPath()) - { - AssetDatabase.ImportAsset(path.ToUnityRelativePath()); - AssetDatabase.Refresh(); - } - } -#endif - - glTF glTF; - - public bool UseSparseAccessorForBlendShape - { - get; - set; - } - - public GameObject Copy - { - get; - protected set; - } - - public List Meshes - { - get; - private set; - } - - public List Nodes - { - get; - private set; - } - - public List Materials - { - get; - private set; - } - - public TextureExportManager TextureManager; - - protected virtual IMaterialExporter CreateMaterialExporter() - { - return new MaterialExporter(); - } - - /// - /// このエクスポーターがサポートするExtension - /// - protected virtual IEnumerable ExtensionUsed - { - get - { - yield return glTF_KHR_materials_unlit.ExtensionName; - } - } - - public gltfExporter(glTF gltf) - { - glTF = gltf; - - glTF.extensionsUsed.AddRange(ExtensionUsed); - - glTF.asset = new glTFAssets - { - generator = "UniGLTF-" + UniGLTFVersion.VERSION, - version = "2.0", - }; - } - - public static glTF Export(GameObject go) - { - var gltf = new glTF(); - using (var exporter = new gltfExporter(gltf)) - { - exporter.Prepare(go); - exporter.Export(); - } - return gltf; - } - - public virtual void Prepare(GameObject go) - { - // コピーを作って、Z軸を反転することで左手系を右手系に変換する - Copy = GameObject.Instantiate(go); - Copy.transform.ReverseZRecursive(); - } - - public void Export() - { - FromGameObject(glTF, Copy, UseSparseAccessorForBlendShape); - } - - public void Dispose() - { - if (Application.isEditor) - { - GameObject.DestroyImmediate(Copy); - } - else - { - GameObject.Destroy(Copy); - } - } - - #region Export - static glTFNode ExportNode(Transform x, List nodes, List renderers, List skins) - { - var node = new glTFNode - { - name = x.name, - children = x.transform.GetChildren().Select(y => nodes.IndexOf(y)).ToArray(), - rotation = x.transform.localRotation.ToArray(), - translation = x.transform.localPosition.ToArray(), - scale = x.transform.localScale.ToArray(), - }; - - if (x.gameObject.activeInHierarchy) - { - var meshRenderer = x.GetComponent(); - if (meshRenderer != null) - { - node.mesh = renderers.IndexOf(meshRenderer); - } - - var skinnredMeshRenderer = x.GetComponent(); - if (skinnredMeshRenderer != null) - { - node.mesh = renderers.IndexOf(skinnredMeshRenderer); - node.skin = skins.IndexOf(skinnredMeshRenderer); - } - } - - return node; - } - - void FromGameObject(glTF gltf, GameObject go, bool useSparseAccessorForMorphTarget = false) - { - var bytesBuffer = new ArrayByteBuffer(new byte[50 * 1024 * 1024]); - var bufferIndex = gltf.AddBuffer(bytesBuffer); - - GameObject tmpParent = null; - if (go.transform.childCount == 0) - { - tmpParent = new GameObject("tmpParent"); - go.transform.SetParent(tmpParent.transform, true); - go = tmpParent; - } - - try - { - - Nodes = go.transform.Traverse() - .Skip(1) // exclude root object for the symmetry with the importer - .ToList(); - - #region Materials and Textures - Materials = Nodes.SelectMany(x => x.GetSharedMaterials()).Where(x => x != null).Distinct().ToList(); - var unityTextures = Materials.SelectMany(x => TextureIO.GetTextures(x)).Where(x => x.Texture != null).Distinct().ToList(); - - TextureManager = new TextureExportManager(unityTextures.Select(x => x.Texture)); - - var materialExporter = CreateMaterialExporter(); - gltf.materials = Materials.Select(x => materialExporter.ExportMaterial(x, TextureManager)).ToList(); - - for (int i = 0; i < unityTextures.Count; ++i) - { - var unityTexture = unityTextures[i]; - TextureIO.ExportTexture(gltf, bufferIndex, TextureManager.GetExportTexture(i), unityTexture.TextureType); - } - #endregion - - - #region Meshes - var unityMeshes = Nodes - .Select(x => new MeshWithRenderer - { - Mesh = x.GetSharedMesh(), - Rendererer = x.GetComponent(), - }) - .Where(x => - { - if (x.Mesh == null) - { - return false; - } - if (x.Rendererer.sharedMaterials == null - || x.Rendererer.sharedMaterials.Length == 0) - { - return false; - } - - return true; - }) - .ToList(); - MeshExporter.ExportMeshes(gltf, bufferIndex, unityMeshes, Materials, useSparseAccessorForMorphTarget); - Meshes = unityMeshes.Select(x => x.Mesh).ToList(); - #endregion - - #region Nodes and Skins - var unitySkins = Nodes - .Select(x => x.GetComponent()).Where(x => - x != null - && x.bones != null - && x.bones.Length > 0) - .ToList(); - gltf.nodes = Nodes.Select(x => ExportNode(x, Nodes, unityMeshes.Select(y => y.Rendererer).ToList(), unitySkins)).ToList(); - gltf.scenes = new List - { - new gltfScene - { - nodes = go.transform.GetChildren().Select(x => Nodes.IndexOf(x)).ToArray(), - } - }; - - foreach (var x in unitySkins) - { - var matrices = x.sharedMesh.bindposes.Select(y => y.ReverseZ()).ToArray(); - var accessor = gltf.ExtendBufferAndGetAccessorIndex(bufferIndex, matrices, glBufferTarget.NONE); - - var skin = new glTFSkin - { - inverseBindMatrices = accessor, - joints = x.bones.Select(y => Nodes.IndexOf(y)).ToArray(), - skeleton = Nodes.IndexOf(x.rootBone), - }; - var skinIndex = gltf.skins.Count; - gltf.skins.Add(skin); - - foreach (var z in Nodes.Where(y => y.Has(x))) - { - var nodeIndex = Nodes.IndexOf(z); - var node = gltf.nodes[nodeIndex]; - node.skin = skinIndex; - } - } - #endregion - -#if UNITY_EDITOR - #region Animations - - var clips = new List(); - var animator = go.GetComponent(); - var animation = go.GetComponent(); - if (animator != null) - { - clips = AnimationExporter.GetAnimationClips(animator); - } - else if (animation != null) - { - clips = AnimationExporter.GetAnimationClips(animation); - } - - if (clips.Any()) - { - foreach (AnimationClip clip in clips) - { - var animationWithCurve = AnimationExporter.Export(clip, go.transform, Nodes); - - foreach (var kv in animationWithCurve.SamplerMap) - { - var sampler = animationWithCurve.Animation.samplers[kv.Key]; - - var inputAccessorIndex = gltf.ExtendBufferAndGetAccessorIndex(bufferIndex, kv.Value.Input); - sampler.input = inputAccessorIndex; - - var outputAccessorIndex = gltf.ExtendBufferAndGetAccessorIndex(bufferIndex, kv.Value.Output); - sampler.output = outputAccessorIndex; - - // modify accessors - var outputAccessor = gltf.accessors[outputAccessorIndex]; - var channel = animationWithCurve.Animation.channels.First(x => x.sampler == kv.Key); - switch (glTFAnimationTarget.GetElementCount(channel.target.path)) - { - case 1: - outputAccessor.type = "SCALAR"; - //outputAccessor.count = ; - break; - case 3: - outputAccessor.type = "VEC3"; - outputAccessor.count /= 3; - break; - - case 4: - outputAccessor.type = "VEC4"; - outputAccessor.count /= 4; - break; - - default: - throw new NotImplementedException(); - } - } - animationWithCurve.Animation.name = clip.name; - gltf.animations.Add(animationWithCurve.Animation); - } - } - #endregion -#endif - } - finally - { - if (tmpParent != null) - { - tmpParent.transform.GetChild(0).SetParent(null); - if (Application.isPlaying) - { - GameObject.Destroy(tmpParent); - } - else - { - GameObject.DestroyImmediate(tmpParent); - } - } - } - } - #endregion - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/gltfExporter.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/gltfExporter.cs.meta deleted file mode 100644 index 5b972c8..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/gltfExporter.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: a82bf73539bdd2d4c81595b5108819ce -timeCreated: 1516612766 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/gltfImporter.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/gltfImporter.cs deleted file mode 100644 index 2629574..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/gltfImporter.cs +++ /dev/null @@ -1,52 +0,0 @@ -using System; -using UnityEngine; - - -namespace UniGLTF -{ - public static class gltfImporter - { - [Obsolete("Use ImporterContext.Load(path)")] - public static ImporterContext Load(string path) - { - var context = new ImporterContext(); - context.Load(path); - context.ShowMeshes(); - context.EnableUpdateWhenOffscreen(); - return context; - } - - [Obsolete("Use ImporterContext.Parse(path, bytes)")] - public static ImporterContext Parse(string path, Byte[] bytes) - { - var context = new ImporterContext(); - context.Load(path); - context.ShowMeshes(); - context.EnableUpdateWhenOffscreen(); - return context; - } - - [Obsolete("use ImporterContext.Load()")] - public static void Load(ImporterContext context) - { - context.Load(); - context.ShowMeshes(); - context.EnableUpdateWhenOffscreen(); - } - - public static void LoadVrmAsync(string path, Byte[] bytes, Action onLoaded, Action onError = null, bool show = true) - { - var context = new ImporterContext(); - context.Parse(path, bytes); - context.LoadAsync(() => - { - if (show) - { - context.ShowMeshes(); - } - onLoaded(context.Root); - }, - onError); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/gltfImporter.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/gltfImporter.cs.meta deleted file mode 100644 index c8cc5da..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/IO/gltfImporter.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 31723631f70a88f47ba90c044e220849 -timeCreated: 1514252170 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps.meta deleted file mode 100644 index e95c0d4..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 28c20a16504cba24faf2678a4e7b8155 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Standard.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Standard.cs deleted file mode 100644 index aa5b342..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Standard.cs +++ /dev/null @@ -1,52 +0,0 @@ -using System.Collections.Generic; - - -namespace UniGLTF.ShaderPropExporter -{ - public static partial class PreShaderPropExporter - { - [PreExportShader] - static KeyValuePair Standard - { - get - { - return new KeyValuePair( - "Standard", - new ShaderProps - { - Properties = new ShaderProperty[]{ -new ShaderProperty("_Color", ShaderPropertyType.Color) -,new ShaderProperty("_MainTex", ShaderPropertyType.TexEnv) -,new ShaderProperty("_Cutoff", ShaderPropertyType.Range) -,new ShaderProperty("_Glossiness", ShaderPropertyType.Range) -,new ShaderProperty("_GlossMapScale", ShaderPropertyType.Range) -,new ShaderProperty("_SmoothnessTextureChannel", ShaderPropertyType.Float) -,new ShaderProperty("_Metallic", ShaderPropertyType.Range) -,new ShaderProperty("_MetallicGlossMap", ShaderPropertyType.TexEnv) -,new ShaderProperty("_SpecularHighlights", ShaderPropertyType.Float) -,new ShaderProperty("_GlossyReflections", ShaderPropertyType.Float) -,new ShaderProperty("_BumpScale", ShaderPropertyType.Float) -,new ShaderProperty("_BumpMap", ShaderPropertyType.TexEnv) -,new ShaderProperty("_Parallax", ShaderPropertyType.Range) -,new ShaderProperty("_ParallaxMap", ShaderPropertyType.TexEnv) -,new ShaderProperty("_OcclusionStrength", ShaderPropertyType.Range) -,new ShaderProperty("_OcclusionMap", ShaderPropertyType.TexEnv) -,new ShaderProperty("_EmissionColor", ShaderPropertyType.Color) -,new ShaderProperty("_EmissionMap", ShaderPropertyType.TexEnv) -,new ShaderProperty("_DetailMask", ShaderPropertyType.TexEnv) -,new ShaderProperty("_DetailAlbedoMap", ShaderPropertyType.TexEnv) -,new ShaderProperty("_DetailNormalMapScale", ShaderPropertyType.Float) -,new ShaderProperty("_DetailNormalMap", ShaderPropertyType.TexEnv) -,new ShaderProperty("_UVSec", ShaderPropertyType.Float) -,new ShaderProperty("_Mode", ShaderPropertyType.Float) -,new ShaderProperty("_SrcBlend", ShaderPropertyType.Float) -,new ShaderProperty("_DstBlend", ShaderPropertyType.Float) -,new ShaderProperty("_ZWrite", ShaderPropertyType.Float) - - } - } - ); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Standard.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Standard.cs.meta deleted file mode 100644 index abf6b6c..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Standard.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 54043e349b047bf4b8f127cd919a757d -timeCreated: 1533542890 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/UniGLTF_UniUnlit.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/UniGLTF_UniUnlit.cs deleted file mode 100644 index ce4503a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/UniGLTF_UniUnlit.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System.Collections.Generic; - - -namespace UniGLTF.ShaderPropExporter -{ - public static partial class PreShaderPropExporter - { - [PreExportShader] - static KeyValuePair UniGLTF_UniUnlit - { - get - { - return new KeyValuePair( - "UniGLTF/UniUnlit", - new ShaderProps - { - Properties = new ShaderProperty[]{ -new ShaderProperty("_MainTex", ShaderPropertyType.TexEnv) -,new ShaderProperty("_Color", ShaderPropertyType.Color) -,new ShaderProperty("_Cutoff", ShaderPropertyType.Range) -,new ShaderProperty("_BlendMode", ShaderPropertyType.Float) -,new ShaderProperty("_CullMode", ShaderPropertyType.Float) -,new ShaderProperty("_VColBlendMode", ShaderPropertyType.Float) -,new ShaderProperty("_SrcBlend", ShaderPropertyType.Float) -,new ShaderProperty("_DstBlend", ShaderPropertyType.Float) -,new ShaderProperty("_ZWrite", ShaderPropertyType.Float) - - } - } - ); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/UniGLTF_UniUnlit.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/UniGLTF_UniUnlit.cs.meta deleted file mode 100644 index c1315f4..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/UniGLTF_UniUnlit.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: ad4b6b115b83ecd48a513f697afc95f0 -timeCreated: 1537860074 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Unlit_Color.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Unlit_Color.cs deleted file mode 100644 index 1ef6c3a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Unlit_Color.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System.Collections.Generic; - - -namespace UniGLTF.ShaderPropExporter -{ - public static partial class PreShaderPropExporter - { - [PreExportShader] - static KeyValuePair Unlit_Color - { - get - { - return new KeyValuePair( - "Unlit/Color", - new ShaderProps - { - Properties = new ShaderProperty[]{ -new ShaderProperty("_Color", ShaderPropertyType.Color) - - } - } - ); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Unlit_Color.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Unlit_Color.cs.meta deleted file mode 100644 index 4f97a3c..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Unlit_Color.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 4f91421c5846d5d48933d2ee4ffeeceb -timeCreated: 1535186213 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Unlit_Texture.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Unlit_Texture.cs deleted file mode 100644 index ed6f487..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Unlit_Texture.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System.Collections.Generic; - - -namespace UniGLTF.ShaderPropExporter -{ - public static partial class PreShaderPropExporter - { - [PreExportShader] - static KeyValuePair Unlit_Texture - { - get - { - return new KeyValuePair( - "Unlit/Texture", - new ShaderProps - { - Properties = new ShaderProperty[]{ -new ShaderProperty("_MainTex", ShaderPropertyType.TexEnv) - - } - } - ); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Unlit_Texture.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Unlit_Texture.cs.meta deleted file mode 100644 index 8332068..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Unlit_Texture.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 8273e1e61ad8e914baae94d06836f2ad -timeCreated: 1535186213 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Unlit_Transparent.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Unlit_Transparent.cs deleted file mode 100644 index cad3b4b..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Unlit_Transparent.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System.Collections.Generic; - - -namespace UniGLTF.ShaderPropExporter -{ - public static partial class PreShaderPropExporter - { - [PreExportShader] - static KeyValuePair Unlit_Transparent - { - get - { - return new KeyValuePair( - "Unlit/Transparent", - new ShaderProps - { - Properties = new ShaderProperty[]{ -new ShaderProperty("_MainTex", ShaderPropertyType.TexEnv) - - } - } - ); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Unlit_Transparent.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Unlit_Transparent.cs.meta deleted file mode 100644 index f64c655..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Unlit_Transparent.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: b98a8ee8ca13abb43809305cc4e5571a -timeCreated: 1535186213 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Unlit_Transparent_Cutout.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Unlit_Transparent_Cutout.cs deleted file mode 100644 index ebe366b..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Unlit_Transparent_Cutout.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System.Collections.Generic; - - -namespace UniGLTF.ShaderPropExporter -{ - public static partial class PreShaderPropExporter - { - [PreExportShader] - static KeyValuePair Unlit_Transparent_Cutout - { - get - { - return new KeyValuePair( - "Unlit/Transparent Cutout", - new ShaderProps - { - Properties = new ShaderProperty[]{ -new ShaderProperty("_MainTex", ShaderPropertyType.TexEnv) -,new ShaderProperty("_Cutoff", ShaderPropertyType.Range) - - } - } - ); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Unlit_Transparent_Cutout.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Unlit_Transparent_Cutout.cs.meta deleted file mode 100644 index 5ffeb3f..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/PreExportShaderProps/Unlit_Transparent_Cutout.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 844490f13976543478d82efe28251941 -timeCreated: 1535186301 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/UniGLTFException.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/UniGLTFException.cs deleted file mode 100644 index fde2faa..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/UniGLTFException.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; - - -namespace UniGLTF -{ - public class UniGLTFException : Exception - { - public UniGLTFException(string fmt, params object[] args) : this(string.Format(fmt, args)) { } - public UniGLTFException(string msg) : base(msg) { } - } - - public class UniGLTFNotSupportedException : UniGLTFException - { - public UniGLTFNotSupportedException(string fmt, params object[] args) : this(string.Format(fmt, args)) { } - public UniGLTFNotSupportedException(string msg) : base(msg) { } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/UniGLTFException.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/UniGLTFException.cs.meta deleted file mode 100644 index 2e76c7b..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/UniGLTFException.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 34c865b003bc1f44abcdb95dc99979cf -timeCreated: 1520500184 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/UniGLTFVersion.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/UniGLTFVersion.cs deleted file mode 100644 index 6cc5770..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/UniGLTFVersion.cs +++ /dev/null @@ -1,11 +0,0 @@ - -namespace UniGLTF -{ - public static partial class UniGLTFVersion - { - public const int MAJOR = 1; - public const int MINOR = 28; - - public const string VERSION = "1.28"; - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/UniGLTFVersion.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/UniGLTFVersion.cs.meta deleted file mode 100644 index edbe6d4..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/UniGLTFVersion.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: caf06572635c12c4cb85d6ee09ab8f5e -timeCreated: 1524584066 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/UniGLTFVersion_partial.cs b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/UniGLTFVersion_partial.cs deleted file mode 100644 index aff790d..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/UniGLTFVersion_partial.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace UniGLTF -{ - public static partial class UniGLTFVersion - { - public const string UNIGLTF_VERSION = "UniGLTF-" + VERSION; - public const string MENU = "VRM/" + UNIGLTF_VERSION; - } -} \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/UniGLTFVersion_partial.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/UniGLTFVersion_partial.cs.meta deleted file mode 100644 index 448a601..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniGLTF/Scripts/UniGLTFVersion_partial.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 40d707af2901e3f4781e20d8326723e8 -timeCreated: 1524584066 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid.meta deleted file mode 100644 index e822f97..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: daffb63ca45cb6b479928e2b3f729c99 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor.meta deleted file mode 100644 index e958493..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 3981de627f2bba340ad8079bb2fd0d8d -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/BoneMappingEditor.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/BoneMappingEditor.cs deleted file mode 100644 index 95f0db8..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/BoneMappingEditor.cs +++ /dev/null @@ -1,419 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using System.IO; -using UnityEditor; -using UnityEngine; - - -namespace UniHumanoid -{ - [CustomEditor(typeof(BoneMapping))] - public class BoneMappingEditor : Editor - { - BoneMapping m_target; - - void OnEnable() - { - m_target = (BoneMapping)target; - - var animator = m_target.GetComponent(); - if (animator != null) - { - m_bones = EachBoneDefs.Select(x => new Bone( -animator.GetBoneTransform(x.Head), animator.GetBoneTransform(x.Tail))) -.Where(x => x.Head != null && x.Tail != null) -.ToArray(); - } - } - - static GameObject ObjectField(GameObject obj) - { - return (GameObject)EditorGUILayout.ObjectField(obj, typeof(GameObject), true); - } - - static GameObject ObjectField(string label, GameObject obj) - { - return (GameObject)EditorGUILayout.ObjectField(label, obj, typeof(GameObject), true); - } - - const int LABEL_WIDTH = 100; - - static void BoneField(HumanBodyBones bone, GameObject[] bones) - { - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField(bone.ToString(), GUILayout.Width(LABEL_WIDTH)); - bones[(int)bone] = ObjectField(bones[(int)bone]); - EditorGUILayout.EndHorizontal(); - } - - static void BoneField(HumanBodyBones left, HumanBodyBones right, GameObject[] bones) - { - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField(left.ToString().Substring(4), GUILayout.Width(LABEL_WIDTH)); // skip left - bones[(int)left] = ObjectField(bones[(int)left]); - bones[(int)right] = ObjectField(bones[(int)right]); - EditorGUILayout.EndHorizontal(); - } - - bool m_handFoldout; - bool m_settingsFoldout; - - public override void OnInspectorGUI() - { - var bones = m_target.Bones; - if (bones == null) - { - return; - } - - BoneField(HumanBodyBones.Hips, bones); - - if (bones[(int)HumanBodyBones.Hips] == null) - { - EditorGUILayout.HelpBox(@"First, you set hips", MessageType.Warning); - } - else - { - if (GUILayout.Button("Guess bone mapping")) - { - m_target.GuessBoneMapping(); - } - EditorGUILayout.HelpBox(@"Guess bones from hips", MessageType.Info); - - if (GUILayout.Button("Ensure T-Pose")) - { - m_target.EnsureTPose(); - } - EditorGUILayout.HelpBox(@"Arms to Horizontal", MessageType.Info); - - if (GUILayout.Button("Create avatar")) - { - var description = AvatarDescription.Create(m_target.Description); - BoneMapping.SetBonesToDescription(m_target, description); - var avatar = description.CreateAvatarAndSetup(m_target.transform); - if (avatar != null) - { - avatar.name = "avatar"; -#if UNITY_2018_2_OR_NEWER - var prefabRoot = PrefabUtility.GetCorrespondingObjectFromSource(m_target.gameObject); -#else - var prefabRoot = PrefabUtility.GetPrefabParent(m_target.gameObject); -#endif - var prefabPath = AssetDatabase.GetAssetPath(prefabRoot); - - var path = (string.IsNullOrEmpty(prefabPath)) - ? string.Format("Assets/{0}.asset", avatar.name) - : string.Format("{0}/{1}.asset", Path.GetDirectoryName(prefabPath), Path.GetFileNameWithoutExtension(prefabPath)) - ; - path = EditorUtility.SaveFilePanel( - "Save avatar", - Path.GetDirectoryName(path), - string.Format("{0}.avatar.asset", serializedObject.targetObject.name), - "asset"); - var assetPath = HumanPoseTransferEditor.ToAssetPath(path); - if (!string.IsNullOrEmpty(assetPath)) - { - AssetDatabase.CreateAsset(description, assetPath); // overwrite - AssetDatabase.AddObjectToAsset(avatar, assetPath); - - Debug.LogFormat("Create avatar {0}", path); - AssetDatabase.ImportAsset(assetPath); - Selection.activeObject = avatar; - } - else - { - Debug.LogWarning("fail to CreateAvatar"); - } - } - } - EditorGUILayout.HelpBox(@"before create, - -1. Model root transform should reset(origin without rotation) -2. Model forward to Z+(rotate child of model root) -3. Required bones filled -", MessageType.Info); - } - - /* - m_settingsFoldout = EditorGUILayout.Foldout(m_settingsFoldout, "AvatarSettings"); - if (m_settingsFoldout) - { - EditorGUILayout.FloatField("armStretch", m_target.armStretch); - EditorGUILayout.FloatField("legStretch", m_target.legStretch); - EditorGUILayout.FloatField("upperArmTwist", m_target.upperArmTwist); - EditorGUILayout.FloatField("lowerArmTwist", m_target.lowerArmTwist); - EditorGUILayout.FloatField("upperLegTwist", m_target.upperLegTwist); - EditorGUILayout.FloatField("lowerLegTwist", m_target.lowerLegTwist); - EditorGUILayout.FloatField("feetSpacing", m_target.feetSpacing); - EditorGUILayout.Toggle("hasTranslationDoF", m_target.hasTranslationDoF); - //public BoneLimit[] human; - } - */ - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("Arm", EditorStyles.boldLabel, GUILayout.Width(LABEL_WIDTH)); - EditorGUILayout.LabelField("Left", EditorStyles.boldLabel, GUILayout.Width(40)); - EditorGUILayout.Space(); - EditorGUILayout.LabelField("Right", EditorStyles.boldLabel, GUILayout.Width(40)); - EditorGUILayout.EndHorizontal(); - BoneField(HumanBodyBones.LeftShoulder, HumanBodyBones.RightShoulder, bones); - BoneField(HumanBodyBones.LeftUpperArm, HumanBodyBones.RightUpperArm, bones); - BoneField(HumanBodyBones.LeftLowerArm, HumanBodyBones.RightLowerArm, bones); - BoneField(HumanBodyBones.LeftHand, HumanBodyBones.RightHand, bones); - - EditorGUILayout.LabelField("Body and Head", EditorStyles.boldLabel); - BoneField(HumanBodyBones.Spine, bones); - BoneField(HumanBodyBones.Chest, bones); -#if UNITY_5_6_OR_NEWER - BoneField(HumanBodyBones.UpperChest, bones); -#endif - BoneField(HumanBodyBones.Neck, bones); - BoneField(HumanBodyBones.Head, bones); - BoneField(HumanBodyBones.Jaw, bones); - BoneField(HumanBodyBones.LeftEye, HumanBodyBones.RightEye, bones); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("Leg", EditorStyles.boldLabel, GUILayout.Width(LABEL_WIDTH)); - EditorGUILayout.LabelField("Left", EditorStyles.boldLabel, GUILayout.Width(40)); - EditorGUILayout.Space(); - EditorGUILayout.LabelField("Right", EditorStyles.boldLabel, GUILayout.Width(40)); - EditorGUILayout.EndHorizontal(); - BoneField(HumanBodyBones.LeftUpperLeg, HumanBodyBones.RightUpperLeg, bones); - BoneField(HumanBodyBones.LeftLowerLeg, HumanBodyBones.RightLowerLeg, bones); - BoneField(HumanBodyBones.LeftFoot, HumanBodyBones.RightFoot, bones); - BoneField(HumanBodyBones.LeftToes, HumanBodyBones.RightToes, bones); - - m_handFoldout = EditorGUILayout.Foldout(m_handFoldout, "Hand"); - if (m_handFoldout) - { - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("Thumb", EditorStyles.boldLabel, GUILayout.Width(LABEL_WIDTH)); - EditorGUILayout.LabelField("Left", EditorStyles.boldLabel, GUILayout.Width(40)); - EditorGUILayout.Space(); - EditorGUILayout.LabelField("Right", EditorStyles.boldLabel, GUILayout.Width(40)); - EditorGUILayout.EndHorizontal(); - BoneField(HumanBodyBones.LeftThumbProximal, HumanBodyBones.RightThumbProximal, bones); - BoneField(HumanBodyBones.LeftThumbIntermediate, HumanBodyBones.RightThumbIntermediate, bones); - BoneField(HumanBodyBones.LeftThumbDistal, HumanBodyBones.RightThumbDistal, bones); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("Index", EditorStyles.boldLabel, GUILayout.Width(LABEL_WIDTH)); - EditorGUILayout.LabelField("Left", EditorStyles.boldLabel, GUILayout.Width(40)); - EditorGUILayout.Space(); - EditorGUILayout.LabelField("Right", EditorStyles.boldLabel, GUILayout.Width(40)); - EditorGUILayout.EndHorizontal(); - BoneField(HumanBodyBones.LeftIndexProximal, HumanBodyBones.RightIndexProximal, bones); - BoneField(HumanBodyBones.LeftIndexIntermediate, HumanBodyBones.RightIndexIntermediate, bones); - BoneField(HumanBodyBones.LeftIndexDistal, HumanBodyBones.RightIndexDistal, bones); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("Middle", EditorStyles.boldLabel, GUILayout.Width(LABEL_WIDTH)); - EditorGUILayout.LabelField("Left", EditorStyles.boldLabel, GUILayout.Width(40)); - EditorGUILayout.Space(); - EditorGUILayout.LabelField("Right", EditorStyles.boldLabel, GUILayout.Width(40)); - EditorGUILayout.EndHorizontal(); - BoneField(HumanBodyBones.LeftMiddleProximal, HumanBodyBones.RightMiddleProximal, bones); - BoneField(HumanBodyBones.LeftMiddleIntermediate, HumanBodyBones.RightMiddleIntermediate, bones); - BoneField(HumanBodyBones.LeftMiddleDistal, HumanBodyBones.RightMiddleDistal, bones); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("Ring", EditorStyles.boldLabel, GUILayout.Width(LABEL_WIDTH)); - EditorGUILayout.LabelField("Left", EditorStyles.boldLabel, GUILayout.Width(40)); - EditorGUILayout.Space(); - EditorGUILayout.LabelField("Right", EditorStyles.boldLabel, GUILayout.Width(40)); - EditorGUILayout.EndHorizontal(); - BoneField(HumanBodyBones.LeftRingProximal, HumanBodyBones.RightRingProximal, bones); - BoneField(HumanBodyBones.LeftRingIntermediate, HumanBodyBones.RightRingIntermediate, bones); - BoneField(HumanBodyBones.LeftRingDistal, HumanBodyBones.RightRingDistal, bones); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("Little", EditorStyles.boldLabel, GUILayout.Width(LABEL_WIDTH)); - EditorGUILayout.LabelField("Left", EditorStyles.boldLabel, GUILayout.Width(40)); - EditorGUILayout.Space(); - EditorGUILayout.LabelField("Right", EditorStyles.boldLabel, GUILayout.Width(40)); - EditorGUILayout.EndHorizontal(); - BoneField(HumanBodyBones.LeftLittleProximal, HumanBodyBones.RightLittleProximal, bones); - BoneField(HumanBodyBones.LeftLittleIntermediate, HumanBodyBones.RightLittleIntermediate, bones); - BoneField(HumanBodyBones.LeftLittleDistal, HumanBodyBones.RightLittleDistal, bones); - } - - EditorUtility.SetDirty(m_target); - } - - struct Bone - { - public Transform Head; - public Transform Tail; - - public Bone(Transform head, Transform tail) - { - Head = head; - Tail = tail; - } - - public void Draw() - { - Handles.DrawLine(Head.transform.position, Tail.transform.position); - } - } - - Bone[] m_bones; - - struct BoneDef - { - public HumanBodyBones Head; - public HumanBodyBones Tail; - - public BoneDef(HumanBodyBones head, HumanBodyBones tail) - { - Head = head; - Tail = tail; - } - } - static readonly HumanBodyBones[][] BoneDefs = - { - new HumanBodyBones[] - { - HumanBodyBones.Hips, - HumanBodyBones.Spine, - HumanBodyBones.Chest, - HumanBodyBones.Neck, - HumanBodyBones.Head, - }, - new HumanBodyBones[] - { - HumanBodyBones.Chest, - HumanBodyBones.LeftShoulder, - HumanBodyBones.LeftUpperArm, - HumanBodyBones.LeftLowerArm, - HumanBodyBones.LeftHand, - }, - new HumanBodyBones[] - { - HumanBodyBones.Chest, - HumanBodyBones.RightShoulder, - HumanBodyBones.RightUpperArm, - HumanBodyBones.RightLowerArm, - HumanBodyBones.RightHand, - }, - - new HumanBodyBones[] - { - HumanBodyBones.LeftThumbProximal, - HumanBodyBones.LeftThumbIntermediate, - HumanBodyBones.LeftThumbDistal, - }, - new HumanBodyBones[] - { - HumanBodyBones.LeftIndexProximal, - HumanBodyBones.LeftIndexIntermediate, - HumanBodyBones.LeftIndexDistal, - }, - new HumanBodyBones[] - { - HumanBodyBones.LeftMiddleProximal, - HumanBodyBones.LeftMiddleIntermediate, - HumanBodyBones.LeftMiddleDistal, - }, - new HumanBodyBones[] - { - HumanBodyBones.LeftRingProximal, - HumanBodyBones.LeftRingIntermediate, - HumanBodyBones.LeftRingDistal, - }, - new HumanBodyBones[] - { - HumanBodyBones.LeftLittleProximal, - HumanBodyBones.LeftLittleIntermediate, - HumanBodyBones.LeftLittleDistal, - }, - - new HumanBodyBones[] - { - HumanBodyBones.RightThumbProximal, - HumanBodyBones.RightThumbIntermediate, - HumanBodyBones.RightThumbDistal, - }, - new HumanBodyBones[] - { - HumanBodyBones.RightIndexProximal, - HumanBodyBones.RightIndexIntermediate, - HumanBodyBones.RightIndexDistal, - }, - new HumanBodyBones[] - { - HumanBodyBones.RightMiddleProximal, - HumanBodyBones.RightMiddleIntermediate, - HumanBodyBones.RightMiddleDistal, - }, - new HumanBodyBones[] - { - HumanBodyBones.RightRingProximal, - HumanBodyBones.RightRingIntermediate, - HumanBodyBones.RightRingDistal, - }, - new HumanBodyBones[] - { - HumanBodyBones.RightLittleProximal, - HumanBodyBones.RightLittleIntermediate, - HumanBodyBones.RightLittleDistal, - }, - - new HumanBodyBones[] - { - HumanBodyBones.LeftUpperLeg, - HumanBodyBones.LeftLowerLeg, - HumanBodyBones.LeftFoot, - }, - - new HumanBodyBones[] - { - HumanBodyBones.RightUpperLeg, - HumanBodyBones.RightLowerLeg, - HumanBodyBones.RightFoot, - }, - }; - static IEnumerable EachBoneDefs - { - get - { - foreach (var x in BoneDefs) - { - var count = x.Length - 1; - for (int i = 0; i < count; ++i) - { - yield return new BoneDef(x[i], x[i + 1]); - } - } - } - } - - void DrawBone(HumanBodyBones bone, GameObject go) - { - if (go == null) - { - return; - } - - Handles.Label(go.transform.position, - go.name + "\n(" + bone.ToString() + ")"); - } - - private void OnSceneGUI() - { - var bones = m_target.Bones; - if (bones != null) - { - for (int i = 0; i < bones.Length; ++i) - { - DrawBone((HumanBodyBones)i, bones[i]); - } - foreach(var x in m_bones) - { - x.Draw(); - } - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/BoneMappingEditor.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/BoneMappingEditor.cs.meta deleted file mode 100644 index d6a1c6d..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/BoneMappingEditor.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 06b3418a97f8c204da34a849fa86a7c0 -timeCreated: 1516520481 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/HumanPoseTransferEditor.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/HumanPoseTransferEditor.cs deleted file mode 100644 index e4f5705..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/HumanPoseTransferEditor.cs +++ /dev/null @@ -1,151 +0,0 @@ -using System; -using System.IO; -using System.Linq; -using UnityEditor; -using UnityEngine; - - -namespace UniHumanoid -{ - [CustomEditor(typeof(HumanPoseTransfer))] - public class HumanPoseTransferEditor : Editor - { - //HumanPoseTransfer m_target; - SerializedProperty m_avatarProp; - SerializedProperty m_typeProp; - SerializedProperty m_clipProp; - SerializedProperty m_transferProp; - - static string[] SOURCE_TYPES = ((HumanPoseTransfer.HumanPoseTransferSourceType[]) - Enum.GetValues(typeof(HumanPoseTransfer.HumanPoseTransferSourceType))) - .Select(x => x.ToString()) - .ToArray(); - - private void OnEnable() - { - //m_target = (HumanPoseTransfer)target; - m_typeProp = serializedObject.FindProperty("SourceType"); - m_clipProp = serializedObject.FindProperty("PoseClip"); - m_avatarProp = serializedObject.FindProperty("Avatar"); - m_transferProp = serializedObject.FindProperty("Source"); - } - - public override void OnInspectorGUI() - { - //base.OnInspectorGUI(); - serializedObject.Update(); - - EditorGUILayout.PropertyField(m_avatarProp); - - /* - m_typeProp.intValue = - GUILayout.Toolbar(m_typeProp.intValue, SOURCE_TYPES); - */ - m_typeProp.intValue = - EditorGUILayout.Popup("SourceType", m_typeProp.intValue, SOURCE_TYPES); - - switch ((HumanPoseTransfer.HumanPoseTransferSourceType)m_typeProp.intValue) - { - case HumanPoseTransfer.HumanPoseTransferSourceType.None: - serializedObject.ApplyModifiedProperties(); - break; - - case HumanPoseTransfer.HumanPoseTransferSourceType.HumanPoseClip: - PoseClipInspector(); - break; - - case HumanPoseTransfer.HumanPoseTransferSourceType.HumanPoseTransfer: - PoseHandler(); - break; - } - GUILayout.Space(20); - - // CreatePose - if (GUILayout.Button("Pose to HumanPoseClip")) - { - var path = EditorUtility.SaveFilePanel( - "Save humanpose", - Application.dataPath, - string.Format("{0}.pose.asset", serializedObject.targetObject.name), - "asset"); - var assetPath = ToAssetPath(path); - if (!string.IsNullOrEmpty(path)) - { - var pose = ((HumanPoseTransfer)serializedObject.targetObject).CreatePose(); - - var clip = ScriptableObject.CreateInstance(); - clip.ApplyPose(ref pose); - - AssetDatabase.CreateAsset(clip, assetPath); - Selection.activeObject = clip; - } - } - - // CreatePose - if (GUILayout.Button("Pose to AnimationClip")) - { - var path = EditorUtility.SaveFilePanel( - "Save animnationClip", - Application.dataPath, - string.Format("{0}.pose.anim", serializedObject.targetObject.name), - "anim"); - var assetPath = ToAssetPath(path); - if (!string.IsNullOrEmpty(path)) - { - var pose = ((HumanPoseTransfer)serializedObject.targetObject).CreatePose(); - var clip = AnimationClipUtility.CreateAnimationClipFromHumanPose(pose); - AssetDatabase.CreateAsset(clip, assetPath); - Selection.activeObject = clip; - } - } - } - - public static string ToAssetPath(string src) - { - src = src.Replace("\\", "/"); - var basePath = Path.GetFullPath(Application.dataPath + "/..").Replace("\\", "/"); - if (!src.StartsWith(basePath)) - { - return null; - } - return src.Substring(basePath.Length + 1); - } - - void PoseClipInspector() - { - var old = (HumanPoseClip)m_clipProp.objectReferenceValue; - EditorGUILayout.PropertyField(m_clipProp); - serializedObject.ApplyModifiedProperties(); - - var _target = (HumanPoseTransfer)target; - if (_target.PoseClip != old) - { - //Debug.Log("clip != old"); - if (_target.PoseClip != null) - { - var pose = _target.PoseClip.GetPose(); - _target.SetPose(pose); - } - } - -#if false - if (_target.PoseClip != null) - { - if (GUILayout.Button("Apply PoseClip")) - { - Debug.Log("apply"); - var pose = default(HumanPose); - _target.PoseClip.GetPose(out pose); - _target.SetPose(pose); - } - } -#endif - } - - void PoseHandler() - { - EditorGUILayout.PropertyField(m_transferProp); - serializedObject.ApplyModifiedProperties(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/HumanPoseTransferEditor.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/HumanPoseTransferEditor.cs.meta deleted file mode 100644 index 0e20605..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/HumanPoseTransferEditor.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: d51cc8ca343beb647bc6d8e23600dd66 -timeCreated: 1519366120 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/MuscleInspectorEditor.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/MuscleInspectorEditor.cs deleted file mode 100644 index c48010c..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/MuscleInspectorEditor.cs +++ /dev/null @@ -1,352 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using UnityEditor; -using UnityEditor.IMGUI.Controls; -using UnityEngine; - - -namespace UniHumanoid -{ - class BoneNode : IEnumerable - { - public HumanBodyBones Bone { get; private set; } - - public List Children = new List(); - - public int[] Muscles; - - public BoneNode(HumanBodyBones bone, params int[] muscles) - { - Bone = bone; - Muscles = muscles; - } - - public IEnumerator GetEnumerator() - { - throw new NotImplementedException(); - } - - IEnumerator IEnumerable.GetEnumerator() - { - throw new NotImplementedException(); - } - - public void Add(BoneNode child) - { - Children.Add(child); - } - } - - class BoneTreeViewItem : TreeViewItem - { - //HumanBodyBones m_bone; - - public BoneTreeViewItem(int id, int depth, HumanBodyBones bone) : base(id, depth, bone.ToString()) - { - //m_bone = bone; - } - } - - class MuscleTreeViewItem : TreeViewItem - { - public int Muscle - { - get; - private set; - } - - public MuscleTreeViewItem(int id, int depth, int muscle) : base(id, depth, HumanTrait.MuscleName[muscle]) - { - Muscle = muscle; - } - } - - class BoneTreeView : TreeView - { - static BoneNode Skeleton = new BoneNode(HumanBodyBones.Hips) - { - new BoneNode(HumanBodyBones.Spine, 0, 1, 2){ - new BoneNode(HumanBodyBones.Chest, 3, 4, 5){ - new BoneNode(HumanBodyBones.UpperChest, 6, 7, 8){ - new BoneNode(HumanBodyBones.Neck, 9, 10, 11){ - new BoneNode(HumanBodyBones.Head, 12, 13, 14){ - new BoneNode(HumanBodyBones.LeftEye, 15, 16), - new BoneNode(HumanBodyBones.RightEye, 17, 18) - } - }, - new BoneNode(HumanBodyBones.LeftShoulder, 37, 38){ - new BoneNode(HumanBodyBones.LeftUpperArm, 39, 40, 41){ - new BoneNode(HumanBodyBones.LeftLowerArm, 42, 43){ - new BoneNode(HumanBodyBones.LeftHand, 44, 45) - } - } - }, - new BoneNode(HumanBodyBones.RightShoulder, 46, 47){ - new BoneNode(HumanBodyBones.RightUpperArm, 48, 49, 50){ - new BoneNode(HumanBodyBones.RightLowerArm, 51, 52){ - new BoneNode(HumanBodyBones.RightHand, 53, 54) - } - } - } - } - } - }, - new BoneNode(HumanBodyBones.LeftUpperLeg, 21, 22, 23){ - new BoneNode(HumanBodyBones.LeftLowerLeg, 24, 25){ - new BoneNode(HumanBodyBones.LeftFoot, 26, 27){ - new BoneNode(HumanBodyBones.LeftToes, 28) - } - } - }, - new BoneNode(HumanBodyBones.RightUpperLeg, 29, 30, 31){ - new BoneNode(HumanBodyBones.RightLowerLeg, 32, 33){ - new BoneNode(HumanBodyBones.RightFoot, 34, 35){ - new BoneNode(HumanBodyBones.RightToes, 36) - } - } - } - }; - - //Animator m_animator; - HumanPoseHandler m_handler; - HumanPose m_pose; - - bool m_updated; - - public void Begin() - { - m_handler.GetHumanPose(ref m_pose); - } - - public void End() - { - if (m_updated) - { - m_handler.SetHumanPose(ref m_pose); - } - m_updated = false; - } - - public BoneTreeView(TreeViewState treeViewState, MultiColumnHeader header, HumanPoseHandler handler) - : base(treeViewState, header) - { - m_handler = handler; - Reload(); - } - - protected override TreeViewItem BuildRoot() - { - return new TreeViewItem { id = 0, depth = -1 }; - } - - protected override IList BuildRows(TreeViewItem root) - { - var rows = GetRows() ?? new List(200); - - // We use the GameObject instanceIDs as ids for items as we want to - // select the game objects and not the transform components. - rows.Clear(); - - var item = CreateTreeViewItemForBone(HumanBodyBones.Hips); - root.AddChild(item); - rows.Add(item); - - if (IsExpanded(item.id)) - { - AddChildrenRecursive(Skeleton, item, rows); - } - else - { - item.children = CreateChildListForCollapsedParent(); - } - - SetupDepthsFromParentsAndChildren(root); - - return rows; - } - - void AddChildrenRecursive(BoneNode bone, TreeViewItem item, IList rows) - { - int childCount = bone.Children.Count; - item.children = new List(childCount); - if (bone.Muscles != null) - { - foreach (var muscle in bone.Muscles) - { - var childItem = new MuscleTreeViewItem(muscle + 20000, -1, muscle); - item.AddChild(childItem); - rows.Add(childItem); - } - } - - foreach (var child in bone.Children) - { - var childItem = CreateTreeViewItemForBone(child.Bone); - item.AddChild(childItem); - rows.Add(childItem); - - //if (child.Children.Count > 0) - { - if (IsExpanded(childItem.id)) - { - AddChildrenRecursive(child, childItem, rows); - } - else - { - childItem.children = CreateChildListForCollapsedParent(); - } - } - } - } - - static TreeViewItem CreateTreeViewItemForBone(HumanBodyBones bone) - { - return new TreeViewItem((int)bone, -1, Enum.GetName(typeof(HumanBodyBones), bone)); - } - - protected override void RowGUI(RowGUIArgs args) - { - for (int i = 0; i < args.GetNumVisibleColumns(); ++i) - { - CellGUI(args.GetCellRect(i), args.GetColumn(i), ref args); - } - } - - void CellGUI(Rect cellRect, int index, ref RowGUIArgs args) - { - // Center cell rect vertically (makes it easier to place controls, icons etc in the cells) - CenterRectUsingSingleLineHeight(ref cellRect); - - switch (index) - { - case 0: - { - // Default icon and label - args.rowRect = cellRect; - base.RowGUI(args); - } - break; - - case 1: - { - var muscleItem = args.item as MuscleTreeViewItem; - if (muscleItem != null) - { - var muscleIndex = muscleItem.Muscle; - var muscles = m_pose.muscles; - var value = EditorGUI.Slider(cellRect, GUIContent.none, muscles[muscleIndex], -1f, 1f); - if (value != muscles[muscleIndex]) - { - muscles[muscleIndex] = value; - m_updated = true; - } - } - else - { - - } - } - break; - } - } - - public static MultiColumnHeaderState CreateDefaultMultiColumnHeaderState() - { - var columns = new[] - { - new MultiColumnHeaderState.Column - { - headerContent = new GUIContent("Name"), - headerTextAlignment = TextAlignment.Left, - width = 250, - minWidth = 60, - autoResize = false, - allowToggleVisibility = false - }, - new MultiColumnHeaderState.Column - { - headerContent = new GUIContent("Muscle value"), - headerTextAlignment = TextAlignment.Left, - width = 110, - minWidth = 60, - autoResize = true - }, - }; - return new MultiColumnHeaderState(columns); - } - } - - - [CustomEditor(typeof(MuscleInspector))] - public class MuscleInspectorEditor : Editor - { - [NonSerialized] bool m_Initialized; - [SerializeField] TreeViewState m_TreeViewState; // Serialized in the window layout file so it survives assembly reloading - //[SerializeField] MultiColumnHeaderState m_MultiColumnHeaderState; - SearchField m_SearchField; - BoneTreeView m_TreeView; - - MuscleInspector m_target; - HumanPoseHandler m_handler; - - - MultiColumnHeader GetHeaderState() - { - //bool firstInit = m_MultiColumnHeaderState == null; - - var headerState = BoneTreeView.CreateDefaultMultiColumnHeaderState(); - /* - if (MultiColumnHeaderState.CanOverwriteSerializedFields(m_MultiColumnHeaderState, headerState)) - { - MultiColumnHeaderState.OverwriteSerializedFields(m_MultiColumnHeaderState, headerState); - } - m_MultiColumnHeaderState = headerState; - */ - var multiColumnHeader = new MultiColumnHeader(headerState); - multiColumnHeader.ResizeToFit(); - return multiColumnHeader; - } - - void OnEnable() - { - var mi = this.target as MuscleInspector; - var animator = mi.GetComponent(); - if (animator != null - && animator.avatar != null - && animator.avatar.isValid - && animator.avatar.isHuman - ) - { - Debug.LogFormat("MuscleInspectorEditor.OnEnable"); - m_handler = new HumanPoseHandler(animator.avatar, animator.transform); - - m_TreeView = new BoneTreeView(new TreeViewState(), GetHeaderState(), m_handler); - } - } - - void OnDisable() - { - if (m_handler != null) - { - m_handler.Dispose(); - m_handler = null; - } - } - - public override void OnInspectorGUI() - { - if (m_TreeView == null) - { - EditorGUILayout.HelpBox("Animator required", MessageType.Error); - return; - } - - var rect = GUILayoutUtility.GetRect(0, 10000, 0, m_TreeView.totalHeight); - m_TreeView.Begin(); - m_TreeView.OnGUI(rect); - m_TreeView.End(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/MuscleInspectorEditor.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/MuscleInspectorEditor.cs.meta deleted file mode 100644 index 101761b..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/MuscleInspectorEditor.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 0d2c3401d1adf41488c19ec4d47386a0 -timeCreated: 1541840728 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/Tests.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/Tests.meta deleted file mode 100644 index 3842103..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/Tests.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f4b8b55d62330514584cd3a7ad7f126e -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/Tests/BvhLoaderTests.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/Tests/BvhLoaderTests.cs deleted file mode 100644 index 80a6171..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/Tests/BvhLoaderTests.cs +++ /dev/null @@ -1,1360 +0,0 @@ -using NUnit.Framework; -using UnityEngine; - - -namespace UniHumanoid -{ -#if UNITY_5_6_OR_NEWER - public class BvhLoaderTests - { - #region LOUICE - /// - /// https://github.com/wspr/bvh-matlab/blob/master/louise.bvh - /// - const string bvh_louise = @"HIERARCHY -ROOT Hips -{ - OFFSET 0.000000 0.000000 0.000000 - CHANNELS 6 Xposition Yposition Zposition Zrotation Xrotation Yrotation - JOINT Chest - { - OFFSET -0.000000 30.833075 -0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT Neck - { - OFFSET -0.000000 23.115997 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT Head - { - OFFSET -0.000000 10.266666 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET -0.000000 15.866669 0.000000 - } - } - } - JOINT LeftCollar - { - OFFSET -0.000000 23.115997 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT LeftShoulder - { - OFFSET 18.666668 -0.000000 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT LeftElbow - { - OFFSET 25.298601 0.000000 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT LeftWrist - { - OFFSET 27.056377 0.000000 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET 0.000000 -14.000002 0.000000 - } - } - } - } - } - JOINT RightCollar - { - OFFSET -0.000000 23.115997 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT RightShoulder - { - OFFSET -18.666668 0.000000 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT RightElbow - { - OFFSET -25.298601 0.000000 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT RightWrist - { - OFFSET -27.056377 0.000000 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET -0.000000 -14.000002 0.000000 - } - } - } - } - } - } - JOINT LeftHip - { - OFFSET 11.200000 0.000000 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT LeftKnee - { - OFFSET -0.000000 -43.871983 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT LeftAnkle - { - OFFSET -0.000000 -44.488350 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET -0.000000 -4.666667 15.866669 - } - } - } - } - JOINT RightHip - { - OFFSET -11.200000 0.000000 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT RightKnee - { - OFFSET -0.000000 -43.871983 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT RightAnkle - { - OFFSET -0.000000 -44.488350 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET -0.000000 -4.666667 15.866669 - } - } - } - } -} -"; - - [Test] - public void GuessBoneMapping_louise() - { - var bvh = Bvh.Parse(bvh_louise); - var detector = new BvhSkeletonEstimator(); - var skeleton = detector.Detect(bvh); - - Assert.AreEqual(0, skeleton.GetBoneIndex(HumanBodyBones.Hips)); - - Assert.AreEqual("Hips", skeleton.GetBoneName(HumanBodyBones.Hips)); - Assert.AreEqual("Chest", skeleton.GetBoneName(HumanBodyBones.Spine)); - Assert.IsNull(skeleton.GetBoneName(HumanBodyBones.Chest)); - Assert.AreEqual("Neck", skeleton.GetBoneName(HumanBodyBones.Neck)); - Assert.AreEqual("Head", skeleton.GetBoneName(HumanBodyBones.Head)); - - Assert.AreEqual("LeftCollar", skeleton.GetBoneName(HumanBodyBones.LeftShoulder)); - Assert.AreEqual("LeftShoulder", skeleton.GetBoneName(HumanBodyBones.LeftUpperArm)); - Assert.AreEqual("LeftElbow", skeleton.GetBoneName(HumanBodyBones.LeftLowerArm)); - Assert.AreEqual("LeftWrist", skeleton.GetBoneName(HumanBodyBones.LeftHand)); - - Assert.AreEqual("RightCollar", skeleton.GetBoneName(HumanBodyBones.RightShoulder)); - Assert.AreEqual("RightShoulder", skeleton.GetBoneName(HumanBodyBones.RightUpperArm)); - Assert.AreEqual("RightElbow", skeleton.GetBoneName(HumanBodyBones.RightLowerArm)); - Assert.AreEqual("RightWrist", skeleton.GetBoneName(HumanBodyBones.RightHand)); - - Assert.AreEqual("LeftHip", skeleton.GetBoneName(HumanBodyBones.LeftUpperLeg)); - Assert.AreEqual("LeftKnee", skeleton.GetBoneName(HumanBodyBones.LeftLowerLeg)); - Assert.AreEqual("LeftAnkle", skeleton.GetBoneName(HumanBodyBones.LeftFoot)); - Assert.IsNull(skeleton.GetBoneName(HumanBodyBones.LeftToes)); - - Assert.AreEqual("RightHip", skeleton.GetBoneName(HumanBodyBones.RightUpperLeg)); - Assert.AreEqual("RightKnee", skeleton.GetBoneName(HumanBodyBones.RightLowerLeg)); - Assert.AreEqual("RightAnkle", skeleton.GetBoneName(HumanBodyBones.RightFoot)); - Assert.IsNull(skeleton.GetBoneName(HumanBodyBones.RightToes)); - } - #endregion - - #region cgspeed - /// - /// https://sites.google.com/a/cgspeed.com/cgspeed/motion-capture - /// - const string bvh_cgspeed = @"HIERARCHY -ROOT Hips -{ - OFFSET 0.00000 0.00000 0.00000 - CHANNELS 6 Xposition Yposition Zposition Zrotation Yrotation Xrotation - JOINT LHipJoint - { - OFFSET 0 0 0 - CHANNELS 3 Zrotation Yrotation Xrotation - JOINT LeftUpLeg - { - OFFSET 1.64549 -1.70879 0.84566 - CHANNELS 3 Zrotation Yrotation Xrotation - JOINT LeftLeg - { - OFFSET 2.24963 -6.18082 0.00000 - CHANNELS 3 Zrotation Yrotation Xrotation - JOINT LeftFoot - { - OFFSET 2.71775 -7.46697 0.00000 - CHANNELS 3 Zrotation Yrotation Xrotation - JOINT LeftToeBase - { - OFFSET 0.18768 -0.51564 2.24737 - CHANNELS 3 Zrotation Yrotation Xrotation - End Site - { - OFFSET 0.00000 -0.00000 1.15935 - } - } - } - } - } - } - JOINT RHipJoint - { - OFFSET 0 0 0 - CHANNELS 3 Zrotation Yrotation Xrotation - JOINT RightUpLeg - { - OFFSET -1.58830 -1.70879 0.84566 - CHANNELS 3 Zrotation Yrotation Xrotation - JOINT RightLeg - { - OFFSET -2.25006 -6.18201 0.00000 - CHANNELS 3 Zrotation Yrotation Xrotation - JOINT RightFoot - { - OFFSET -2.72829 -7.49593 0.00000 - CHANNELS 3 Zrotation Yrotation Xrotation - JOINT RightToeBase - { - OFFSET -0.21541 -0.59185 2.10643 - CHANNELS 3 Zrotation Yrotation Xrotation - End Site - { - OFFSET -0.00000 -0.00000 1.09838 - } - } - } - } - } - } - JOINT LowerBack - { - OFFSET 0 0 0 - CHANNELS 3 Zrotation Yrotation Xrotation - JOINT Spine - { - OFFSET 0.03142 2.10496 -0.11038 - CHANNELS 3 Zrotation Yrotation Xrotation - JOINT Spine1 - { - OFFSET -0.01863 2.10897 -0.06956 - CHANNELS 3 Zrotation Yrotation Xrotation - JOINT Neck - { - OFFSET 0 0 0 - CHANNELS 3 Zrotation Yrotation Xrotation - JOINT Neck1 - { - OFFSET -0.02267 1.73238 0.00451 - CHANNELS 3 Zrotation Yrotation Xrotation - JOINT Head - { - OFFSET -0.05808 1.54724 -0.61749 - CHANNELS 3 Zrotation Yrotation Xrotation - End Site - { - OFFSET -0.01396 1.71468 -0.21082 - } - } - } - } - JOINT LeftShoulder - { - OFFSET 0 0 0 - CHANNELS 3 Zrotation Yrotation Xrotation - JOINT LeftArm - { - OFFSET 3.44898 0.50298 0.21920 - CHANNELS 3 Zrotation Yrotation Xrotation - JOINT LeftForeArm - { - OFFSET 5.41917 -0.00000 -0.00000 - CHANNELS 3 Zrotation Yrotation Xrotation - JOINT LeftHand - { - OFFSET 2.44373 -0.00000 0.00000 - CHANNELS 3 Zrotation Yrotation Xrotation - JOINT LeftFingerBase - { - OFFSET 0 0 0 - CHANNELS 3 Zrotation Yrotation Xrotation - JOINT LeftHandIndex1 - { - OFFSET 0.72750 -0.00000 0.00000 - CHANNELS 3 Zrotation Yrotation Xrotation - End Site - { - OFFSET 0.58653 -0.00000 0.00000 - } - } - } - JOINT LThumb - { - OFFSET 0 0 0 - CHANNELS 3 Zrotation Yrotation Xrotation - End Site - { - OFFSET 0.59549 -0.00000 0.59549 - } - } - } - } - } - } - JOINT RightShoulder - { - OFFSET 0 0 0 - CHANNELS 3 Zrotation Yrotation Xrotation - JOINT RightArm - { - OFFSET -3.23015 0.55830 0.31051 - CHANNELS 3 Zrotation Yrotation Xrotation - JOINT RightForeArm - { - OFFSET -5.58976 -0.00010 0.00014 - CHANNELS 3 Zrotation Yrotation Xrotation - JOINT RightHand - { - OFFSET -2.48060 -0.00000 0.00000 - CHANNELS 3 Zrotation Yrotation Xrotation - JOINT RightFingerBase - { - OFFSET 0 0 0 - CHANNELS 3 Zrotation Yrotation Xrotation - JOINT RightHandIndex1 - { - OFFSET -0.81601 -0.00000 0.00000 - CHANNELS 3 Zrotation Yrotation Xrotation - End Site - { - OFFSET -0.65789 -0.00000 0.00000 - } - } - } - JOINT RThumb - { - OFFSET 0 0 0 - CHANNELS 3 Zrotation Yrotation Xrotation - End Site - { - OFFSET -0.66793 -0.00000 0.66793 - } - } - } - } - } - } - } - } - } -}" -; - [Test] - public void GuessBoneMapping_cgspeed() - { - var bvh = Bvh.Parse(bvh_cgspeed); - var detector = new BvhSkeletonEstimator(); - var skeleton = detector.Detect(bvh); - - Assert.AreEqual(0, skeleton.GetBoneIndex(HumanBodyBones.Hips)); - - Assert.AreEqual("Hips", skeleton.GetBoneName(HumanBodyBones.Hips)); - Assert.AreEqual("LowerBack", skeleton.GetBoneName(HumanBodyBones.Spine)); - Assert.AreEqual("Spine", skeleton.GetBoneName(HumanBodyBones.Chest)); -#if UNITY_5_6_OR_NEWER - Assert.AreEqual("Spine1", skeleton.GetBoneName(HumanBodyBones.UpperChest)); -#endif - Assert.AreEqual("Neck", skeleton.GetBoneName(HumanBodyBones.Neck)); - Assert.AreEqual("Head", skeleton.GetBoneName(HumanBodyBones.Head)); - - Assert.AreEqual("LeftShoulder", skeleton.GetBoneName(HumanBodyBones.LeftShoulder)); - Assert.AreEqual("LeftArm", skeleton.GetBoneName(HumanBodyBones.LeftUpperArm)); - Assert.AreEqual("LeftForeArm", skeleton.GetBoneName(HumanBodyBones.LeftLowerArm)); - Assert.AreEqual("LeftHand", skeleton.GetBoneName(HumanBodyBones.LeftHand)); - - Assert.AreEqual("RightShoulder", skeleton.GetBoneName(HumanBodyBones.RightShoulder)); - Assert.AreEqual("RightArm", skeleton.GetBoneName(HumanBodyBones.RightUpperArm)); - Assert.AreEqual("RightForeArm", skeleton.GetBoneName(HumanBodyBones.RightLowerArm)); - Assert.AreEqual("RightHand", skeleton.GetBoneName(HumanBodyBones.RightHand)); - - Assert.AreEqual("LeftUpLeg", skeleton.GetBoneName(HumanBodyBones.LeftUpperLeg)); - Assert.AreEqual("LeftLeg", skeleton.GetBoneName(HumanBodyBones.LeftLowerLeg)); - Assert.AreEqual("LeftFoot", skeleton.GetBoneName(HumanBodyBones.LeftFoot)); - Assert.AreEqual("LeftToeBase", skeleton.GetBoneName(HumanBodyBones.LeftToes)); - - Assert.AreEqual("RightUpLeg", skeleton.GetBoneName(HumanBodyBones.RightUpperLeg)); - Assert.AreEqual("RightLeg", skeleton.GetBoneName(HumanBodyBones.RightLowerLeg)); - Assert.AreEqual("RightFoot", skeleton.GetBoneName(HumanBodyBones.RightFoot)); - Assert.AreEqual("RightToeBase", skeleton.GetBoneName(HumanBodyBones.RightToes)); - } - #endregion - - #region mocap - const string bvh_mocap = @"HIERARCHY -ROOT Hips -{ - OFFSET 0.000000 0.000000 0.000000 - CHANNELS 6 Xposition Yposition Zposition Zrotation Xrotation Yrotation - JOINT Spine - { - OFFSET -0.000000 7.509519 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT Spine1 - { - OFFSET -0.000000 18.393364 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT Neck - { - OFFSET -0.000000 20.224955 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT Head - { - OFFSET -0.000000 14.194822 1.831590 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET -0.000000 18.315899 0.000000 - } - } - } - JOINT LeftShoulder - { - OFFSET 3.663486 15.569419 -0.490481 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT LeftArm - { - OFFSET 14.246625 0.000000 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT LeftForeArm - { - OFFSET 25.567986 0.000000 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT LeftHand - { - OFFSET 29.965693 0.000000 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET 13.736924 0.000000 0.000000 - } - } - } - } - } - JOINT RightShoulder - { - OFFSET -3.661042 15.569419 -0.490481 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT RightArm - { - OFFSET -14.246625 0.000000 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT RightForeArm - { - OFFSET -25.567986 0.000000 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT RightHand - { - OFFSET -29.965693 0.000000 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET -13.736924 0.000000 0.000000 - } - } - } - } - } - } - } - JOINT LeftUpLeg - { - OFFSET 9.157949 0.000000 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT LeftLeg - { - OFFSET -0.000000 -40.189121 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT LeftFoot - { - OFFSET -0.000000 -39.816978 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT LeftToeBase - { - OFFSET -0.000000 -5.952667 13.736924 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET -0.000000 0.000000 3.663180 - } - } - } - } - } - JOINT RightUpLeg - { - OFFSET -9.157949 0.000000 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT RightLeg - { - OFFSET -0.000000 -40.189121 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT RightFoot - { - OFFSET -0.000000 -39.816978 0.000000 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT RightToeBase - { - OFFSET -0.000000 -5.952667 13.736924 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET -0.000000 0.000000 3.663180 - } - } - } - } - } -} -"; - - [Test] - public void GuessBoneMapping_mocap() - { - var bvh = Bvh.Parse(bvh_mocap); - var detector = new BvhSkeletonEstimator(); - var skeleton = detector.Detect(bvh); - - Assert.AreEqual(0, skeleton.GetBoneIndex(HumanBodyBones.Hips)); - - Assert.AreEqual("Hips", skeleton.GetBoneName(HumanBodyBones.Hips)); - Assert.AreEqual("Spine", skeleton.GetBoneName(HumanBodyBones.Spine)); - Assert.AreEqual("Spine1", skeleton.GetBoneName(HumanBodyBones.Chest)); - - Assert.AreEqual(null, skeleton.GetBoneName(HumanBodyBones.UpperChest)); - - Assert.AreEqual("Neck", skeleton.GetBoneName(HumanBodyBones.Neck)); - Assert.AreEqual("Head", skeleton.GetBoneName(HumanBodyBones.Head)); - - Assert.AreEqual("LeftShoulder", skeleton.GetBoneName(HumanBodyBones.LeftShoulder)); - Assert.AreEqual("LeftArm", skeleton.GetBoneName(HumanBodyBones.LeftUpperArm)); - Assert.AreEqual("LeftForeArm", skeleton.GetBoneName(HumanBodyBones.LeftLowerArm)); - Assert.AreEqual("LeftHand", skeleton.GetBoneName(HumanBodyBones.LeftHand)); - - Assert.AreEqual("RightShoulder", skeleton.GetBoneName(HumanBodyBones.RightShoulder)); - Assert.AreEqual("RightArm", skeleton.GetBoneName(HumanBodyBones.RightUpperArm)); - Assert.AreEqual("RightForeArm", skeleton.GetBoneName(HumanBodyBones.RightLowerArm)); - Assert.AreEqual("RightHand", skeleton.GetBoneName(HumanBodyBones.RightHand)); - - Assert.AreEqual("LeftUpLeg", skeleton.GetBoneName(HumanBodyBones.LeftUpperLeg)); - Assert.AreEqual("LeftLeg", skeleton.GetBoneName(HumanBodyBones.LeftLowerLeg)); - Assert.AreEqual("LeftFoot", skeleton.GetBoneName(HumanBodyBones.LeftFoot)); - Assert.AreEqual("LeftToeBase", skeleton.GetBoneName(HumanBodyBones.LeftToes)); - - Assert.AreEqual("RightUpLeg", skeleton.GetBoneName(HumanBodyBones.RightUpperLeg)); - Assert.AreEqual("RightLeg", skeleton.GetBoneName(HumanBodyBones.RightLowerLeg)); - Assert.AreEqual("RightFoot", skeleton.GetBoneName(HumanBodyBones.RightFoot)); - Assert.AreEqual("RightToeBase", skeleton.GetBoneName(HumanBodyBones.RightToes)); - } - #endregion - - #region mocap2 - const string bvh_mocap2 = @"HIERARCHY -ROOT Hips -{ - OFFSET 0.000000 0.000000 0.000000 - CHANNELS 6 Xposition Yposition Zposition Yrotation Xrotation Zrotation - JOINT Chest - { - OFFSET 0.000000 10.678932 0.006280 - CHANNELS 3 Yrotation Xrotation Zrotation - JOINT Chest2 - { - OFFSET 0.000000 10.491159 -0.011408 - CHANNELS 3 Yrotation Xrotation Zrotation - JOINT Chest3 - { - OFFSET 0.000000 9.479342 0.000000 - CHANNELS 3 Yrotation Xrotation Zrotation - JOINT Chest4 - { - OFFSET 0.000000 9.479342 0.000000 - CHANNELS 3 Yrotation Xrotation Zrotation - JOINT Neck - { - OFFSET 0.000000 13.535332 0.000000 - CHANNELS 3 Yrotation Xrotation Zrotation - JOINT Head - { - OFFSET 0.000000 8.819083 -0.027129 - CHANNELS 3 Yrotation Xrotation Zrotation - End Site - { - OFFSET 0.000000 16.966594 -0.014170 - } - } - } - JOINT RightCollar - { - OFFSET -3.012546 7.545150 0.000000 - CHANNELS 3 Yrotation Xrotation Zrotation - JOINT RightShoulder - { - OFFSET -13.683099 0.000000 0.000000 - CHANNELS 3 Yrotation Xrotation Zrotation - JOINT RightElbow - { - OFFSET -26.359998 0.000000 0.000000 - CHANNELS 3 Yrotation Xrotation Zrotation - JOINT RightWrist - { - OFFSET -21.746691 0.000000 0.008601 - CHANNELS 3 Yrotation Xrotation Zrotation - End Site - { - OFFSET -16.348058 0.000000 0.000000 - } - } - } - } - } - JOINT LeftCollar - { - OFFSET 3.012546 7.545150 0.000000 - CHANNELS 3 Yrotation Xrotation Zrotation - JOINT LeftShoulder - { - OFFSET 13.683099 0.000000 0.000000 - CHANNELS 3 Yrotation Xrotation Zrotation - JOINT LeftElbow - { - OFFSET 26.359998 0.000000 0.000000 - CHANNELS 3 Yrotation Xrotation Zrotation - JOINT LeftWrist - { - OFFSET 21.746691 0.000000 0.008601 - CHANNELS 3 Yrotation Xrotation Zrotation - End Site - { - OFFSET 16.348058 0.000000 0.000000 - } - } - } - } - } - } - } - } - } - JOINT RightHip - { - OFFSET -8.622479 -0.030774 -0.003140 - CHANNELS 3 Yrotation Xrotation Zrotation - JOINT RightKnee - { - OFFSET 0.000000 -37.209160 -0.002630 - CHANNELS 3 Yrotation Xrotation Zrotation - JOINT RightAnkle - { - OFFSET 0.000000 -37.343279 -0.058479 - CHANNELS 3 Yrotation Xrotation Zrotation - JOINT RightToe - { - OFFSET 0.000000 -8.903465 15.088070 - CHANNELS 3 Yrotation Xrotation Zrotation - End Site - { - OFFSET 0.000000 -1.471739 6.884388 - } - } - } - } - } - JOINT LeftHip - { - OFFSET 8.622479 -0.030774 -0.003140 - CHANNELS 3 Yrotation Xrotation Zrotation - JOINT LeftKnee - { - OFFSET 0.000000 -37.209160 -0.002630 - CHANNELS 3 Yrotation Xrotation Zrotation - JOINT LeftAnkle - { - OFFSET 0.000000 -37.343279 -0.058479 - CHANNELS 3 Yrotation Xrotation Zrotation - JOINT LeftToe - { - OFFSET 0.000000 -8.903465 15.088070 - CHANNELS 3 Yrotation Xrotation Zrotation - End Site - { - OFFSET 0.000000 -1.471739 6.884388 - } - } - } - } - } -} -"; - - [Test] - public void GuessBoneMapping_mocap2() - { - var bvh = Bvh.Parse(bvh_mocap2); - var detector = new BvhSkeletonEstimator(); - var skeleton = detector.Detect(bvh); - - Assert.AreEqual(0, skeleton.GetBoneIndex(HumanBodyBones.Hips)); - - Assert.AreEqual("Hips", skeleton.GetBoneName(HumanBodyBones.Hips)); - - Assert.AreEqual("Chest", skeleton.GetBoneName(HumanBodyBones.Spine)); - Assert.AreEqual("Chest2", skeleton.GetBoneName(HumanBodyBones.Chest)); - Assert.AreEqual("Chest4", skeleton.GetBoneName(HumanBodyBones.UpperChest)); - - Assert.AreEqual("Neck", skeleton.GetBoneName(HumanBodyBones.Neck)); - Assert.AreEqual("Head", skeleton.GetBoneName(HumanBodyBones.Head)); - - Assert.AreEqual("LeftCollar", skeleton.GetBoneName(HumanBodyBones.LeftShoulder)); - Assert.AreEqual("LeftShoulder", skeleton.GetBoneName(HumanBodyBones.LeftUpperArm)); - Assert.AreEqual("LeftElbow", skeleton.GetBoneName(HumanBodyBones.LeftLowerArm)); - Assert.AreEqual("LeftWrist", skeleton.GetBoneName(HumanBodyBones.LeftHand)); - - Assert.AreEqual("RightCollar", skeleton.GetBoneName(HumanBodyBones.RightShoulder)); - Assert.AreEqual("RightShoulder", skeleton.GetBoneName(HumanBodyBones.RightUpperArm)); - Assert.AreEqual("RightElbow", skeleton.GetBoneName(HumanBodyBones.RightLowerArm)); - Assert.AreEqual("RightWrist", skeleton.GetBoneName(HumanBodyBones.RightHand)); - - Assert.AreEqual("LeftHip", skeleton.GetBoneName(HumanBodyBones.LeftUpperLeg)); - Assert.AreEqual("LeftKnee", skeleton.GetBoneName(HumanBodyBones.LeftLowerLeg)); - Assert.AreEqual("LeftAnkle", skeleton.GetBoneName(HumanBodyBones.LeftFoot)); - Assert.AreEqual("LeftToe", skeleton.GetBoneName(HumanBodyBones.LeftToes)); - - Assert.AreEqual("RightHip", skeleton.GetBoneName(HumanBodyBones.RightUpperLeg)); - Assert.AreEqual("RightKnee", skeleton.GetBoneName(HumanBodyBones.RightLowerLeg)); - Assert.AreEqual("RightAnkle", skeleton.GetBoneName(HumanBodyBones.RightFoot)); - Assert.AreEqual("RightToe", skeleton.GetBoneName(HumanBodyBones.RightToes)); - } - #endregion - - #region mocapdata.com - const string mocapdata_com_hierarchy = @"HIERARCHY -ROOT Hips -{ - OFFSET 17.1116 39.7036 -3.684 - CHANNELS 6 Xposition Yposition Zposition Zrotation Xrotation Yrotation - JOINT LeftHip - { - OFFSET 3.43 2.84217e-014 -2.22045e-015 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT LeftKnee - { - OFFSET 6.75016e-014 -18.47 4.4853e-014 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT LeftAnkle - { - OFFSET 1.52767e-013 -17.95 6.98996e-013 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET 0 -3.12 0 - } - } - } - } - JOINT RightHip - { - OFFSET -3.43 7.10543e-015 -1.11022e-015 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT RightKnee - { - OFFSET -1.35003e-013 -18.47 -7.10543e-015 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT RightAnkle - { - OFFSET -2.92122e-012 -17.95 -3.606e-013 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET 0 -3.12 0 - } - } - } - } - JOINT Chest - { - OFFSET 7.10543e-015 4.57 -9.32587e-015 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT Chest2 - { - OFFSET 3.55271e-015 6.57 0 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT LeftCollar - { - OFFSET 1.06 4.19 1.76 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT LeftShoulder - { - OFFSET 5.81 -2.84217e-014 -1.17684e-014 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT LeftElbow - { - OFFSET 1.7053e-013 -12.08 2.13163e-014 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT LeftWrist - { - OFFSET 5.96856e-013 -9.82 -6.39488e-014 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET 0 -7.37 0 - } - } - } - } - } - JOINT RightCollar - { - OFFSET -1.06 4.19 1.76 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT RightShoulder - { - OFFSET -6.06 -2.13163e-014 -5.32907e-015 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT RightElbow - { - OFFSET -1.42109e-013 -11.08 1.59872e-014 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT RightWrist - { - OFFSET -5.32907e-013 -9.82 -1.28342e-013 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET 0 -7.14001 0 - } - } - } - } - } - JOINT Neck - { - OFFSET 0 4.05 -7.54952e-015 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT Head - { - OFFSET -3.55271e-015 5.19 -1.95399e-014 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET 0 4.14001 0 - } - } - } - } - } -} -"; - [Test] - public void GuessBoneMapping_mocapdatacom() - { - var bvh = Bvh.Parse(mocapdata_com_hierarchy); - var detector = new BvhSkeletonEstimator(); - var skeleton = detector.Detect(bvh); - - Assert.AreEqual(0, skeleton.GetBoneIndex(HumanBodyBones.Hips)); - - Assert.AreEqual("Hips", skeleton.GetBoneName(HumanBodyBones.Hips)); - Assert.AreEqual("Chest", skeleton.GetBoneName(HumanBodyBones.Spine)); - Assert.AreEqual("Chest2", skeleton.GetBoneName(HumanBodyBones.Chest)); - - Assert.AreEqual("Neck", skeleton.GetBoneName(HumanBodyBones.Neck)); - Assert.AreEqual("Head", skeleton.GetBoneName(HumanBodyBones.Head)); - - Assert.AreEqual("LeftCollar", skeleton.GetBoneName(HumanBodyBones.LeftShoulder)); - Assert.AreEqual("LeftShoulder", skeleton.GetBoneName(HumanBodyBones.LeftUpperArm)); - Assert.AreEqual("LeftElbow", skeleton.GetBoneName(HumanBodyBones.LeftLowerArm)); - Assert.AreEqual("LeftWrist", skeleton.GetBoneName(HumanBodyBones.LeftHand)); - - Assert.AreEqual("RightCollar", skeleton.GetBoneName(HumanBodyBones.RightShoulder)); - Assert.AreEqual("RightShoulder", skeleton.GetBoneName(HumanBodyBones.RightUpperArm)); - Assert.AreEqual("RightElbow", skeleton.GetBoneName(HumanBodyBones.RightLowerArm)); - Assert.AreEqual("RightWrist", skeleton.GetBoneName(HumanBodyBones.RightHand)); - - Assert.AreEqual("LeftHip", skeleton.GetBoneName(HumanBodyBones.LeftUpperLeg)); - Assert.AreEqual("LeftKnee", skeleton.GetBoneName(HumanBodyBones.LeftLowerLeg)); - Assert.AreEqual("LeftAnkle", skeleton.GetBoneName(HumanBodyBones.LeftFoot)); - - Assert.AreEqual("RightHip", skeleton.GetBoneName(HumanBodyBones.RightUpperLeg)); - Assert.AreEqual("RightKnee", skeleton.GetBoneName(HumanBodyBones.RightLowerLeg)); - Assert.AreEqual("RightAnkle", skeleton.GetBoneName(HumanBodyBones.RightFoot)); - } - - const string mocapdatacom_hierarchy_2 = @"HIERARCHY -ROOT reference -{ - OFFSET 0 0 0 - CHANNELS 6 Xposition Yposition Zposition Zrotation Xrotation Yrotation - JOINT Hips - { - OFFSET 18.0689 39.8301 -3.56659 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT LeftHip - { - OFFSET 3.43 0 -2.22045e-016 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT LeftKnee - { - OFFSET 6.03961e-014 -18.47 -2.24487e-013 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT LeftAnkle - { - OFFSET 3.90443e-012 -17.95 -2.54197e-012 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET 0 -3.12 0 - } - } - } - } - JOINT RightHip - { - OFFSET -3.43 -2.84217e-014 -1.11022e-015 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT RightKnee - { - OFFSET 2.16716e-013 -18.47 2.24709e-013 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT RightAnkle - { - OFFSET 5.25446e-012 -17.95 3.2685e-012 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET 0 -3.12 0 - } - } - } - } - JOINT Chest - { - OFFSET 0 4.57 -2.22045e-016 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT Chest2 - { - OFFSET -7.10543e-015 6.57 0 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT LeftCollar - { - OFFSET 1.06 4.19 1.76 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT LeftShoulder - { - OFFSET 5.81 2.13163e-014 7.54952e-015 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT LeftElbow - { - OFFSET 2.13163e-014 -12.08 8.34888e-014 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT LeftWrist - { - OFFSET 2.98428e-013 -9.82 1.61648e-013 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET 0 -7.37 0 - } - } - } - } - } - JOINT RightCollar - { - OFFSET -1.06 4.19 1.76 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT RightShoulder - { - OFFSET -6.06 2.13163e-014 5.77316e-015 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT RightElbow - { - OFFSET 1.42109e-013 -11.08 -9.05942e-014 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT RightWrist - { - OFFSET 5.7554e-013 -9.82 -1.98952e-013 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET 0 -7.14001 0 - } - } - } - } - } - JOINT Neck - { - OFFSET 0 4.05 8.88178e-016 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT Head - { - OFFSET -3.55271e-015 5.19 1.06581e-014 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET 0 4.14001 0 - } - } - } - } - } - } -} -"; - - [Test] - public void GuessBoneMapping_mocapdatacom_2() - { - var bvh = Bvh.Parse(mocapdatacom_hierarchy_2); - var detector = new BvhSkeletonEstimator(); - var skeleton = detector.Detect(bvh); - - Assert.AreEqual("Hips", skeleton.GetBoneName(HumanBodyBones.Hips)); - Assert.AreEqual("Chest", skeleton.GetBoneName(HumanBodyBones.Spine)); - Assert.AreEqual("Chest2", skeleton.GetBoneName(HumanBodyBones.Chest)); - - Assert.AreEqual("Neck", skeleton.GetBoneName(HumanBodyBones.Neck)); - Assert.AreEqual("Head", skeleton.GetBoneName(HumanBodyBones.Head)); - - Assert.AreEqual("LeftCollar", skeleton.GetBoneName(HumanBodyBones.LeftShoulder)); - Assert.AreEqual("LeftShoulder", skeleton.GetBoneName(HumanBodyBones.LeftUpperArm)); - Assert.AreEqual("LeftElbow", skeleton.GetBoneName(HumanBodyBones.LeftLowerArm)); - Assert.AreEqual("LeftWrist", skeleton.GetBoneName(HumanBodyBones.LeftHand)); - - Assert.AreEqual("RightCollar", skeleton.GetBoneName(HumanBodyBones.RightShoulder)); - Assert.AreEqual("RightShoulder", skeleton.GetBoneName(HumanBodyBones.RightUpperArm)); - Assert.AreEqual("RightElbow", skeleton.GetBoneName(HumanBodyBones.RightLowerArm)); - Assert.AreEqual("RightWrist", skeleton.GetBoneName(HumanBodyBones.RightHand)); - - Assert.AreEqual("LeftHip", skeleton.GetBoneName(HumanBodyBones.LeftUpperLeg)); - Assert.AreEqual("LeftKnee", skeleton.GetBoneName(HumanBodyBones.LeftLowerLeg)); - Assert.AreEqual("LeftAnkle", skeleton.GetBoneName(HumanBodyBones.LeftFoot)); - - Assert.AreEqual("RightHip", skeleton.GetBoneName(HumanBodyBones.RightUpperLeg)); - Assert.AreEqual("RightKnee", skeleton.GetBoneName(HumanBodyBones.RightLowerLeg)); - Assert.AreEqual("RightAnkle", skeleton.GetBoneName(HumanBodyBones.RightFoot)); - } - #endregion - - #region daz_friendry - const string daz_friendry_herarchy = @"HIERARCHY -ROOT hip -{ - OFFSET 0 0 0 - CHANNELS 6 Xposition Yposition Zposition Zrotation Yrotation Xrotation - JOINT abdomen - { - OFFSET 0 20.6881 -0.73152 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT chest - { - OFFSET 0 11.7043 -0.48768 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT neck - { - OFFSET 0 22.1894 -2.19456 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT head - { - OFFSET -0.24384 7.07133 1.2192 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT leftEye - { - OFFSET 4.14528 8.04674 8.04672 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET 1 0 0 - } - } - JOINT rightEye - { - OFFSET -3.6576 8.04674 8.04672 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET 1 0 0 - } - } - } - } - JOINT rCollar - { - OFFSET -2.68224 19.2634 -4.8768 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT rShldr - { - OFFSET -8.77824 -1.95073 1.46304 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT rForeArm - { - OFFSET -28.1742 -1.7115 0.48768 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT rHand - { - OFFSET -22.5879 0.773209 7.07136 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT rThumb1 - { - OFFSET -1.2192 -0.487915 3.41376 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT rThumb2 - { - OFFSET -3.37035 -0.52449 3.41376 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET -1.78271 -1.18214 1.43049 - } - } - } - JOINT rIndex1 - { - OFFSET -7.75947 0.938293 5.60832 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT rIndex2 - { - OFFSET -2.54057 -0.884171 1.56538 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET -1.62519 -0.234802 1.16502 - } - } - } - JOINT rMid1 - { - OFFSET -8.24714 1.18213 3.41376 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT rMid2 - { - OFFSET -3.10165 -0.590103 1.0647 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET -2.48547 -0.328903 0.83742 - } - } - } - JOINT rRing1 - { - OFFSET -8.82822 0.546677 1.51678 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT rRing2 - { - OFFSET -2.60934 -0.819778 -0.0198488 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET -2.33842 -0.294052 0.168128 - } - } - } - JOINT rPinky1 - { - OFFSET -8.27202 -0.0477905 -0.4584 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT rPinky2 - { - OFFSET -1.82734 -0.647385 -0.700984 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET -1.69225 -0.51767 -0.607171 - } - } - } - } - } - } - } - JOINT lCollar - { - OFFSET 2.68224 19.2634 -4.8768 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT lShldr - { - OFFSET 8.77824 -1.95073 1.46304 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT lForeArm - { - OFFSET 28.1742 -1.7115 0.48768 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT lHand - { - OFFSET 22.5879 0.773209 7.07136 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT lThumb1 - { - OFFSET 1.2192 -0.487915 3.41376 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT lThumb2 - { - OFFSET 3.37035 -0.52449 3.41376 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET 1.78271 -1.18214 1.43049 - } - } - } - JOINT lIndex1 - { - OFFSET 7.75947 0.938293 5.60832 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT lIndex2 - { - OFFSET 2.54057 -0.884171 1.56538 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET 1.62519 -0.234802 1.16502 - } - } - } - JOINT lMid1 - { - OFFSET 8.24714 1.18213 3.41376 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT lMid2 - { - OFFSET 3.10165 -0.590103 1.0647 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET 2.48547 -0.328903 0.83742 - } - } - } - JOINT lRing1 - { - OFFSET 8.82822 0.546677 1.51678 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT lRing2 - { - OFFSET 2.60934 -0.819778 -0.0198488 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET 2.33842 -0.294052 0.168128 - } - } - } - JOINT lPinky1 - { - OFFSET 8.27202 -0.0477905 -0.4584 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT lPinky2 - { - OFFSET 1.82734 -0.647385 -0.700984 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET 1.69225 -0.51767 -0.607171 - } - } - } - } - } - } - } - } - } - JOINT rButtock - { - OFFSET -8.77824 4.35084 1.2192 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT rThigh - { - OFFSET 0 -1.70687 -2.19456 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT rShin - { - OFFSET 0 -36.8199 0.73152 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT rFoot - { - OFFSET 0.73152 -45.1104 -5.12064 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET -1.1221 -3.69964 12.103 - } - } - } - } - } - JOINT lButtock - { - OFFSET 8.77824 4.35084 1.2192 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT lThigh - { - OFFSET 0 -1.70687 -2.19456 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT lShin - { - OFFSET 0 -36.8199 0.73152 - CHANNELS 3 Zrotation Xrotation Yrotation - JOINT lFoot - { - OFFSET -0.73152 -45.1104 -5.12064 - CHANNELS 3 Zrotation Xrotation Yrotation - End Site - { - OFFSET 1.1221 -3.69964 12.103 - } - } - } - } - } -}"; - - [Test] - public void GuessBoneMapping_daz_friendry() - { - var bvh = Bvh.Parse(daz_friendry_herarchy); - var detector = new BvhSkeletonEstimator(); - var skeleton = detector.Detect(bvh); - - Assert.AreEqual("hip", skeleton.GetBoneName(HumanBodyBones.Hips)); - Assert.AreEqual("abdomen", skeleton.GetBoneName(HumanBodyBones.Spine)); - Assert.AreEqual("chest", skeleton.GetBoneName(HumanBodyBones.Chest)); - - Assert.AreEqual("neck", skeleton.GetBoneName(HumanBodyBones.Neck)); - Assert.AreEqual("head", skeleton.GetBoneName(HumanBodyBones.Head)); - - Assert.AreEqual("lCollar", skeleton.GetBoneName(HumanBodyBones.LeftShoulder)); - Assert.AreEqual("lShldr", skeleton.GetBoneName(HumanBodyBones.LeftUpperArm)); - Assert.AreEqual("lForeArm", skeleton.GetBoneName(HumanBodyBones.LeftLowerArm)); - Assert.AreEqual("lHand", skeleton.GetBoneName(HumanBodyBones.LeftHand)); - - Assert.AreEqual("rCollar", skeleton.GetBoneName(HumanBodyBones.RightShoulder)); - Assert.AreEqual("rShldr", skeleton.GetBoneName(HumanBodyBones.RightUpperArm)); - Assert.AreEqual("rForeArm", skeleton.GetBoneName(HumanBodyBones.RightLowerArm)); - Assert.AreEqual("rHand", skeleton.GetBoneName(HumanBodyBones.RightHand)); - - Assert.AreEqual("lThigh", skeleton.GetBoneName(HumanBodyBones.LeftUpperLeg)); - Assert.AreEqual("lShin", skeleton.GetBoneName(HumanBodyBones.LeftLowerLeg)); - Assert.AreEqual("lFoot", skeleton.GetBoneName(HumanBodyBones.LeftFoot)); - - Assert.AreEqual("rThigh", skeleton.GetBoneName(HumanBodyBones.RightUpperLeg)); - Assert.AreEqual("rShin", skeleton.GetBoneName(HumanBodyBones.RightLowerLeg)); - Assert.AreEqual("rFoot", skeleton.GetBoneName(HumanBodyBones.RightFoot)); - } - #endregion - } -#endif -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/Tests/BvhLoaderTests.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/Tests/BvhLoaderTests.cs.meta deleted file mode 100644 index 31c5676..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/Tests/BvhLoaderTests.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 568764cb60017fc44ad4361d5a18b478 -timeCreated: 1534750164 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/bvhAssetPostprocessor.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/bvhAssetPostprocessor.cs deleted file mode 100644 index 4f08f26..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/bvhAssetPostprocessor.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System; -using System.IO; -using UnityEditor; -using UnityEngine; - - -namespace UniHumanoid -{ - public class bvhAssetPostprocessor : AssetPostprocessor - { - static bool IsStreamingAsset(string path) - { - var baseFullPath = Path.GetFullPath(Application.dataPath + "/..").Replace("\\", "/"); - path = Path.Combine(baseFullPath, path).Replace("\\", "/"); - return path.StartsWith(Application.streamingAssetsPath + "/"); - } - - static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) - { - foreach (string path in importedAssets) - { - if (IsStreamingAsset(path)) - { - Debug.LogFormat("Skip StreamingAssets: {0}", path); - continue; - } - - var ext = Path.GetExtension(path).ToLower(); - if (ext == ".bvh") - { - Debug.LogFormat("ImportBvh: {0}", path); - var context = new BvhImporterContext(); - try - { - context.Parse(path); - context.Load(); - context.SaveAsAsset(); - context.Destroy(false); - } - catch(Exception ex) - { - Debug.LogError(ex); - context.Destroy(true); - } - } - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/bvhAssetPostprocessor.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/bvhAssetPostprocessor.cs.meta deleted file mode 100644 index 3a58175..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Editor/bvhAssetPostprocessor.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 4283558adf39c194cb6c5d66d5a348de -timeCreated: 1517166107 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/PoseModifier.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/PoseModifier.meta deleted file mode 100644 index b550190..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/PoseModifier.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1f27fc6c0cce55b45ac53cb4b2839b87 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/PoseModifier/HandPose.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/PoseModifier/HandPose.cs deleted file mode 100644 index e832ca5..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/PoseModifier/HandPose.cs +++ /dev/null @@ -1,175 +0,0 @@ -using System; -using UnityEngine; - - -namespace UniHumanoid -{ - public class HandPoseModifier : IPoseModifier - { - public class HandPose - { - public float ThumbStrech; - public float ThumbSpread; - - public float IndexStrech; - public float IndexSpread; - - public float MiddleStrech; - public float MiddleSpread; - - public float RingStrech; - public float RingSpread; - - public float LittleStrech; - public float LittleSpread; - } - public HandPose LeftHandPose - { - get; - set; - } - public HandPose RightHandPose - { - get; - set; - } - - int LeftThumb1Stretched; - int LeftThumb2Stretched; - int LeftThumb3Stretched; - int LeftIndex1Stretched; - int LeftIndex2Stretched; - int LeftIndex3Stretched; - int LeftMiddle1Stretched; - int LeftMiddle2Stretched; - int LeftMiddle3Stretched; - int LeftRing1Stretched; - int LeftRing2Stretched; - int LeftRing3Stretched; - int LeftLittle1Stretched; - int LeftLittle2Stretched; - int LeftLittle3Stretched; - int LeftThumbSpread; - int LeftIndexSpread; - int LeftMiddleSpread; - int LeftRingSpread; - int LeftLittleSpread; - - int RightThumb1Stretched; - int RightThumb2Stretched; - int RightThumb3Stretched; - int RightIndex1Stretched; - int RightIndex2Stretched; - int RightIndex3Stretched; - int RightMiddle1Stretched; - int RightMiddle2Stretched; - int RightMiddle3Stretched; - int RightRing1Stretched; - int RightRing2Stretched; - int RightRing3Stretched; - int RightLittle1Stretched; - int RightLittle2Stretched; - int RightLittle3Stretched; - int RightThumbSpread; - int RightIndexSpread; - int RightMiddleSpread; - int RightRingSpread; - int RightLittleSpread; - - public HandPoseModifier() - { - LeftThumb1Stretched = Array.IndexOf(HumanTrait.MuscleName, "Left Thumb 1 Stretched"); - LeftThumb2Stretched = Array.IndexOf(HumanTrait.MuscleName, "Left Thumb 2 Stretched"); - LeftThumb3Stretched = Array.IndexOf(HumanTrait.MuscleName, "Left Thumb 3 Stretched"); - LeftIndex1Stretched = Array.IndexOf(HumanTrait.MuscleName, "Left Index 1 Stretched"); - LeftIndex2Stretched = Array.IndexOf(HumanTrait.MuscleName, "Left Index 2 Stretched"); - LeftIndex3Stretched = Array.IndexOf(HumanTrait.MuscleName, "Left Index 3 Stretched"); - LeftMiddle1Stretched = Array.IndexOf(HumanTrait.MuscleName, "Left Middle 1 Stretched"); - LeftMiddle2Stretched = Array.IndexOf(HumanTrait.MuscleName, "Left Middle 2 Stretched"); - LeftMiddle3Stretched = Array.IndexOf(HumanTrait.MuscleName, "Left Middle 3 Stretched"); - LeftRing1Stretched = Array.IndexOf(HumanTrait.MuscleName, "Left Ring 1 Stretched"); - LeftRing2Stretched = Array.IndexOf(HumanTrait.MuscleName, "Left Ring 2 Stretched"); - LeftRing3Stretched = Array.IndexOf(HumanTrait.MuscleName, "Left Ring 3 Stretched"); - LeftLittle1Stretched = Array.IndexOf(HumanTrait.MuscleName, "Left Little 1 Stretched"); - LeftLittle2Stretched = Array.IndexOf(HumanTrait.MuscleName, "Left Little 2 Stretched"); - LeftLittle3Stretched = Array.IndexOf(HumanTrait.MuscleName, "Left Little 3 Stretched"); - LeftThumbSpread = Array.IndexOf(HumanTrait.MuscleName, "Left Thumb Spread"); - LeftIndexSpread = Array.IndexOf(HumanTrait.MuscleName, "Left Index Spread"); - LeftMiddleSpread = Array.IndexOf(HumanTrait.MuscleName, "Left Middle Spread"); - LeftRingSpread = Array.IndexOf(HumanTrait.MuscleName, "Left Ring Spread"); - LeftLittleSpread = Array.IndexOf(HumanTrait.MuscleName, "Left Little Spread"); - - RightThumb1Stretched = Array.IndexOf(HumanTrait.MuscleName, "Right Thumb 1 Stretched"); - RightThumb2Stretched = Array.IndexOf(HumanTrait.MuscleName, "Right Thumb 2 Stretched"); - RightThumb3Stretched = Array.IndexOf(HumanTrait.MuscleName, "Right Thumb 3 Stretched"); - RightIndex1Stretched = Array.IndexOf(HumanTrait.MuscleName, "Right Index 1 Stretched"); - RightIndex2Stretched = Array.IndexOf(HumanTrait.MuscleName, "Right Index 2 Stretched"); - RightIndex3Stretched = Array.IndexOf(HumanTrait.MuscleName, "Right Index 3 Stretched"); - RightMiddle1Stretched = Array.IndexOf(HumanTrait.MuscleName, "Right Middle 1 Stretched"); - RightMiddle2Stretched = Array.IndexOf(HumanTrait.MuscleName, "Right Middle 2 Stretched"); - RightMiddle3Stretched = Array.IndexOf(HumanTrait.MuscleName, "Right Middle 3 Stretched"); - RightRing1Stretched = Array.IndexOf(HumanTrait.MuscleName, "Right Ring 1 Stretched"); - RightRing2Stretched = Array.IndexOf(HumanTrait.MuscleName, "Right Ring 2 Stretched"); - RightRing3Stretched = Array.IndexOf(HumanTrait.MuscleName, "Right Ring 3 Stretched"); - RightLittle1Stretched = Array.IndexOf(HumanTrait.MuscleName, "Right Little 1 Stretched"); - RightLittle2Stretched = Array.IndexOf(HumanTrait.MuscleName, "Right Little 2 Stretched"); - RightLittle3Stretched = Array.IndexOf(HumanTrait.MuscleName, "Right Little 3 Stretched"); - RightThumbSpread = Array.IndexOf(HumanTrait.MuscleName, "Right Thumb Spread"); - RightIndexSpread = Array.IndexOf(HumanTrait.MuscleName, "Right Index Spread"); - RightMiddleSpread = Array.IndexOf(HumanTrait.MuscleName, "Right Middle Spread"); - RightRingSpread = Array.IndexOf(HumanTrait.MuscleName, "Right Ring Spread"); - RightLittleSpread = Array.IndexOf(HumanTrait.MuscleName, "Right Little Spread"); - } - - public void Modify(ref HumanPose pose) - { - if (LeftHandPose != null) - { - pose.muscles[this.LeftThumb1Stretched] = LeftHandPose.ThumbStrech; - pose.muscles[this.LeftThumb2Stretched] = LeftHandPose.ThumbStrech; - pose.muscles[this.LeftThumb3Stretched] = LeftHandPose.ThumbStrech; - pose.muscles[this.LeftIndex1Stretched] = LeftHandPose.IndexStrech; - pose.muscles[this.LeftIndex2Stretched] = LeftHandPose.IndexStrech; - pose.muscles[this.LeftIndex3Stretched] = LeftHandPose.IndexStrech; - pose.muscles[this.LeftMiddle1Stretched] = LeftHandPose.MiddleStrech; - pose.muscles[this.LeftMiddle2Stretched] = LeftHandPose.MiddleStrech; - pose.muscles[this.LeftMiddle3Stretched] = LeftHandPose.MiddleStrech; - pose.muscles[this.LeftRing1Stretched] = LeftHandPose.RingStrech; - pose.muscles[this.LeftRing2Stretched] = LeftHandPose.RingStrech; - pose.muscles[this.LeftRing3Stretched] = LeftHandPose.RingStrech; - pose.muscles[this.LeftLittle1Stretched] = LeftHandPose.LittleStrech; - pose.muscles[this.LeftLittle2Stretched] = LeftHandPose.LittleStrech; - pose.muscles[this.LeftLittle3Stretched] = LeftHandPose.LittleStrech; - pose.muscles[this.LeftThumbSpread] = LeftHandPose.ThumbSpread; - pose.muscles[this.LeftIndexSpread] = LeftHandPose.IndexSpread; - pose.muscles[this.LeftMiddleSpread] = LeftHandPose.MiddleSpread; - pose.muscles[this.LeftRingSpread] = LeftHandPose.RingSpread; - pose.muscles[this.LeftLittleSpread] = LeftHandPose.LittleSpread; - } - - if (RightHandPose != null) - { - pose.muscles[this.RightThumb1Stretched] = RightHandPose.ThumbStrech; - pose.muscles[this.RightThumb2Stretched] = RightHandPose.ThumbStrech; - pose.muscles[this.RightThumb3Stretched] = RightHandPose.ThumbStrech; - pose.muscles[this.RightIndex1Stretched] = RightHandPose.IndexStrech; - pose.muscles[this.RightIndex2Stretched] = RightHandPose.IndexStrech; - pose.muscles[this.RightIndex3Stretched] = RightHandPose.IndexStrech; - pose.muscles[this.RightMiddle1Stretched] = RightHandPose.MiddleStrech; - pose.muscles[this.RightMiddle2Stretched] = RightHandPose.MiddleStrech; - pose.muscles[this.RightMiddle3Stretched] = RightHandPose.MiddleStrech; - pose.muscles[this.RightRing1Stretched] = RightHandPose.RingStrech; - pose.muscles[this.RightRing2Stretched] = RightHandPose.RingStrech; - pose.muscles[this.RightRing3Stretched] = RightHandPose.RingStrech; - pose.muscles[this.RightLittle1Stretched] = RightHandPose.LittleStrech; - pose.muscles[this.RightLittle2Stretched] = RightHandPose.LittleStrech; - pose.muscles[this.RightLittle3Stretched] = RightHandPose.LittleStrech; - pose.muscles[this.RightThumbSpread] = RightHandPose.ThumbSpread; - pose.muscles[this.RightIndexSpread] = RightHandPose.IndexSpread; - pose.muscles[this.RightMiddleSpread] = RightHandPose.MiddleSpread; - pose.muscles[this.RightRingSpread] = RightHandPose.RingSpread; - pose.muscles[this.RightLittleSpread] = RightHandPose.LittleSpread; - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/PoseModifier/HandPose.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/PoseModifier/HandPose.cs.meta deleted file mode 100644 index a6b02c9..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/PoseModifier/HandPose.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 14d18bc5a296a894eb7154d3f5f0e18b -timeCreated: 1523606797 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/PoseModifier/HandRig.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/PoseModifier/HandRig.cs deleted file mode 100644 index 28f2736..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/PoseModifier/HandRig.cs +++ /dev/null @@ -1,100 +0,0 @@ -using UnityEngine; - - -namespace UniHumanoid -{ - public class HandRig : MonoBehaviour - { - [SerializeField] - Animator m_animator; - public Animator Animator - { - get { return m_animator; } - } - - [SerializeField, Range(-1, 1)] - public float LeftStrech; - - [SerializeField, Range(-1, 1)] - public float LeftSpread; - - [SerializeField, Range(-1, 1)] - public float RightStrech; - - [SerializeField, Range(-1, 1)] - public float RightSpread; - - private void Reset() - { - m_animator = GetComponent(); - } - - HumanPoseHandler m_handler; - public static HumanPoseHandler GetHandler(Animator animator) - { - if (animator == null) - { - return null; - } - if (animator.avatar == null) - { - return null; - } - if (!animator.avatar.isValid - || !animator.avatar.isHuman) - { - return null; - } - return new HumanPoseHandler(animator.avatar, animator.transform); - } - - HandPoseModifier m_updater; - - private void Awake() - { - m_handler = GetHandler(m_animator); - if (m_handler == null) - { - enabled = false; - return; - } - m_updater = new HandPoseModifier(); - } - - HandPoseModifier.HandPose m_leftHand = new HandPoseModifier.HandPose(); - HandPoseModifier.HandPose m_rightHand = new HandPoseModifier.HandPose(); - HumanPose m_pose; - - private void Update() - { - m_leftHand.ThumbStrech = LeftStrech; - m_leftHand.ThumbSpread = LeftSpread; - m_leftHand.IndexStrech = LeftStrech; - m_leftHand.IndexSpread = LeftSpread; - m_leftHand.MiddleStrech = LeftStrech; - m_leftHand.MiddleSpread = LeftSpread; - m_leftHand.RingStrech = LeftStrech; - m_leftHand.RingSpread = LeftSpread; - m_leftHand.LittleStrech = LeftStrech; - m_leftHand.LittleSpread = LeftSpread; - - m_rightHand.ThumbStrech = RightStrech; - m_rightHand.ThumbSpread = RightSpread; - m_rightHand.IndexStrech = RightStrech; - m_rightHand.IndexSpread = RightSpread; - m_rightHand.MiddleStrech = RightStrech; - m_rightHand.MiddleSpread = RightSpread; - m_rightHand.RingStrech = RightStrech; - m_rightHand.RingSpread = RightSpread; - m_rightHand.LittleStrech = RightStrech; - m_rightHand.LittleSpread = RightSpread; - - m_updater.LeftHandPose = m_leftHand; - m_updater.RightHandPose = m_rightHand; - - m_handler.GetHumanPose(ref m_pose); - m_updater.Modify(ref m_pose); - m_handler.SetHumanPose(ref m_pose); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/PoseModifier/HandRig.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/PoseModifier/HandRig.cs.meta deleted file mode 100644 index 2a5cb41..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/PoseModifier/HandRig.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 45d55d80a64783c41ace70d5d81db454 -timeCreated: 1523602613 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/PoseModifier/IPoseModifier.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/PoseModifier/IPoseModifier.cs deleted file mode 100644 index bcc178d..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/PoseModifier/IPoseModifier.cs +++ /dev/null @@ -1,10 +0,0 @@ -using UnityEngine; - - -namespace UniHumanoid -{ - public interface IPoseModifier - { - void Modify(ref HumanPose pose); - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/PoseModifier/IPoseModifier.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/PoseModifier/IPoseModifier.cs.meta deleted file mode 100644 index 4e4b1d9..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/PoseModifier/IPoseModifier.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 973f36da309a48d4ea3c5526a51e957f -timeCreated: 1523606728 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scenes.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scenes.meta deleted file mode 100644 index 373aa2a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scenes.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ca8b5b4155cdba843a0bb3ba5aece0d4 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scenes/HumanBuilderTest.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scenes/HumanBuilderTest.cs deleted file mode 100644 index 6c81c80..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scenes/HumanBuilderTest.cs +++ /dev/null @@ -1,149 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using UnityEngine; - - -namespace UniHumanoid -{ - [RequireComponent(typeof(Animator))] - public class HumanBuilderTest : MonoBehaviour - { - [SerializeField] - Material m_material; - - class SkeletonBuilder - { - Dictionary m_skeleton = new Dictionary(); - public IDictionary Skeleton - { - get { return m_skeleton; } - } - - Dictionary m_boneTail = new Dictionary(); - Transform m_root; - - public SkeletonBuilder(Transform root) - { - m_root = root; - } - - void Add(HumanBodyBones key, Transform parent, Vector3 headPosition, Vector3 tailPosition) - { - var bone = new GameObject(key.ToString()).transform; - bone.SetParent(parent, false); - bone.localPosition = headPosition; - m_skeleton[key] = bone; - m_boneTail[key] = tailPosition; - } - - void Add(HumanBodyBones key, HumanBodyBones parentKey, Vector3 tailPosition) - { - Add(key, m_skeleton[parentKey], m_boneTail[parentKey], tailPosition); - } - - #region Spine - public void AddHips(float height, float len) - { - Add(HumanBodyBones.Hips, m_root, new Vector3(0, height, 0), new Vector3(0, len, 0)); - } - - public void AddSpine(float len) - { - Add(HumanBodyBones.Spine, HumanBodyBones.Hips, new Vector3(0, len, 0)); - } - - public void AddChest(float len) - { - Add(HumanBodyBones.Chest, HumanBodyBones.Spine, new Vector3(0, len, 0)); - } - - public void AddNeck(float len) - { - Add(HumanBodyBones.Neck, HumanBodyBones.Chest, new Vector3(0, len, 0)); - } - - public void AddHead(float len) - { - Add(HumanBodyBones.Head, HumanBodyBones.Neck, new Vector3(0, len, 0)); - } - #endregion - - public void AddArm(float shoulder, float upper, float lower, float hand) - { - Add(HumanBodyBones.LeftShoulder, HumanBodyBones.Chest, new Vector3(-shoulder, 0, 0)); - Add(HumanBodyBones.LeftUpperArm, HumanBodyBones.LeftShoulder, new Vector3(-upper, 0, 0)); - Add(HumanBodyBones.LeftLowerArm, HumanBodyBones.LeftUpperArm, new Vector3(-lower, 0, 0)); - Add(HumanBodyBones.LeftHand, HumanBodyBones.LeftLowerArm, new Vector3(-hand, 0, 0)); - - Add(HumanBodyBones.RightShoulder, HumanBodyBones.Chest, new Vector3(shoulder, 0, 0)); - Add(HumanBodyBones.RightUpperArm, HumanBodyBones.RightShoulder, new Vector3(upper, 0, 0)); - Add(HumanBodyBones.RightLowerArm, HumanBodyBones.RightUpperArm, new Vector3(lower, 0, 0)); - Add(HumanBodyBones.RightHand, HumanBodyBones.RightLowerArm, new Vector3(hand, 0, 0)); - } - - public void AddLeg(float distance, float upper, float lower, float foot, float toe) - { - Add(HumanBodyBones.LeftUpperLeg, m_skeleton[HumanBodyBones.Hips], new Vector3(-distance, 0, 0), new Vector3(0, -upper, 0)); - Add(HumanBodyBones.LeftLowerLeg, HumanBodyBones.LeftUpperLeg, new Vector3(0, -lower, 0)); - Add(HumanBodyBones.LeftFoot, HumanBodyBones.LeftLowerLeg, new Vector3(0, -foot, foot)); - Add(HumanBodyBones.LeftToes, HumanBodyBones.LeftFoot, new Vector3(0, 0, toe)); - - Add(HumanBodyBones.RightUpperLeg, m_skeleton[HumanBodyBones.Hips], new Vector3(distance, 0, 0), new Vector3(0, -upper, 0)); - Add(HumanBodyBones.RightLowerLeg, HumanBodyBones.RightUpperLeg, new Vector3(0, -lower, 0)); - Add(HumanBodyBones.RightFoot, HumanBodyBones.RightLowerLeg, new Vector3(0, -foot, foot)); - Add(HumanBodyBones.RightToes, HumanBodyBones.RightFoot, new Vector3(0, 0, toe)); - } - } - - void OnEnable() - { - BuildSkeleton(transform); - } - - private void BuildSkeleton(Transform root) - { - var position = root.position; - root.position = Vector3.zero; - - try - { - // hips -> spine -> chest - var builder = new SkeletonBuilder(root); - builder.AddHips(0.8f, 0.2f); - builder.AddSpine(0.1f); - builder.AddChest(0.2f); - builder.AddNeck(0.1f); - builder.AddHead(0.2f); - builder.AddArm(0.1f, 0.3f, 0.3f, 0.1f); - builder.AddLeg(0.1f, 0.3f, 0.4f, 0.1f, 0.1f); - - var description = AvatarDescription.Create(builder.Skeleton); - var animator = GetComponent(); - animator.avatar = description.CreateAvatar(root); - - // create SkinnedMesh for bone visualize - var renderer = SkeletonMeshUtility.CreateRenderer(animator); - - if (m_material == null) - { - m_material = new Material(Shader.Find("Standard")); - } - renderer.sharedMaterial = m_material; - //root.gameObject.AddComponent(); - - var transfer = GetComponent(); - if (transfer != null) - { - transfer.Avatar = animator.avatar; - transfer.Setup(); - } - } - finally - { - // restore position - root.position = position; - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scenes/HumanBuilderTest.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scenes/HumanBuilderTest.cs.meta deleted file mode 100644 index 420a63c..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scenes/HumanBuilderTest.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: dfdcf658d2da05649974b59b849de74c -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scenes/RuntimeBvhLoader.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scenes/RuntimeBvhLoader.cs deleted file mode 100644 index 73ac4c4..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scenes/RuntimeBvhLoader.cs +++ /dev/null @@ -1,83 +0,0 @@ -using UnityEngine; -using UnityEngine.Events; -using UnityEngine.UI; -using UniHumanoid; -using System.IO; -using System; -#if UNITY_EDITOR -using UnityEditor; -#endif - - -namespace UniHumanoid -{ - public class RuntimeBvhLoader : MonoBehaviour - { - [SerializeField] - Button m_openButton; - - [SerializeField] - HumanPoseTransfer m_dst; - - UnityAction m_onClick; - - private void Awake() - { - m_onClick = new UnityEngine.Events.UnityAction(OnClick); - } - - private void OnEnable() - { - m_openButton.onClick.AddListener(m_onClick); - } - - private void OnDisable() - { - m_openButton.onClick.RemoveListener(m_onClick); - } - - static string m_lastDir; - - public void OnClick() - { -#if UNITY_EDITOR - var path = EditorUtility.OpenFilePanel("open bvh", m_lastDir, "bvh"); - if (String.IsNullOrEmpty(path)) - { - return; - } - m_lastDir = Path.GetDirectoryName(path); -#else - string path=null; -#endif - -#pragma warning disable 4014 - Open(path); -#pragma warning restore 4014 - } - - BvhImporterContext m_context; - - void Open(string path) - { - Debug.LogFormat("Open: {0}", path); - if (m_context != null) - { - m_context.Destroy(true); - m_context = null; - } - - m_context = new BvhImporterContext(); - m_context.Parse(path); - m_context.Load(); - - var src = m_context.Root.AddComponent(); - - if (m_dst != null) - { - m_dst.SourceType = HumanPoseTransfer.HumanPoseTransferSourceType.HumanPoseTransfer; - m_dst.Source = src; - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scenes/RuntimeBvhLoader.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scenes/RuntimeBvhLoader.cs.meta deleted file mode 100644 index 0fae39b..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scenes/RuntimeBvhLoader.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 7b994e1476323bf4fbe1ae28bea164f2 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts.meta deleted file mode 100644 index b5bdfc4..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7699904866e2c1c448f244670ec9f28d -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/AnimationClipUtility.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/AnimationClipUtility.cs deleted file mode 100644 index 5d06e5f..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/AnimationClipUtility.cs +++ /dev/null @@ -1,134 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; - - -namespace UniHumanoid -{ - public static class AnimationClipUtility - { - static Dictionary TraitPropMap = new Dictionary -{ -{"Left Thumb 1 Stretched", "LeftHand.Thumb.1 Stretched"}, -{"Left Thumb Spread", "LeftHand.Thumb Spread"}, -{"Left Thumb 2 Stretched", "LeftHand.Thumb.2 Stretched"}, -{"Left Thumb 3 Stretched", "LeftHand.Thumb.3 Stretched"}, -{"Left Index 1 Stretched", "LeftHand.Index.1 Stretched"}, -{"Left Index Spread", "LeftHand.Index Spread"}, -{"Left Index 2 Stretched", "LeftHand.Index.2 Stretched"}, -{"Left Index 3 Stretched", "LeftHand.Index.3 Stretched"}, -{"Left Middle 1 Stretched", "LeftHand.Middle.1 Stretched"}, -{"Left Middle Spread", "LeftHand.Middle Spread"}, -{"Left Middle 2 Stretched", "LeftHand.Middle.2 Stretched"}, -{"Left Middle 3 Stretched", "LeftHand.Middle.3 Stretched"}, -{"Left Ring 1 Stretched", "LeftHand.Ring.1 Stretched"}, -{"Left Ring Spread", "LeftHand.Ring Spread"}, -{"Left Ring 2 Stretched", "LeftHand.Ring.2 Stretched"}, -{"Left Ring 3 Stretched", "LeftHand.Ring.3 Stretched"}, -{"Left Little 1 Stretched", "LeftHand.Little.1 Stretched"}, -{"Left Little Spread", "LeftHand.Little Spread"}, -{"Left Little 2 Stretched", "LeftHand.Little.2 Stretched"}, -{"Left Little 3 Stretched", "LeftHand.Little.3 Stretched"}, -{"Right Thumb 1 Stretched", "RightHand.Thumb.1 Stretched"}, -{"Right Thumb Spread", "RightHand.Thumb Spread"}, -{"Right Thumb 2 Stretched", "RightHand.Thumb.2 Stretched"}, -{"Right Thumb 3 Stretched", "RightHand.Thumb.3 Stretched"}, -{"Right Index 1 Stretched", "RightHand.Index.1 Stretched"}, -{"Right Index Spread", "RightHand.Index Spread"}, -{"Right Index 2 Stretched", "RightHand.Index.2 Stretched"}, -{"Right Index 3 Stretched", "RightHand.Index.3 Stretched"}, -{"Right Middle 1 Stretched", "RightHand.Middle.1 Stretched"}, -{"Right Middle Spread", "RightHand.Middle Spread"}, -{"Right Middle 2 Stretched", "RightHand.Middle.2 Stretched"}, -{"Right Middle 3 Stretched", "RightHand.Middle.3 Stretched"}, -{"Right Ring 1 Stretched", "RightHand.Ring.1 Stretched"}, -{"Right Ring Spread", "RightHand.Ring Spread"}, -{"Right Ring 2 Stretched", "RightHand.Ring.2 Stretched"}, -{"Right Ring 3 Stretched", "RightHand.Ring.3 Stretched"}, -{"Right Little 1 Stretched", "RightHand.Little.1 Stretched"}, -{"Right Little Spread", "RightHand.Little Spread"}, -{"Right Little 2 Stretched", "RightHand.Little.2 Stretched"}, -{"Right Little 3 Stretched", "RightHand.Little.3 Stretched"}, -}; - - public static AnimationClip CreateAnimationClipFromHumanPose(HumanPose pose) - { - var clip = new AnimationClip(); - - // pos - { - var curve = new AnimationCurve(new Keyframe[] - { - new Keyframe(0, pose.bodyPosition.x), - }); - var muscle = "RootT.x"; - clip.SetCurve(null, typeof(Animator), muscle, curve); - } - { - var curve = new AnimationCurve(new Keyframe[] - { - new Keyframe(0, pose.bodyPosition.y), - }); - var muscle = "RootT.y"; - clip.SetCurve(null, typeof(Animator), muscle, curve); - } - { - var curve = new AnimationCurve(new Keyframe[] - { - new Keyframe(0, pose.bodyPosition.z), - }); - var muscle = "RootT.z"; - clip.SetCurve(null, typeof(Animator), muscle, curve); - } - - // rot - { - var curve = new AnimationCurve(new Keyframe[] - { - new Keyframe(0, pose.bodyRotation.x), - }); - var muscle = "RootQ.x"; - clip.SetCurve(null, typeof(Animator), muscle, curve); - } - { - var curve = new AnimationCurve(new Keyframe[] - { - new Keyframe(0, pose.bodyRotation.y), - }); - var muscle = "RootQ.y"; - clip.SetCurve(null, typeof(Animator), muscle, curve); - } - { - var curve = new AnimationCurve(new Keyframe[] - { - new Keyframe(0, pose.bodyRotation.z), - }); - var muscle = "RootQ.z"; - clip.SetCurve(null, typeof(Animator), muscle, curve); - } - { - var curve = new AnimationCurve(new Keyframe[] - { - new Keyframe(0, pose.bodyRotation.w), - }); - var muscle = "RootQ.w"; - clip.SetCurve(null, typeof(Animator), muscle, curve); - } - - // muscles - for (int i = 0; i < HumanTrait.MuscleCount; ++i) - { - var curve = new AnimationCurve(new Keyframe[] - { - new Keyframe(0, pose.muscles[i]), - }); - var muscle = HumanTrait.MuscleName[i]; - if (TraitPropMap.ContainsKey(muscle)) - { - muscle = TraitPropMap[muscle]; - } - clip.SetCurve(null, typeof(Animator), muscle, curve); - } - return clip; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/AnimationClipUtility.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/AnimationClipUtility.cs.meta deleted file mode 100644 index 54fb7ef..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/AnimationClipUtility.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: e13984a5449ddb843b03e21c3409df67 -timeCreated: 1516590895 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/AvatarDescription.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/AvatarDescription.cs deleted file mode 100644 index ebb3bce..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/AvatarDescription.cs +++ /dev/null @@ -1,242 +0,0 @@ -#if UNITY_EDITOR -using UnityEditor; -#endif -using UnityEngine; -using System; -using System.Linq; -using System.Collections.Generic; - - -namespace UniHumanoid -{ - [Serializable] - public struct BoneLimit - { - public HumanBodyBones humanBone; - public string boneName; - public bool useDefaultValues; - public Vector3 min; - public Vector3 max; - public Vector3 center; - public float axisLength; - - public static BoneLimit From(HumanBone bone) - { - return new BoneLimit - { - humanBone = (HumanBodyBones)Enum.Parse(typeof(HumanBodyBones), bone.humanName.Replace(" ", ""), true), - boneName = bone.boneName, - useDefaultValues = bone.limit.useDefaultValues, - min = bone.limit.min, - max = bone.limit.max, - center = bone.limit.center, - axisLength = bone.limit.axisLength, - }; - } - - public static String ToHumanBoneName(HumanBodyBones b) - { - foreach (var x in HumanTrait.BoneName) - { - if (x.Replace(" ", "") == b.ToString()) - { - return x; - } - } - - throw new KeyNotFoundException(); - } - - public HumanBone ToHumanBone() - { - return new HumanBone - { - boneName = boneName, - humanName = ToHumanBoneName(humanBone), - limit = new HumanLimit - { - useDefaultValues = useDefaultValues, - axisLength = axisLength, - center = center, - max = max, - min = min - }, - }; - } - } - - [Serializable] - public class AvatarDescription : ScriptableObject - { - public float armStretch = 0.05f; - public float legStretch = 0.05f; - public float upperArmTwist = 0.5f; - public float lowerArmTwist = 0.5f; - public float upperLegTwist = 0.5f; - public float lowerLegTwist = 0.5f; - public float feetSpacing = 0; - public bool hasTranslationDoF; - public BoneLimit[] human; - - public HumanDescription ToHumanDescription(Transform root) - { - return new HumanDescription - { - skeleton = root.Traverse().Select(x => x.ToSkeletonBone()).ToArray(), - human = human.Select(x => x.ToHumanBone()).ToArray(), - armStretch = armStretch, - legStretch = legStretch, - upperArmTwist = upperArmTwist, - lowerArmTwist = lowerArmTwist, - upperLegTwist = upperLegTwist, - lowerLegTwist = lowerLegTwist, - feetSpacing = feetSpacing, - hasTranslationDoF = hasTranslationDoF, - }; - } - - public Avatar CreateAvatar(Transform root) - { - return AvatarBuilder.BuildHumanAvatar(root.gameObject, ToHumanDescription(root)); - } - - public Avatar CreateAvatarAndSetup(Transform root) - { - var avatar = CreateAvatar(root); - avatar.name = name; - - var animator = root.GetComponent(); - if (animator != null) - { - var positionMap = root.Traverse().ToDictionary(x => x, x => x.position); - animator.avatar = avatar; - foreach (var x in root.Traverse()) - { - x.position = positionMap[x]; - } - } - - var transfer = root.GetComponent(); - if (transfer != null) - { - transfer.Avatar = avatar; - } - - return avatar; - } - -#if UNITY_EDITOR - public static AvatarDescription CreateFrom(Avatar avatar) - { - var description = default(HumanDescription); - if (!GetHumanDescription(avatar, ref description)) - { - return null; - } - - return CreateFrom(description); - } -#endif - - public static AvatarDescription CreateFrom(HumanDescription description) - { - var avatarDescription = ScriptableObject.CreateInstance(); - avatarDescription.name = "AvatarDescription"; - avatarDescription.armStretch = description.armStretch; - avatarDescription.legStretch = description.legStretch; - avatarDescription.feetSpacing = description.feetSpacing; - avatarDescription.hasTranslationDoF = description.hasTranslationDoF; - avatarDescription.lowerArmTwist = description.lowerArmTwist; - avatarDescription.lowerLegTwist = description.lowerLegTwist; - avatarDescription.upperArmTwist = description.upperArmTwist; - avatarDescription.upperLegTwist = description.upperLegTwist; - avatarDescription.human = description.human.Select(BoneLimit.From).ToArray(); - return avatarDescription; - } - - public static AvatarDescription Create(AvatarDescription src=null) - { - var avatarDescription = ScriptableObject.CreateInstance(); - avatarDescription.name = "AvatarDescription"; - if (src != null) - { - avatarDescription.armStretch = src.armStretch; - avatarDescription.legStretch = src.legStretch; - avatarDescription.feetSpacing = src.feetSpacing; - avatarDescription.upperArmTwist = src.upperArmTwist; - avatarDescription.lowerArmTwist = src.lowerArmTwist; - avatarDescription.upperLegTwist = src.upperLegTwist; - avatarDescription.lowerLegTwist = src.lowerLegTwist; - } - else - { - avatarDescription.armStretch = 0.05f; - avatarDescription.legStretch = 0.05f; - avatarDescription.feetSpacing = 0.0f; - avatarDescription.lowerArmTwist = 0.5f; - avatarDescription.upperArmTwist = 0.5f; - avatarDescription.upperLegTwist = 0.5f; - avatarDescription.lowerLegTwist = 0.5f; - } - return avatarDescription; - } - - public static AvatarDescription Create(Transform[] boneTransforms, Skeleton skeleton) - { - return Create(skeleton.Bones.Select( - x => new KeyValuePair(x.Key, boneTransforms[x.Value]))); - } - - public static AvatarDescription Create(IEnumerable> skeleton) - { - var description = Create(); - description.SetHumanBones(skeleton); - return description; - } - - public void SetHumanBones(IEnumerable> skeleton) - { - human = skeleton.Select(x => - { - return new BoneLimit - { - humanBone = x.Key, - boneName = x.Value.name, - useDefaultValues = true, - }; - }).ToArray(); - } - -#if UNITY_EDITOR - /// - /// * https://answers.unity.com/questions/612177/how-can-i-access-human-avatar-bone-and-muscle-valu.html - /// - /// - /// - /// - public static bool GetHumanDescription(UnityEngine.Object target, ref HumanDescription des) - { - if (target != null) - { - var importer = AssetImporter.GetAtPath(AssetDatabase.GetAssetPath(target)); - if (importer != null) - { - Debug.Log("AssetImporter Type: " + importer.GetType()); - ModelImporter modelImporter = importer as ModelImporter; - if (modelImporter != null) - { - des = modelImporter.humanDescription; - Debug.Log("## Cool stuff data by ModelImporter ##"); - return true; - } - else - { - Debug.LogWarning("## Please Select Imported Model in Project View not prefab or other things ##"); - } - } - } - return false; - } -#endif - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/AvatarDescription.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/AvatarDescription.cs.meta deleted file mode 100644 index 3da5dea..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/AvatarDescription.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 976e99d37c093ce4c9b249c81c2cbdd5 -timeCreated: 1520401720 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/BoneGizmoDrawer.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/BoneGizmoDrawer.cs deleted file mode 100644 index 66fb10d..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/BoneGizmoDrawer.cs +++ /dev/null @@ -1,28 +0,0 @@ -using UnityEngine; - - -namespace UniHumanoid -{ - public class BoneGizmoDrawer : MonoBehaviour - { - const float size = 0.03f; - readonly Vector3 SIZE = new Vector3(size, size, size); - - [SerializeField] - public bool Draw = true; - - void OnDrawGizmos() - { -#if UNITY_EDITOR - if (Draw && transform.parent != null) - { - Gizmos.color = Color.yellow; - Gizmos.DrawCube(transform.position, SIZE); - Gizmos.DrawLine(transform.parent.position, transform.position); - - UnityEditor.Handles.Label(transform.position, name); - } -#endif - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/BoneGizmoDrawer.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/BoneGizmoDrawer.cs.meta deleted file mode 100644 index 12ebe91..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/BoneGizmoDrawer.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 677492d2843780e40aa2a6c7a6ae8fe6 -timeCreated: 1517332124 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/BoneMapping.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/BoneMapping.cs deleted file mode 100644 index f4873e9..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/BoneMapping.cs +++ /dev/null @@ -1,103 +0,0 @@ -using UnityEngine; -using System.Linq; -using System; - -namespace UniHumanoid -{ - public class BoneMapping : MonoBehaviour - { - [SerializeField] - public GameObject[] Bones = new GameObject[(int)HumanBodyBones.LastBone]; - - [SerializeField] - public AvatarDescription Description; - - private void Reset() - { - GetBones(); - } - - private void GetBones() - { - Bones = new GameObject[(int)HumanBodyBones.LastBone]; - - var animator = GetComponent(); - if (animator != null) - { - if (animator.avatar != null) - { - foreach (HumanBodyBones key in Enum.GetValues(typeof(HumanBodyBones))) - { - if (key == HumanBodyBones.LastBone) - { - break; - } - var transform = animator.GetBoneTransform(key); - if (transform != null) - { - Bones[(int)key] = transform.gameObject; - } - } - } - } - } - - public void GuessBoneMapping() - { - var hips = Bones[(int)HumanBodyBones.Hips]; - if (hips == null) - { - Debug.LogWarning("require hips"); - return; - } - - var estimater = new BvhSkeletonEstimator(); - var skeleton = estimater.Detect(hips.transform); - var bones = hips.transform.Traverse().ToArray(); - for (int i = 0; i < (int)HumanBodyBones.LastBone; ++i) - { - var index = skeleton.GetBoneIndex((HumanBodyBones)i); - if (index >= 0) - { - Bones[i] = bones[index].gameObject; - } - } - } - - public void EnsureTPose() - { - var map = Bones - .Select((x, i) => new { i, x }) - .Where(x => x.x != null) - .ToDictionary(x => (HumanBodyBones)x.i, x => x.x.transform) - ; - { - var left = (map[HumanBodyBones.LeftLowerArm].position - map[HumanBodyBones.LeftUpperArm].position).normalized; - map[HumanBodyBones.LeftUpperArm].rotation = Quaternion.FromToRotation(left, Vector3.left) * map[HumanBodyBones.LeftUpperArm].rotation; - } - { - var right = (map[HumanBodyBones.RightLowerArm].position - map[HumanBodyBones.RightUpperArm].position).normalized; - map[HumanBodyBones.RightUpperArm].rotation = Quaternion.FromToRotation(right, Vector3.right) * map[HumanBodyBones.RightUpperArm].rotation; - } - } - - public static void SetBonesToDescription(BoneMapping mapping, AvatarDescription description) - { - var map = mapping.Bones - .Select((x, i) => new { i, x }) - .Where(x => x.x != null) - .ToDictionary(x => (HumanBodyBones)x.i, x => x.x.transform) - ; - description.SetHumanBones(map); - } - - private void Awake() - { - if (Bones == null - || Bones.All(x => x==null)) - { - GetBones(); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/BoneMapping.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/BoneMapping.cs.meta deleted file mode 100644 index d7f9771..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/BoneMapping.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 44f5895a2095a2848ba2c9627a5c1ad9 -timeCreated: 1516520420 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/BvhBone.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/BvhBone.cs deleted file mode 100644 index 8278c21..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/BvhBone.cs +++ /dev/null @@ -1,80 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; - - -namespace UniHumanoid -{ - public class BvhBone : IBone - { - public string Name - { - private set; - get; - } - - public Vector3 SkeletonLocalPosition - { - private set; - get; - } - - public BvhBone(string name, Vector3 position) - { - Name = name; - SkeletonLocalPosition = position; - } - - public override string ToString() - { - return string.Format("", Name); - } - - public IBone Parent - { - private set; - get; - } - - List _children = new List(); - public IList Children - { - get { return _children; } - } - - public void Build(Transform t) - { - foreach (Transform child in t) - { - var childBone = new BvhBone(child.name, SkeletonLocalPosition + child.localPosition); - childBone.Parent = this; - _children.Add(childBone); - - childBone.Build(child); - } - } - - public void Build(BvhNode node) - { - foreach (var child in node.Children) - { - var childBone = new BvhBone(child.Name, SkeletonLocalPosition + child.Offset.ToXReversedVector3()); - childBone.Parent = this; - _children.Add(childBone); - - childBone.Build(child); - } - } - - public IEnumerable Traverse() - { - yield return this; - foreach (var child in Children) - { - foreach (var x in child.Traverse()) - { - yield return (BvhBone)x; - } - } - } - } -} \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/BvhBone.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/BvhBone.cs.meta deleted file mode 100644 index a3578e4..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/BvhBone.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: c1a88b26726f137419428078debd253f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/Format.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/Format.meta deleted file mode 100644 index 1bd5f33..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/Format.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ec15ab2a9560ae843bee2df0de495b82 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/Format/Bvh.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/Format/Bvh.cs deleted file mode 100644 index aa78c32..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/Format/Bvh.cs +++ /dev/null @@ -1,444 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; - - -namespace UniHumanoid -{ - public class BvhException : Exception - { - public BvhException(string msg) : base(msg) { } - } - - public enum Channel - { - Xposition, - Yposition, - Zposition, - Xrotation, - Yrotation, - Zrotation, - } - public static class ChannelExtensions - { - public static string ToProperty(this Channel ch) - { - switch (ch) - { - case Channel.Xposition: return "localPosition.x"; - case Channel.Yposition: return "localPosition.y"; - case Channel.Zposition: return "localPosition.z"; - case Channel.Xrotation: return "localEulerAnglesBaked.x"; - case Channel.Yrotation: return "localEulerAnglesBaked.y"; - case Channel.Zrotation: return "localEulerAnglesBaked.z"; - } - - throw new BvhException("no property for " + ch); - } - - public static bool IsLocation(this Channel ch) - { - switch (ch) - { - case Channel.Xposition: - case Channel.Yposition: - case Channel.Zposition: return true; - case Channel.Xrotation: - case Channel.Yrotation: - case Channel.Zrotation: return false; - } - - throw new BvhException("no property for " + ch); - } - } - - public struct Single3 - { - public Single x; - public Single y; - public Single z; - - public Single3(Single _x, Single _y, Single _z) - { - x = _x; - y = _y; - z = _z; - } - } - - public class BvhNode - { - public String Name - { - get; - private set; - } - - public Single3 Offset - { - get; - private set; - } - - public Channel[] Channels - { - get; - private set; - } - - public List Children - { - get; - private set; - } - - public BvhNode(string name) - { - Name = name; - Children = new List(); - } - - public virtual void Parse(StringReader r) - { - Offset = ParseOffset(r.ReadLine()); - - Channels = ParseChannel(r.ReadLine()); - } - - static Single3 ParseOffset(string line) - { - var splited = line.Trim().Split(); - if (splited[0] != "OFFSET") - { - throw new BvhException("OFFSET is not found"); - } - - var offset = splited.Skip(1).Where(x => !string.IsNullOrEmpty(x)).Select(x => float.Parse(x)).ToArray(); - return new Single3(offset[0], offset[1], offset[2]); - } - - static Channel[] ParseChannel(string line) - { - var splited = line.Trim().Split(); - if (splited[0] != "CHANNELS") - { - throw new BvhException("CHANNELS is not found"); - } - var count = int.Parse(splited[1]); - if (count + 2 != splited.Length) - { - throw new BvhException("channel count is not match with splited count"); - } - return splited.Skip(2).Select(x => (Channel)Enum.Parse(typeof(Channel), x)).ToArray(); - } - - public IEnumerable Traverse() - { - yield return this; - - foreach (var child in Children) - { - foreach (var descentant in child.Traverse()) - { - yield return descentant; - } - } - } - } - - public class EndSite : BvhNode - { - public EndSite(): base("") - { - } - - public override void Parse(StringReader r) - { - r.ReadLine(); // offset - } - } - - public class ChannelCurve - { - public float[] Keys - { - get; - private set; - } - - public ChannelCurve(int frameCount) - { - Keys = new float[frameCount]; - } - - public void SetKey(int frame, float value) - { - Keys[frame] = value; - } - } - - public class Bvh - { - public BvhNode Root - { - get; - private set; - } - - public TimeSpan FrameTime - { - get; - private set; - } - - public ChannelCurve[] Channels - { - get; - private set; - } - - int m_frames; - public int FrameCount - { - get { return m_frames; } - } - - public struct PathWithProperty - { - public string Path; - public string Property; - public bool IsLocation; - } - - public bool TryGetPathWithPropertyFromChannel(ChannelCurve channel, out PathWithProperty pathWithProp) - { - var index = Channels.ToList().IndexOf(channel); - if (index == -1) - { - pathWithProp = default(PathWithProperty); - return false; - } - - foreach(var node in Root.Traverse()) - { - for(int i=0; i() { node.Name }; - - var current = node; - while (current!=null) - { - current = GetParent(current); - if (current != null) - { - list.Insert(0, current.Name); - } - } - - return String.Join("/", list.ToArray()); - } - - BvhNode GetParent(BvhNode node) - { - foreach(var x in Root.Traverse()) - { - if (x.Children.Contains(node)) - { - return x; - } - } - - return null; - } - - public ChannelCurve GetChannel(BvhNode target, Channel channel) - { - var index = 0; - foreach (var node in Root.Traverse()) - { - for (int i = 0; i < node.Channels.Length; ++i, ++index) - { - if(node==target && node.Channels[i] == channel) - { - return Channels[index]; - } - } - } - - throw new BvhException("channel is not found"); - } - - public override string ToString() - { - return string.Format("{0}nodes, {1}channels, {2}frames, {3:0.00}seconds" - , Root.Traverse().Count() - , Channels.Length - , m_frames - , m_frames * FrameTime.TotalSeconds); - } - - public Bvh(BvhNode root, int frames, float seconds) - { - Root = root; - FrameTime = TimeSpan.FromSeconds(seconds); - m_frames = frames; - var channelCount = Root.Traverse() - .Where(x => x.Channels!=null) - .Select(x => x.Channels.Length) - .Sum(); - Channels = Enumerable.Range(0, channelCount) - .Select(x => new ChannelCurve(frames)) - .ToArray() - ; - } - - public void ParseFrame(int frame, string line) - { - var splited = line.Trim().Split().Where(x => !string.IsNullOrEmpty(x)).ToArray(); - if (splited.Length != Channels.Length) - { - throw new BvhException("frame key count is not match channel count"); - } - for(int i=0; i(HumanPoseClip.TPoseResourcePath); - var pose = humanPoseClip.GetPose(); - HumanPoseTransfer.SetPose(avatar, transform, pose); - } - #endregion - - private void Reset() - { - var animator = GetComponent(); - if (animator != null) - { - Avatar = animator.avatar; - } - } - - [SerializeField] - public HumanPoseTransfer Source; - - [SerializeField] - public HumanPoseClip PoseClip; - - [ContextMenu("Set T-Pose")] - void SetTPose() - { - if (Avatar == null) return; - SetTPose(Avatar, transform); - } - - HumanPoseHandler m_handler; - public void OnEnable() - { - var animator = GetComponent(); - if (animator != null) - { - Avatar = animator.avatar; - } - - Setup(); - } - - public void Setup() - { - if (Avatar == null) - { - return; - } - m_handler = new HumanPoseHandler(Avatar, transform); - } - - HumanPose m_pose; - - int m_lastFrameCount = -1; - - public bool GetPose(int frameCount, ref HumanPose pose) - { - if (PoseClip != null) - { - pose = PoseClip.GetPose(); - return true; - } - - if (m_handler == null) - { - pose = m_pose; - return false; - } - - if (frameCount != m_lastFrameCount) - { - m_handler.GetHumanPose(ref m_pose); - m_lastFrameCount = frameCount; - } - pose = m_pose; - return true; - } - - private void Update() - { - switch (SourceType) - { - case HumanPoseTransferSourceType.None: - break; - - case HumanPoseTransferSourceType.HumanPoseTransfer: - if (Source != null && m_handler != null) - { - if (Source.GetPose(Time.frameCount, ref m_pose)) - { - m_handler.SetHumanPose(ref m_pose); - } - } - break; - - case HumanPoseTransferSourceType.HumanPoseClip: - if (PoseClip != null) - { - var pose = PoseClip.GetPose(); - m_handler.SetHumanPose(ref pose); - } - break; - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/HumanPoseTransfer.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/HumanPoseTransfer.cs.meta deleted file mode 100644 index d1dbf42..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/HumanPoseTransfer.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: e5548e4785b76854cbbf3f6d9a8e9c1d -timeCreated: 1517666226 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IBone.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IBone.cs deleted file mode 100644 index 4d038a8..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IBone.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; - - -namespace UniHumanoid -{ - public interface IBone - { - string Name { get; } - Vector3 SkeletonLocalPosition { get; } - IBone Parent { get; } - IList Children { get; } - } - - public static class IBoneExtensions - { - public static IEnumerable Traverse(this IBone self) - { - yield return self; - foreach (var child in self.Children) - { - foreach (var x in child.Traverse()) - { - yield return x; - } - } - } - - public static Vector3 CenterOfDescendant(this IBone self) - { - var sum = Vector3.zero; - int i = 0; - foreach (var x in self.Traverse()) - { - sum += x.SkeletonLocalPosition; - ++i; - } - return sum / i; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IBone.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IBone.cs.meta deleted file mode 100644 index 4a8df93..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IBone.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: c9c2e3ee9fe29a84cb902e54a90c5dec -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO.meta deleted file mode 100644 index ef59830..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 4ef685e3d3873f64f995e89cb4e0690d -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/BvhAnimationClip.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/BvhAnimationClip.cs deleted file mode 100644 index ea644f5..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/BvhAnimationClip.cs +++ /dev/null @@ -1,131 +0,0 @@ -using System; -using System.Collections.Generic; -using UnityEngine; - - -namespace UniHumanoid -{ - public static class BvhAnimation - { - class CurveSet - { - BvhNode Node; - Func EulerToRotation; - public CurveSet(BvhNode node) - { - Node = node; - } - - public ChannelCurve PositionX; - public ChannelCurve PositionY; - public ChannelCurve PositionZ; - public Vector3 GetPosition(int i) - { - return new Vector3( - PositionX.Keys[i], - PositionY.Keys[i], - PositionZ.Keys[i]); - } - - public ChannelCurve RotationX; - public ChannelCurve RotationY; - public ChannelCurve RotationZ; - public Quaternion GetRotation(int i) - { - if (EulerToRotation == null) - { - EulerToRotation = Node.GetEulerToRotation(); - } - return EulerToRotation( - RotationX.Keys[i], - RotationY.Keys[i], - RotationZ.Keys[i] - ); - } - - static void AddCurve(Bvh bvh, AnimationClip clip, ChannelCurve ch, float scaling) - { - if (ch == null) return; - var pathWithProp = default(Bvh.PathWithProperty); - bvh.TryGetPathWithPropertyFromChannel(ch, out pathWithProp); - var curve = new AnimationCurve(); - for (int i = 0; i < bvh.FrameCount; ++i) - { - var time = (float)(i * bvh.FrameTime.TotalSeconds); - var value = ch.Keys[i] * scaling; - curve.AddKey(time, value); - } - clip.SetCurve(pathWithProp.Path, typeof(Transform), pathWithProp.Property, curve); - } - - public void AddCurves(Bvh bvh, AnimationClip clip, float scaling) - { - AddCurve(bvh, clip, PositionX, -scaling); - AddCurve(bvh, clip, PositionY, scaling); - AddCurve(bvh, clip, PositionZ, scaling); - - var pathWithProp = default(Bvh.PathWithProperty); - bvh.TryGetPathWithPropertyFromChannel(RotationX, out pathWithProp); - - // rotation - var curveX = new AnimationCurve(); - var curveY = new AnimationCurve(); - var curveZ = new AnimationCurve(); - var curveW = new AnimationCurve(); - for (int i = 0; i < bvh.FrameCount; ++i) - { - var time = (float)(i * bvh.FrameTime.TotalSeconds); - var q = GetRotation(i).ReverseX(); - curveX.AddKey(time, q.x); - curveY.AddKey(time, q.y); - curveZ.AddKey(time, q.z); - curveW.AddKey(time, q.w); - } - clip.SetCurve(pathWithProp.Path, typeof(Transform), "localRotation.x", curveX); - clip.SetCurve(pathWithProp.Path, typeof(Transform), "localRotation.y", curveY); - clip.SetCurve(pathWithProp.Path, typeof(Transform), "localRotation.z", curveZ); - clip.SetCurve(pathWithProp.Path, typeof(Transform), "localRotation.w", curveW); - } - } - - public static AnimationClip CreateAnimationClip(Bvh bvh, float scaling) - { - var clip = new AnimationClip(); - clip.legacy = true; - - var curveMap = new Dictionary(); - - int j = 0; - foreach (var node in bvh.Root.Traverse()) - { - var set = new CurveSet(node); - curveMap[node] = set; - - for (int i = 0; i < node.Channels.Length; ++i, ++j) - { - var curve = bvh.Channels[j]; - switch (node.Channels[i]) - { - case Channel.Xposition: set.PositionX = curve; break; - case Channel.Yposition: set.PositionY = curve; break; - case Channel.Zposition: set.PositionZ = curve; break; - case Channel.Xrotation: set.RotationX = curve; break; - case Channel.Yrotation: set.RotationY = curve; break; - case Channel.Zrotation: set.RotationZ = curve; break; - default: throw new Exception(); - } - } - } - - foreach (var set in curveMap) - { - set.Value.AddCurves(bvh, clip, scaling); - } - - clip.EnsureQuaternionContinuity(); - - return clip; - } - - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/BvhAnimationClip.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/BvhAnimationClip.cs.meta deleted file mode 100644 index 0348a6a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/BvhAnimationClip.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 45951aadbd5e6b34282cd17ee163f58b -timeCreated: 1517655805 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/BvhImporter.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/BvhImporter.cs deleted file mode 100644 index 488b10a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/BvhImporter.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; - - -namespace UniHumanoid -{ - public static class BvhImporter - { - [Obsolete("use BvhImporter.Parse(path), then BvhImporter.Load()")] - public static void Import(BvhImporterContext context) - { - context.Parse(context.Path); - context.Load(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/BvhImporter.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/BvhImporter.cs.meta deleted file mode 100644 index 335ced1..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/BvhImporter.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: da8ccd6cbe1692448872063195e5c71b -timeCreated: 1517655539 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/BvhImporterContext.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/BvhImporterContext.cs deleted file mode 100644 index c53955f..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/BvhImporterContext.cs +++ /dev/null @@ -1,247 +0,0 @@ -using System; -using System.Linq; -using System.Collections.Generic; -using UnityEngine; -using System.IO; -using System.Text; -#if UNITY_EDITOR -using UnityEditor; -#endif - - -namespace UniHumanoid -{ - [Obsolete("use BvhImporterContext")] - public class ImporterContext: BvhImporterContext - { - } - - public class BvhImporterContext - { - #region Source - String m_path; - public String Path - { - get { return m_path; } - set - { - if (m_path == value) return; - m_path = value; - } - } - public String Source; // source - public Bvh Bvh; - #endregion - - #region Imported - public GameObject Root; - public List Nodes = new List(); - public AnimationClip Animation; - public AvatarDescription AvatarDescription; - public Avatar Avatar; - public Mesh Mesh; - public Material Material; - #endregion - - #region Load - [Obsolete("use Load(path)")] - public void Parse() - { - Parse(Path); - } - - public void Parse(string path) - { - Path = path; - Source = File.ReadAllText(Path, Encoding.UTF8); - Bvh = Bvh.Parse(Source); - } - - public void Load() - { - // - // build hierarchy - // - Root = new GameObject(System.IO.Path.GetFileNameWithoutExtension(Path)); - var hips = BuildHierarchy(Root.transform, Bvh.Root, 1.0f); - var skeleton = Skeleton.Estimate(hips); - var description = AvatarDescription.Create(hips.Traverse().ToArray(), skeleton); - - // - // scaling. reposition - // - float scaling = 1.0f; - { - //var foot = animator.GetBoneTransform(HumanBodyBones.LeftFoot); - var foot = hips.Traverse().Skip(skeleton.GetBoneIndex(HumanBodyBones.LeftFoot)).First(); - var hipHeight = hips.position.y - foot.position.y; - // hips height to a meter - scaling = 1.0f / hipHeight; - foreach (var x in Root.transform.Traverse()) - { - x.localPosition *= scaling; - } - - var scaledHeight = hipHeight * scaling; - hips.position = new Vector3(0, scaledHeight, 0); // foot to ground - } - - // - // avatar - // - Avatar = description.CreateAvatar(Root.transform); - Avatar.name = "Avatar"; - AvatarDescription = description; - var animator = Root.AddComponent(); - animator.avatar = Avatar; - - // - // create AnimationClip - // - Animation = BvhAnimation.CreateAnimationClip(Bvh, scaling); - Animation.name = Root.name; - Animation.legacy = true; - Animation.wrapMode = WrapMode.Loop; - - var animation = Root.AddComponent(); - animation.AddClip(Animation, Animation.name); - animation.clip = Animation; - animation.Play(); - - var humanPoseTransfer = Root.AddComponent(); - humanPoseTransfer.Avatar = Avatar; - - // create SkinnedMesh for bone visualize - var renderer = SkeletonMeshUtility.CreateRenderer(animator); - Material = new Material(Shader.Find("Standard")); - renderer.sharedMaterial = Material; - Mesh = renderer.sharedMesh; - Mesh.name = "box-man"; - - Root.AddComponent(); - - } - - static Transform BuildHierarchy(Transform parent, BvhNode node, float toMeter) - { - var go = new GameObject(node.Name); - go.transform.localPosition = node.Offset.ToXReversedVector3() * toMeter; - go.transform.SetParent(parent, false); - - //var gizmo = go.AddComponent(); - //gizmo.Draw = true; - - foreach (var child in node.Children) - { - BuildHierarchy(go.transform, child, toMeter); - } - - return go.transform; - } - #endregion - -#if UNITY_EDITOR - protected virtual string GetPrefabPath() - { - var dir = System.IO.Path.GetDirectoryName(Path); - var name = System.IO.Path.GetFileNameWithoutExtension(Path); - var prefabPath = string.Format("{0}/{1}.prefab", dir, name); - if (!Application.isPlaying && File.Exists(prefabPath)) - { - // already exists - if (IsOwn(prefabPath)) - { - //Debug.LogFormat("already exist. own: {0}", prefabPath); - } - else - { - // but unknown prefab - var unique = AssetDatabase.GenerateUniqueAssetPath(prefabPath); - //Debug.LogFormat("already exist: {0} => {1}", prefabPath, unique); - prefabPath = unique; - } - } - return prefabPath; - } - - #region Assets - IEnumerable GetSubAssets(string path) - { - return AssetDatabase.LoadAllAssetsAtPath(path); - } - - protected virtual bool IsOwn(string path) - { - foreach (var x in GetSubAssets(path)) - { - //if (x is Transform) continue; - if (x is GameObject) continue; - if (x is Component) continue; - if (AssetDatabase.IsSubAsset(x)) - { - return true; - } - } - return false; - } - - IEnumerable ObjectsForSubAsset() - { - if (Animation != null) yield return Animation; - if (AvatarDescription != null) yield return AvatarDescription; - if (Avatar != null) yield return Avatar; - if (Mesh != null) yield return Mesh; - if (Material != null) yield return Material; - } - - public void SaveAsAsset() - { - var path = GetPrefabPath(); - if (File.Exists(path)) - { - // clear SubAssets - foreach (var x in GetSubAssets(path).Where(x => !(x is GameObject) && !(x is Component))) - { - GameObject.DestroyImmediate(x, true); - } - } - - // Add SubAsset - foreach (var o in ObjectsForSubAsset()) - { - AssetDatabase.AddObjectToAsset(o, path); - } - - // Create or upate Main Asset - if (File.Exists(path)) - { - Debug.LogFormat("replace prefab: {0}", path); - var prefab = AssetDatabase.LoadAssetAtPath(path); - PrefabUtility.ReplacePrefab(Root, prefab, ReplacePrefabOptions.ReplaceNameBased); - } - else - { - Debug.LogFormat("create prefab: {0}", path); - PrefabUtility.CreatePrefab(path, Root); - } - - AssetDatabase.ImportAsset(path); - } - #endregion -#endif - - public void Destroy(bool destroySubAssets) - { - if (Root != null) GameObject.DestroyImmediate(Root); - if (destroySubAssets) - { -#if UNITY_EDITOR - foreach (var o in ObjectsForSubAsset()) - { - UnityEngine.Object.DestroyImmediate(o, true); - } -#endif - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/BvhImporterContext.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/BvhImporterContext.cs.meta deleted file mode 100644 index 79a8c6e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/BvhImporterContext.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 6c6231d0aafc9554ca596f35e8f395c4 -timeCreated: 1521112950 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/Extensions.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/Extensions.meta deleted file mode 100644 index bb19ef9..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/Extensions.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0f4084f3779ad7e4a9191ccc239a0f64 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/Extensions/BvhExtensions.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/Extensions/BvhExtensions.cs deleted file mode 100644 index 2b80293..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/Extensions/BvhExtensions.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System; -using System.Linq; -using UnityEngine; - - -namespace UniHumanoid -{ - public static class BvhExtensions - { - public static Func GetEulerToRotation(this BvhNode bvh) - { - var order = bvh.Channels.Where(x => x == Channel.Xrotation || x == Channel.Yrotation || x == Channel.Zrotation).ToArray(); - - return (x, y, z) => - { - var xRot = Quaternion.Euler(x, 0, 0); - var yRot = Quaternion.Euler(0, y, 0); - var zRot = Quaternion.Euler(0, 0, z); - - var r = Quaternion.identity; - foreach (var ch in order) - { - switch (ch) - { - case Channel.Xrotation: r = r * xRot; break; - case Channel.Yrotation: r = r * yRot; break; - case Channel.Zrotation: r = r * zRot; break; - default: throw new BvhException("no rotation"); - } - } - return r; - }; - } - - public static Vector3 ToVector3(this Single3 s3) - { - return new Vector3(s3.x, s3.y, s3.z); - } - - public static Vector3 ToXReversedVector3(this Single3 s3) - { - return new Vector3(-s3.x, s3.y, s3.z); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/Extensions/BvhExtensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/Extensions/BvhExtensions.cs.meta deleted file mode 100644 index a078ba9..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/Extensions/BvhExtensions.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 30d4db9a01d6aee4db9a77d762e608f6 -timeCreated: 1517655238 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/Extensions/UnityExtensions.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/Extensions/UnityExtensions.cs deleted file mode 100644 index 413918d..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/Extensions/UnityExtensions.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; - - -namespace UniHumanoid -{ - public static class UnityExtensions - { - public static Quaternion ReverseX(this Quaternion quaternion) - { - float angle; - Vector3 axis; - quaternion.ToAngleAxis(out angle, out axis); - - return Quaternion.AngleAxis(-angle, new Vector3(-axis.x, axis.y, axis.z)); - } - - public static IEnumerable GetChildren(this Transform parent) - { - foreach (Transform child in parent) - { - yield return child; - } - } - - public static IEnumerable Traverse(this Transform parent) - { - yield return parent; - - foreach (Transform child in parent) - { - foreach (Transform descendant in Traverse(child)) - { - yield return descendant; - } - } - } - - public static SkeletonBone ToSkeletonBone(this Transform t) - { - var sb = new SkeletonBone(); - sb.name = t.name; - sb.position = t.localPosition; - sb.rotation = t.localRotation; - sb.scale = t.localScale; - return sb; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/Extensions/UnityExtensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/Extensions/UnityExtensions.cs.meta deleted file mode 100644 index 918c91c..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/IO/Extensions/UnityExtensions.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 6c4a2b80b74e499428637f36774bbdcf -timeCreated: 1517666834 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/MuscleDebug.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/MuscleDebug.cs deleted file mode 100644 index d06603b..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/MuscleDebug.cs +++ /dev/null @@ -1,105 +0,0 @@ -using System; -using System.Linq; -using UnityEngine; -#if UNITY_EDITOR -using UnityEditor; -#endif - - -namespace UniHumanoid -{ - public class MuscleDebug : MonoBehaviour - { - Avatar GetAvatar() - { - var animator = GetComponent(); - if (animator != null && animator.avatar != null) - { - return animator.avatar; - } - - var transfer = GetComponent(); - if (transfer != null && transfer.Avatar != null) - { - return transfer.Avatar; - } - - return null; - } - - HumanPoseHandler m_handler; - - public HumanPose m_pose; - - [Serializable] - public struct Muscle - { - public int Index; - public string Name; - public float Value; - } - - public Vector3 BodyPosition; - - public Muscle[] Muscles; - - private void OnEnable() - { - var avatar = GetAvatar(); - if (avatar == null) - { - enabled = false; - return; - } - - m_handler = new HumanPoseHandler(avatar, transform); - - Muscles = HumanTrait.MuscleName.Select((x, i) => - { - return new Muscle - { - Index = i, - Name = x, - }; - }) - .ToArray() - ; - } - - private void OnDisable() - { - } - - private void Update() - { - m_handler.GetHumanPose(ref m_pose); - - BodyPosition = m_pose.bodyPosition; - - for (int i = 0; i < m_pose.muscles.Length; ++i) - { - Muscles[i].Value = m_pose.muscles[i]; - } - } - } - -#if UNITY_EDITOR - [CustomPropertyDrawer(typeof(MuscleDebug.Muscle))] - public class MuscleDrawer : PropertyDrawer - { - public override void OnGUI(Rect position, - SerializedProperty property, GUIContent label) - { - var nameProp = property.FindPropertyRelative("Name"); - var valueProp = property.FindPropertyRelative("Value"); - /* - var labl = string.Format("{0}: {1}", - nameProp.stringValue, - valueProp.floatValue - ); - */ - EditorGUI.LabelField(position, nameProp.stringValue, string.Format("{0:0.00}", valueProp.floatValue)); - } - } -#endif -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/MuscleDebug.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/MuscleDebug.cs.meta deleted file mode 100644 index 0740b68..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/MuscleDebug.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 14aaa52c3da53004ea85dbb38e9e4698 -timeCreated: 1521114691 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/MuscleInspector.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/MuscleInspector.cs deleted file mode 100644 index 181fa3e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/MuscleInspector.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - - -namespace UniHumanoid -{ - public class MuscleInspector : MonoBehaviour - { - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/MuscleInspector.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/MuscleInspector.cs.meta deleted file mode 100644 index e952b54..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/MuscleInspector.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: d2cc8a27b7978e54d9226bc91e53a502 -timeCreated: 1541840537 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/Skeleton.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/Skeleton.cs deleted file mode 100644 index 724b3d3..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/Skeleton.cs +++ /dev/null @@ -1,92 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; - - -namespace UniHumanoid -{ - /// - /// Mapping HumanBodyBones to BoneIndex - /// - public struct Skeleton - { - Dictionary m_indexMap; - public Dictionary Bones - { - get { return m_indexMap; } - } - public int GetBoneIndex(HumanBodyBones bone) - { - int index; - if (m_indexMap.TryGetValue(bone, out index)) - { - return index; - } - else - { - return -1; - } - } - -#if UNITY_EDITOR - /// - /// For UnitTest - /// - Dictionary m_nameMap; - /// - /// ForTest - /// - /// - /// - public string GetBoneName(HumanBodyBones bone) - { - string name; - if (m_nameMap.TryGetValue(bone, out name)) - { - return name; - } - else - { - return null; - } - } -#endif - - public static Skeleton Estimate(Transform hips) - { - var estimater = new BvhSkeletonEstimator(); - return estimater.Detect(hips); - } - - /// - /// Register bone's HumanBodyBones - /// - /// - /// - /// - public void Set(HumanBodyBones bone, IList bones, IBone b) - { - if (b != null) - { - Set(bone, bones.IndexOf(b), b.Name); - } - } - - public void Set(HumanBodyBones bone, int index, string name) - { - if (m_indexMap == null) - { - m_indexMap = new Dictionary(); - } - m_indexMap[bone] = index; - -#if UNITY_EDITOR - if (m_nameMap == null) - { - m_nameMap = new Dictionary(); - } - m_nameMap[bone] = name; -#endif - } - - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/Skeleton.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/Skeleton.cs.meta deleted file mode 100644 index 292da5e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/Skeleton.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 883d8b6e07cbda24384ce65d613d128e -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/SkeletonEstimator.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/SkeletonEstimator.cs deleted file mode 100644 index 850212e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/SkeletonEstimator.cs +++ /dev/null @@ -1,244 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using UnityEngine; - - -namespace UniHumanoid -{ - public interface ISkeletonDetector - { - Skeleton Detect(IList bones); - } - - - public class BvhSkeletonEstimator : ISkeletonDetector - { - static IBone GetRoot(IList bones) - { - var hips = bones.Where(x => x.Parent == null).ToArray(); - if (hips.Length != 1) - { - throw new System.Exception("Require unique root"); - } - return hips[0]; - } - - static IBone SelectBone(Func selector, IList bones) - { - if (bones == null || bones.Count == 0) throw new Exception("no bones"); - var current = bones[0]; - for (var i = 1; i < bones.Count; ++i) - { - current = selector(current, bones[i]); - } - return current; - } - - static void GetSpineAndHips(IBone hips, out IBone spine, out IBone leg_L, out IBone leg_R) - { - if (hips.Children.Count != 3) throw new System.Exception("Hips require 3 children"); - spine = SelectBone((l, r) => l.CenterOfDescendant().y > r.CenterOfDescendant().y ? l : r, hips.Children); - leg_L = SelectBone((l, r) => l.CenterOfDescendant().x < r.CenterOfDescendant().x ? l : r, hips.Children); - leg_R = SelectBone((l, r) => l.CenterOfDescendant().x > r.CenterOfDescendant().x ? l : r, hips.Children); - } - - static void GetNeckAndArms(IBone chest, out IBone neck, out IBone arm_L, out IBone arm_R) - { - if (chest.Children.Count != 3) throw new System.Exception("Chest require 3 children"); - neck = SelectBone((l, r) => l.CenterOfDescendant().y > r.CenterOfDescendant().y ? l : r, chest.Children); - arm_L = SelectBone((l, r) => l.CenterOfDescendant().x < r.CenterOfDescendant().x ? l : r, chest.Children); - arm_R = SelectBone((l, r) => l.CenterOfDescendant().x > r.CenterOfDescendant().x ? l : r, chest.Children); - } - - struct Arm - { - public IBone Shoulder; - public IBone UpperArm; - public IBone LowerArm; - public IBone Hand; - } - - Arm GetArm(IBone shoulder) - { - var bones = shoulder.Traverse().ToArray(); - switch (bones.Length) - { - case 0: - case 1: - case 2: - case 3: - throw new NotImplementedException(); - - default: - return new Arm - { - Shoulder = bones[0], - UpperArm = bones[1], - LowerArm = bones[2], - Hand = bones[3], - }; - } - } - - struct Leg - { - public IBone UpperLeg; - public IBone LowerLeg; - public IBone Foot; - public IBone Toes; - } - - Leg GetLeg(IBone leg) - { - var bones = leg.Traverse().Where(x => !x.Name.ToLower().Contains("buttock")).ToArray(); - switch (bones.Length) - { - case 0: - case 1: - case 2: - throw new NotImplementedException(); - - case 3: - return new Leg - { - UpperLeg = bones[0], - LowerLeg = bones[1], - Foot = bones[2], - }; - - default: - return new Leg - { - UpperLeg = bones[bones.Length - 4], - LowerLeg = bones[bones.Length - 3], - Foot = bones[bones.Length - 2], - Toes = bones[bones.Length - 1], - }; - } - } - - public Skeleton Detect(IList bones) - { - // - // search bones - // - var root = GetRoot(bones); - var hips = root.Traverse().First(x => x.Children.Count == 3); - - IBone spine, hip_L, hip_R; - GetSpineAndHips(hips, out spine, out hip_L, out hip_R); - var legLeft = GetLeg(hip_L); - var legRight = GetLeg(hip_R); - - var spineToChest = new List(); - foreach(var x in spine.Traverse()) - { - spineToChest.Add(x); - if (x.Children.Count == 3) break; - } - - IBone neck, shoulder_L, shoulder_R; - GetNeckAndArms(spineToChest.Last(), out neck, out shoulder_L, out shoulder_R); - var armLeft = GetArm(shoulder_L); - var armRight = GetArm(shoulder_R); - - var neckToHead = neck.Traverse().ToArray(); - - // - // set result - // - var skeleton = new Skeleton(); - skeleton.Set(HumanBodyBones.Hips, bones, hips); - - switch (spineToChest.Count) - { - case 0: - throw new Exception(); - - case 1: - skeleton.Set(HumanBodyBones.Spine, bones, spineToChest[0]); - break; - - case 2: - skeleton.Set(HumanBodyBones.Spine, bones, spineToChest[0]); - skeleton.Set(HumanBodyBones.Chest, bones, spineToChest[1]); - break; - -#if UNITY_5_6_OR_NEWER - case 3: - skeleton.Set(HumanBodyBones.Spine, bones, spineToChest[0]); - skeleton.Set(HumanBodyBones.Chest, bones, spineToChest[1]); - skeleton.Set(HumanBodyBones.UpperChest, bones, spineToChest[2]); - break; -#endif - - default: - skeleton.Set(HumanBodyBones.Spine, bones, spineToChest[0]); -#if UNITY_5_6_OR_NEWER - skeleton.Set(HumanBodyBones.Chest, bones, spineToChest[1]); - skeleton.Set(HumanBodyBones.UpperChest, bones, spineToChest.Last()); -#else - skeleton.Set(HumanBodyBones.Chest, bones, spineToChest.Last()); -#endif - break; - } - - switch (neckToHead.Length) - { - case 0: - throw new Exception(); - - case 1: - skeleton.Set(HumanBodyBones.Head, bones, neckToHead[0]); - break; - - case 2: - skeleton.Set(HumanBodyBones.Neck, bones, neckToHead[0]); - skeleton.Set(HumanBodyBones.Head, bones, neckToHead[1]); - break; - - default: - skeleton.Set(HumanBodyBones.Neck, bones, neckToHead[0]); - skeleton.Set(HumanBodyBones.Head, bones, neckToHead.Where(x => x.Parent.Children.Count==1).Last()); - break; - } - - skeleton.Set(HumanBodyBones.LeftUpperLeg, bones, legLeft.UpperLeg); - skeleton.Set(HumanBodyBones.LeftLowerLeg, bones, legLeft.LowerLeg); - skeleton.Set(HumanBodyBones.LeftFoot, bones, legLeft.Foot); - skeleton.Set(HumanBodyBones.LeftToes, bones, legLeft.Toes); - - skeleton.Set(HumanBodyBones.RightUpperLeg, bones, legRight.UpperLeg); - skeleton.Set(HumanBodyBones.RightLowerLeg, bones, legRight.LowerLeg); - skeleton.Set(HumanBodyBones.RightFoot, bones, legRight.Foot); - skeleton.Set(HumanBodyBones.RightToes, bones, legRight.Toes); - - skeleton.Set(HumanBodyBones.LeftShoulder, bones, armLeft.Shoulder); - skeleton.Set(HumanBodyBones.LeftUpperArm, bones, armLeft.UpperArm); - skeleton.Set(HumanBodyBones.LeftLowerArm, bones, armLeft.LowerArm); - skeleton.Set(HumanBodyBones.LeftHand, bones, armLeft.Hand); - - skeleton.Set(HumanBodyBones.RightShoulder, bones, armRight.Shoulder); - skeleton.Set(HumanBodyBones.RightUpperArm, bones, armRight.UpperArm); - skeleton.Set(HumanBodyBones.RightLowerArm, bones, armRight.LowerArm); - skeleton.Set(HumanBodyBones.RightHand, bones, armRight.Hand); - - return skeleton; - } - - public Skeleton Detect(Bvh bvh) - { - var root = new BvhBone(bvh.Root.Name, Vector3.zero); - root.Build(bvh.Root); - return Detect(root.Traverse().Select(x => (IBone)x).ToList()); - } - - public Skeleton Detect(Transform t) - { - var root = new BvhBone(t.name, Vector3.zero); - root.Build(t); - return Detect(root.Traverse().Select(x => (IBone)x).ToList()); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/SkeletonEstimator.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/SkeletonEstimator.cs.meta deleted file mode 100644 index 6969f98..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/SkeletonEstimator.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 4f0d2728cd7343f4ab2e7f7c2b961d5c -timeCreated: 1534751085 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/SkeletonMeshUtility.cs b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/SkeletonMeshUtility.cs deleted file mode 100644 index 56da956..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/SkeletonMeshUtility.cs +++ /dev/null @@ -1,232 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using UnityEngine; - - -namespace UniHumanoid -{ - public static class SkeletonMeshUtility - { - class MeshBuilder - { - List m_positioins = new List(); - List m_indices = new List(); - List m_boneWeights = new List(); - - public void AddBone(Vector3 head, Vector3 tail, int boneIndex, float xWidth, float zWidth) - { - var dir = (tail - head).normalized; - Vector3 xaxis; - Vector3 zaxis; - if (Vector3.Dot(dir, Vector3.forward) >= 1.0f - float.Epsilon) - { - xaxis = Vector3.right; - zaxis = Vector3.down; - } - else - { - xaxis = Vector3.Cross(dir, Vector3.forward).normalized; - zaxis = Vector3.forward; - } - AddBox((head+tail)*0.5f, - xaxis*xWidth, - (tail-head)*0.5f, - zaxis*zWidth, - boneIndex); - } - - void AddBox(Vector3 center, Vector3 xaxis, Vector3 yaxis, Vector3 zaxis, int boneIndex) - { - AddQuad( - center - yaxis - xaxis - zaxis, - center - yaxis + xaxis - zaxis, - center - yaxis + xaxis + zaxis, - center - yaxis - xaxis + zaxis, - boneIndex); - AddQuad( - center + yaxis - xaxis - zaxis, - center + yaxis + xaxis - zaxis, - center + yaxis + xaxis + zaxis, - center + yaxis - xaxis + zaxis, - boneIndex, true); - AddQuad( - center - xaxis - yaxis - zaxis, - center - xaxis + yaxis - zaxis, - center - xaxis + yaxis + zaxis, - center - xaxis - yaxis + zaxis, - boneIndex, true); - AddQuad( - center + xaxis - yaxis - zaxis, - center + xaxis + yaxis - zaxis, - center + xaxis + yaxis + zaxis, - center + xaxis - yaxis + zaxis, - boneIndex); - AddQuad( - center - zaxis - xaxis - yaxis, - center - zaxis + xaxis - yaxis, - center - zaxis + xaxis + yaxis, - center - zaxis - xaxis + yaxis, - boneIndex, true); - AddQuad( - center + zaxis - xaxis - yaxis, - center + zaxis + xaxis - yaxis, - center + zaxis + xaxis + yaxis, - center + zaxis - xaxis + yaxis, - boneIndex); - } - - void AddQuad(Vector3 v0, Vector3 v1, Vector3 v2, Vector3 v3, int boneIndex, bool reverse=false) - { - var i = m_positioins.Count; - m_positioins.Add(v0); - m_positioins.Add(v1); - m_positioins.Add(v2); - m_positioins.Add(v3); - - var bw = new BoneWeight - { - boneIndex0=boneIndex, - weight0=1.0f, - }; - m_boneWeights.Add(bw); - m_boneWeights.Add(bw); - m_boneWeights.Add(bw); - m_boneWeights.Add(bw); - - if (reverse) - { - m_indices.Add(i + 3); - m_indices.Add(i + 2); - m_indices.Add(i + 1); - - m_indices.Add(i + 1); - m_indices.Add(i); - m_indices.Add(i + 3); - } - else - { - m_indices.Add(i); - m_indices.Add(i + 1); - m_indices.Add(i + 2); - - m_indices.Add(i + 2); - m_indices.Add(i + 3); - m_indices.Add(i); - } - } - - public Mesh CreateMesh() - { - var mesh = new Mesh(); - mesh.SetVertices(m_positioins); - mesh.boneWeights = m_boneWeights.ToArray(); - mesh.triangles = m_indices.ToArray(); - mesh.RecalculateNormals(); - mesh.RecalculateBounds(); - return mesh; - } - } - - struct BoneHeadTail - { - public HumanBodyBones Head; - public HumanBodyBones Tail; - public Vector3 TailOffset; - public float XWidth; - public float ZWidth; - - public BoneHeadTail(HumanBodyBones head, HumanBodyBones tail, float xWidth = 0.05f, float zWidth = 0.05f) - { - Head = head; - Tail = tail; - TailOffset = Vector3.zero; - XWidth = xWidth; - ZWidth = zWidth; - } - - public BoneHeadTail(HumanBodyBones head, Vector3 tailOffset, float xWidth = 0.05f, float zWidth = 0.05f) - { - Head = head; - Tail = HumanBodyBones.LastBone; - TailOffset = tailOffset; - XWidth = xWidth; - ZWidth = zWidth; - } - } - - static BoneHeadTail[] Bones = new BoneHeadTail[] - { - new BoneHeadTail(HumanBodyBones.Hips, HumanBodyBones.Spine, 0.1f, 0.06f), - new BoneHeadTail(HumanBodyBones.Spine, HumanBodyBones.Chest), - new BoneHeadTail(HumanBodyBones.Chest, HumanBodyBones.Neck, 0.1f, 0.06f), - new BoneHeadTail(HumanBodyBones.Neck, HumanBodyBones.Head, 0.03f, 0.03f), - new BoneHeadTail(HumanBodyBones.Head, new Vector3(0, 0.1f, 0), 0.1f, 0.1f), - - new BoneHeadTail(HumanBodyBones.LeftShoulder, HumanBodyBones.LeftUpperArm), - new BoneHeadTail(HumanBodyBones.LeftUpperArm, HumanBodyBones.LeftLowerArm), - new BoneHeadTail(HumanBodyBones.LeftLowerArm, HumanBodyBones.LeftHand), - new BoneHeadTail(HumanBodyBones.LeftHand, new Vector3(-0.1f, 0, 0)), - - new BoneHeadTail(HumanBodyBones.LeftUpperLeg, HumanBodyBones.LeftLowerLeg), - new BoneHeadTail(HumanBodyBones.LeftLowerLeg, HumanBodyBones.LeftFoot), - new BoneHeadTail(HumanBodyBones.LeftFoot, HumanBodyBones.LeftToes), - new BoneHeadTail(HumanBodyBones.LeftToes, new Vector3(0, 0, 0.1f)), - - new BoneHeadTail(HumanBodyBones.RightShoulder, HumanBodyBones.RightUpperArm), - new BoneHeadTail(HumanBodyBones.RightUpperArm, HumanBodyBones.RightLowerArm), - new BoneHeadTail(HumanBodyBones.RightLowerArm, HumanBodyBones.RightHand), - new BoneHeadTail(HumanBodyBones.RightHand, new Vector3(0.1f, 0, 0)), - - new BoneHeadTail(HumanBodyBones.RightUpperLeg, HumanBodyBones.RightLowerLeg), - new BoneHeadTail(HumanBodyBones.RightLowerLeg, HumanBodyBones.RightFoot), - new BoneHeadTail(HumanBodyBones.RightFoot, HumanBodyBones.RightToes), - new BoneHeadTail(HumanBodyBones.RightToes, new Vector3(0, 0, 0.1f)), - }; - - public static SkinnedMeshRenderer CreateRenderer(Animator animator) - { - //var bodyBones = (HumanBodyBones[])Enum.GetValues(typeof(HumanBodyBones)); - var bones = animator.transform.Traverse().ToList(); - - var builder = new MeshBuilder(); - foreach(var headTail in Bones) - { - var head = animator.GetBoneTransform(headTail.Head); - if (head!=null) - { - Transform tail = null; - if(headTail.Tail!= HumanBodyBones.LastBone) - { - tail = animator.GetBoneTransform(headTail.Tail); - } - - if (tail != null) - { - builder.AddBone(head.position, tail.position, bones.IndexOf(head), headTail.XWidth, headTail.ZWidth); - } - else - { - builder.AddBone(head.position, head.position + headTail.TailOffset, bones.IndexOf(head), headTail.XWidth, headTail.ZWidth); - } - } - else - { - Debug.LogWarningFormat("{0} not found", headTail.Head); - } - } - - var mesh = builder.CreateMesh(); - mesh.name = "box-man"; - mesh.bindposes = bones.Select(x => - x.worldToLocalMatrix * animator.transform.localToWorldMatrix).ToArray(); - var renderer = animator.gameObject.AddComponent(); - renderer.bones = bones.ToArray(); - renderer.rootBone = animator.GetBoneTransform(HumanBodyBones.Hips); - renderer.sharedMesh = mesh; - //var bounds = new Bounds(Vector3.zero, mesh.bounds.size); - //renderer.localBounds = bounds; - return renderer; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/SkeletonMeshUtility.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/SkeletonMeshUtility.cs.meta deleted file mode 100644 index a3cf312..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniHumanoid/Scripts/SkeletonMeshUtility.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 92bf6005e8d6db94b8b55c67caea9ddd -timeCreated: 1522346056 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON.meta deleted file mode 100644 index 4dfcd59..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: cbb578f925676d9488206ed39b2ac7a2 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor.meta deleted file mode 100644 index ec2cfd2..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 2d84247690fb9c247aae785859a73d42 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests.meta deleted file mode 100644 index 4a03461..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0f666dec702594440b2a3efd7903b49d -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/GenericCallUtilityTests.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/GenericCallUtilityTests.cs deleted file mode 100644 index a27c4a4..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/GenericCallUtilityTests.cs +++ /dev/null @@ -1,60 +0,0 @@ -using UnityEngine; -using NUnit.Framework; -using System.Collections; -using System; - - -namespace UniJSON -{ - public class GenericCallUtilityTests - { - class Sample - { - public int Value - { - get; - private set; - } - - public void Set(int value) - { - Value = value; - } - - public int Get(int _) - { - return Value; - } - } - - - - [Test] - public void GenericCallUtilityTestsSimplePasses() - { - var s = new Sample(); - - - { - var mi = s.GetType().GetMethod("Set"); - var action = GenericInvokeCallFactory.OpenAction(mi); - action(s, 1); - Assert.AreEqual(1, s.Value); - } - - { - var mi = s.GetType().GetMethod("Get"); - var func = GenericInvokeCallFactory.OpenFunc(mi); - /*var value =*/ func(s, 1); - Assert.AreEqual(1, s.Value); - } - - { - var mi = s.GetType().GetMethod("Set"); - var action = GenericExpressionCallFactory.Create(mi); - action(s, 2); - Assert.AreEqual(2, s.Value); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/GenericCallUtilityTests.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/GenericCallUtilityTests.cs.meta deleted file mode 100644 index f581604..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/GenericCallUtilityTests.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 961cb5c87e54b5d4685e7447783259e7 -timeCreated: 1548657517 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/IWriteStreamTest.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/IWriteStreamTest.cs deleted file mode 100644 index 12ae957..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/IWriteStreamTest.cs +++ /dev/null @@ -1,44 +0,0 @@ -using NUnit.Framework; -using UniJSON; -using System.Linq; -using System.Text; -using System; - -namespace UniJSON -{ - public class StoreTests - { - [Test] - public void StringBuilderStoreTest() - { - var sb = new StringBuilder(); - var stream = new StringBuilderStore(sb); - - stream.Write("abc"); - Assert.AreEqual("abc", sb.ToString()); - - stream.Write("d"); - Assert.AreEqual("abcd", sb.ToString()); - - stream.Clear(); - stream.Write("e"); - Assert.AreEqual("e", sb.ToString()); - } - - [Test] - public void ArrayStoreTest() - { - var store = new BytesStore(1); - - store.WriteValues(1, 2, 3); - Assert.True(new Byte[] { 1, 2, 3 }.SequenceEqual(store.Bytes.ToEnumerable())); - - store.Write(4); - Assert.True(new Byte[] { 1, 2, 3, 4 }.SequenceEqual(store.Bytes.ToEnumerable())); - - store.Clear(); - store.Write(5); - Assert.True(new Byte[] { 5 }.SequenceEqual(store.Bytes.ToEnumerable())); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/IWriteStreamTest.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/IWriteStreamTest.cs.meta deleted file mode 100644 index 9b0920c..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/IWriteStreamTest.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: bda1e03d682e63749a6b114fd6cc0add -timeCreated: 1495517080 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json.meta deleted file mode 100644 index edeebdd..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: dcfd23f400cdcb042805dd04eafc2ef7 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonDiffTests.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonDiffTests.cs deleted file mode 100644 index bdb0186..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonDiffTests.cs +++ /dev/null @@ -1,71 +0,0 @@ -using NUnit.Framework; -using System.Linq; - - -namespace UniJSON -{ - public class JsonDiffTests - { - [Test] - public void PathTest() - { - var json=@" -{ - ""a"": [ - { - ""aa"": 1 - } - ] -} -"; - var root = JsonParser.Parse(json); - - { - var it = root.Traverse().GetEnumerator(); - it.MoveNext(); Assert.AreEqual("/", it.Current.Pointer().ToString()); - it.MoveNext(); Assert.AreEqual("/a", it.Current.Pointer().ToString()); - it.MoveNext(); Assert.AreEqual("/a/0", it.Current.Pointer().ToString()); - it.MoveNext(); Assert.AreEqual("/a/0/aa", it.Current.Pointer().ToString()); - Assert.False(it.MoveNext()); - } - - { - var it = root.Traverse().GetEnumerator(); - - var f = new JsonFormatter(); - f.Serialize("JsonPath"); - - root.SetValue(Utf8String.From("/a"), f.GetStoreBytes()); - it.MoveNext(); Assert.AreEqual("/", it.Current.Pointer().ToString()); - it.MoveNext(); Assert.AreEqual("/a", it.Current.Pointer().ToString()); - Assert.False(it.MoveNext()); - } - } - - [Test] - public void DiffTest() - { - var a = @"{ -""a"": 1 -}"; - - var b = @"{ -}"; - - var diff = JsonParser.Parse(a).Diff(JsonParser.Parse(b)).ToArray(); - Assert.AreEqual(1, diff.Length); - } - -#if UNITY_EDITOR - [Test] - public void Vector3() - { - var src = new UnityEngine.Vector3(1, 2, 3); - var json = UnityEngine.JsonUtility.ToJson(src); - Assert.AreEqual("{\"x\":1.0,\"y\":2.0,\"z\":3.0}", json); - var dst = UnityEngine.JsonUtility.FromJson(json); - Assert.AreEqual(src, dst); - } -#endif - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonDiffTests.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonDiffTests.cs.meta deleted file mode 100644 index 4339609..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonDiffTests.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: bafda51ddeeb2b84b920b119176499b8 -timeCreated: 1532154188 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonFormatterTest.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonFormatterTest.cs deleted file mode 100644 index d8fcc52..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonFormatterTest.cs +++ /dev/null @@ -1,58 +0,0 @@ -using NUnit.Framework; -using UnityEngine; -using System.Linq; -using System.Text; - -namespace UniJSON -{ - public class JsonFormatterTests - { - [Test] - public void IndentTest() - { - var formatter = new JsonFormatter(2); - formatter.BeginMap(); - formatter.Key("a"); formatter.Value(1); - formatter.EndMap(); - - //var json = formatter.ToString(); - } - - [Test] - public void NullTest() - { - var bytes = Encoding.UTF8.GetBytes("null"); - var json = new JsonFormatter(); - json.Null(); - Assert.True(json.GetStoreBytes().ToEnumerable().SequenceEqual(bytes)); - } - - [Test] - public void BooleanTest() - { - { - var bytes = Encoding.UTF8.GetBytes("true"); - var json = new JsonFormatter(); - json.Value(true); - Assert.True(json.GetStoreBytes().ToEnumerable().SequenceEqual(bytes)); - } - { - var bytes = Encoding.UTF8.GetBytes("false"); - var json = new JsonFormatter(); - json.Value(false); - Assert.True(json.GetStoreBytes().ToEnumerable().SequenceEqual(bytes)); - } - } - - [Test] - public void ReUseFormatter() - { - IFormatter f = new JsonFormatter(); - f.Value(1); - - f.Clear(); - // fail - f.Value(2); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonFormatterTest.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonFormatterTest.cs.meta deleted file mode 100644 index af3a70f..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonFormatterTest.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 3defb263d8925164683447a978248b1d -timeCreated: 1533569416 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonParserTest.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonParserTest.cs deleted file mode 100644 index 34da625..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonParserTest.cs +++ /dev/null @@ -1,354 +0,0 @@ -using NUnit.Framework; -using System; -using System.Linq; - - -namespace UniJSON -{ - public class JsonParserTest - { - [Test] - public void Tests() - { - { - var result = JsonParser.Parse("1"); - Assert.AreEqual(1, result.GetInt32()); - } - - { - var result = JsonParser.Parse("{ \"a\": { \"b\": 1 }}"); - Assert.True(result.ContainsKey("a")); - } - } - - [Test] - public void NullTest() - { - { - var node = JsonParser.Parse("null"); - Assert.AreEqual(0, node.Value.Bytes.Offset); - Assert.AreEqual(4, node.Value.Bytes.Count); - Assert.True(node.IsNull()); - } - } - - [Test] - public void BooleanTest() - { - { - var node = JsonParser.Parse("true"); - Assert.AreEqual(0, node.Value.Bytes.Offset); - Assert.AreEqual(4, node.Value.Bytes.Count); - Assert.True(node.IsBoolean()); - Assert.AreEqual(true, node.GetBoolean()); - Assert.Catch(typeof(FormatException), () => node.GetDouble()); - } - { - var node = JsonParser.Parse(" false "); - Assert.AreEqual(1, node.Value.Bytes.Offset); - Assert.AreEqual(5, node.Value.Bytes.Count); - Assert.True(node.IsBoolean()); - Assert.AreEqual(false, node.GetBoolean()); - } - } - - [Test] - public void NumberTest() - { - { - var node = JsonParser.Parse("1"); - Assert.AreEqual(0, node.Value.Bytes.Offset); - Assert.AreEqual(1, node.Value.Bytes.Count); - Assert.True(node.IsInteger()); - Assert.AreEqual(1, (int)node.GetDouble()); - Assert.Catch(typeof(DeserializationException), () => node.GetBoolean()); - } - { - var node = JsonParser.Parse(" 22 "); - Assert.AreEqual(1, node.Value.Bytes.Offset); - Assert.AreEqual(2, node.Value.Bytes.Count); - Assert.True(node.IsInteger()); - Assert.AreEqual(22, (int)node.GetDouble()); - } - { - var node = JsonParser.Parse(" 3.3 "); - Assert.AreEqual(1, node.Value.Bytes.Offset); - Assert.AreEqual(3, node.Value.Bytes.Count); - Assert.True(node.IsFloat()); - Assert.AreEqual(3, (int)node.GetDouble()); - Assert.AreEqual(3.3f, (float)node.GetDouble()); - } - { - var node = JsonParser.Parse(" -4.44444444444444444444 "); - Assert.True(node.IsFloat()); - Assert.AreEqual(-4, (int)node.GetDouble()); - Assert.AreEqual(-4.44444444444444444444, node.GetDouble()); - } - { - var node = JsonParser.Parse(" -5e-4 "); - Assert.True(node.IsFloat()); - Assert.AreEqual(0, (int)node.GetDouble()); - Assert.AreEqual(-5e-4, node.GetDouble()); - } - { - var node = JsonParser.Parse("NaN"); - Assert.True(node.IsFloat()); - Assert.AreEqual(Double.NaN, node.GetDouble()); - } - { - var node = JsonParser.Parse("Infinity"); - Assert.True(node.IsFloat()); - Assert.AreEqual(Double.PositiveInfinity, node.GetDouble()); - } - { - var node = JsonParser.Parse("-Infinity"); - Assert.True(node.IsFloat()); - Assert.AreEqual(Double.NegativeInfinity, node.GetDouble()); - } - } - - [Test] - public void StringTest() - { - { - var value = "hoge"; - var quoted = "\"hoge\""; - Assert.AreEqual(quoted, JsonString.Quote(value)); - var node = JsonParser.Parse(quoted); - Assert.AreEqual(0, node.Value.Bytes.Offset); - Assert.AreEqual(quoted.Length, node.Value.Bytes.Count); - Assert.True(node.IsString()); - Assert.AreEqual("hoge", node.GetString()); - } - - { - var value = "fuga\n hoge"; - var quoted = "\"fuga\\n hoge\""; - Assert.AreEqual(quoted, JsonString.Quote(value)); - var node = JsonParser.Parse(quoted); - Assert.AreEqual(0, node.Value.Bytes.Offset); - Assert.AreEqual(quoted.Length, node.Value.Bytes.Count); - Assert.True(node.IsString()); - Assert.AreEqual(value, node.GetString()); - } - } - - [Test] - public void StringEscapeTest() - { - { - var value = "\""; - var escaped = "\\\""; - Assert.AreEqual(escaped, JsonString.Escape(value)); - Assert.AreEqual(value, JsonString.Unescape(escaped)); - } - { - var value = "\\"; - var escaped = "\\\\"; - Assert.AreEqual(escaped, JsonString.Escape(value)); - Assert.AreEqual(value, JsonString.Unescape(escaped)); - } - { - var value = "/"; - var escaped = "\\/"; - Assert.AreEqual(escaped, JsonString.Escape(value)); - Assert.AreEqual(value, JsonString.Unescape(escaped)); - } - { - var value = "\b"; - var escaped = "\\b"; - Assert.AreEqual(escaped, JsonString.Escape(value)); - Assert.AreEqual(value, JsonString.Unescape(escaped)); - } - { - var value = "\f"; - var escaped = "\\f"; - Assert.AreEqual(escaped, JsonString.Escape(value)); - Assert.AreEqual(value, JsonString.Unescape(escaped)); - } - { - var value = "\n"; - var escaped = "\\n"; - Assert.AreEqual(escaped, JsonString.Escape(value)); - Assert.AreEqual(value, JsonString.Unescape(escaped)); - } - { - var value = "\r"; - var escaped = "\\r"; - Assert.AreEqual(escaped, JsonString.Escape(value)); - Assert.AreEqual(value, JsonString.Unescape(escaped)); - } - { - var value = "\t"; - var escaped = "\\t"; - Assert.AreEqual(escaped, JsonString.Escape(value)); - Assert.AreEqual(value, JsonString.Unescape(escaped)); - } - } - - [Test] - public void ObjectTest() - { - { - var json = "{}"; - var node = JsonParser.Parse(json); - Assert.AreEqual(0, node.Value.Bytes.Offset); - - Assert.AreEqual(2, node.Value.Bytes.Count); - - Assert.True(node.IsMap()); - Assert.AreEqual(0, node.ObjectItems().Count()); - } - - { - var json = "{\"key\":\"value\"}"; - var node = JsonParser.Parse(json); - Assert.AreEqual(0, node.Value.Bytes.Offset); - Assert.AreEqual(json.Length, node.Value.Bytes.Count); - Assert.True(node.IsMap()); - - var it = node.ObjectItems().GetEnumerator(); - - Assert.IsTrue(it.MoveNext()); - Assert.AreEqual("key", it.Current.Key.GetString()); - Assert.AreEqual("value", it.Current.Value.GetString()); - - Assert.IsFalse(it.MoveNext()); - } - - { - var json = "{\"key\":\"value\"}"; - var node = JsonParser.Parse(json); - Assert.AreEqual(0, node.Value.Bytes.Offset); - Assert.AreEqual(json.Length, node.Value.Bytes.Count); - Assert.True(node.IsMap()); - - var it = node.ObjectItems().GetEnumerator(); - - Assert.IsTrue(it.MoveNext()); - Assert.AreEqual("key", it.Current.Key.GetString()); - Assert.AreEqual("value", it.Current.Value.GetString()); - - Assert.IsFalse(it.MoveNext()); - } - } - - [Test] - public void NestedObjectTest() - { - { - var json = "{\"key\":{ \"nestedKey\": \"nestedValue\" }, \"key2\": { \"nestedKey2\": \"nestedValue2\" } }"; - var node = JsonParser.Parse(json); - Assert.True(node.IsMap()); - - { - var it = node.ObjectItems().GetEnumerator(); - - Assert.IsTrue(it.MoveNext()); - Assert.AreEqual("key", it.Current.Key.GetString()); - Assert.True(it.Current.Value.IsMap()); - - Assert.IsTrue(it.MoveNext()); - Assert.AreEqual("key2", it.Current.Key.GetString()); - Assert.True(it.Current.Value.IsMap()); - - Assert.IsFalse(it.MoveNext()); - } - - var nested = node["key2"]; - - { - var it = nested.ObjectItems().GetEnumerator(); - - Assert.IsTrue(it.MoveNext()); - Assert.AreEqual("nestedKey2", it.Current.Key.GetString()); - Assert.AreEqual("nestedValue2", it.Current.Value.GetString()); - - Assert.IsFalse(it.MoveNext()); - } - - Assert.AreEqual("nestedValue2", node["key2"]["nestedKey2"].GetString()); - } - } - - [Test] - public void ArrayTest() - { - { - var json = "[]"; - var node = JsonParser.Parse(json); - Assert.AreEqual(0, node.Value.Bytes.Offset); - - //Assert.Catch(() => { var result = node.Value.Bytes.Count; }, "raise exception"); - Assert.AreEqual(2, node.Value.Bytes.Count); - - Assert.True(node.IsArray()); - - Assert.AreEqual("[\n]", node.ToString(" ")); - } - - { - var json = "[1,2,3]"; - var node = JsonParser.Parse(json); - Assert.AreEqual(0, node.Value.Bytes.Offset); - - //Assert.Catch(() => { var result = node.Value.Bytes.Count; }, "raise exception"); - - Assert.True(node.IsArray()); - Assert.AreEqual(1, node[0].GetDouble()); - Assert.AreEqual(2, node[1].GetDouble()); - Assert.AreEqual(3, node[2].GetDouble()); - - Assert.AreEqual("[\n 1,\n 2,\n 3\n]", node.ToString(" ")); - } - - { - var json = "[\"key\",1]"; - var node = JsonParser.Parse(json); - Assert.AreEqual(0, node.Value.Bytes.Offset); - - //Assert.Catch(() => { var result = node.Value.Bytes.Count; }, "raise exception"); - Assert.AreEqual(json.Length, node.Value.Bytes.Count); - - Assert.True(node.IsArray()); - - var it = node.ArrayItems().GetEnumerator(); - - Assert.IsTrue(it.MoveNext()); - Assert.AreEqual("key", it.Current.GetString()); - - Assert.IsTrue(it.MoveNext()); - Assert.AreEqual(1, it.Current.GetDouble()); - - Assert.IsFalse(it.MoveNext()); - - Assert.AreEqual("key", node[0].GetString()); - Assert.AreEqual(1, node[1].GetDouble()); - - Assert.AreEqual("[\n \"key\",\n 1\n]", node.ToString(" ")); - } - } - - [Test] - public void ParseTest() - { - var json = "{"; - Assert.Catch(typeof(ParserException), () => JsonParser.Parse(json)); - } - - [Test] - public void Utf8Test() - { - JsonParser.Parse("\"5\""); - } - - [Test] - public void TimeTest() - { - var f = new JsonFormatter(); - f.Value(new DateTimeOffset()); - - Assert.AreEqual("\"0001-01-01T00:00:00Z\"", new Utf8String(f.GetStoreBytes()).ToString()); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonParserTest.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonParserTest.cs.meta deleted file mode 100644 index d5a14a0..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonParserTest.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 4af58e17f98c9a141b9fef25dabbd9ce -timeCreated: 1495517074 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonSerializerTests.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonSerializerTests.cs deleted file mode 100644 index 50d4aef..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonSerializerTests.cs +++ /dev/null @@ -1,155 +0,0 @@ -#pragma warning disable 0649 -using System; -using NUnit.Framework; -using System.Collections.Generic; - - -namespace UniJSON -{ - public class JsonSerializerTests - { - struct Point - { - public float X; - public float Y; - - public float[] Vector; - - public override string ToString() - { - return string.Format("{{X={0}, Y={1}, {2}}}", X, Y, Vector); - } - } - - enum HogeFuga - { - Hoge, - Fuga, - } - - struct EnumTest - { - public HogeFuga EnumDefault; - - [JsonSchema(EnumSerializationType =EnumSerializationType.AsInt)] - public HogeFuga EnumAsInt; - - [JsonSchema(EnumSerializationType = EnumSerializationType.AsString)] - public HogeFuga EnumAsString; - - [JsonSchema(EnumSerializationType = EnumSerializationType.AsLowerString)] - public HogeFuga EnumAsLowerString; - } - - #region Serializer - static void SerializeValue(T value, string json) - { - var b = new BytesStore(); - var f = new JsonFormatter(b); - - f.Serialize(value); - Assert.AreEqual(json, new Utf8String(b.Bytes).ToString()); - } - - [Test] - public void JsonSerializerTest() - { - SerializeValue(1, "1"); - SerializeValue(1.1f, "1.1"); - SerializeValue(1.2, "1.2"); - SerializeValue(Double.NaN, "NaN"); - SerializeValue(Double.PositiveInfinity, "Infinity"); - SerializeValue(Double.NegativeInfinity, "-Infinity"); - SerializeValue(true, "true"); - SerializeValue(false, "false"); - SerializeValue("ascii", "\"ascii\""); - - SerializeValue(new[] { 1 }, "[1]"); - SerializeValue(new[] { 1.1f }, "[1.1]"); - SerializeValue(new[] { 1.2 }, "[1.2]"); - SerializeValue(new[] { true, false }, "[true,false]"); - SerializeValue(new[] { "ascii" }, "[\"ascii\"]"); - SerializeValue(new List { 1 }, "[1]"); - //SerializeValue(new object[] { null, 1, "a" }, "[null,1,\"a\"]"); - - SerializeValue(new Dictionary { }, "{}"); - SerializeValue(new Dictionary { { "a", 1 } }, "{\"a\":1}"); - SerializeValue(new Dictionary { { "a", - new Dictionary{ - } } }, "{\"a\":{}}"); - - SerializeValue(new Point { X = 1 }, "{\"X\":1,\"Y\":0}"); - - SerializeValue(HogeFuga.Fuga, "1"); - - SerializeValue(new EnumTest(), "{\"EnumDefault\":0,\"EnumAsInt\":0,\"EnumAsString\":\"Hoge\",\"EnumAsLowerString\":\"hoge\"}"); - - SerializeValue((object)new Point { X = 1 }, "{\"X\":1,\"Y\":0}"); - } - - [Test] - public void KeyValue() - { - var p = new Point - { - X = 1, - Vector = new float[] { 1, 2, 3 } - }; - - var f = new JsonFormatter(); - f.BeginMap(); - f.KeyValue(() => p.Vector); - f.EndMap(); - - var json = JsonParser.Parse(new Utf8String(f.GetStoreBytes())); - - Assert.AreEqual(1, json.GetObjectCount()); - Assert.AreEqual(1, json["Vector"][0].GetInt32()); - } - - #endregion - - #region Deserialize - static void DeserializeValue(T value, string json) - { - var parsed = JsonParser.Parse(json); - - var t = default(T); - parsed.Deserialize(ref t); - - Assert.AreEqual(value, t); - } - - [Test] - public void JsonDeserializerTest() - { - DeserializeValue(1, "1"); - DeserializeValue(1.1f, "1.1"); - DeserializeValue(1.2, "1.2"); - DeserializeValue(true, "true"); - DeserializeValue(false, "false"); - DeserializeValue("ascii", "\"ascii\""); - - DeserializeValue(new[] { 1 }, "[1]"); - DeserializeValue(new[] { 1.1f }, "[1.1]"); - DeserializeValue(new[] { 1.2 }, "[1.2]"); - DeserializeValue(new[] { true, false }, "[true,false]"); - DeserializeValue(new[] { "ascii" }, "[\"ascii\"]"); - DeserializeValue(new List { 1 }, "[1]"); - //DeserializeValue(new object[] { null, 1, "a" }, "[null,1,\"a\"]"); - - DeserializeValue(new Dictionary { }, "{}"); - DeserializeValue(new Dictionary { { "a", 1 } }, "{\"a\":1}"); - DeserializeValue(new Dictionary { { "a", - new Dictionary{ - } } }, "{\"a\":{}}"); - - DeserializeValue(new Point { X = 1 }, "{\"X\":1,\"Y\":0}"); - - DeserializeValue(HogeFuga.Fuga, "1"); - - DeserializeValue(new EnumTest(), "{\"EnumDefault\":0,\"EnumAsInt\":0,\"EnumAsString\":\"Hoge\",\"EnumAsLowerString\":\"hoge\"}"); - } - #endregion - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonSerializerTests.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonSerializerTests.cs.meta deleted file mode 100644 index 2521c92..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonSerializerTests.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: b08b704c97f3bc54c8469f9f1822432d -timeCreated: 1543256597 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonValueTests.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonValueTests.cs deleted file mode 100644 index f34a140..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonValueTests.cs +++ /dev/null @@ -1,41 +0,0 @@ -using NUnit.Framework; -using System; -using System.Linq; - -namespace UniJSON -{ - public class JsonValueTests - { - // TODO: Add tests for values which have other types - - [Test] - public void NaNTest() - { - { - var v = new JsonValue(Utf8String.From("NaN"), ValueNodeType.NaN, -1); - Assert.AreEqual("NaN", v.ToString()); - Assert.AreEqual(Double.NaN, v.GetValue()); - } - } - - [Test] - public void InfinityTest() - { - { - var v = new JsonValue(Utf8String.From("Infinity"), ValueNodeType.Infinity, -1); - Assert.AreEqual("Infinity", v.ToString()); - Assert.AreEqual(Double.PositiveInfinity, v.GetValue()); - } - } - - [Test] - public void MinusInfinityTest() - { - { - var v = new JsonValue(Utf8String.From("-Infinity"), ValueNodeType.MinusInfinity, -1); - Assert.AreEqual("-Infinity", v.ToString()); - Assert.AreEqual(Double.NegativeInfinity, v.GetValue()); - } - } - } -} \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonValueTests.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonValueTests.cs.meta deleted file mode 100644 index 3844caf..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/JsonValueTests.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 1b0dfab85f59470d8cba21b351fa766b -timeCreated: 1545750553 \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/SchemaTests.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/SchemaTests.cs deleted file mode 100644 index 1f51b07..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/SchemaTests.cs +++ /dev/null @@ -1,150 +0,0 @@ -#pragma warning disable 0649 -using NUnit.Framework; - -namespace UniJSON -{ - public class SchemaTests - { - /// - /// http://json-schema.org/examples.html - /// - [JsonSchema(Title="Person")] - public class Person - { - [JsonSchema(Required = true)] - public string firstName; - - [JsonSchema(Required = true)] - public string lastName; - - [JsonSchema(Description = "Age in years", Minimum = 0)] - public int age; - } - - [Test] - public void CreateFromClass() - { - var s = JsonSchema.FromType(); - Assert.AreEqual("Person", s.Title); - - var v = s.Validator as JsonObjectValidator; - Assert.AreEqual("Age in years", v.Properties["age"].Description); - Assert.AreEqual(new[] { "firstName", "lastName" }, v.Required); - - var f = new JsonFormatter(2); - s.ToJson(f); - var json = f.ToString(); - - var parsed = JsonParser.Parse(json); - Assert.AreEqual(0, parsed["properties"]["age"]["minimum"].GetInt32()); - } - - [JsonSchema(Title="MultipleConstraints")] - public class MultipleConstraints - { - [JsonSchema(Required = true, Minimum = 0, Maximum = 100)] - public int ranged; - } - - [Test] - public void CreateFromClassWithMultipleConstraints() - { - var s = JsonSchema.FromType(); - - var v = s.Validator as JsonObjectValidator; - var rangedV = v.Properties["ranged"].Validator as JsonIntValidator; - Assert.AreEqual(0, rangedV.Minimum); - Assert.AreEqual(100, rangedV.Maximum); - } - - public enum ProjectionType - { - Perspective, - Orthographic - } - - class EnumStringTest - { - [JsonSchema(EnumSerializationType = EnumSerializationType.AsLowerString)] - public ProjectionType type; - } - - class EnumIntTest - { - [JsonSchema(EnumSerializationType = EnumSerializationType.AsInt)] - public ProjectionType type; - } - - [Test] - public void TestEnumAsString() - { - var json = @" -{ - ""type"": ""object"", - ""properties"": { - - ""type"": { - - ""anyOf"": [ - { - ""enum"": [ ""perspective"" ] - }, - { - ""enum"": [ ""orthographic"" ] - }, - { - ""type"": ""string"" - } - ] - - } - - } -} -"; - - var fromJson = new JsonSchema(); - fromJson.Parse(null, JsonParser.Parse(json), "enum test"); - - var fromType = JsonSchema.FromType(); - - Assert.AreEqual(fromJson, fromType); - } - - [Test] - public void TestEnumAsInt() - { - var json = @" -{ - ""type"": ""object"", - ""properties"": { - - ""type"": { - - ""anyOf"": [ - { - ""enum"": [ 0 ] - }, - { - ""enum"": [ 1 ] - }, - { - ""type"": ""integer"" - } - ] - - } - - } -} -"; - - var fromJson = new JsonSchema(); - fromJson.Parse(null, JsonParser.Parse(json), "enum test"); - - var fromType = JsonSchema.FromType(); - - Assert.AreEqual(fromJson, fromType); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/SchemaTests.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/SchemaTests.cs.meta deleted file mode 100644 index c11d56f..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/SchemaTests.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: d4dfd16b1b05c8640898b955df61c51b -timeCreated: 1526055801 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/SerializeWithSchemaTests.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/SerializeWithSchemaTests.cs deleted file mode 100644 index 1d02273..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/SerializeWithSchemaTests.cs +++ /dev/null @@ -1,200 +0,0 @@ -using NUnit.Framework; - -namespace UniJSON -{ - public class SerializeWithSchemaTests - { - [JsonSchema(Title="CheckConstraintsTest")] - public class CheckConstraintsTest - { - [JsonSchema(Minimum = 0)] - public int X; - - [JsonSchema(Minimum = 10, ExplicitIgnorableValue = 0)] // Not required, thus ignored when the value violates the constraints - public int Y; - } - - [Test] - public void TestCheckConstraints() - { - var obj = new CheckConstraintsTest() - { - X = 0, - Y = 0, // Will be excluded because 0 doesn't satisfy a requirement of "Minimum = 10" - }; - - var s = JsonSchema.FromType(); - { - var c = new JsonSchemaValidationContext(obj); - Assert.Null(s.Validator.Validate(c, s)); - } - var actual = s.Serialize(obj); - - var expected = @"{""X"":0}"; - - Assert.AreEqual(expected, actual); - } - - [JsonSchema(Title="ObjectNestedTest")] - public class ObjectNestedTest - { - public CheckConstraintsTest C; - } - - [Test] - public void TestObjectNested() - { - var obj = new ObjectNestedTest() - { - C = new CheckConstraintsTest(), - }; - - var s = JsonSchema.FromType(); - { - var c = new JsonSchemaValidationContext(obj); - Assert.Null(s.Validator.Validate(c, s)); - } - var actual = s.Serialize(obj); - - var expected = @"{""C"":{""X"":0}}"; - - Assert.AreEqual(expected, actual); - } - - [Test] - public void TestObjectNestedWithNull() - { - var obj = new ObjectNestedTest(); - - var s = JsonSchema.FromType(); - { - var c = new JsonSchemaValidationContext(obj); - Assert.Null(s.Validator.Validate(c, s)); - } - var actual = s.Serialize(obj); - - var expected = @"{}"; - - Assert.AreEqual(expected, actual); - } - - public class HasDepsTest - { - [JsonSchema(Minimum = 0, ExplicitIgnorableValue = -1)] - public int X; - - [JsonSchema(Dependencies = new string[] {"X"})] - public int Y; - } - - [Test] - public void TestHasDeps() - { - var obj = new HasDepsTest(); - - var s = JsonSchema.FromType(); - { - var c = new JsonSchemaValidationContext(obj); - Assert.Null(s.Validator.Validate(c, s)); - } - var actual = s.Serialize(obj); - - var expected = @"{""X"":0,""Y"":0}"; - - Assert.AreEqual(expected, actual); - } - - [Test] - public void TestHasDepsHasViolation() - { - var obj = new HasDepsTest() - { - X = -1, - }; - - var s = JsonSchema.FromType(); - { - var c = new JsonSchemaValidationContext(obj); - Assert.Null(s.Validator.Validate(c, s)); - } - var actual = s.Serialize(obj); - - var expected = @"{}"; - - Assert.AreEqual(expected, actual); - } - - public class HasStringTest - { - public string X; - } - - [Test] - public void TestHasString() - { - var obj = new HasStringTest() - { - X = "a", - }; - - var s = JsonSchema.FromType(); - { - var c = new JsonSchemaValidationContext(obj); - Assert.Null(s.Validator.Validate(c, s)); - } - var actual = s.Serialize(obj); - - var expected = @"{""X"":""a""}"; - - Assert.AreEqual(expected, actual); - } - - [Test] - public void TestHasStringWithNull() - { - var obj = new HasStringTest(); - - var s = JsonSchema.FromType(); - { - var c = new JsonSchemaValidationContext(obj); - Assert.Null(s.Validator.Validate(c, s)); - } - var actual = s.Serialize(obj); - - var expected = @"{}"; - - Assert.AreEqual(expected, actual); - } - - public class NestedRequiredTestParent - { - [JsonSchema(Required = true)] - public NestedRequiredTestChild C; - } - - public class NestedRequiredTestChild - { - public string X; - } - - [Test] - public void TestNestedRequired() - { - var obj = new NestedRequiredTestParent() - { - C = new NestedRequiredTestChild(), - }; - - var s = JsonSchema.FromType(); - { - var c = new JsonSchemaValidationContext(obj); - Assert.Null(s.Validator.Validate(c, s)); - } - var actual = s.Serialize(obj); - - var expected = @"{""C"":{}}"; - - Assert.AreEqual(expected, actual); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/SerializeWithSchemaTests.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/SerializeWithSchemaTests.cs.meta deleted file mode 100644 index b0c9e71..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/SerializeWithSchemaTests.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: f1d1c3d9d4d20db409e9d5d9d671abbe -timeCreated: 1546930461 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/ValidatorTests.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/ValidatorTests.cs deleted file mode 100644 index d57f440..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/ValidatorTests.cs +++ /dev/null @@ -1,441 +0,0 @@ -using NUnit.Framework; -using System.Collections.Generic; - -namespace UniJSON -{ - public class ValidatorTests - { - [Test] - public void IntValidator() - { - var c = new JsonSchemaValidationContext("test"); - - { - var v = new JsonIntValidator(); - v.Maximum = 0; - Assert.NotNull(v.Validate(c, 1)); - Assert.Null(v.Validate(c, 0)); - Assert.Null(v.Validate(c, -1)); - } - { - var v = new JsonIntValidator(); - v.Maximum = 0; - v.ExclusiveMaximum = true; - Assert.NotNull(v.Validate(c, 1)); - Assert.NotNull(v.Validate(c, 0)); - Assert.Null(v.Validate(c, -1)); - } - { - var v = new JsonIntValidator(); - v.Minimum = 0; - Assert.Null(v.Validate(c, 1)); - Assert.Null(v.Validate(c, 0)); - Assert.NotNull(v.Validate(c, -1)); - } - { - var v = new JsonIntValidator(); - v.Minimum = 0; - v.ExclusiveMinimum = true; - Assert.Null(v.Validate(c, 1)); - Assert.NotNull(v.Validate(c, 0)); - Assert.NotNull(v.Validate(c, -1)); - } - { - var v = new JsonIntValidator(); - v.MultipleOf = 4; - Assert.Null(v.Validate(c, 4)); - Assert.NotNull(v.Validate(c, 5)); - } - - Assert.True(c.IsEmpty()); - } - - [Test] - public void NumberValidator() - { - var c = new JsonSchemaValidationContext("test"); - - { - var v = new JsonNumberValidator(); - v.Maximum = 0.1; - Assert.NotNull(v.Validate(c, 1)); - Assert.Null(v.Validate(c, 0.1)); - Assert.Null(v.Validate(c, -1)); - } - { - var v = new JsonNumberValidator(); - v.Maximum = 0.1; - v.ExclusiveMaximum = true; - Assert.NotNull(v.Validate(c, 1)); - Assert.NotNull(v.Validate(c, 0.1)); - Assert.Null(v.Validate(c, -1)); - } - { - var v = new JsonNumberValidator(); - v.Minimum = 0.1; - Assert.Null(v.Validate(c, 1)); - Assert.Null(v.Validate(c, 0.1)); - Assert.NotNull(v.Validate(c, -1)); - } - { - var v = new JsonNumberValidator(); - v.Minimum = 0.1; - v.ExclusiveMinimum = true; - Assert.Null(v.Validate(c, 1)); - Assert.NotNull(v.Validate(c, 0.1)); - Assert.NotNull(v.Validate(c, -1)); - } - - Assert.True(c.IsEmpty()); - } - - [Test] - public void BoolValidator() - { - // ??? - } - - [Test] - public void StringValidator() - { - var c = new JsonSchemaValidationContext("test"); - - { - var v = new JsonStringValidator(); - Assert.Null(v.Validate(c, "")); - Assert.Null(v.Validate(c, "a")); - } - - { - var v = new JsonStringValidator(); - v.MinLength = 1; - Assert.Null(v.Validate(c, "a")); - Assert.NotNull(v.Validate(c, "")); - } - { - var v = new JsonStringValidator(); - v.MaxLength = 1; - Assert.Null(v.Validate(c, "a")); - Assert.NotNull(v.Validate(c, "ab")); - } - { - var v = new JsonStringValidator(); - v.Pattern = new System.Text.RegularExpressions.Regex("abc"); - Assert.Null(v.Validate(c, "abc")); - Assert.NotNull(v.Validate(c, "ab")); - } - { - var v = new JsonStringValidator(); - v.Pattern = new System.Text.RegularExpressions.Regex("ab+"); - Assert.Null(v.Validate(c, "abb")); - Assert.Null(v.Validate(c, "ab")); - Assert.NotNull(v.Validate(c, "a")); - } - - Assert.True(c.IsEmpty()); - } - - [Test] - public void StringEnumValidator() - { - var c = new JsonSchemaValidationContext("test"); - - { - var v = JsonStringEnumValidator.Create(new string[] { "a", "b" }, EnumSerializationType.AsString); - Assert.Null(v.Validate(c, "a")); - Assert.NotNull(v.Validate(c, "c")); - } - - Assert.True(c.IsEmpty()); - } - - [Test] - public void IntEnumValidator() - { - var c = new JsonSchemaValidationContext("test"); - - { - var v = new JsonIntEnumValidator(); - v.Values = new int[] { 1, 2 }; - Assert.Null(v.Validate(c, 1)); - Assert.NotNull(v.Validate(c, 3)); - } - - Assert.True(c.IsEmpty()); - } - - [Test] - public void ArrayValidator() - { - var c = new JsonSchemaValidationContext("test"); - - { - var v = new JsonArrayValidator(); - v.MaxItems = 1; - Assert.Null(v.Validate(c, new object[] { 0 })); - Assert.NotNull(v.Validate(c, new object[] { 0, 1 })); - } - - { - var v = new JsonArrayValidator(); - v.MinItems = 1; - Assert.Null(v.Validate(c, new object[] { 0 })); - Assert.NotNull(v.Validate(c, new object[] { })); - } - - Assert.True(c.IsEmpty()); - } - - class Hoge - { - [JsonSchema(Required = true, Minimum = 1)] - public int Value; - } - - [Test] - public void ObjectValidator() - { - var c = new JsonSchemaValidationContext("test"); - { - var s = JsonSchema.FromType(); - Assert.Null(s.Validator.Validate(c, new Hoge { Value = 1 })); - Assert.NotNull(s.Validator.Validate(c, new Hoge { Value = 0 })); - } - - Assert.True(c.IsEmpty()); - } - - class NotRequired - { - [JsonSchema(Minimum = 1)] - public int Value; - } - - [Test] - public void ObjectValidatorForNotRequired() - { - { - var c = new JsonSchemaValidationContext("test") - { - EnableDiagnosisForNotRequiredFields = false, // Default behaviour - }; - - var s = JsonSchema.FromType(); - // An error is not returned because Value is not 'Required' and the diagnosis is not enabled - Assert.Null(s.Validator.Validate(c, new NotRequired { Value = 0 })); - - Assert.True(c.IsEmpty()); - } - - { - var c = new JsonSchemaValidationContext("test") - { - EnableDiagnosisForNotRequiredFields = true, - }; - - var s = JsonSchema.FromType(); - Assert.NotNull(s.Validator.Validate(c, new NotRequired { Value = 0 })); - - Assert.True(c.IsEmpty()); - } - } - - class NotRequiredWithIgnorable - { - [JsonSchema(Minimum = 2, ExplicitIgnorableValue = -1)] - public int Value; - } - - [Test] - public void ObjectValidatorForNotRequiredWithIgnorable() - { - { - var c = new JsonSchemaValidationContext("test") - { - EnableDiagnosisForNotRequiredFields = false, // Default behaviour - }; - - var s = JsonSchema.FromType(); - // An error is not returned because Value is not 'Required' and the diagnosis is not enabled - Assert.Null(s.Validator.Validate(c, new NotRequiredWithIgnorable { Value = 0 })); - - Assert.True(c.IsEmpty()); - } - - { - var c = new JsonSchemaValidationContext("test") - { - EnableDiagnosisForNotRequiredFields = true, - }; - - var s = JsonSchema.FromType(); - Assert.NotNull(s.Validator.Validate(c, new NotRequiredWithIgnorable { Value = 0 })); - - Assert.True(c.IsEmpty()); - } - - { - var c = new JsonSchemaValidationContext("test") - { - EnableDiagnosisForNotRequiredFields = true, - }; - - var s = JsonSchema.FromType(); - // An error is NOT returned even though diagnosis is enabled because of an ignorable value is matched - Assert.Null(s.Validator.Validate(c, new NotRequiredWithIgnorable { Value = -1 })); - - Assert.True(c.IsEmpty()); - } - } - - [Test] - public void DictionaryValidator() - { - var c = new JsonSchemaValidationContext("test"); - - { - var s = JsonSchema.FromType>(); - Assert.True(s.Validator is JsonDictionaryValidator); - - var v = s.Validator as JsonDictionaryValidator; - v.MinProperties = 1; - v.AdditionalProperties = JsonSchema.FromType(); - (v.AdditionalProperties.Validator as JsonIntValidator).Minimum = 0; - - Assert.Null(s.Validator.Validate(c, new Dictionary - { - {"POSITION", 0} - })); - - var result = s.Validator.Validate(c, new Dictionary - { - {"POSITION", -1} - }); - Assert.NotNull(result); - } - - Assert.True(c.IsEmpty()); - } - - class HasDictionary - { - public Dictionary primitiveProperties = new Dictionary(); - // TODO: fix - // public Dictionary nestedProperties = new Dictionary(); - } - - [Test] - public void HasDictionaryObjectValidator() - { - var c = new JsonSchemaValidationContext("test"); - - { - var s = JsonSchema.FromType(); - Assert.Null(s.Validator.Validate(c, new HasDictionary())); - } - - Assert.True(c.IsEmpty()); - } - - class HasArrayOBject - { - [ItemJsonSchema(Minimum = 0.0, Maximum = 1.0)] - public float[] xs; - } - - [Test] - public void HasArrayObjectValidator() - { - { - var c = new JsonSchemaValidationContext("test") - { - EnableDiagnosisForNotRequiredFields = true, - }; - - var s = JsonSchema.FromType(); - - Assert.Null(s.Validator.Validate(c, new HasArrayOBject { xs = new float[] { } })); - Assert.Null(s.Validator.Validate(c, new HasArrayOBject { xs = new float[] { 0.5f } })); - Assert.NotNull(s.Validator.Validate(c, new HasArrayOBject { xs = new float[] { 1.5f } })); - - Assert.True(c.IsEmpty()); - } - } - - class HasListObject - { - [ItemJsonSchema(Minimum = 0.0, Maximum = 1.0)] - public List xs; - } - - [Test] - public void HasListObjectValidator() - { - { - var c = new JsonSchemaValidationContext("test") - { - EnableDiagnosisForNotRequiredFields = true, - }; - - var s = JsonSchema.FromType(); - - Assert.Null(s.Validator.Validate(c, new HasListObject { xs = new List { } })); - Assert.Null(s.Validator.Validate(c, new HasListObject { xs = new List { 0.5f } })); - Assert.NotNull(s.Validator.Validate(c, new HasListObject { xs = new List { 1.5f } })); - - Assert.True(c.IsEmpty()); - } - } - - class HasRequiredListObject - { - [JsonSchema(Required = true, MinItems = 1)] - [ItemJsonSchema(Minimum = 0)] - public int[] xs; - } - - [Test] - public void HasRequiredListObjecttValidator() - { - { - var c = new JsonSchemaValidationContext("test") - { - EnableDiagnosisForNotRequiredFields = true, - }; - - var s = JsonSchema.FromType(); - - Assert.NotNull(s.Validator.Validate(c, new HasRequiredListObject())); - Assert.NotNull(s.Validator.Validate(c, new HasRequiredListObject { xs = new int[] {} })); - Assert.NotNull(s.Validator.Validate(c, new HasRequiredListObject { xs = new int[] { -1 } })); - Assert.Null(s.Validator.Validate(c, new HasRequiredListObject { xs = new int[] { 0 } })); - - Assert.True(c.IsEmpty()); - } - } - - class HasRequiredStringObject - { - [JsonSchema(Required = true)] - public string s; - } - - [Test] - public void HasRequiredStringObjectValidator() - { - { - var c = new JsonSchemaValidationContext("test") - { - EnableDiagnosisForNotRequiredFields = true, - }; - - var s = JsonSchema.FromType(); - - Assert.NotNull(s.Validator.Validate(c, new HasRequiredStringObject())); - Assert.Null(s.Validator.Validate(c, new HasRequiredStringObject { s = "" })); - - Assert.True(c.IsEmpty()); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/ValidatorTests.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/ValidatorTests.cs.meta deleted file mode 100644 index 66ad4ca..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Json/ValidatorTests.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 16d778a50d1c9374894ef42f892210dd -timeCreated: 1531900562 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack.meta deleted file mode 100644 index c52380e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 2229b04a5607b5344a9415ff16b791d9 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/ArrayTest.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/ArrayTest.cs deleted file mode 100644 index 7f7c01e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/ArrayTest.cs +++ /dev/null @@ -1,92 +0,0 @@ -using NUnit.Framework; -using System; -using System.Linq; - -namespace UniJSON.MsgPack -{ - [TestFixture] - public class ArrayTest - { - [Test] - public void fix_array() - { - var f = new MsgPackFormatter(); - // Object[] not supported - f.Serialize(new[] { 0, 1, false, (Object)null }); - var _bytes = f.GetStoreBytes(); - var bytes = _bytes.Array.Skip(_bytes.Offset).Take(_bytes.Count).ToArray(); - - Assert.AreEqual(new Byte[]{ - (Byte)MsgPackType.FIX_ARRAY_0x4, - (Byte)MsgPackType.POSITIVE_FIXNUM, - (Byte)MsgPackType.POSITIVE_FIXNUM_0x01, - (Byte)MsgPackType.FALSE, - (Byte)MsgPackType.NIL - }, bytes); - - var parsed = MsgPackParser.Parse(bytes); - - Assert.AreEqual(4, parsed.GetArrayCount()); - Assert.AreEqual(0, parsed[0].GetValue()); - Assert.AreEqual(1, parsed[1].GetValue()); - Assert.False((Boolean)parsed[2].GetValue()); - Assert.AreEqual(null, parsed[3].GetValue()); - } - - [Test] - public void array16() - { - var f = new MsgPackFormatter(); - var data = Enumerable.Range(0, 20).Select(x => (Object)x).ToArray(); - f.Serialize(data); - var bytes = f.GetStoreBytes(); - - var value = MsgPackParser.Parse(bytes); - Assert.IsTrue(value.IsArray()); - Assert.AreEqual(20, value.GetArrayCount()); - for (int i = 0; i < 20; ++i) - { - Assert.AreEqual(i, value[i].GetValue()); - } - } - - [Test] - public void array129() - { - { - var i128 = Enumerable.Range(0, 128).ToArray(); - var f = new MsgPackFormatter(); - f.Serialize(i128); - var bytes128 = f.GetStoreBytes(); - var deserialized = MsgPackParser.Parse(bytes128); - Assert.AreEqual(128, deserialized.GetArrayCount()); - for (int i = 0; i < i128.Length; ++i) - { - Assert.AreEqual(i128[i], deserialized[i].GetValue()); - } - } - - { - var i129 = Enumerable.Range(0, 129).ToArray(); - var f = new MsgPackFormatter(); - f.Serialize(i129); - var bytes129 = f.GetStoreBytes(); - var deserialized = MsgPackParser.Parse(bytes129); - Assert.AreEqual(129, deserialized.GetArrayCount()); - for (int i = 0; i < i129.Length; ++i) - { - Assert.AreEqual(i129[i], deserialized[i].GetValue()); - } - } - } - - [Test] - public void ReadTest() - { - var data = new int[] { -108, 0, 1, -90, 108, 111, 103, 103, 101, 114, -110, -91, 69, 114, 114, 111, 114, -94, 101, 50 } - .Select(x => (Byte)x).ToArray(); - var parsed = MsgPackParser.Parse(data); - Assert.True(parsed.IsArray()); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/ArrayTest.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/ArrayTest.cs.meta deleted file mode 100644 index 733ee7e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/ArrayTest.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 4b485b0360ebfd246ac90bbe8ad1895b -timeCreated: 1540812276 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/BooleanTest.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/BooleanTest.cs deleted file mode 100644 index 5b38abb..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/BooleanTest.cs +++ /dev/null @@ -1,50 +0,0 @@ -using NUnit.Framework; -using System; - - -namespace UniJSON.MsgPack -{ - [TestFixture] - public class BooleanTest - { - [Test] - public void nil() - { - { - var f = new MsgPackFormatter(); - f.Null(); - var bytes = f.GetStoreBytes(); - Assert.AreEqual(new Byte[] { 0xC0 }, bytes.ToEnumerable()); - - var parsed = MsgPackParser.Parse(bytes); - Assert.True(parsed.IsNull()); - } - } - - [Test] - public void True() - { - var f = new MsgPackFormatter(); - f.Value(true); - var bytes = f.GetStoreBytes(); - Assert.AreEqual(new Byte[] { 0xC3 }, bytes.ToEnumerable()); - - var value = MsgPackParser.Parse(bytes); - var j = value.GetBoolean(); - Assert.AreEqual(true, j); - } - - [Test] - public void False() - { - var f = new MsgPackFormatter(); - f.Value(false); - var bytes = f.GetStoreBytes(); - Assert.AreEqual(new Byte[] { 0xC2 }, bytes.ToEnumerable()); - - var value = MsgPackParser.Parse(bytes); - var j = value.GetBoolean(); - Assert.AreEqual(false, j); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/BooleanTest.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/BooleanTest.cs.meta deleted file mode 100644 index d179af7..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/BooleanTest.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: d0f19e48b365cd446982ed0b7ba6251e -timeCreated: 1540812276 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/FloatTest.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/FloatTest.cs deleted file mode 100644 index 82e1a63..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/FloatTest.cs +++ /dev/null @@ -1,50 +0,0 @@ -using NUnit.Framework; -using System; -using System.Linq; - - -namespace UniJSON.MsgPack -{ - [TestFixture] - public class FloatTest - { - [Test] - public void Float32() - { - var i = 1.1f; - var float_be = new byte[] - { - (Byte)MsgPackType.FLOAT, 0x3f, 0x8c, 0xcc, 0xcd - }; - - var f = new MsgPackFormatter(); - f.Value(i); - var bytes = f.GetStoreBytes(); - - var value = MsgPackParser.Parse(bytes); - var body = value.Value.Bytes; - Assert.AreEqual(float_be, body.ToEnumerable().ToArray()); - - Assert.AreEqual(i, value.GetValue()); - } - - [Test] - public void Float64() - { - var i = 1.1; - var double_be = new Byte[]{ - (Byte)MsgPackType.DOUBLE, 0x3f, 0xf1, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, - }; - - var f = new MsgPackFormatter(); - f.Value(i); - var bytes = f.GetStoreBytes(); - - var value = MsgPackParser.Parse(bytes); - var body = value.Value.Bytes; - Assert.AreEqual(double_be, body.ToEnumerable().ToArray()); - - Assert.AreEqual(i, value.GetValue()); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/FloatTest.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/FloatTest.cs.meta deleted file mode 100644 index b289372..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/FloatTest.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 51cdc6be3b73a34429cae41cd020c71c -timeCreated: 1540812276 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/IntTest.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/IntTest.cs deleted file mode 100644 index 4f34112..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/IntTest.cs +++ /dev/null @@ -1,220 +0,0 @@ -using NUnit.Framework; -using System; - - -namespace UniJSON.MsgPack -{ - [TestFixture] - public class IntTest - { - [Test] - public void positive_fixnum() - { - for (Byte i = 0; i < 128; ++i) - { - var f = new MsgPackFormatter(); - f.Value(i); - var bytes = f.GetStoreBytes(); - Assert.AreEqual(new Byte[] { i }, bytes.ToEnumerable()); - - var j = MsgPackParser.Parse(bytes).GetValue(); - Assert.AreEqual(i, j); - } - } - - [Test] - public void negative_fixnum() - { - for (SByte i = -32; i < 0; ++i) - { - var f = new MsgPackFormatter(); - f.Value(i); - var bytes = f.GetStoreBytes(); - - var j = MsgPackParser.Parse(bytes).GetValue(); - Assert.AreEqual(i, j); - } - } - - [Test] - public void uint8() - { - { - Byte i = 0x7F + 20; - - var f = new MsgPackFormatter(); - f.Value(i); - var bytes = f.GetStoreBytes(); - Assert.AreEqual(new Byte[]{ - 0xcc, 0x93, - }, bytes.ToEnumerable()); - - var j = MsgPackParser.Parse(bytes).GetValue(); - Assert.AreEqual(i, j); - } - } - - [Test] - public void cast_large_type() - { - { - Byte i = 0x7F + 20; - - var f = new MsgPackFormatter(); - f.Value(i); - var bytes = f.GetStoreBytes(); - Assert.AreEqual(new Byte[]{ - 0xcc, 0x93, - }, bytes.ToEnumerable()); - - var j = MsgPackParser.Parse(bytes).GetValue(); - Assert.AreEqual(i, j); - } - } - - [Test] - public void uint16() - { - { - UInt16 i = 0xFF + 20; - - var f = new MsgPackFormatter(); - f.Value(i); - var bytes = f.GetStoreBytes(); - Assert.AreEqual(new Byte[]{ - 0xcd, 0x01, 0x13 - }, bytes.ToEnumerable()); - - var j = MsgPackParser.Parse(bytes).GetValue(); - Assert.AreEqual(i, j); - } - } - - [Test] - public void uint32() - { - { - UInt32 i = 0xFFFF + 20; - - var f = new MsgPackFormatter(); - f.Value(i); - var bytes = f.GetStoreBytes(); - Assert.AreEqual(new Byte[]{ - 0xce, 0x00, 0x01, 0x00, 0x13 - }, bytes.ToEnumerable()); - - var j = MsgPackParser.Parse(bytes).GetValue(); - Assert.AreEqual(i, j); - } - } - - [Test] - public void uint64() - { - { - UInt64 i = 0xFFFFFFFF; - i += 20; - - var f = new MsgPackFormatter(); - f.Value(i); - var bytes = f.GetStoreBytes(); - Assert.AreEqual(new Byte[]{ - 0xcf, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13 - }, bytes.ToEnumerable()); - - var j = MsgPackParser.Parse(bytes).GetValue(); - Assert.AreEqual(i, j); - } - } - - [Test] - public void int8() - { - { - SByte i = -64; - - var f = new MsgPackFormatter(); - f.Value(i); - var bytes = f.GetStoreBytes(); - - Assert.AreEqual(new Byte[]{ - 0xd0, 0xc0, - }, bytes.ToEnumerable()); - - var j = MsgPackParser.Parse(bytes).GetValue(); - Assert.AreEqual(i, j); - } - } - - [Test] - public void int128Test() - { - int i = 128; - var f = new MsgPackFormatter(); - f.Value(i); - var bytes = f.GetStoreBytes(); - Assert.AreEqual(new Byte[]{ - 0xcc, 0x80, - }, bytes.ToEnumerable()); - var j = MsgPackParser.Parse(bytes).GetValue(); - Assert.AreEqual(i, j); - } - - [Test] - public void int16() - { - { - Int16 i = -150; - - var f = new MsgPackFormatter(); - f.Value(i); - var bytes = f.GetStoreBytes(); - - Assert.AreEqual(new Byte[]{ - 0xd1, 0xFF, 0x6a - }, bytes.ToEnumerable()); - - var j = MsgPackParser.Parse(bytes).GetValue(); - Assert.AreEqual(i, j); - } - } - - [Test] - public void int32() - { - { - Int32 i = -35000; - - var f = new MsgPackFormatter(); - f.Value(i); - var bytes = f.GetStoreBytes(); - - Assert.AreEqual(new Byte[]{ - 0xd2, 0xff, 0xff, 0x77, 0x48 - }, bytes.ToEnumerable()); - - var j = MsgPackParser.Parse(bytes).GetValue(); - Assert.AreEqual(i, j); - } - } - - [Test] - public void int64() - { - { - Int64 i = -2147483650; - - var f = new MsgPackFormatter(); - f.Value(i); - var bytes = f.GetStoreBytes(); - - Assert.AreEqual(new Byte[]{ - 0xd3, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xfe - }, bytes.ToEnumerable()); - - var j = MsgPackParser.Parse(bytes).GetValue(); - Assert.AreEqual(i, j); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/IntTest.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/IntTest.cs.meta deleted file mode 100644 index c2800a7..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/IntTest.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 8d6f5e40bc0825b449887d877c0ad5c5 -timeCreated: 1540812276 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/MapTest.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/MapTest.cs deleted file mode 100644 index d1bfb3e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/MapTest.cs +++ /dev/null @@ -1,120 +0,0 @@ -using NUnit.Framework; -using System; -using System.IO; -using System.Linq; - -namespace UniJSON.MsgPack -{ - [TestFixture] - public class MapTest - { - [Test] - public void fix_map() - { - var f = new MsgPackFormatter(); - f.BeginMap(2); - f.Key("0"); f.Value(1); - f.Key("2"); f.Value(3); - f.EndMap(); - var bytes = - f.GetStoreBytes(); - ; - - Assert.AreEqual(new Byte[]{ - 0x82, // map2 - - 0xa1, 0x30, // "0" - 0x01, // 1 - - 0xa1, 0x32, // "2" - 0x03 // 3 - }, bytes.ToEnumerable()); - - var value = MsgPackParser.Parse(bytes); - - Assert.AreEqual(2, value.GetObjectCount()); - Assert.AreEqual(1, value["0"].GetValue()); - Assert.AreEqual(3, value["2"].GetValue()); - } - - [Test] - public void map16() - { - var w = new MsgPackFormatter(); - int size = 18; - w.BeginMap(size); - for (int i = 0; i < size; ++i) - { - w.Value(i.ToString()); - w.Value(i + 5); - } - var bytes = w.GetStoreBytes().ToEnumerable().ToArray(); - - - var expected = new Byte[]{ - 0xde, // map18 - 0x0, 0x12, // 18 - - 0xa1, 0x30, // "0" - 0x5, - - 0xa1, 0x31, // "1" - 0x6, - - 0xa1, 0x32, // "2" - 0x7, - - 0xa1, 0x33, // "3" - 0x8, - - 0xa1, 0x34, // "4" - 0x9, - - 0xa1, 0x35, // "5" - 0xa, - - 0xa1, 0x36, // "6" - 0xb, - - 0xa1, 0x37, // "7" - 0xc, - - 0xa1, 0x38, // "8" - 0xd, - - 0xa1, 0x39, // "9" - 0xe, - - 0xa2, 0x31, 0x30, // "10" - 0xf, - - 0xa2, 0x31, 0x31, // "11" - 0x10, - - 0xa2, 0x31, 0x32, // "12" - 0x11, - - 0xa2, 0x31, 0x33, // "13" - 0x12, - - 0xa2, 0x31, 0x34, // "14" - 0x13, - - 0xa2, 0x31, 0x35, // "15" - 0x14, - - 0xa2, 0x31, 0x36, // "16" - 0x15, - - 0xa2, 0x31, 0x37, // "17", - 0x16 - }; - - Assert.AreEqual(expected, bytes); - - var value = MsgPackParser.Parse(bytes); - - Assert.AreEqual(15, value["10"].GetValue()); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/MapTest.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/MapTest.cs.meta deleted file mode 100644 index 7c87a56..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/MapTest.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 87a626e93589db14fbe4526c9880b110 -timeCreated: 1540812276 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/RawTest.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/RawTest.cs deleted file mode 100644 index d3a4586..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/RawTest.cs +++ /dev/null @@ -1,34 +0,0 @@ -using NUnit.Framework; -using System; -using System.Linq; - -namespace UniJSON.MsgPack -{ - [TestFixture] - public class RawTest - { - [Test] - public void fix_raw() - { - var src = new Byte[] { 0, 1, 2 }; - var f = new MsgPackFormatter(); - f.Value(src); - var bytes = f.GetStoreBytes(); - - var v = MsgPackParser.Parse(bytes).Value.GetBody(); - Assert.True(src.SequenceEqual(v.ToEnumerable())); - } - - [Test] - public void raw16() - { - var src = Enumerable.Range(0, 50).Select(x => (Byte)x).ToArray(); - var f = new MsgPackFormatter(); - f.Value(src); - var bytes = f.GetStoreBytes(); - - var v = MsgPackParser.Parse(bytes).Value.GetBody(); - Assert.True(src.SequenceEqual(v.ToEnumerable())); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/RawTest.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/RawTest.cs.meta deleted file mode 100644 index 402252f..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/RawTest.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 331bd613923afe5438ef4ff3a59fc5b3 -timeCreated: 1540812276 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/StringTest.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/StringTest.cs deleted file mode 100644 index c85e899..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/StringTest.cs +++ /dev/null @@ -1,36 +0,0 @@ -using NUnit.Framework; -using System; -using System.Linq; - -namespace UniJSON.MsgPack -{ - [TestFixture] - public class StringTest - { - [Test] - public void str() - { - var f = new MsgPackFormatter(); - f.Value("文字列"); - var bytes = f.GetStoreBytes(); - - var v = MsgPackParser.Parse(bytes).GetValue(); - Assert.AreEqual("文字列", v); - } - - [Test] - public void fix_str() - { - for (int i = 1; i < 32; ++i) - { - var str = String.Join("", Enumerable.Range(0, i).Select(_ => "0").ToArray()); - var f = new MsgPackFormatter(); - f.Value(str); - var bytes = f.GetStoreBytes(); - - var value = MsgPackParser.Parse(bytes); - Assert.AreEqual(i, ((String)value.GetValue()).Length); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/StringTest.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/StringTest.cs.meta deleted file mode 100644 index 4380255..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/StringTest.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 3942810073614d946a76d87cbbfb222c -timeCreated: 1540812276 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/TimeTests.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/TimeTests.cs deleted file mode 100644 index 16e764f..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/TimeTests.cs +++ /dev/null @@ -1,50 +0,0 @@ -using NUnit.Framework; -using System; - - -namespace UniJSON.MsgPack -{ - public class TimeTests - { - [Test] - public void TimeTest() - { - var f = new MsgPackFormatter(); - - { - f.GetStore().Clear(); - var time = new DateTimeOffset(1970, 1, 1, 0, 0, 0, 0, TimeSpan.Zero); - f.Value(time); - - var bytes = f.GetStoreBytes().ArrayOrCopy(); - unchecked - { - Assert.AreEqual(new byte[] - { - (byte)MsgPackType.FIX_EXT_4, (byte)-1, 0, 0, 0, 0 - }, bytes); - } - var parsed = MsgPackParser.Parse(bytes).GetValue(); - Assert.AreEqual(time, parsed); - } - - { - var time = new DateTimeOffset(2018, 12, 8, 2, 12, 15, TimeSpan.Zero); - Assert.AreEqual(1544235135, time.ToUnixTimeSeconds()); - f.GetStore().Clear(); - f.Value(time); - var bytes = f.GetStoreBytes().ArrayOrCopy(); - var parsed = MsgPackParser.Parse(bytes).GetValue(); - Assert.AreEqual(time, parsed); - } - - { - f.GetStore().Clear(); - Assert.Catch(() => - { - f.Value(new DateTimeOffset()); - }); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/TimeTests.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/TimeTests.cs.meta deleted file mode 100644 index e1ae14b..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/MsgPack/TimeTests.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 0a025b475357b4d4aa104e839e6791be -timeCreated: 1544154226 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/RPCTests.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/RPCTests.cs deleted file mode 100644 index 69023e8..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/RPCTests.cs +++ /dev/null @@ -1,98 +0,0 @@ -using NUnit.Framework; -using UniJSON.MsgPack; - -namespace UniJSON -{ - public class RPCTests - { - [Test] - public void JsonRpcRequestTest() - { - var f = new JsonFormatter(); - - { - f.Clear(); - var l = JsonParser.Parse("{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"num1\",\"params\":[1]}"); - f.Request("num1", 1); - var u = new Utf8String(f.GetStoreBytes()); - var r = JsonParser.Parse(u); - Assert.AreEqual( - l, - r); - } - { - f.Clear(); - f.Request("num2", 2, true); - Assert.AreEqual( - JsonParser.Parse("{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"num2\",\"params\":[2,true]}"), - JsonParser.Parse(new Utf8String(f.GetStoreBytes()))); - } - { - f.Clear(); - f.Request("num3", - 3, true, "abc", false, (string)null, new[] { 1, 2 }); - Assert.AreEqual( - JsonParser.Parse("{\"jsonrpc\":\"2.0\",\"id\":3,\"method\":\"num3\",\"params\":[3,true,\"abc\",false,null,[1,2]]}"), - JsonParser.Parse(new Utf8String(f.GetStoreBytes()))); - } - } - - [Test] - public void JsonRpcDispatcherTest() - { - var dispatcher = new RpcDispatcher(); - var f = new JsonFormatter(); - - { - f.Clear(); - dispatcher.Register("add", (int a, int b) => a + b); - f.Request("add", 1, 2); - - var parsed = JsonParser.Parse(new Utf8String(f.GetStoreBytes())); - - f.Clear(); - dispatcher.Call(f, parsed["id"].GetInt32(), parsed["method"].GetString(), parsed["params"]); - var response = JsonParser.Parse(new Utf8String(f.GetStoreBytes())); - Assert.AreEqual(3, response["result"].GetInt32()); - } - - { - string msg = null; - dispatcher.Register("print", (string _msg) => { msg = _msg; }); - f.Clear(); - f.Request("print", "hoge"); - - var parsed = JsonParser.Parse(new Utf8String(f.GetStoreBytes())); - f.Clear(); - dispatcher.Call(f, parsed["id"].GetInt32(), parsed["method"].GetString(), parsed["params"]); - - Assert.AreEqual("hoge", msg); - } - } - - [Test] - public void MsgPackRpcDispatcherTest() - { - var dispatcher = new RpcDispatcher(); - var f = new MsgPackFormatter(); - - { - f.GetStore().Clear(); - dispatcher.Register("add", (int a, int b) => a + b); - f.Request("add", 1, 2); - - var request = MsgPackParser.Parse(f.GetStoreBytes()); - Assert.AreEqual(4, request.GetArrayCount()); - Assert.AreEqual(MsgPackFormatter.REQUEST_TYPE, request[0].GetInt32()); - - f.GetStore().Clear(); - dispatcher.Call(f, request[1].GetInt32(), request[2].GetString(), request[3]); - var response = MsgPackParser.Parse(f.GetStoreBytes()); - Assert.AreEqual(4, response.GetArrayCount()); - Assert.AreEqual(MsgPackFormatter.RESPONSE_TYPE, response[0].GetInt32()); - Assert.True(response[2].IsNull()); - Assert.AreEqual(3, response[3].GetInt32()); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/RPCTests.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/RPCTests.cs.meta deleted file mode 100644 index e293555..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/RPCTests.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 05698e8d4a5f5f64c8482d2d6899301d -timeCreated: 1543250712 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Toml.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Toml.meta deleted file mode 100644 index cfc6ff6..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Toml.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ddcce4e006f147a4b9922c1b1e665721 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Toml/TomlParserTests.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Toml/TomlParserTests.cs deleted file mode 100644 index 2069c41..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Toml/TomlParserTests.cs +++ /dev/null @@ -1,128 +0,0 @@ -using NUnit.Framework; - - -/* -namespace UniJSON.Toml -{ - class TomlParserTests - { - [Test] - public void BareKeyTests() - { - { - var result = TomlParser.Parse(@" -value = 1 -"); - Assert.True(result.IsMap()); - Assert.AreEqual(1, result["value"].GetInt32()); - } - } - - [Test] - public void DottedKeyTests() - { - { - var result = TomlParser.Parse(@" -value.value2 = 1 -"); - Assert.True(result.IsMap()); - Assert.AreEqual(1, result["value"]["value2"].GetInt32()); - } - } - - [Test] - public void DuplicatedKey() - { - { - Assert.Catch(() => TomlParser.Parse(@" -value = 1 -value = 2 -")); - } - } - - [Test] - public void QuotedKeyTests() - { - { - var result = TomlParser.Parse(@" -""value"" = 1 -"); - Assert.True(result.IsMap()); - Assert.AreEqual(1, result["value"].GetInt32()); - } - - { - var result = TomlParser.Parse(@" -""[key=value]"" = 1 -"); - Assert.True(result.IsMap()); - Assert.AreEqual(1, result["value"].GetInt32()); - } - } - - [Test] - public void TableTests() - { - { - var result = @" -[table] -value = 1 -".ParseAsToml(); - Assert.True(result.IsMap()); - Assert.AreEqual(1, result["table"]["value"].GetInt32()); - } - - { - var result = @" -[table.table2] -value = 1 -".ParseAsToml(); - Assert.True(result.IsMap()); - Assert.AreEqual(1, result["table"]["table2"]["value"].GetInt32()); - } - } - - [Test] - public void TomlExample() - { - var result = @" -# This is a TOML document. - -title = ""TOML Example"" - -[owner] -name = ""Tom Preston-Werner"" -dob = 1979 - 05 - 27T07: 32:00 - 08:00 # First class dates - -[database] -server = ""192.168.1.1"" -ports = [8001, 8001, 8002] -connection_max = 5000 -enabled = true - -[servers] - -# Indentation (tabs and/or spaces) is allowed but not required - [servers.alpha] - ip = ""10.0.0.1"" - dc = ""eqdc10"" - - [servers.beta] - ip = ""10.0.0.2"" - dc = ""eqdc10"" - -[clients] -data = [ [""gamma"", ""delta""], [1, 2] ] - -# Line breaks are OK when inside arrays -hosts = [ - ""alpha"", - ""omega"" -] -".ParseAsToml(); - Assert.AreEqual("TOML Example", result["title"].GetString()); - } - } -} -*/ diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Toml/TomlParserTests.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Toml/TomlParserTests.cs.meta deleted file mode 100644 index b949e4c..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Toml/TomlParserTests.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 7959f4764f02c5e4d9f191e794bc6101 -timeCreated: 1545735557 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/TreeTest.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/TreeTest.cs deleted file mode 100644 index 1266ffa..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/TreeTest.cs +++ /dev/null @@ -1,129 +0,0 @@ -using NUnit.Framework; -using System; -using System.Collections.Generic; - - -namespace GenericTree -{ - /// - /// Generic tree interface - /// - /// - /// - interface ITreeNode - where T : ITreeNode - { - bool IsValid { get; } - int ValueIndex { get; } - U Value { get; } - - bool HasParent { get; } - T Parent { get; } - - IEnumerable Children { get; } - } - - /// - /// Item has parent reference by list index - /// - public interface ITreeItem - { - int ParentIndex { get; } - } - - /// - /// Generic tree implementation - /// - /// - struct TreeNode : ITreeNode, T> - where T : ITreeItem - { - /// - /// Whole tree ndoes - /// - public readonly List Values; - - public bool IsValid - { - get - { - return Values != null; - } - } - - /// - /// This node index - /// - public int ValueIndex - { - get; - private set; - } - - public T Value - { - get - { - if (Values == null) - { - return default(T); - } - return Values[ValueIndex]; - } - } - - public IEnumerable> Children - { - get - { - for (int i = 0; i < Values.Count; ++i) - { - if (Values[i].ParentIndex == ValueIndex) - { - yield return new TreeNode(Values, i); - } - } - } - } - - public bool HasParent - { - get - { - return Value.ParentIndex >= 0 && Value.ParentIndex < Values.Count; - } - } - - public TreeNode Parent - { - get - { - if (Value.ParentIndex < 0) - { - throw new Exception("this may root node"); - } - if (Value.ParentIndex >= Values.Count) - { - throw new IndexOutOfRangeException(); - } - return new TreeNode(Values, Value.ParentIndex); - } - } - - public TreeNode(List values, int index) : this() - { - Values = values; - ValueIndex = index; - } - } - - - class TreeTests - { - [Test] - public void TreeTest() - { - - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/TreeTest.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/TreeTest.cs.meta deleted file mode 100644 index de17c43..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/TreeTest.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 61f513d7f9bea254690ee01fcb70e843 -timeCreated: 1545735557 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Utf8StringTest.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Utf8StringTest.cs deleted file mode 100644 index a7757d6..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Utf8StringTest.cs +++ /dev/null @@ -1,168 +0,0 @@ -using NUnit.Framework; -using System.Linq; - - -namespace UniJSON -{ - public class Utf8StringTests - { - [Test] - public void Utf8StringTest() - { - var abc = Utf8String.From("abc"); - var ab = Utf8String.From("ab"); - var bc = Utf8String.From("bc"); - - Assert.True(abc.StartsWith(ab)); - Assert.False(ab.StartsWith(abc)); - - Assert.True(abc.EndsWith(bc)); - Assert.False(bc.EndsWith(abc)); - - Assert.AreEqual(Utf8String.From("abbc"), ab.Concat(bc)); - - Assert.AreEqual(2, abc.IndexOf((byte)'c')); - - int pos; - abc.TrySearchAscii((byte)'c', 0, out pos); - Assert.AreEqual(2, pos); - - abc.TrySearchAscii((byte)'c', 1, out pos); - Assert.AreEqual(2, pos); - } - - [Test] - public void ShortUtf8Test() - { - var a0 = Utf8String4.Create("a"); - Assert.AreEqual("a", a0); - var a1 = Utf8String4.Create(new byte[] { (byte)'a', 0x00 }); - Assert.AreEqual(a0, a1); - var a2 = Utf8String4.Create("5"); - Assert.AreEqual(3, a2.ByteLength); - } - - [Test] - public void QuoteTest() - { - { - var value = Utf8String.From("ho5日本語ge"); - var quoted = Utf8String.From("\"ho5日本語ge\""); - Assert.AreEqual(quoted, JsonString.Quote(value)); - Assert.AreEqual(value, JsonString.Unquote(quoted)); - } - - { - var value = Utf8String.From("fuga\n ho5日本語ge"); - var quoted = Utf8String.From("\"fuga\\n ho5日本語ge\""); - Assert.AreEqual(quoted, JsonString.Quote(value)); - Assert.AreEqual(value, JsonString.Unquote(quoted)); - } - } - - [Test] - public void SplitTest() - { - { - var value = Utf8String.From("a/5/c"); - var splited = value.Split((byte)'/').ToArray(); - Assert.AreEqual(3, splited.Length); - Assert.AreEqual(splited[0], Utf8String.From("a")); - Assert.AreEqual(splited[1], Utf8String.From("5")); - Assert.AreEqual(splited[2], Utf8String.From("c")); - } - { - var value = Utf8String.From("/a/5/c/"); - var splited = value.Split((byte)'/').ToArray(); - Assert.AreEqual(4, splited.Length); - Assert.AreEqual(splited[0], Utf8String.From("")); - Assert.AreEqual(splited[1], Utf8String.From("a")); - Assert.AreEqual(splited[2], Utf8String.From("5")); - Assert.AreEqual(splited[3], Utf8String.From("c")); - } - } - - [Test] - public void SplitIntegerTest() - { - Assert.AreEqual("1", Utf8String.From("1 ").SplitInteger().ToString()); - Assert.AreEqual("123", Utf8String.From("123").SplitInteger().ToString()); - Assert.Catch(() => Utf8String.From(" 1").SplitInteger()); - Assert.AreEqual("+12", Utf8String.From("+12\n").SplitInteger().ToString()); - Assert.AreEqual("-123", Utf8String.From("-123\n").SplitInteger().ToString()); - } - - [Test] - public void AtoiTest() - { - Assert.AreEqual(1234, Utf8String.From("1234").ToInt32()); - } - - [Test] - public void ToCharTest() - { - { - // 1byte - var c = 'A'; - Assert.AreEqual(1, Utf8String.From(c.ToString()).GetFirst().CurrentByteLength); - Assert.AreEqual(c, Utf8String.From(c.ToString()).GetFirst().Unicode); - Assert.AreEqual(c, Utf8String.From(c.ToString()).GetFirst().Char); - } - { - // 2byte - var c = '¢'; - Assert.AreEqual(2, Utf8String.From(c.ToString()).GetFirst().CurrentByteLength); - Assert.AreEqual(c, Utf8String.From(c.ToString()).GetFirst().Unicode); - Assert.AreEqual(c, Utf8String.From(c.ToString()).GetFirst().Char); - } - { - // 3byte - var c = '5'; - Assert.AreEqual(3, Utf8String.From(c.ToString()).GetFirst().CurrentByteLength); - Assert.AreEqual(c, Utf8String.From(c.ToString()).GetFirst().Unicode); - Assert.AreEqual(c, Utf8String.From(c.ToString()).GetFirst().Char); - } - { - var c = '仡'; - Assert.AreEqual(3, Utf8String.From(c.ToString()).GetFirst().CurrentByteLength); - Assert.AreEqual(c, Utf8String.From(c.ToString()).GetFirst().Unicode); - Assert.AreEqual(c, Utf8String.From(c.ToString()).GetFirst().Char); - } - { - // emoji - var s = "😃"; - Assert.AreEqual(4, Utf8String.From(s).GetFirst().CurrentByteLength); - Assert.AreEqual(0x1F603, Utf8String.From(s).GetFirst().Unicode); - Assert.Catch(() => - { - var a = Utf8String.From(s).GetFirst().Char; - }); - } - } - - [Test] - public void FromStringTest() - { - var buffer = new byte[12]; - - { - var src = "abc"; - var utf8 = Utf8String.From(src, buffer); - Assert.AreEqual(3, utf8.ByteLength); - Assert.AreEqual(src, utf8.ToString()); - } - { - var src = "¢"; - var utf8 = Utf8String.From(src, buffer); - Assert.AreEqual(2, utf8.ByteLength); - Assert.AreEqual(src, utf8.ToString()); - } - { - var src = "5"; - var utf8 = Utf8String.From(src, buffer); - Assert.AreEqual(3, utf8.ByteLength); - Assert.AreEqual(src, utf8.ToString()); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Utf8StringTest.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Utf8StringTest.cs.meta deleted file mode 100644 index d445b48..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Editor/Tests/Utf8StringTest.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 6c8821be74ee9054d81e25151e023015 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts.meta deleted file mode 100644 index 62f4d15..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 32272b3003f89f443821160ef665204b -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ActionDisposer.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ActionDisposer.cs deleted file mode 100644 index 09d6c08..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ActionDisposer.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; - - -namespace UniJSON -{ - public struct ActionDisposer : IDisposable - { - Action m_action; - - public ActionDisposer(Action action) - { - m_action = action; - } - - public void Dispose() - { - m_action(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ActionDisposer.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ActionDisposer.cs.meta deleted file mode 100644 index 1a21d66..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ActionDisposer.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: ff15446e31b14ac409251c931b7c2038 -timeCreated: 1531893103 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ByteBuffer.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ByteBuffer.cs deleted file mode 100644 index 019c983..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ByteBuffer.cs +++ /dev/null @@ -1,90 +0,0 @@ -using System; - - -namespace UniJSON -{ - public class ByteBuffer - { - Byte[] m_buffer; - public ArraySegment Bytes - { - get { return new ArraySegment(m_buffer, 0, Count); } - } - - public ByteBuffer() - { - - } - - public ByteBuffer(Byte[] buffer) - { - m_buffer = buffer; - } - - int m_used; - public int Count - { - get { return m_used; } - } - - public int Remain - { - get { - if (m_buffer == null) return 0; - return m_buffer.Length - m_used; - } - } - - void Ensure(int size) - { - if (m_buffer != null && size < m_buffer.Length - m_used) - { - return; - } - var buffer = new Byte[m_used + size]; - if (m_buffer != null && m_used > 0) - { - Buffer.BlockCopy(m_buffer, 0, buffer, 0, m_used); - } - m_buffer = buffer; - } - - public void Push(Byte b) - { - Ensure(1); - m_buffer[m_used++] = b; - } - - public void Push(Byte[] buffer) - { - Push(new ArraySegment(buffer)); - } - - public void Push(ArraySegment buffer) - { - Ensure(buffer.Count); - Buffer.BlockCopy(buffer.Array, buffer.Offset, m_buffer, m_used, buffer.Count); - m_used += buffer.Count; - } - - public void Unshift(int size) - { - if (size > m_used) - { - throw new ArgumentException(); - } - - if (m_used - size < size) - { - Buffer.BlockCopy(m_buffer, m_used, m_buffer, 0, m_used - size); - m_used = m_used - size; - } - else - { - var buffer = new Byte[m_used]; - Buffer.BlockCopy(m_buffer, size, buffer, 0, m_used - size); - m_buffer = buffer; - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ByteBuffer.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ByteBuffer.cs.meta deleted file mode 100644 index 6807b17..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ByteBuffer.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 5de1b9c915ceb8d41b95bdc432680fc3 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ConcreteCast.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ConcreteCast.cs deleted file mode 100644 index 641e4eb..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ConcreteCast.cs +++ /dev/null @@ -1,85 +0,0 @@ -using System; -using System.IO; -using System.Text; -using UnityEngine; -using System.Reflection; -#if UNITY_EDITOR -using UnityEditor; -#endif - - -namespace UniJSON -{ - public static partial class ConcreteCast - { - public static string GetMethodName(Type src, Type dst) - { - return string.Format("Cast{0}To{1}", src.Name, dst.Name); - } - - public static MethodInfo GetMethod(Type src, Type dst) - { - var name = GetMethodName(src, dst); - var mi = typeof(ConcreteCast).GetMethod(name, - BindingFlags.Static | BindingFlags.Public); - return mi; - } - -#if UNITY_EDITOR - - static Type[] s_castTypes = new Type[] - { - typeof(byte), - typeof(ushort), - typeof(uint), - typeof(ulong), - - typeof(sbyte), - typeof(short), - typeof(int), - typeof(long), - - typeof(float), - typeof(double), - }; - - [MenuItem("VRM/UniJSON/Generate ConcreteCast")] - public static void GenerateGenericCast() - { - var s = new StringBuilder(); - using (var w = new StringWriter(s)) - { - w.WriteLine(@" -using System; - -namespace UniJSON { - public static partial class ConcreteCast - { -"); - foreach (var x in s_castTypes) - { - foreach (var y in s_castTypes) - { - w.WriteLine(@" - public static $1 $2($0 src) - { - return ($1)src; - } -".Replace("$0", x.Name).Replace("$1", y.Name).Replace("$2", GetMethodName(x, y))); - } - } - w.WriteLine(@" - } -} -"); - } - - var path = Application.dataPath + SOURCE; - Debug.LogFormat("{0}", path); - File.WriteAllText(path, s.ToString().Replace("\r\n", "\n"), new UTF8Encoding(false)); - AssetDatabase.ImportAsset("Assets" + SOURCE); - } - const string SOURCE = "/VRM/UniJSON/Scripts/ConcreteCast.g.cs"; -#endif - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ConcreteCast.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ConcreteCast.cs.meta deleted file mode 100644 index bf2b3f2..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ConcreteCast.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 7c7697929e4510048a5238dd9d227b2e -timeCreated: 1549025672 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ConcreteCast.g.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ConcreteCast.g.cs deleted file mode 100644 index 68f94c9..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ConcreteCast.g.cs +++ /dev/null @@ -1,611 +0,0 @@ - -using System; - -namespace UniJSON { - public static partial class ConcreteCast - { - - - public static Byte CastByteToByte(Byte src) - { - return (Byte)src; - } - - - public static UInt16 CastByteToUInt16(Byte src) - { - return (UInt16)src; - } - - - public static UInt32 CastByteToUInt32(Byte src) - { - return (UInt32)src; - } - - - public static UInt64 CastByteToUInt64(Byte src) - { - return (UInt64)src; - } - - - public static SByte CastByteToSByte(Byte src) - { - return (SByte)src; - } - - - public static Int16 CastByteToInt16(Byte src) - { - return (Int16)src; - } - - - public static Int32 CastByteToInt32(Byte src) - { - return (Int32)src; - } - - - public static Int64 CastByteToInt64(Byte src) - { - return (Int64)src; - } - - - public static Single CastByteToSingle(Byte src) - { - return (Single)src; - } - - - public static Double CastByteToDouble(Byte src) - { - return (Double)src; - } - - - public static Byte CastUInt16ToByte(UInt16 src) - { - return (Byte)src; - } - - - public static UInt16 CastUInt16ToUInt16(UInt16 src) - { - return (UInt16)src; - } - - - public static UInt32 CastUInt16ToUInt32(UInt16 src) - { - return (UInt32)src; - } - - - public static UInt64 CastUInt16ToUInt64(UInt16 src) - { - return (UInt64)src; - } - - - public static SByte CastUInt16ToSByte(UInt16 src) - { - return (SByte)src; - } - - - public static Int16 CastUInt16ToInt16(UInt16 src) - { - return (Int16)src; - } - - - public static Int32 CastUInt16ToInt32(UInt16 src) - { - return (Int32)src; - } - - - public static Int64 CastUInt16ToInt64(UInt16 src) - { - return (Int64)src; - } - - - public static Single CastUInt16ToSingle(UInt16 src) - { - return (Single)src; - } - - - public static Double CastUInt16ToDouble(UInt16 src) - { - return (Double)src; - } - - - public static Byte CastUInt32ToByte(UInt32 src) - { - return (Byte)src; - } - - - public static UInt16 CastUInt32ToUInt16(UInt32 src) - { - return (UInt16)src; - } - - - public static UInt32 CastUInt32ToUInt32(UInt32 src) - { - return (UInt32)src; - } - - - public static UInt64 CastUInt32ToUInt64(UInt32 src) - { - return (UInt64)src; - } - - - public static SByte CastUInt32ToSByte(UInt32 src) - { - return (SByte)src; - } - - - public static Int16 CastUInt32ToInt16(UInt32 src) - { - return (Int16)src; - } - - - public static Int32 CastUInt32ToInt32(UInt32 src) - { - return (Int32)src; - } - - - public static Int64 CastUInt32ToInt64(UInt32 src) - { - return (Int64)src; - } - - - public static Single CastUInt32ToSingle(UInt32 src) - { - return (Single)src; - } - - - public static Double CastUInt32ToDouble(UInt32 src) - { - return (Double)src; - } - - - public static Byte CastUInt64ToByte(UInt64 src) - { - return (Byte)src; - } - - - public static UInt16 CastUInt64ToUInt16(UInt64 src) - { - return (UInt16)src; - } - - - public static UInt32 CastUInt64ToUInt32(UInt64 src) - { - return (UInt32)src; - } - - - public static UInt64 CastUInt64ToUInt64(UInt64 src) - { - return (UInt64)src; - } - - - public static SByte CastUInt64ToSByte(UInt64 src) - { - return (SByte)src; - } - - - public static Int16 CastUInt64ToInt16(UInt64 src) - { - return (Int16)src; - } - - - public static Int32 CastUInt64ToInt32(UInt64 src) - { - return (Int32)src; - } - - - public static Int64 CastUInt64ToInt64(UInt64 src) - { - return (Int64)src; - } - - - public static Single CastUInt64ToSingle(UInt64 src) - { - return (Single)src; - } - - - public static Double CastUInt64ToDouble(UInt64 src) - { - return (Double)src; - } - - - public static Byte CastSByteToByte(SByte src) - { - return (Byte)src; - } - - - public static UInt16 CastSByteToUInt16(SByte src) - { - return (UInt16)src; - } - - - public static UInt32 CastSByteToUInt32(SByte src) - { - return (UInt32)src; - } - - - public static UInt64 CastSByteToUInt64(SByte src) - { - return (UInt64)src; - } - - - public static SByte CastSByteToSByte(SByte src) - { - return (SByte)src; - } - - - public static Int16 CastSByteToInt16(SByte src) - { - return (Int16)src; - } - - - public static Int32 CastSByteToInt32(SByte src) - { - return (Int32)src; - } - - - public static Int64 CastSByteToInt64(SByte src) - { - return (Int64)src; - } - - - public static Single CastSByteToSingle(SByte src) - { - return (Single)src; - } - - - public static Double CastSByteToDouble(SByte src) - { - return (Double)src; - } - - - public static Byte CastInt16ToByte(Int16 src) - { - return (Byte)src; - } - - - public static UInt16 CastInt16ToUInt16(Int16 src) - { - return (UInt16)src; - } - - - public static UInt32 CastInt16ToUInt32(Int16 src) - { - return (UInt32)src; - } - - - public static UInt64 CastInt16ToUInt64(Int16 src) - { - return (UInt64)src; - } - - - public static SByte CastInt16ToSByte(Int16 src) - { - return (SByte)src; - } - - - public static Int16 CastInt16ToInt16(Int16 src) - { - return (Int16)src; - } - - - public static Int32 CastInt16ToInt32(Int16 src) - { - return (Int32)src; - } - - - public static Int64 CastInt16ToInt64(Int16 src) - { - return (Int64)src; - } - - - public static Single CastInt16ToSingle(Int16 src) - { - return (Single)src; - } - - - public static Double CastInt16ToDouble(Int16 src) - { - return (Double)src; - } - - - public static Byte CastInt32ToByte(Int32 src) - { - return (Byte)src; - } - - - public static UInt16 CastInt32ToUInt16(Int32 src) - { - return (UInt16)src; - } - - - public static UInt32 CastInt32ToUInt32(Int32 src) - { - return (UInt32)src; - } - - - public static UInt64 CastInt32ToUInt64(Int32 src) - { - return (UInt64)src; - } - - - public static SByte CastInt32ToSByte(Int32 src) - { - return (SByte)src; - } - - - public static Int16 CastInt32ToInt16(Int32 src) - { - return (Int16)src; - } - - - public static Int32 CastInt32ToInt32(Int32 src) - { - return (Int32)src; - } - - - public static Int64 CastInt32ToInt64(Int32 src) - { - return (Int64)src; - } - - - public static Single CastInt32ToSingle(Int32 src) - { - return (Single)src; - } - - - public static Double CastInt32ToDouble(Int32 src) - { - return (Double)src; - } - - - public static Byte CastInt64ToByte(Int64 src) - { - return (Byte)src; - } - - - public static UInt16 CastInt64ToUInt16(Int64 src) - { - return (UInt16)src; - } - - - public static UInt32 CastInt64ToUInt32(Int64 src) - { - return (UInt32)src; - } - - - public static UInt64 CastInt64ToUInt64(Int64 src) - { - return (UInt64)src; - } - - - public static SByte CastInt64ToSByte(Int64 src) - { - return (SByte)src; - } - - - public static Int16 CastInt64ToInt16(Int64 src) - { - return (Int16)src; - } - - - public static Int32 CastInt64ToInt32(Int64 src) - { - return (Int32)src; - } - - - public static Int64 CastInt64ToInt64(Int64 src) - { - return (Int64)src; - } - - - public static Single CastInt64ToSingle(Int64 src) - { - return (Single)src; - } - - - public static Double CastInt64ToDouble(Int64 src) - { - return (Double)src; - } - - - public static Byte CastSingleToByte(Single src) - { - return (Byte)src; - } - - - public static UInt16 CastSingleToUInt16(Single src) - { - return (UInt16)src; - } - - - public static UInt32 CastSingleToUInt32(Single src) - { - return (UInt32)src; - } - - - public static UInt64 CastSingleToUInt64(Single src) - { - return (UInt64)src; - } - - - public static SByte CastSingleToSByte(Single src) - { - return (SByte)src; - } - - - public static Int16 CastSingleToInt16(Single src) - { - return (Int16)src; - } - - - public static Int32 CastSingleToInt32(Single src) - { - return (Int32)src; - } - - - public static Int64 CastSingleToInt64(Single src) - { - return (Int64)src; - } - - - public static Single CastSingleToSingle(Single src) - { - return (Single)src; - } - - - public static Double CastSingleToDouble(Single src) - { - return (Double)src; - } - - - public static Byte CastDoubleToByte(Double src) - { - return (Byte)src; - } - - - public static UInt16 CastDoubleToUInt16(Double src) - { - return (UInt16)src; - } - - - public static UInt32 CastDoubleToUInt32(Double src) - { - return (UInt32)src; - } - - - public static UInt64 CastDoubleToUInt64(Double src) - { - return (UInt64)src; - } - - - public static SByte CastDoubleToSByte(Double src) - { - return (SByte)src; - } - - - public static Int16 CastDoubleToInt16(Double src) - { - return (Int16)src; - } - - - public static Int32 CastDoubleToInt32(Double src) - { - return (Int32)src; - } - - - public static Int64 CastDoubleToInt64(Double src) - { - return (Int64)src; - } - - - public static Single CastDoubleToSingle(Double src) - { - return (Single)src; - } - - - public static Double CastDoubleToDouble(Double src) - { - return (Double)src; - } - - - } -} - diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ConcreteCast.g.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ConcreteCast.g.cs.meta deleted file mode 100644 index ad81e1c..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ConcreteCast.g.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: d15ce8227d1aec64ab3fd82c4b271747 -timeCreated: 1549025426 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Exceptions.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Exceptions.cs deleted file mode 100644 index d92f0d7..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Exceptions.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System; - - -namespace UniJSON -{ - public class TreeValueException : ArgumentException - { - protected TreeValueException(string msg) : base(msg) { } - } - - /// - ///Exception failure - /// - public class ParserException : TreeValueException - { - public ParserException(string msg) : base(msg) { } - } - - /// - /// Successfully parsed, but fail to getValue - /// - public class DeserializationException : TreeValueException - { - public DeserializationException(string msg) : base(msg) { } - } - - /// - /// Formatter exception. key value violation - /// - public class FormatterException : TreeValueException - { - public FormatterException(string msg) : base(msg) { } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Exceptions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Exceptions.cs.meta deleted file mode 100644 index 20620ad..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Exceptions.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: d854b575d2e031f40b37a49e1bff8656 -timeCreated: 1545735558 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions.meta deleted file mode 100644 index 8a57bfb..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ffa7a8aec9676fb43bcc62fe2da0e757 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/ArraySegmentExtensions.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/ArraySegmentExtensions.cs deleted file mode 100644 index b20b2b5..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/ArraySegmentExtensions.cs +++ /dev/null @@ -1,85 +0,0 @@ -using System; -using System.Linq; -using System.Collections.Generic; - - -namespace UniJSON -{ - public static class ArraySegmentExtensions - { - public static T[] ArrayOrCopy(this ArraySegment self) - { - if (self.Array == null || self.Count==0) - { - return new T[] { }; - } - else if(self.Offset==0 && self.Count==self.Array.Length) - { - return self.Array; - } - else - { - var array = new T[self.Count]; - Array.Copy(self.Array, self.Offset, array, 0, self.Count); - return array; - } - } - - public static IEnumerable ToEnumerable(this ArraySegment self) - { - return self.Array.Skip(self.Offset).Take(self.Count); - } - - public static void Set(this ArraySegment self, int index, T value) - { - if (index < 0 || index >= self.Count) - { - throw new ArgumentOutOfRangeException(); - } - self.Array[self.Offset + index] = value; - } - - public static T Get(this ArraySegment self, int index) - { - if (index < 0 || index >= self.Count) - { - throw new ArgumentOutOfRangeException(); - } - return self.Array[self.Offset + index]; - } - - public static ArraySegment Advance(this ArraySegment self, Int32 n) - { - return new ArraySegment(self.Array, self.Offset + n, self.Count - n); - } - - public static ArraySegment Take(this ArraySegment self, Int32 n) - { - return new ArraySegment(self.Array, self.Offset, n); - } - - public static T[] TakeReversedArray(this ArraySegment self, Int32 n) - { - var array = new T[n]; - var x = n - 1; - for (int i = 0; i < n; ++i, --x) - { - array[i] = self.Get(x); - } - return array; - } - - public static byte[] Concat(this byte[] lhs, ArraySegment rhs) - { - return new ArraySegment(lhs).Concat(rhs); - } - - public static byte[] Concat(this ArraySegment lhs, ArraySegment rhs) - { - var bytes = new byte[lhs.Count + rhs.Count]; - Buffer.BlockCopy(lhs.Array, lhs.Offset, bytes, 0, lhs.Count); - Buffer.BlockCopy(rhs.Array, rhs.Offset, bytes, lhs.Count, rhs.Count); - return bytes; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/ArraySegmentExtensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/ArraySegmentExtensions.cs.meta deleted file mode 100644 index d6c810e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/ArraySegmentExtensions.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 12d3e22e2e62d4948a5aff4bc42208e9 -timeCreated: 1495517072 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/ByteExtensions.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/ByteExtensions.cs deleted file mode 100644 index 72494a2..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/ByteExtensions.cs +++ /dev/null @@ -1,60 +0,0 @@ -using System; -using System.IO; - -namespace UniJSON -{ - public static class ByteExtensions - { - public static Byte GetHexDigit(this UInt16 n, int index) - { - return (Byte)(n >> 8 * index & 0xff); - } - public static Byte GetHexDigit(this UInt32 n, int index) - { - return (Byte)(n >> 8 * index & 0xff); - } - public static Byte GetHexDigit(this UInt64 n, int index) - { - return (Byte)(n >> 8 * index & 0xff); - } - public static Byte GetHexDigit(this Int16 n, int index) - { - return (Byte)(n >> 8 * index & 0xff); - } - public static Byte GetHexDigit(this Int32 n, int index) - { - return (Byte)(n >> 8 * index & 0xff); - } - public static Byte GetHexDigit(this Int64 n, int index) - { - return (Byte)(n >> 8 * index & 0xff); - } - - public static UInt32 ToUint32(this Single n, Byte[] buffer) - { - if (buffer.Length < 4) - { - throw new ArgumentException(); - } - using (var ms = new MemoryStream(buffer)) - using (var w = new BinaryWriter(ms)) - { - w.Write(n); - } - return BitConverter.ToUInt32(buffer, 0); - } - public static UInt64 ToUint64(this Double n, Byte[] buffer) - { - if (buffer.Length < 8) - { - throw new ArgumentException(); - } - using (var ms = new MemoryStream(buffer)) - using (var w = new BinaryWriter(ms)) - { - w.Write(n); - } - return BitConverter.ToUInt64(buffer, 0); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/ByteExtensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/ByteExtensions.cs.meta deleted file mode 100644 index cb3e4cc..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/ByteExtensions.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: aa32ad3ea4c1ec540a03225c0d520af9 -timeCreated: 1495517078 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/DateTimeOffsetExtensions.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/DateTimeOffsetExtensions.cs deleted file mode 100644 index faed3e4..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/DateTimeOffsetExtensions.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System; - - -namespace UniJSON -{ - public static class DateTimeOffsetExtensions - { - public const long TicksPerSecond = 10000000; - public readonly static DateTimeOffset EpochTime = new DateTimeOffset(1970, 1, 1, 0, 0, 0, 0, TimeSpan.Zero); - [Obsolete("Use EpochTime")] - public readonly static DateTimeOffset EpocTime = EpochTime; -#if !NET_4_6 && !NET_STANDARD_2_0 - public static long ToUnixTimeSeconds(this DateTimeOffset now) - { - if (now < EpochTime) - { - throw new ArgumentOutOfRangeException(); - } - return (now - EpochTime).Ticks / TicksPerSecond; - } -#endif - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/DateTimeOffsetExtensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/DateTimeOffsetExtensions.cs.meta deleted file mode 100644 index 9aca143..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/DateTimeOffsetExtensions.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: d2fd687914fcde848ab36867817cb873 -timeCreated: 1544155597 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/EnumExtensions.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/EnumExtensions.cs deleted file mode 100644 index 9cd8adb..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/EnumExtensions.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; - - -namespace UniJSON -{ - public static class EnumExtensions - { - public static bool HasFlag(this Enum keys, Enum flag) - { - if (keys.GetType() != flag.GetType()) - throw new ArgumentException("Type Mismatch"); - return (Convert.ToUInt64(keys) & Convert.ToUInt64(flag)) != 0; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/EnumExtensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/EnumExtensions.cs.meta deleted file mode 100644 index c10223d..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/EnumExtensions.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: d8691eccccb3e214db8bc5b86179f428 -timeCreated: 1526057070 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/ParserExtensions.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/ParserExtensions.cs deleted file mode 100644 index 7caf664..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/ParserExtensions.cs +++ /dev/null @@ -1,52 +0,0 @@ -using System; - - -namespace UniJSON -{ - public static class StringExtensions - { - public static ListTreeNode ParseAsJson(this string json) - { - return JsonParser.Parse(json); - } - public static ListTreeNode ParseAsJson(this Utf8String json) - { - return JsonParser.Parse(json); - } - public static ListTreeNode ParseAsJson(this byte[] bytes) - { - return JsonParser.Parse(new Utf8String(bytes)); - } - public static ListTreeNode ParseAsJson(this ArraySegment bytes) - { - return JsonParser.Parse(new Utf8String(bytes)); - } - - public static ListTreeNode ParseAsMsgPack(this byte[] bytes) - { - return MsgPackParser.Parse(bytes); - } - public static ListTreeNode ParseAsMsgPack(this ArraySegment bytes) - { - return MsgPackParser.Parse(bytes); - } - - public static ListTreeNode ParseAsToml(this string toml) - { - return TomlParser.Parse(toml); - } - public static ListTreeNode ParseAsToml(this Utf8String toml) - { - return TomlParser.Parse(toml); - } - public static ListTreeNode ParseAsToml(this byte[] bytes) - { - return TomlParser.Parse(new Utf8String(bytes)); - } - public static ListTreeNode ParseAsToml(this ArraySegment bytes) - { - return TomlParser.Parse(new Utf8String(bytes)); - } - - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/ParserExtensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/ParserExtensions.cs.meta deleted file mode 100644 index 18343d2..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/ParserExtensions.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: c25e655e5dc993145a70d9ddde6a6034 -timeCreated: 1545735557 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/TypeExtensions.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/TypeExtensions.cs deleted file mode 100644 index 164e789..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/TypeExtensions.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System; -using System.Linq; -using System.Collections.Generic; - - -namespace UniJSON -{ - public static class TypeExtensions - { - public static bool GetIsGenericList(this Type t) - { - if (t == null) return false; - - return t.IsGenericType - && (t.GetGenericTypeDefinition() == typeof(List<>)); - } - - public static bool GetIsGenericDictionary(this Type t) - { - if (t == null) return false; - - return t.IsGenericType - && (t.GetGenericTypeDefinition() == typeof(Dictionary<,>) - && t.GetGenericArguments().FirstOrDefault() == typeof(string) - ); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/TypeExtensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/TypeExtensions.cs.meta deleted file mode 100644 index d522827..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Extensions/TypeExtensions.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 2fb728ca27f90c947890313df5f94d4d -timeCreated: 1531634657 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/FormatterExtensions.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/FormatterExtensions.cs deleted file mode 100644 index 1f3cba0..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/FormatterExtensions.cs +++ /dev/null @@ -1,93 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq.Expressions; -using System.Linq; -using System.Reflection; - - -namespace UniJSON -{ - public static partial class FormatterExtensions - { - public static ArraySegment GetStoreBytes(this IFormatter f) - { - return f.GetStore().Bytes; - } - - public static void Key(this IFormatter f, string x) - { - f.Key(Utf8String.From(x)); - } - - public static void Value(this IFormatter f, IEnumerable raw, int count) - { - f.Value(new ArraySegment(raw.Take(count).ToArray())); - } - - public static void Value(this IFormatter f, Byte[] bytes) - { - f.Value(new ArraySegment(bytes)); - } - - public static void Value(this IFormatter f, UnityEngine.Vector3 v) - { - //CommaCheck(); - f.BeginMap(3); - f.Key("x"); f.Value(v.x); - f.Key("y"); f.Value(v.y); - f.Key("z"); f.Value(v.z); - f.EndMap(); - } - - static MethodInfo GetMethod(Expression> expression) - { - var method = typeof(FormatterExtensions).GetMethod("Serialize"); - return method.MakeGenericMethod(typeof(T)); - } - - // - // https://stackoverflow.com/questions/238765/given-a-type-expressiontype-memberaccess-how-do-i-get-the-field-value - // - public static void KeyValue(this IFormatter f, Expression> expression) - { - // lambda body - var lambdaBody = (MemberExpression)expression.Body; - - if (lambdaBody.Expression.NodeType == ExpressionType.Constant) - { - // - // KeyValue(() => Field); - // - var constant = (ConstantExpression)lambdaBody.Expression; - var field = (FieldInfo)lambdaBody.Member; - var value = field.GetValue(constant.Value); - if (value != null) - { - f.Key(lambdaBody.Member.Name); - f.Serialize(value); - } - } - else - { - // - // KeyValue(() => p.Field); - // - var capture = (MemberExpression)lambdaBody.Expression; - - var captureVariable = (ConstantExpression)capture.Expression; - var captureObj = captureVariable.Value; - var captureField = (FieldInfo)capture.Member; - var captureValue = captureField.GetValue(captureObj); - - var field = (FieldInfo)lambdaBody.Member; - - var value = field.GetValue(captureValue); - if (value != null) - { - f.Key(field.Name); - f.Serialize(value); - } - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/FormatterExtensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/FormatterExtensions.cs.meta deleted file mode 100644 index 86e650a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/FormatterExtensions.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: eb87cc122742d7544b818c171b15f746 -timeCreated: 1540812583 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/FormatterExtensionsSerializer.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/FormatterExtensionsSerializer.cs deleted file mode 100644 index 473dee4..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/FormatterExtensionsSerializer.cs +++ /dev/null @@ -1,174 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; - - -namespace UniJSON -{ - public static class FormatterExtensionsSerializer - { - public static void SerializeDictionary(this IFormatter f, IDictionary dictionary) - { - f.BeginMap(dictionary.Count); - foreach (var kv in dictionary) - { - f.Key(kv.Key); - f.SerializeObject(kv.Value); - } - f.EndMap(); - } - - public static void SerializeArray(this IFormatter f, IEnumerable values) - { - f.BeginList(values.Count()); - foreach (var value in values) - { - f.Serialize(value); - } - f.EndList(); - } - - public static void SerializeObjectArray(this IFormatter f, object[] array) - { - f.BeginList(array.Length); - foreach (var x in array) - { - f.SerializeObject(x); - } - f.EndList(); - } - - public static void SerializeObject(this IFormatter f, object value) - { - if (value == null) - { - f.Null(); - } - else - { - typeof(FormatterExtensionsSerializer).GetMethod("Serialize") - .MakeGenericMethod(value.GetType()).Invoke(null, new object[] { f, value }); - } - } - - public static void Serialize(this IFormatter f, T arg) - { - if (arg == null) - { - f.Null(); - return; - } - - GenericSerializer.Serialize(f, arg); - } - - public static void SetCustomSerializer(Action serializer) - { - GenericSerializer.Set(serializer); - } - - public static MethodInfo GetMethod(string name) - { - return typeof(FormatterExtensionsSerializer).GetMethod(name); - } - } - - static class GenericSerializer - { - delegate void Serializer(IFormatter f, T t); - - static Action GetSerializer(Type t) - { - // object - if (typeof(T) == typeof(object) && t.GetType() != typeof(object)) - { - var mi = FormatterExtensionsSerializer.GetMethod("SerializeObject"); - return GenericInvokeCallFactory.StaticAction(mi); - } - - try - { - // primitive - var mi = typeof(IFormatter).GetMethod("Value", new Type[] { t }); - if (mi != null) - { - return GenericInvokeCallFactory.OpenAction(mi); - } - } - catch (AmbiguousMatchException) - { - // do nothing - } - - { - // dictionary - var idictionary = t.GetInterfaces().FirstOrDefault(x => - x.IsGenericType - && x.GetGenericTypeDefinition() == typeof(IDictionary<,>) - && x.GetGenericArguments()[0] == typeof(string) - ); - if (idictionary != null) - { - var mi = FormatterExtensionsSerializer.GetMethod("SerializeDictionary"); - return GenericInvokeCallFactory.StaticAction(mi); - } - } - - { - // object[] - if (t == typeof(object[])) - { - var mi = FormatterExtensionsSerializer.GetMethod("SerializeObjectArray"); - return GenericInvokeCallFactory.StaticAction(mi); - } - } - - { - // list - var ienumerable = t.GetInterfaces().FirstOrDefault(x => - x.IsGenericType - && x.GetGenericTypeDefinition() == typeof(IEnumerable<>) - ); - if (ienumerable != null) - { - var g = FormatterExtensionsSerializer.GetMethod("SerializeArray"); - var mi = g.MakeGenericMethod(ienumerable.GetGenericArguments()); - return GenericInvokeCallFactory.StaticAction(mi); - } - } - - { - // reflection - var schema = JsonSchema.FromType(); - return (IFormatter f, T value) => - { - var c = new JsonSchemaValidationContext(value) - { - EnableDiagnosisForNotRequiredFields = true - }; - schema.Serialize(f, value, c); - }; - } - - - //throw new NotImplementedException(); - } - - static Serializer s_serializer; - - public static void Set(Action serializer) - { - s_serializer = new Serializer(serializer); - } - - public static void Serialize(IFormatter f, T t) - { - if (s_serializer == null) - { - s_serializer = new Serializer(GetSerializer(typeof(T))); - } - s_serializer(f, t); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/FormatterExtensionsSerializer.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/FormatterExtensionsSerializer.cs.meta deleted file mode 100644 index a0422f7..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/FormatterExtensionsSerializer.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 11342b30ed6802d4ebccbcf85663c6a0 -timeCreated: 1543520703 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility.meta deleted file mode 100644 index e909ef8..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: bda3f5b8cabb3e5409f5d0375a58affe -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility/GenericExpressionCallFactory.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility/GenericExpressionCallFactory.cs deleted file mode 100644 index d644936..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility/GenericExpressionCallFactory.cs +++ /dev/null @@ -1,119 +0,0 @@ -using System; -using System.IO; -using System.Linq; -using System.Text; -#if UNITY_EDITOR -using UnityEditor; -using UnityEngine; -#endif - - -namespace UniJSON -{ - public static partial class GenericExpressionCallFactory - { -#if UNITY_EDITOR && VRM_DEVELOP - const int NET35MAX = 4; - const int ARGS = 6; - const string GENERATE_PATH = "/VRM/UniJSON/Scripts/GenericCallUtility/GenericExpressionCallFactory.g.cs"; - - static System.Collections.Generic.IEnumerable GetArgs(string prefix, int n) - { - for (int i = 0; i < n; ++i) - { - yield return prefix + i; - } - } - - [MenuItem("VRM/UniJSON/Generate GenericExpressionCallFactory")] - static void Generate() - { - var sb = new StringBuilder(); - using (var w = new StringWriter(sb)) - { - w.WriteLine(@" -using System; -using System.Linq; -using System.Linq.Expressions; -using System.Reflection; - - -namespace UniJSON -{ - public static partial class GenericExpressionCallFactory - { -"); - // Create - for (int i = 1; i <= ARGS && i Create(MethodInfo m) - { - var self = Expression.Parameter(m.DeclaringType, m.Name); - var args = m.GetParameters().Select(x => Expression.Parameter(x.ParameterType, x.Name)).ToArray(); - var call = Expression.Call(self, m, args); - return - (Action)Expression.Lambda(call, new[] { self }.Concat(args).ToArray()).Compile(); - } -".Replace("$0", g).Replace("$1", a); - - w.WriteLine(source); - } - - // CreateWithThis - for (int i = 1; i <= ARGS && i<=NET35MAX; ++i) - { - var g = String.Join(", ", GetArgs("A", i).ToArray()); - - var source = @" - public static Action<$0> CreateWithThis(MethodInfo m, S instance) - { - if (m.IsStatic) - { - if (instance != null) - { - throw new ArgumentException(); - } - } - else - { - if (instance == null) - { - throw new ArgumentNullException(); - } - } - - var self = Expression.Constant(instance, typeof(S)); // thisを定数化 - var args = m.GetParameters().Select(x => Expression.Parameter(x.ParameterType, x.Name)).ToArray(); - MethodCallExpression call; - if (m.IsStatic) - { - call = Expression.Call(m, args); - } - else - { - call = Expression.Call(self, m, args); - } - return - (Action<$0>)Expression.Lambda(call, args).Compile(); - } -".Replace("$0", g); - - w.WriteLine(source); - } - - w.WriteLine(@" - } -} -"); - } - - var path = Path.GetFullPath(Application.dataPath + GENERATE_PATH).Replace("\\", "/"); - File.WriteAllText(path, sb.ToString().Replace("\r\n", "\n")); - } -#endif - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility/GenericExpressionCallFactory.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility/GenericExpressionCallFactory.cs.meta deleted file mode 100644 index 85eef34..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility/GenericExpressionCallFactory.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 93b8e65929169944e823bc9a95c8a1ed -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility/GenericExpressionCallFactory.g.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility/GenericExpressionCallFactory.g.cs deleted file mode 100644 index 5415ced..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility/GenericExpressionCallFactory.g.cs +++ /dev/null @@ -1,178 +0,0 @@ - -using System; -using System.Linq; -using System.Linq.Expressions; -using System.Reflection; - - -namespace UniJSON -{ - public static partial class GenericExpressionCallFactory - { - - - public static Action Create(MethodInfo m) - { - var self = Expression.Parameter(m.DeclaringType, m.Name); - var args = m.GetParameters().Select(x => Expression.Parameter(x.ParameterType, x.Name)).ToArray(); - var call = Expression.Call(self, m, args); - return - (Action)Expression.Lambda(call, new[] { self }.Concat(args).ToArray()).Compile(); - } - - - public static Action Create(MethodInfo m) - { - var self = Expression.Parameter(m.DeclaringType, m.Name); - var args = m.GetParameters().Select(x => Expression.Parameter(x.ParameterType, x.Name)).ToArray(); - var call = Expression.Call(self, m, args); - return - (Action)Expression.Lambda(call, new[] { self }.Concat(args).ToArray()).Compile(); - } - - - public static Action Create(MethodInfo m) - { - var self = Expression.Parameter(m.DeclaringType, m.Name); - var args = m.GetParameters().Select(x => Expression.Parameter(x.ParameterType, x.Name)).ToArray(); - var call = Expression.Call(self, m, args); - return - (Action)Expression.Lambda(call, new[] { self }.Concat(args).ToArray()).Compile(); - } - - - public static Action CreateWithThis(MethodInfo m, S instance) - { - if (m.IsStatic) - { - if (instance != null) - { - throw new ArgumentException(); - } - } - else - { - if (instance == null) - { - throw new ArgumentNullException(); - } - } - - var self = Expression.Constant(instance, typeof(S)); // thisを定数化 - var args = m.GetParameters().Select(x => Expression.Parameter(x.ParameterType, x.Name)).ToArray(); - MethodCallExpression call; - if (m.IsStatic) - { - call = Expression.Call(m, args); - } - else - { - call = Expression.Call(self, m, args); - } - return - (Action)Expression.Lambda(call, args).Compile(); - } - - - public static Action CreateWithThis(MethodInfo m, S instance) - { - if (m.IsStatic) - { - if (instance != null) - { - throw new ArgumentException(); - } - } - else - { - if (instance == null) - { - throw new ArgumentNullException(); - } - } - - var self = Expression.Constant(instance, typeof(S)); // thisを定数化 - var args = m.GetParameters().Select(x => Expression.Parameter(x.ParameterType, x.Name)).ToArray(); - MethodCallExpression call; - if (m.IsStatic) - { - call = Expression.Call(m, args); - } - else - { - call = Expression.Call(self, m, args); - } - return - (Action)Expression.Lambda(call, args).Compile(); - } - - - public static Action CreateWithThis(MethodInfo m, S instance) - { - if (m.IsStatic) - { - if (instance != null) - { - throw new ArgumentException(); - } - } - else - { - if (instance == null) - { - throw new ArgumentNullException(); - } - } - - var self = Expression.Constant(instance, typeof(S)); // thisを定数化 - var args = m.GetParameters().Select(x => Expression.Parameter(x.ParameterType, x.Name)).ToArray(); - MethodCallExpression call; - if (m.IsStatic) - { - call = Expression.Call(m, args); - } - else - { - call = Expression.Call(self, m, args); - } - return - (Action)Expression.Lambda(call, args).Compile(); - } - - - public static Action CreateWithThis(MethodInfo m, S instance) - { - if (m.IsStatic) - { - if (instance != null) - { - throw new ArgumentException(); - } - } - else - { - if (instance == null) - { - throw new ArgumentNullException(); - } - } - - var self = Expression.Constant(instance, typeof(S)); // thisを定数化 - var args = m.GetParameters().Select(x => Expression.Parameter(x.ParameterType, x.Name)).ToArray(); - MethodCallExpression call; - if (m.IsStatic) - { - call = Expression.Call(m, args); - } - else - { - call = Expression.Call(self, m, args); - } - return - (Action)Expression.Lambda(call, args).Compile(); - } - - - } -} - diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility/GenericExpressionCallFactory.g.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility/GenericExpressionCallFactory.g.cs.meta deleted file mode 100644 index 50a6f0d..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility/GenericExpressionCallFactory.g.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: cf88d89ec3acdbf4eb44842ed15aaff4 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility/GenericInvokeCallFactory.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility/GenericInvokeCallFactory.cs deleted file mode 100644 index c5022bb..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility/GenericInvokeCallFactory.cs +++ /dev/null @@ -1,274 +0,0 @@ -using System; -using System.Reflection; -using UnityEngine; -#if UNITY_EDITOR && VRM_DEVELOP -using System.IO; -using System.Linq; -using System.Text; -using UnityEditor; -#endif - - -namespace UniJSON -{ - /// - /// MethodInfoからDelegateを作成する - /// - /// * StaticAction/Func StaticMethod呼び出し - /// * OpenAction/Func 第1引数にthisを受けるメソッド呼び出し - /// * BindAction/Func thisを内部に保持したメソッド呼び出し - /// - /// - public static partial class GenericInvokeCallFactory - { -#if UNITY_EDITOR && VRM_DEVELOP - const int NET35MAX = 4; - const int ARGS = 6; - const string GENERATE_PATH = "/VRM/UniJSON/Scripts/GenericCallUtility/GenericInvokeCallFactory.g.cs"; - - static System.Collections.Generic.IEnumerable GetArgs(string prefix, int n) - { - for (int i = 0; i < n; ++i) - { - yield return prefix + i; - } - } - - [MenuItem("VRM/UniJSON/Generate GenericInvokeCallFactory")] - static void Generate() - { - var sb = new StringBuilder(); - using (var w = new StringWriter(sb)) - { - w.WriteLine(@" -using System; -using System.Reflection; - - -namespace UniJSON -{ - public static partial class GenericInvokeCallFactory - { -"); - - // StaticAction - w.WriteLine("//////////// StaticAction"); - for (int i = 1; i <= ARGS && i <= NET35MAX; ++i) - { - var g = String.Join(", ", GetArgs("A", i).ToArray()); - var a = String.Join(", ", GetArgs("a", i).ToArray()); - - var source = @" - public static Action<$0> StaticAction<$0>(MethodInfo m) - { - if (!m.IsStatic) - { - throw new ArgumentException(string.Format(""{0} is not static"", m)); - } - - return (Action<$0>)Delegate.CreateDelegate(typeof(Action<$0>), null, m); - } -".Replace("$0", g).Replace("$1", a); - - w.WriteLine(source); - - } - - // OpenAction - w.WriteLine("//////////// OpenAction"); - for (int i = 1; i <= ARGS && i < NET35MAX; ++i) - { - var g = String.Join(", ", GetArgs("A", i).ToArray()); - var a = String.Join(", ", GetArgs("a", i).ToArray()); - - var source = @" - public static Action OpenAction(MethodInfo m) - { - if (m.IsStatic) - { - throw new ArgumentException(string.Format(""{0} is static"", m)); - } - - return (Action)Delegate.CreateDelegate(typeof(Action), m); - } -".Replace("$0", g).Replace("$1", a); - - w.WriteLine(source); - - } - - // BindAction - w.WriteLine("//////////// BindAction"); - for (int i = 1; i <= ARGS && i <= NET35MAX; ++i) - { - var g = String.Join(", ", GetArgs("A", i).ToArray()); - var a = String.Join(", ", GetArgs("a", i).ToArray()); - - var source = @" - public static Action<$0> BindAction(MethodInfo m, S instance) - { - if (m.IsStatic) - { - throw new ArgumentException(string.Format(""{0} is static"", m)); - } - - return (Action<$0>)Delegate.CreateDelegate(typeof(Action<$0>), instance, m); - } -".Replace("$0", g).Replace("$1", a); - - w.WriteLine(source); - - } - - // StaticFunc - w.WriteLine("//////////// StaticFunc"); - for (int i = 1; i <= ARGS && i <= NET35MAX; ++i) - { - var g = String.Join(", ", GetArgs("A", i).ToArray()); - var a = String.Join(", ", GetArgs("a", i).ToArray()); - - var source = @" - public static Func<$0, T> StaticFunc<$0, T>(MethodInfo m) - { - if (!m.IsStatic) - { - throw new ArgumentException(string.Format(""{0} is not static"", m)); - } - - return (Func<$0, T>)Delegate.CreateDelegate(typeof(Func<$0, T>), null, m); - } -".Replace("$0", g).Replace("$1", a); - - w.WriteLine(source); - - } - - // OpenFunc - w.WriteLine("//////////// OpenFunc"); - for (int i = 1; i <= ARGS && i < NET35MAX; ++i) - { - var g = String.Join(", ", GetArgs("A", i).ToArray()); - var a = String.Join(", ", GetArgs("a", i).ToArray()); - - var source = @" - public static Func OpenFunc(MethodInfo m) - { - if (m.IsStatic) - { - throw new ArgumentException(string.Format(""{0} is static"", m)); - } - - return (Func)Delegate.CreateDelegate(typeof(Func), m); - } -".Replace("$0", g).Replace("$1", a); - - w.WriteLine(source); - - } - - // BindFunc - w.WriteLine("//////////// BindFunc"); - for (int i = 1; i <= ARGS && i <= NET35MAX; ++i) - { - var g = String.Join(", ", GetArgs("A", i).ToArray()); - var a = String.Join(", ", GetArgs("a", i).ToArray()); - - var source = @" - public static Func<$0, T> BindFunc(MethodInfo m, S instance) - { - if (m.IsStatic) - { - throw new ArgumentException(string.Format(""{0} is static"", m)); - } - - return (Func<$0, T>)Delegate.CreateDelegate(typeof(Func<$0, T>), instance, m); - } -".Replace("$0", g).Replace("$1", a); - - w.WriteLine(source); - - } - - - w.WriteLine(@" - } -} -"); - } - - var path = Path.GetFullPath(Application.dataPath + GENERATE_PATH).Replace("\\", "/"); - File.WriteAllText(path, sb.ToString().Replace("\r\n", "\n")); - } -#endif - - #region Action without arguments - public static Action StaticAction(MethodInfo m) - { - if (!m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is not static", m)); - } - - return (Action)Delegate.CreateDelegate(typeof(Action), null, m); - } - - public static Action OpenAction(MethodInfo m) - { - if (m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is static", m)); - } - - return (s) => - { - m.Invoke(s, new object[] { }); - }; - } - - public static Action BindAction(MethodInfo m, S instance) - { - if (m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is static", m)); - } - - return () => - { - m.Invoke(instance, new object[] { }); - }; - } - #endregion - - #region Func without arguments - public static Func StaticFunc(MethodInfo m) - { - if (!m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is not static", m)); - } - - return () => (T)m.Invoke(null, new object[] { }); - } - - public static Func OpenFunc(MethodInfo m) - { - if (m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is static", m)); - } - - return (s) => (T)m.Invoke(s, new object[] { }); - } - - public static Func BindFunc(MethodInfo m, S instance) - { - if (m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is static", m)); - } - - return () => (T)m.Invoke(instance, new object[] { }); - } - #endregion - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility/GenericInvokeCallFactory.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility/GenericInvokeCallFactory.cs.meta deleted file mode 100644 index 7510665..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility/GenericInvokeCallFactory.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: b4bdb47bf29e1214a9e3da9b4ae9f31e -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility/GenericInvokeCallFactory.g.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility/GenericInvokeCallFactory.g.cs deleted file mode 100644 index 8802438..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility/GenericInvokeCallFactory.g.cs +++ /dev/null @@ -1,262 +0,0 @@ - -using System; -using System.Reflection; - - -namespace UniJSON -{ - public static partial class GenericInvokeCallFactory - { - -//////////// StaticAction - - public static Action StaticAction(MethodInfo m) - { - if (!m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is not static", m)); - } - - return (Action)Delegate.CreateDelegate(typeof(Action), null, m); - } - - - public static Action StaticAction(MethodInfo m) - { - if (!m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is not static", m)); - } - - return (Action)Delegate.CreateDelegate(typeof(Action), null, m); - } - - - public static Action StaticAction(MethodInfo m) - { - if (!m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is not static", m)); - } - - return (Action)Delegate.CreateDelegate(typeof(Action), null, m); - } - - - public static Action StaticAction(MethodInfo m) - { - if (!m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is not static", m)); - } - - return (Action)Delegate.CreateDelegate(typeof(Action), null, m); - } - -//////////// OpenAction - - public static Action OpenAction(MethodInfo m) - { - if (m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is static", m)); - } - - return (Action)Delegate.CreateDelegate(typeof(Action), m); - } - - - public static Action OpenAction(MethodInfo m) - { - if (m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is static", m)); - } - - return (Action)Delegate.CreateDelegate(typeof(Action), m); - } - - - public static Action OpenAction(MethodInfo m) - { - if (m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is static", m)); - } - - return (Action)Delegate.CreateDelegate(typeof(Action), m); - } - -//////////// BindAction - - public static Action BindAction(MethodInfo m, S instance) - { - if (m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is static", m)); - } - - return (Action)Delegate.CreateDelegate(typeof(Action), instance, m); - } - - - public static Action BindAction(MethodInfo m, S instance) - { - if (m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is static", m)); - } - - return (Action)Delegate.CreateDelegate(typeof(Action), instance, m); - } - - - public static Action BindAction(MethodInfo m, S instance) - { - if (m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is static", m)); - } - - return (Action)Delegate.CreateDelegate(typeof(Action), instance, m); - } - - - public static Action BindAction(MethodInfo m, S instance) - { - if (m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is static", m)); - } - - return (Action)Delegate.CreateDelegate(typeof(Action), instance, m); - } - -//////////// StaticFunc - - public static Func StaticFunc(MethodInfo m) - { - if (!m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is not static", m)); - } - - return (a0) => (T)m.Invoke(null, new object[] { a0 }); - } - - - public static Func StaticFunc(MethodInfo m) - { - if (!m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is not static", m)); - } - - return (a0, a1) => (T)m.Invoke(null, new object[] { a0, a1 }); - } - - - public static Func StaticFunc(MethodInfo m) - { - if (!m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is not static", m)); - } - - return (a0, a1, a2) => (T)m.Invoke(null, new object[] { a0, a1, a2 }); - } - - - public static Func StaticFunc(MethodInfo m) - { - if (!m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is not static", m)); - } - - return (a0, a1, a2, a3) => (T)m.Invoke(null, new object[] { a0, a1, a2, a3 }); - } - -//////////// OpenFunc - - public static Func OpenFunc(MethodInfo m) - { - if (m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is static", m)); - } - - return (s, a0) => (T)m.Invoke(s, new object[] { a0 }); - } - - - public static Func OpenFunc(MethodInfo m) - { - if (m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is static", m)); - } - - return (s, a0, a1) => (T)m.Invoke(s, new object[] { a0, a1 }); - } - - - public static Func OpenFunc(MethodInfo m) - { - if (m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is static", m)); - } - - return (s, a0, a1, a2) => (T)m.Invoke(s, new object[] { a0, a1, a2 }); - } - -//////////// BindFunc - - public static Func BindFunc(MethodInfo m, S instance) - { - if (m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is static", m)); - } - - return (a0) => (T)m.Invoke(instance, new object[] { a0 }); - } - - - public static Func BindFunc(MethodInfo m, S instance) - { - if (m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is static", m)); - } - - return (a0, a1) => (T)m.Invoke(instance, new object[] { a0, a1 }); - } - - - public static Func BindFunc(MethodInfo m, S instance) - { - if (m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is static", m)); - } - - return (a0, a1, a2) => (T)m.Invoke(instance, new object[] { a0, a1, a2 }); - } - - - public static Func BindFunc(MethodInfo m, S instance) - { - if (m.IsStatic) - { - throw new ArgumentException(string.Format("{0} is static", m)); - } - - return (a0, a1, a2, a3) => (T)m.Invoke(instance, new object[] { a0, a1, a2, a3 }); - } - - - } -} - diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility/GenericInvokeCallFactory.g.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility/GenericInvokeCallFactory.g.cs.meta deleted file mode 100644 index 5ce58d6..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCallUtility/GenericInvokeCallFactory.g.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 56dfdc21f4d594143ab023e6bd171f91 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCast.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCast.cs deleted file mode 100644 index fafc29b..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCast.cs +++ /dev/null @@ -1,72 +0,0 @@ -using System; - - -namespace UniJSON -{ - struct GenericCast - { - public static T Null() - { - if (typeof(T).IsClass) - { - return default(T); - } - else - { - throw new MsgPackTypeException("can not null"); - } - } - - delegate T CastFunc(S value); - static CastFunc s_cast; - - delegate Func ConstFuncCreator(S value); - static ConstFuncCreator s_const; - - public static Func Const(S value) - { - if (s_const == null) - { - s_const = new ConstFuncCreator(GenericCast.CreateConst()); - } - return s_const(value); - } - - public static T Cast(S value) - { - if (s_cast == null) - { - s_cast = new CastFunc(GenericCast.CreateCast()); - } - return s_cast(value); - } - } - - static partial class GenericCast - { - public static Func CreateCast() - { - var mi = ConcreteCast.GetMethod(typeof(S), typeof(T)); - if (mi == null) - { - return (Func)((S s) => - { - return (T)(object)s; - }); - } - else - { - return GenericInvokeCallFactory.StaticFunc(mi); - } - } - - public static Func> CreateConst() - { - var cast = CreateCast(); - return (Func>)((S s) => - { - return (Func)(() => cast(s)); - }); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCast.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCast.cs.meta deleted file mode 100644 index d653d7e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/GenericCast.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 5e1cb5b0419b4a04da69e90f4890c349 -timeCreated: 1545134074 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IFileSystemAccessor.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IFileSystemAccessor.cs deleted file mode 100644 index 704ca86..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IFileSystemAccessor.cs +++ /dev/null @@ -1,53 +0,0 @@ -using System.IO; -using System.Text; - - -namespace UniJSON -{ - public interface IFileSystemAccessor - { - string ReadAllText(); - string ReadAllText(string relativePath); - IFileSystemAccessor Get(string relativePath); - } - - public class FileSystemAccessor : IFileSystemAccessor - { - string m_path; - string m_baseDir; - public FileSystemAccessor(string path) - { - m_path = path; - if (Directory.Exists(path)) - { - m_baseDir = path; - } - else - { - m_baseDir = Path.GetDirectoryName(path); - } - } - - public override string ToString() - { - return "<" + Path.GetFileName(m_path) + ">"; - } - - public string ReadAllText() - { - return File.ReadAllText(m_path, Encoding.UTF8); - } - - public string ReadAllText(string relativePath) - { - var path = Path.Combine(m_baseDir, relativePath); - return File.ReadAllText(path, Encoding.UTF8); - } - - public IFileSystemAccessor Get(string relativePath) - { - var path = Path.Combine(m_baseDir, relativePath); - return new FileSystemAccessor(path); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IFileSystemAccessor.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IFileSystemAccessor.cs.meta deleted file mode 100644 index 823c7de..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IFileSystemAccessor.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 865a0727ffe095a40abbb2b8d799e720 -timeCreated: 1531504314 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IFormatter.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IFormatter.cs deleted file mode 100644 index 101cfdd..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IFormatter.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System; - - -namespace UniJSON -{ - public interface IFormatter - { - IStore GetStore(); - void Clear(); - - void BeginList(int n); - void EndList(); - - void BeginMap(int n); - void EndMap(); - - void Key(Utf8String x); - - void Null(); - - void Value(Utf8String x); - void Value(String x); - - void Value(ArraySegment bytes); - - void Value(Boolean x); - - void Value(Byte x); - void Value(UInt16 x); - void Value(UInt32 x); - void Value(UInt64 x); - - void Value(SByte x); - void Value(Int16 x); - void Value(Int32 x); - void Value(Int64 x); - - void Value(Single x); - void Value(Double x); - - void Value(DateTimeOffset x); - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IFormatter.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IFormatter.cs.meta deleted file mode 100644 index 48c1d76..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IFormatter.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 5fb858fc98e29c54d87df97ead98608e -timeCreated: 1540812551 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore.meta deleted file mode 100644 index 9a90708..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e285f86183aeb3542a274c697a925200 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/ByteUnion.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/ByteUnion.cs deleted file mode 100644 index a83ea7f..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/ByteUnion.cs +++ /dev/null @@ -1,109 +0,0 @@ -using System; -using System.Net; -using System.Runtime.InteropServices; - - -namespace UniJSON -{ - public static class ByteUnion - { - [StructLayout(LayoutKind.Explicit)] - public struct WordValue - { - [FieldOffset(0)] - public Int16 Signed; - [FieldOffset(0)] - public UInt16 Unsigned; - - [FieldOffset(0)] - public byte Byte0; - [FieldOffset(1)] - public byte Byte1; - - public WordValue HostToNetworkOrder() { return new WordValue { Signed = IPAddress.HostToNetworkOrder(Signed) }; } - - public static WordValue Create(Int16 value) { return new WordValue { Signed = value }; } - public static WordValue Create(UInt16 value) { return new WordValue { Unsigned = value }; } - } - - [StructLayout(LayoutKind.Explicit)] - public struct DWordValue - { - [FieldOffset(0)] - public Int32 Signed; - [FieldOffset(0)] - public UInt32 Unsigned; - [FieldOffset(0)] - public Single Float; - - [FieldOffset(0)] - public byte Byte0; - [FieldOffset(1)] - public byte Byte1; - [FieldOffset(2)] - public byte Byte2; - [FieldOffset(3)] - public byte Byte3; - - public DWordValue HostToNetworkOrder() { return new DWordValue { Signed = IPAddress.HostToNetworkOrder(Signed) }; } - - public static DWordValue Create(Int32 value) { return new DWordValue { Signed = value }; } - public static DWordValue Create(UInt32 value) { return new DWordValue { Unsigned = value }; } - public static DWordValue Create(Single value) { return new DWordValue { Float = value }; } - } - - [StructLayout(LayoutKind.Explicit)] - public struct QWordValue - { - [FieldOffset(0)] - public Int64 Signed; - [FieldOffset(0)] - public UInt64 Unsigned; - [FieldOffset(0)] - public Double Float; - - [FieldOffset(0)] - public byte Byte0; - [FieldOffset(1)] - public byte Byte1; - [FieldOffset(2)] - public byte Byte2; - [FieldOffset(3)] - public byte Byte3; - [FieldOffset(4)] - public byte Byte4; - [FieldOffset(5)] - public byte Byte5; - [FieldOffset(6)] - public byte Byte6; - [FieldOffset(7)] - public byte Byte7; - - public QWordValue HostToNetworkOrder() - { - if (BitConverter.IsLittleEndian) - { - return new QWordValue - { - Byte0 = Byte7, - Byte1 = Byte6, - Byte2 = Byte5, - Byte3 = Byte4, - Byte4 = Byte3, - Byte5 = Byte2, - Byte6 = Byte1, - Byte7 = Byte0, - }; - } - else - { - return this; - } - } - - public static QWordValue Create(Int64 value) { return new QWordValue { Signed = value }; } - public static QWordValue Create(UInt64 value) { return new QWordValue { Unsigned = value }; } - public static QWordValue Create(Double value) { return new QWordValue { Float = value }; } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/ByteUnion.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/ByteUnion.cs.meta deleted file mode 100644 index 5f5f6d7..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/ByteUnion.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 90602a3805f09cb46a2e25d5e9cb3cf4 -timeCreated: 1540907585 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/BytesStore.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/BytesStore.cs deleted file mode 100644 index 67bfd15..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/BytesStore.cs +++ /dev/null @@ -1,288 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using System.Text; - - -namespace UniJSON -{ - public class BytesStore : IStore - { - public BytesStore() : this(64) - { } - - public BytesStore(int size) : this(new Byte[size]) - { } - - public BytesStore(Byte[] buffer) - { - m_buffer = buffer; - } - - Byte[] m_buffer; - void Require(int size) - { - if (m_buffer == null) - { - m_buffer = new Byte[Math.Max(size, 1024)]; - return; - } - - if (m_pos + size < m_buffer.Length) - { - return; - } - - var newSize = Math.Max(m_pos + size, m_buffer.Length * 2); - //Console.WriteLine(newSize); - var old = m_buffer; - m_buffer = new Byte[newSize]; - Buffer.BlockCopy(old, 0 - , m_buffer, 0, m_pos); - } - - int m_pos; - - public ArraySegment Bytes - { - get - { - return new ArraySegment(m_buffer, 0, m_pos); - } - } - - public void Clear() - { - m_pos = 0; - } - - char[] m_c = new char[1]; - public void Write(char c) - { - if (c <= 0x7F) - { - // ascii - Require(1); - m_buffer[m_pos++] = (Byte)c; - return; - } - - Require(3); - m_c[0] = c; - var size = Encoding.UTF8.GetBytes(m_c, 0, 1, m_buffer, m_pos); - m_pos += size; - } - - public void Write(string src) - { - var size = Encoding.UTF8.GetByteCount(src); - Require(size); - var byteSize = Encoding.UTF8.GetBytes(src, 0, src.Length - , m_buffer, m_pos); - if (size != byteSize) - { - throw new Exception(); - } - m_pos += byteSize; - } - - public void Write(ArraySegment bytes) - { - Require(bytes.Count); - Array.Copy(bytes.Array, bytes.Offset - , m_buffer, m_pos, bytes.Count); - m_pos += bytes.Count; - } - - public void Write(sbyte value) - { - Require(Marshal.SizeOf(value)); - m_buffer[m_pos++] = (Byte)value; - } - - public void Write(byte value) - { - Require(Marshal.SizeOf(value)); - m_buffer[m_pos++] = value; - } - - #region LittleEndian - public void WriteLittleEndian(short value) - { - Require(Marshal.SizeOf(value)); - var u = ByteUnion.WordValue.Create(value); - m_buffer[m_pos++] = u.Byte0; - m_buffer[m_pos++] = u.Byte1; - } - - public void WriteLittleEndian(int value) - { - Require(Marshal.SizeOf(value)); - var u = ByteUnion.DWordValue.Create(value); - m_buffer[m_pos++] = u.Byte0; - m_buffer[m_pos++] = u.Byte1; - m_buffer[m_pos++] = u.Byte2; - m_buffer[m_pos++] = u.Byte3; - } - - public void WriteLittleEndian(long value) - { - Require(Marshal.SizeOf(value)); - var u = ByteUnion.QWordValue.Create(value); - m_buffer[m_pos++] = u.Byte0; - m_buffer[m_pos++] = u.Byte1; - m_buffer[m_pos++] = u.Byte2; - m_buffer[m_pos++] = u.Byte3; - m_buffer[m_pos++] = u.Byte4; - m_buffer[m_pos++] = u.Byte5; - m_buffer[m_pos++] = u.Byte6; - m_buffer[m_pos++] = u.Byte7; - } - - public void WriteLittleEndian(ushort value) - { - Require(Marshal.SizeOf(value)); - var u = ByteUnion.WordValue.Create(value); - m_buffer[m_pos++] = u.Byte0; - m_buffer[m_pos++] = u.Byte1; - } - - public void WriteLittleEndian(uint value) - { - Require(Marshal.SizeOf(value)); - var u = ByteUnion.DWordValue.Create(value); - m_buffer[m_pos++] = u.Byte0; - m_buffer[m_pos++] = u.Byte1; - m_buffer[m_pos++] = u.Byte2; - m_buffer[m_pos++] = u.Byte3; - } - - public void WriteLittleEndian(ulong value) - { - Require(Marshal.SizeOf(value)); - var u = ByteUnion.QWordValue.Create(value); - m_buffer[m_pos++] = u.Byte0; - m_buffer[m_pos++] = u.Byte1; - m_buffer[m_pos++] = u.Byte2; - m_buffer[m_pos++] = u.Byte3; - m_buffer[m_pos++] = u.Byte4; - m_buffer[m_pos++] = u.Byte5; - m_buffer[m_pos++] = u.Byte6; - m_buffer[m_pos++] = u.Byte7; - } - - public void WriteLittleEndian(float value) - { - Require(Marshal.SizeOf(value)); - var u = ByteUnion.DWordValue.Create(value); - m_buffer[m_pos++] = u.Byte0; - m_buffer[m_pos++] = u.Byte1; - m_buffer[m_pos++] = u.Byte2; - m_buffer[m_pos++] = u.Byte3; - } - - public void WriteLittleEndian(double value) - { - Require(Marshal.SizeOf(value)); - var u = ByteUnion.QWordValue.Create(value); - m_buffer[m_pos++] = u.Byte0; - m_buffer[m_pos++] = u.Byte1; - m_buffer[m_pos++] = u.Byte2; - m_buffer[m_pos++] = u.Byte3; - m_buffer[m_pos++] = u.Byte4; - m_buffer[m_pos++] = u.Byte5; - m_buffer[m_pos++] = u.Byte6; - m_buffer[m_pos++] = u.Byte7; - } - #endregion - - #region BigEndian - public void WriteBigEndian(short value) - { - Require(Marshal.SizeOf(value)); - var u = ByteUnion.WordValue.Create(value); - m_buffer[m_pos++] = u.Byte1; - m_buffer[m_pos++] = u.Byte0; - } - - public void WriteBigEndian(int value) - { - Require(Marshal.SizeOf(value)); - var u = ByteUnion.DWordValue.Create(value); - m_buffer[m_pos++] = u.Byte3; - m_buffer[m_pos++] = u.Byte2; - m_buffer[m_pos++] = u.Byte1; - m_buffer[m_pos++] = u.Byte0; - } - - public void WriteBigEndian(long value) - { - Require(Marshal.SizeOf(value)); - var u = ByteUnion.QWordValue.Create(value); - m_buffer[m_pos++] = u.Byte7; - m_buffer[m_pos++] = u.Byte6; - m_buffer[m_pos++] = u.Byte5; - m_buffer[m_pos++] = u.Byte4; - m_buffer[m_pos++] = u.Byte3; - m_buffer[m_pos++] = u.Byte2; - m_buffer[m_pos++] = u.Byte1; - m_buffer[m_pos++] = u.Byte0; - } - - public void WriteBigEndian(ushort value) - { - Require(Marshal.SizeOf(value)); - var u = ByteUnion.WordValue.Create(value); - m_buffer[m_pos++] = u.Byte1; - m_buffer[m_pos++] = u.Byte0; - } - - public void WriteBigEndian(uint value) - { - Require(Marshal.SizeOf(value)); - var u = ByteUnion.DWordValue.Create(value); - m_buffer[m_pos++] = u.Byte3; - m_buffer[m_pos++] = u.Byte2; - m_buffer[m_pos++] = u.Byte1; - m_buffer[m_pos++] = u.Byte0; - } - - public void WriteBigEndian(ulong value) - { - Require(Marshal.SizeOf(value)); - var u = ByteUnion.QWordValue.Create(value); - m_buffer[m_pos++] = u.Byte7; - m_buffer[m_pos++] = u.Byte6; - m_buffer[m_pos++] = u.Byte5; - m_buffer[m_pos++] = u.Byte4; - m_buffer[m_pos++] = u.Byte3; - m_buffer[m_pos++] = u.Byte2; - m_buffer[m_pos++] = u.Byte1; - m_buffer[m_pos++] = u.Byte0; - } - - public void WriteBigEndian(float value) - { - Require(Marshal.SizeOf(value)); - var u = ByteUnion.DWordValue.Create(value); - m_buffer[m_pos++] = u.Byte3; - m_buffer[m_pos++] = u.Byte2; - m_buffer[m_pos++] = u.Byte1; - m_buffer[m_pos++] = u.Byte0; - } - - public void WriteBigEndian(double value) - { - Require(Marshal.SizeOf(value)); - var u = ByteUnion.QWordValue.Create(value); - m_buffer[m_pos++] = u.Byte7; - m_buffer[m_pos++] = u.Byte6; - m_buffer[m_pos++] = u.Byte5; - m_buffer[m_pos++] = u.Byte4; - m_buffer[m_pos++] = u.Byte3; - m_buffer[m_pos++] = u.Byte2; - m_buffer[m_pos++] = u.Byte1; - m_buffer[m_pos++] = u.Byte0; - } - #endregion - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/BytesStore.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/BytesStore.cs.meta deleted file mode 100644 index c419858..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/BytesStore.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: d49a52418427394499c901cb23f13d30 -timeCreated: 1540907458 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/IStore.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/IStore.cs deleted file mode 100644 index 7c552af..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/IStore.cs +++ /dev/null @@ -1,63 +0,0 @@ -using System; -using System.Linq; -using System.Collections.Generic; - -namespace UniJSON -{ - public interface IStore - { - void Clear(); - ArraySegment Bytes { get; } - - void Write(Byte value); - void Write(SByte value); - - // network - void WriteBigEndian(UInt16 value); - void WriteBigEndian(UInt32 value); - void WriteBigEndian(UInt64 value); - void WriteBigEndian(Int16 value); - void WriteBigEndian(Int32 value); - void WriteBigEndian(Int64 value); - void WriteBigEndian(Single value); - void WriteBigEndian(Double value); - - // intel cpu - void WriteLittleEndian(UInt16 value); - void WriteLittleEndian(UInt32 value); - void WriteLittleEndian(UInt64 value); - void WriteLittleEndian(Int16 value); - void WriteLittleEndian(Int32 value); - void WriteLittleEndian(Int64 value); - void WriteLittleEndian(Single value); - void WriteLittleEndian(Double value); - - void Write(ArraySegment bytes); - - void Write(string src); - void Write(char c); - } - - public static class IStoreExtensions - { - public static void WriteValues(this IStore s, params Byte[] bytes) - { - s.Write(new ArraySegment(bytes)); - } - - public static void Write(this IStore s, Byte[] bytes) - { - s.Write(new ArraySegment(bytes)); - } - - public static void Write(this IStore s, IEnumerable bytes) - { - s.Write(new ArraySegment(bytes.ToArray())); - } - - public static Utf8String ToUtf8String(this IStore s) - { - return new Utf8String(s.Bytes); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/IStore.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/IStore.cs.meta deleted file mode 100644 index 7f17e8f..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/IStore.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 558419bba2d829e4884fca9c2046fc3c -timeCreated: 1495517075 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/StreamStore.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/StreamStore.cs deleted file mode 100644 index 191a836..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/StreamStore.cs +++ /dev/null @@ -1,149 +0,0 @@ -using System; -using System.IO; -using System.Text; - -namespace UniJSON -{ - public class StreamStore: IStore - { - Stream m_s; - BinaryWriter m_w; - - public StreamStore(Stream s) - { - m_s = s; - m_w = new BinaryWriter(m_s); - } - - public ArraySegment Bytes - { - get - { -#if NETFX_CORE - throw new NotImplementedException(); -#else - var ms = m_s as MemoryStream; - if (ms == null) - { - throw new NotImplementedException(); - } - return new ArraySegment(ms.GetBuffer(), 0, (int)ms.Position); -#endif - } - } - - public void Clear() - { - m_s.SetLength(0); - } - - public void Write(sbyte value) - { - m_w.Write(value); - } - - public void Write(byte value) - { - m_w.Write(value); - } - - public void Write(char c) - { - m_w.Write(c); - } - - public void Write(string src) - { - m_w.Write(Encoding.UTF8.GetBytes(src)); - } - - public void Write(ArraySegment bytes) - { - m_w.Write(bytes.Array, bytes.Offset, bytes.Count); - } - -#region BigEndian - public void WriteBigEndian(int value) - { - throw new NotImplementedException(); - } - - public void WriteBigEndian(float value) - { - throw new NotImplementedException(); - } - - public void WriteBigEndian(double value) - { - throw new NotImplementedException(); - } - - public void WriteBigEndian(long value) - { - throw new NotImplementedException(); - } - - public void WriteBigEndian(short value) - { - throw new NotImplementedException(); - } - - public void WriteBigEndian(uint value) - { - throw new NotImplementedException(); - } - - public void WriteBigEndian(ulong value) - { - throw new NotImplementedException(); - } - - public void WriteBigEndian(ushort value) - { - throw new NotImplementedException(); - } -#endregion - -#region LittleEndian - public void WriteLittleEndian(long value) - { - m_w.Write(value); - } - - public void WriteLittleEndian(uint value) - { - m_w.Write(value); - } - - public void WriteLittleEndian(short value) - { - m_w.Write(value); - } - - public void WriteLittleEndian(ulong value) - { - m_w.Write(value); - } - - public void WriteLittleEndian(double value) - { - m_w.Write(value); - } - - public void WriteLittleEndian(float value) - { - m_w.Write(value); - } - - public void WriteLittleEndian(int value) - { - m_w.Write(value); - } - - public void WriteLittleEndian(ushort value) - { - m_w.Write(value); - } -#endregion - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/StreamStore.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/StreamStore.cs.meta deleted file mode 100644 index accce84..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/StreamStore.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: b87313b5306b62d4ea4f743055ae60f4 -timeCreated: 1495517079 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/StringBuilderStore.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/StringBuilderStore.cs deleted file mode 100644 index 5ea55c9..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/StringBuilderStore.cs +++ /dev/null @@ -1,153 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - - -namespace UniJSON -{ - public class StringBuilderStore: IStore - { - StringBuilder m_sb; - - public StringBuilderStore(StringBuilder sb) - { - m_sb = sb; - } - - public ArraySegment Bytes - { - get - { - return new ArraySegment( - Encoding.UTF8.GetBytes(Buffer()) - ); - } - } - - public string Buffer() - { - return m_sb.ToString(); - } - - public void Clear() - { - m_sb.Length = 0; - } - - public void Write(ArraySegment bytes) - { - var text = Encoding.UTF8.GetString(bytes.Array, bytes.Offset, bytes.Count); - Write(text); - } - - public void Write(byte value) - { - throw new NotImplementedException(); - } - - public void Write(sbyte value) - { - throw new NotImplementedException(); - } - - public void Write(IEnumerable src) - { - foreach(var c in src) - { - m_sb.Append(c); - } - } - public void Write(Char c) - { - m_sb.Append(c); - } - public void Write(string src) - { - m_sb.Append(src); - } - - #region BigEndian - public void WriteBigEndian(int value) - { - throw new NotImplementedException(); - } - - public void WriteBigEndian(float value) - { - throw new NotImplementedException(); - } - - public void WriteBigEndian(double value) - { - throw new NotImplementedException(); - } - - public void WriteBigEndian(long value) - { - throw new NotImplementedException(); - } - - public void WriteBigEndian(ulong value) - { - throw new NotImplementedException(); - } - - public void WriteBigEndian(short value) - { - throw new NotImplementedException(); - } - - public void WriteBigEndian(uint value) - { - throw new NotImplementedException(); - } - - public void WriteBigEndian(ushort value) - { - throw new NotImplementedException(); - } - #endregion - - #region LittleEndian - public void WriteLittleEndian(double value) - { - throw new NotImplementedException(); - } - - public void WriteLittleEndian(short value) - { - throw new NotImplementedException(); - } - - public void WriteLittleEndian(int value) - { - throw new NotImplementedException(); - } - - public void WriteLittleEndian(float value) - { - throw new NotImplementedException(); - } - - public void WriteLittleEndian(long value) - { - throw new NotImplementedException(); - } - - public void WriteLittleEndian(ulong value) - { - throw new NotImplementedException(); - } - - public void WriteLittleEndian(uint value) - { - throw new NotImplementedException(); - } - - public void WriteLittleEndian(ushort value) - { - throw new NotImplementedException(); - } - #endregion - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/StringBuilderStore.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/StringBuilderStore.cs.meta deleted file mode 100644 index f3290cf..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IStore/StringBuilderStore.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 74639d64f5620dd45a1a8edc65f48aab -timeCreated: 1495517076 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ITreeNode.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ITreeNode.cs deleted file mode 100644 index b1682dd..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ITreeNode.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System.Collections.Generic; - - -namespace UniJSON -{ - public interface ITreeNode - where T : ITreeNode - { - bool IsValid { get; } - - bool HasParent { get; } - T Parent { get; } - IEnumerable Children { get; } - - int ValueIndex { get; } - U Value { get; } - void SetValue(U value); - } - - public interface IListTreeItem - { - int ParentIndex { get; } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ITreeNode.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ITreeNode.cs.meta deleted file mode 100644 index fc63b3d..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ITreeNode.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: baf3ade828d6e4c429d402b486911774 -timeCreated: 1545735557 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IValue.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IValue.cs deleted file mode 100644 index 95b68f7..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IValue.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System; - - -namespace UniJSON -{ - public enum ValueNodeType - { - Null, - Boolean, - String, - Binary, - Integer, - Number, - Array, - Object, - NaN, - Infinity, - MinusInfinity, - } - - public interface IValue - { - T New(ArraySegment bytes, ValueNodeType valueType, int parentIndex); - T Key(Utf8String key, int parentIndex); - ValueNodeType ValueType { get; } - ArraySegment Bytes { get; } - Boolean GetBoolean(); - String GetString(); - Utf8String GetUtf8String(); - SByte GetSByte(); - Int16 GetInt16(); - Int32 GetInt32(); - Int64 GetInt64(); - Byte GetByte(); - UInt16 GetUInt16(); - UInt32 GetUInt32(); - UInt64 GetUInt64(); - Single GetSingle(); - Double GetDouble(); - U GetValue(); - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IValue.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IValue.cs.meta deleted file mode 100644 index 32389b8..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/IValue.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 4737055a37e47074e92e6fc03a96a9a5 -timeCreated: 1545735557 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json.meta deleted file mode 100644 index c40df99..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c8c4e85bbe1d04b439ad0978d2ae4dcb -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonDiff.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonDiff.cs deleted file mode 100644 index faf0ee0..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonDiff.cs +++ /dev/null @@ -1,44 +0,0 @@ -using System; - -namespace UniJSON -{ - public enum JsonDiffType - { - KeyAdded, - KeyRemoved, - ValueChanged, - } - - public struct JsonDiff - { - public JsonPointer Path; - public JsonDiffType DiffType; - public string Msg; - - public static JsonDiff Create(ListTreeNode node, JsonDiffType diffType, string msg) - where T: IListTreeItem, IValue - { - return new JsonDiff - { - Path = JsonPointer.Create(node), - DiffType = diffType, - Msg = msg, - }; - } - - public override string ToString() - { - switch (DiffType) - { - case JsonDiffType.KeyAdded: - return string.Format("+ {0}: {1}", Path, Msg); - case JsonDiffType.KeyRemoved: - return string.Format("- {0}: {1}", Path, Msg); - case JsonDiffType.ValueChanged: - return string.Format("= {0}: {1}", Path, Msg); - default: - throw new NotImplementedException(); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonDiff.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonDiff.cs.meta deleted file mode 100644 index 3c221f2..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonDiff.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 97356eb7e23aca64c84f836d6c298f43 -timeCreated: 1543427903 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonFormatter.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonFormatter.cs deleted file mode 100644 index 286b588..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonFormatter.cs +++ /dev/null @@ -1,546 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Globalization; -using System.Linq; -using System.Text; - - -namespace UniJSON -{ - public class JsonFormatter : IFormatter, IRpc - { - IStore m_w; - protected IStore Store - { - get { return m_w; } - } - - enum Current - { - ROOT, - ARRAY, - OBJECT - } - - class Context - { - public Current Current; - public int Count; - - public Context(Current current) - { - Current = current; - Count = 0; - } - } - - Stack m_stack = new Stack(); - - string m_indent; - void Indent() - { - if (!string.IsNullOrEmpty(m_indent)) - { - m_w.Write('\n'); - for (int i = 0; i < m_stack.Count - 1; ++i) - { - m_w.Write(m_indent); - } - } - } - - string m_colon; - - public JsonFormatter(int indent = 0) - : this(new BytesStore(128), indent) - { - } - - public JsonFormatter(IStore w, int indent = 0) - { - m_w = w; - m_stack.Push(new Context(Current.ROOT)); - m_indent = new string(Enumerable.Range(0, indent).Select(x => ' ').ToArray()); - m_colon = indent == 0 ? ":" : ": "; - } - - public override string ToString() - { - var bytes = this.GetStoreBytes(); - return Encoding.UTF8.GetString(bytes.Array, bytes.Offset, bytes.Count); - } - - public IStore GetStore() - { - return m_w; - } - - public void Clear() - { - m_w.Clear(); - m_stack.Clear(); - m_stack.Push(new Context(Current.ROOT)); - } - - protected void CommaCheck(bool isKey = false) - { - var top = m_stack.Pop(); - switch (top.Current) - { - case Current.ROOT: - { - if (top.Count != 0) throw new FormatterException("multiple root value"); - } - break; - - case Current.ARRAY: - { - if (top.Count != 0) - { - m_w.Write(','); - } - } - break; - - case Current.OBJECT: - { - if (top.Count % 2 == 0) - { - if (!isKey) throw new FormatterException("key exptected"); - if (top.Count != 0) - { - m_w.Write(','); - } - } - else - { - if (isKey) throw new FormatterException("key not exptected"); - } - } - break; - } - top.Count += 1; - /* - { - var debug = string.Format("{0} {1} = {2}", m_stack.Count, top.Current, top.Count); - Debug.Log(debug); - } - */ - m_stack.Push(top); - } - - static Utf8String s_null = Utf8String.From("null"); - public void Null() - { - CommaCheck(); - m_w.Write(s_null.Bytes); - } - - public void BeginList(int _ = 0) - { - CommaCheck(); - m_w.Write('['); - m_stack.Push(new Context(Current.ARRAY)); - } - - public void EndList() - { - if (m_stack.Peek().Current != Current.ARRAY) - { - throw new InvalidOperationException(); - } - m_w.Write(']'); - m_stack.Pop(); - } - - public void BeginMap(int _ = 0) - { - CommaCheck(); - m_w.Write('{'); - m_stack.Push(new Context(Current.OBJECT)); - } - - public void EndMap() - { - if (m_stack.Peek().Current != Current.OBJECT) - { - throw new InvalidOperationException(); - } - m_stack.Pop(); - Indent(); - m_w.Write('}'); - } - - public void Key(Utf8String key) - { - _Value(key, true); - m_w.Write(m_colon); - } - - public void Value(string x) - { - Value(Utf8String.From(x)); - } - - public void Value(Utf8String key) - { - _Value(key, false); - } - - void _Value(Utf8String key, bool isKey) - { - CommaCheck(isKey); - if (isKey) - { - Indent(); - } - JsonString.Quote(key, m_w); - } - - static Utf8String s_true = Utf8String.From("true"); - static Utf8String s_false = Utf8String.From("false"); - public void Value(Boolean x) - { - CommaCheck(); - m_w.Write(x ? s_true.Bytes : s_false.Bytes); - } - - public void Value(SByte x) - { - CommaCheck(); - m_w.Write(x.ToString()); - } - public void Value(Int16 x) - { - CommaCheck(); - m_w.Write(x.ToString()); - } - public void Value(Int32 x) - { - CommaCheck(); - m_w.Write(x.ToString()); - } - public void Value(Int64 x) - { - CommaCheck(); - m_w.Write(x.ToString()); - } - - public void Value(Byte x) - { - CommaCheck(); - m_w.Write(x.ToString()); - } - public void Value(UInt16 x) - { - CommaCheck(); - m_w.Write(x.ToString()); - } - public void Value(UInt32 x) - { - CommaCheck(); - m_w.Write(x.ToString()); - } - public void Value(UInt64 x) - { - CommaCheck(); - m_w.Write(x.ToString()); - } - - public void Value(Single x) - { - CommaCheck(); - m_w.Write(x.ToString("R", CultureInfo.InvariantCulture)); - } - public void Value(Double x) - { - CommaCheck(); - m_w.Write(x.ToString("R", CultureInfo.InvariantCulture)); - } - - public void Value(ArraySegment x) - { - CommaCheck(); - m_w.Write('"'); - m_w.Write(Convert.ToBase64String(x.Array, x.Offset, x.Count)); - m_w.Write('"'); - } - - // ISO-8601: YYYY-MM-DD“T”hh:mm:ss“Z” - public void Value(DateTimeOffset x) - { - Value(x.ToString("yyyy-MM-ddTHH:mm:ssZ")); - } - - public void Value(ListTreeNode node) - { - CommaCheck(); - m_w.Write(node.Value.Bytes); - } - - #region IRpc - int m_nextRequestId = 1; - - static Utf8String s_jsonrpc = Utf8String.From("jsonrpc"); - static Utf8String s_20 = Utf8String.From("2.0"); - static Utf8String s_method = Utf8String.From("method"); - static Utf8String s_params = Utf8String.From("params"); - - public void Notify(Utf8String method) - { - BeginMap(); - Key(s_jsonrpc); Value(s_20); - Key(s_method); Value(method); - Key(s_params); BeginList(); - { - } - EndList(); - EndMap(); - } - - public void Notify(Utf8String method, A0 a0) - { - BeginMap(); - Key(s_jsonrpc); Value(s_20); - Key(s_method); Value(method); - Key(s_params); BeginList(); - { - this.Serialize(a0); - } - EndList(); - EndMap(); - } - - public void Notify(Utf8String method, A0 a0, A1 a1) - { - BeginMap(); - Key(s_jsonrpc); Value(s_20); - Key(s_method); Value(method); - Key(s_params); BeginList(); - { - this.Serialize(a0); - this.Serialize(a1); - } - EndList(); - EndMap(); - } - - public void Notify(Utf8String method, A0 a0, A1 a1, A2 a2) - { - BeginMap(); - Key(s_jsonrpc); Value(s_20); - Key(s_method); Value(method); - Key(s_params); BeginList(); - { - this.Serialize(a0); - this.Serialize(a1); - this.Serialize(a2); - } - EndList(); - EndMap(); - } - - public void Notify(Utf8String method, A0 a0, A1 a1, A2 a2, A3 a3) - { - BeginMap(); - Key(s_jsonrpc); Value(s_20); - Key(s_method); Value(method); - Key(s_params); BeginList(); - { - this.Serialize(a0); - this.Serialize(a1); - this.Serialize(a2); - this.Serialize(a3); - } - EndList(); - EndMap(); - } - - public void Notify(Utf8String method, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) - { - BeginMap(); - Key(s_jsonrpc); Value(s_20); - Key(s_method); Value(method); - Key(s_params); BeginList(); - { - this.Serialize(a0); - this.Serialize(a1); - this.Serialize(a2); - this.Serialize(a3); - this.Serialize(a4); - } - EndList(); - EndMap(); - } - - public void Notify(Utf8String method, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) - { - BeginMap(); - Key(s_jsonrpc); Value(s_20); - Key(s_method); Value(method); - Key(s_params); BeginList(); - { - this.Serialize(a0); - this.Serialize(a1); - this.Serialize(a2); - this.Serialize(a3); - this.Serialize(a4); - this.Serialize(a5); - } - EndList(); - EndMap(); - } - - static Utf8String s_id = Utf8String.From("id"); - - public void Request(Utf8String method) - { - BeginMap(); - Key(s_jsonrpc); Value(s_20); - Key(s_id); Value(m_nextRequestId++); - Key(s_method); Value(method); - Key(s_params); BeginList(); - { - } - EndList(); - EndMap(); - } - - public void Request(Utf8String method, - A0 a0) - { - BeginMap(); - Key(s_jsonrpc); Value(s_20); - Key(s_id); Value(m_nextRequestId++); - Key(s_method); Value(method); - Key(s_params); BeginList(); - { - this.Serialize(a0); - } - EndList(); - EndMap(); - } - - public void Request(Utf8String method, - A0 a0, A1 a1) - { - BeginMap(); - Key(s_jsonrpc); Value(s_20); - Key(s_id); Value(m_nextRequestId++); - Key(s_method); Value(method); - Key(s_params); BeginList(); - { - this.Serialize(a0); - this.Serialize(a1); - } - EndList(); - EndMap(); - } - - public void Request(Utf8String method, - A0 a0, A1 a1, A2 a2) - { - BeginMap(); - Key(s_jsonrpc); Value(s_20); - Key(s_id); Value(m_nextRequestId++); - Key(s_method); Value(method); - Key(s_params); BeginList(); - { - this.Serialize(a0); - this.Serialize(a1); - this.Serialize(a2); - } - EndList(); - EndMap(); - } - - public void Request(Utf8String method, - A0 a0, A1 a1, A2 a2, A3 a3) - { - BeginMap(); - Key(s_jsonrpc); Value(s_20); - Key(s_id); Value(m_nextRequestId++); - Key(s_method); Value(method); - Key(s_params); BeginList(); - { - this.Serialize(a0); - this.Serialize(a1); - this.Serialize(a2); - this.Serialize(a3); - } - EndList(); - EndMap(); - } - - public void Request(Utf8String method, - A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) - { - BeginMap(); - Key(s_jsonrpc); Value(s_20); - Key(s_id); Value(m_nextRequestId++); - Key(s_method); Value(method); - Key(s_params); BeginList(); - { - this.Serialize(a0); - this.Serialize(a1); - this.Serialize(a2); - this.Serialize(a3); - this.Serialize(a4); - } - EndList(); - EndMap(); - } - - public void Request(Utf8String method, - A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) - { - BeginMap(); - Key(s_jsonrpc); Value(s_20); - Key(s_id); Value(m_nextRequestId++); - Key(s_method); Value(method); - Key(s_params); BeginList(); - { - this.Serialize(a0); - this.Serialize(a1); - this.Serialize(a2); - this.Serialize(a3); - this.Serialize(a4); - this.Serialize(a5); - } - EndList(); - EndMap(); - } - - static Utf8String s_error = Utf8String.From("error"); - - public void ResponseError(int id, Exception error) - { - BeginMap(); - Key(s_jsonrpc); Value(s_20); - Key(s_id); Value(id); - Key(s_error); this.Serialize(error); - EndMap(); - } - - static Utf8String s_result = Utf8String.From("result"); - - public void ResponseSuccess(int id) - { - BeginMap(); - Key(s_jsonrpc); Value(s_20); - Key(s_id); Value(id); - Key(s_result); Null(); - EndMap(); - } - - public void ResponseSuccess(int id, T result) - { - BeginMap(); - Key(s_jsonrpc); Value(s_20); - Key(s_id); Value(id); - Key(s_result); this.Serialize(result); - EndMap(); - } - #endregion - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonFormatter.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonFormatter.cs.meta deleted file mode 100644 index 230469e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonFormatter.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 9968766fe6cce164a8c7e950200cbb11 -timeCreated: 1495517078 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonParser.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonParser.cs deleted file mode 100644 index 1baae04..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonParser.cs +++ /dev/null @@ -1,323 +0,0 @@ -using System; -using System.Collections.Generic; - - -namespace UniJSON -{ - public class JsonParseResult - { - public List Values = new List(); - } - - public static class JsonParser - { - static ValueNodeType GetValueType(Utf8String segment) - { - switch (Char.ToLower((char)segment[0])) - { - case '{': return ValueNodeType.Object; - case '[': return ValueNodeType.Array; - case '"': return ValueNodeType.String; - case 't': return ValueNodeType.Boolean; - case 'f': return ValueNodeType.Boolean; - case 'n': - if (segment.ByteLength >= 2 && Char.ToLower((char) segment[1]) == 'a') - { - return ValueNodeType.NaN; - } - - return ValueNodeType.Null; - - case 'i': - return ValueNodeType.Infinity; - - case '-': - if (segment.ByteLength >= 2 && Char.ToLower((char) segment[1]) == 'i') - { - return ValueNodeType.MinusInfinity; - } - goto case '0';// fall through - case '0': // fall through - case '1': // fall through - case '2': // fall through - case '3': // fall through - case '4': // fall through - case '5': // fall through - case '6': // fall through - case '7': // fall through - case '8': // fall through - case '9': // fall through - { - if (segment.IsInt) - { - return ValueNodeType.Integer; - } - else - { - return ValueNodeType.Number; - } - } - - default: - throw new ParserException(segment + " is not valid json start"); - } - } - - /// - /// Expected null, boolean, integer, number - /// - /// - /// - /// - /// - static JsonValue ParsePrimitive(Utf8String segment, ValueNodeType valueType, int parentIndex) - { - int i = 1; - for (; i < segment.ByteLength; ++i) - { - if (Char.IsWhiteSpace((char)segment[i]) - || segment[i] == '}' - || segment[i] == ']' - || segment[i] == ',' - || segment[i] == ':' - ) - { - break; - } - } - return new JsonValue(segment.Subbytes(0, i), valueType, parentIndex); - } - - static JsonValue ParseString(Utf8String segment, int parentIndex) - { - int pos; - if (segment.TrySearchAscii((Byte)'"', 1, out pos)) - { - return new JsonValue(segment.Subbytes(0, pos + 1), ValueNodeType.String, parentIndex); - } - else - { - throw new ParserException("no close string: " + segment); - } - } - - static Utf8String ParseArray(Utf8String segment, List values, int parentIndex) - { - var closeChar = ']'; - bool isFirst = true; - var current = segment.Subbytes(1); - while (true) - { - { - // skip white space - int nextToken; - if (!current.TrySearchByte(x => !Char.IsWhiteSpace((char)x), out nextToken)) - { - throw new ParserException("no white space expected"); - } - current = current.Subbytes(nextToken); - } - - { - if (current[0] == closeChar) - { - // end - break; - } - } - - if (isFirst) - { - isFirst = false; - } - else - { - // search ',' or closeChar - int keyPos; - if (!current.TrySearchByte(x => x == ',', out keyPos)) - { - throw new ParserException("',' expected"); - } - current = current.Subbytes(keyPos + 1); - } - - { - // skip white space - int nextToken; - if (!current.TrySearchByte(x => !Char.IsWhiteSpace((char)x), out nextToken)) - { - throw new ParserException("not whitespace expected"); - } - current = current.Subbytes(nextToken); - } - - // value - var value = Parse(current, values, parentIndex); - current = current.Subbytes(value.Segment.ByteLength); - } - - return current; - } - - static Utf8String ParseObject(Utf8String segment, List values, int parentIndex) - { - var closeChar = '}'; - bool isFirst = true; - var current = segment.Subbytes(1); - while (true) - { - { - // skip white space - int nextToken; - if (!current.TrySearchByte(x => !Char.IsWhiteSpace((char)x), out nextToken)) - { - throw new ParserException("no white space expected"); - } - current = current.Subbytes(nextToken); - } - - { - if (current[0] == closeChar) - { - break; - } - } - - if (isFirst) - { - isFirst = false; - } - else - { - // search ',' or closeChar - int keyPos; - if (!current.TrySearchByte(x => x == ',', out keyPos)) - { - throw new ParserException("',' expected"); - } - current = current.Subbytes(keyPos + 1); - } - - { - // skip white space - int nextToken; - if (!current.TrySearchByte(x => !Char.IsWhiteSpace((char)x), out nextToken)) - { - throw new ParserException("not whitespace expected"); - } - current = current.Subbytes(nextToken); - } - - // key - var key = Parse(current, values, parentIndex); - if (key.ValueType != ValueNodeType.String) - { - throw new ParserException("object key must string: " + key.Segment); - } - current = current.Subbytes(key.Segment.ByteLength); - - // search ':' - int valuePos; - if (!current.TrySearchByte(x => x == ':', out valuePos)) - { - throw new ParserException(": is not found"); - } - current = current.Subbytes(valuePos + 1); - - { - // skip white space - int nextToken; - if (!current.TrySearchByte(x => !Char.IsWhiteSpace((char)x), out nextToken)) - { - throw new ParserException("not whitespace expected"); - } - current = current.Subbytes(nextToken); - } - - // value - var value = Parse(current, values, parentIndex); - current = current.Subbytes(value.Segment.ByteLength); - } - - return current; - } - - static JsonValue Parse(Utf8String segment, List values, int parentIndex) - { - // skip white space - int pos; - if (!segment.TrySearchByte(x => !char.IsWhiteSpace((char)x), out pos)) - { - throw new ParserException("only whitespace"); - } - segment = segment.Subbytes(pos); - - var valueType = GetValueType(segment); - switch (valueType) - { - case ValueNodeType.Boolean: - case ValueNodeType.Integer: - case ValueNodeType.Number: - case ValueNodeType.Null: - case ValueNodeType.NaN: - case ValueNodeType.Infinity: - case ValueNodeType.MinusInfinity: - { - var value= ParsePrimitive(segment, valueType, parentIndex); - values.Add(value); - return value; - } - - case ValueNodeType.String: - { - var value= ParseString(segment, parentIndex); - values.Add(value); - return value; - } - - case ValueNodeType.Array: // fall through - { - var index = values.Count; - values.Add(new JsonValue()); // placeholder - var current = ParseArray(segment, values, index); - values[index] = new JsonValue(segment.Subbytes(0, current.Bytes.Offset + 1 - segment.Bytes.Offset), - ValueNodeType.Array, parentIndex); - return values[index]; - } - - case ValueNodeType.Object: // fall through - { - var index = values.Count; - values.Add(new JsonValue()); // placeholder - var current=ParseObject(segment, values, index); - values[index] = new JsonValue(segment.Subbytes(0, current.Bytes.Offset + 1 - segment.Bytes.Offset), - ValueNodeType.Object, parentIndex); - return values[index]; - } - - default: - throw new NotImplementedException(); - } - } - - public static ListTreeNode Parse(String json) - { - return Parse(Utf8String.From(json)); - } - - public static ListTreeNode Parse(Utf8String json) - { - var result = new List(); - var value = Parse(json, result, -1); - if (value.ValueType != ValueNodeType.Array && value.ValueType != ValueNodeType.Object) - { - result.Add(value); - return new ListTreeNode(result); - } - else - { - return new ListTreeNode(result); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonParser.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonParser.cs.meta deleted file mode 100644 index bcc3cf4..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonParser.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 3ab6245869fe6f7448aa8f4e84286cdd -timeCreated: 1526137862 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonPointer.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonPointer.cs deleted file mode 100644 index 170b49a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonPointer.cs +++ /dev/null @@ -1,101 +0,0 @@ -using System; -using System.Linq; -using System.Text; - - -namespace UniJSON -{ - public struct JsonPointer - { - public ArraySegment Path - { - get; - private set; - } - - public int Count - { - get - { - return Path.Count; - } - } - - public Utf8String this[int index] - { - get - { - return Path.Array[Path.Offset + index]; - } - } - - public JsonPointer Unshift() - { - return new JsonPointer - { - Path = new ArraySegment(Path.Array, Path.Offset + 1, Path.Count - 1) - }; - } - - public static JsonPointer Create(ListTreeNode node) - where T : IListTreeItem, IValue - { - return new JsonPointer - { - Path = new ArraySegment(node.Path().Skip(1).Select(x => GetKeyFromParent(x)).ToArray()) - }; - } - - public JsonPointer(Utf8String pointer) : this() - { - int pos; - if (!pointer.TrySearchAscii((Byte)'/', 0, out pos)) - { - throw new ArgumentException(); - } - if (pos != 0) - { - throw new ArgumentException(); - } - - var splited = pointer.Split((Byte)'/').ToArray(); - Path = new ArraySegment(splited, 1, splited.Length - 1); - } - - public override string ToString() - { - if (Path.Count == 0) - { - return "/"; - } - - var sb = new StringBuilder(); - var end = Path.Offset + Path.Count; - for (int i = Path.Offset; i < end; ++i) - { - sb.Append('/'); - sb.Append(Path.Array[i]); - } - return sb.ToString(); - } - - static Utf8String GetKeyFromParent(ListTreeNode json) - where T : IListTreeItem, IValue - { - var parent = json.Parent; - if (parent.IsArray()) - { - var index = parent.IndexOf(json); - return Utf8String.From(index); - } - else if (parent.IsMap()) - { - return parent.KeyOf(json); - } - else - { - throw new NotImplementedException(); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonPointer.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonPointer.cs.meta deleted file mode 100644 index c672f6a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonPointer.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 8b7033668ce791e40819d16e664efe18 -timeCreated: 1543321766 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonSchema.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonSchema.cs deleted file mode 100644 index 6ad4414..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonSchema.cs +++ /dev/null @@ -1,445 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; - -namespace UniJSON -{ - public class JsonSchema : IEquatable - { - public string Schema; // http://json-schema.org/draft-04/schema - - #region Annotations - string m_title; - public string Title - { - get { return m_title; } - private set - { - if (value == null) - { - m_title = ""; - } - else - { - m_title = value.Trim(); - } - } - } - - string m_desc; - public string Description - { - get { return m_desc; } - private set - { - if (value == null) - { - m_desc = ""; - } - else - { - m_desc = value.Trim(); - } - } - } - - public object Default - { - get; - private set; - } - #endregion - - public IJsonSchemaValidator Validator { get; set; } - - /// - /// Skip validator comparison - /// - public bool SkipComparison { get; set; } - - public object ExplicitIgnorableValue { private get; set; } - public int ExplicitIgnorableItemLength { private get; set; } - - public override string ToString() - { - return string.Format("<{0}>", Title); - } - - public override int GetHashCode() - { - return 1; - } - - public override bool Equals(object obj) - { - var rhs = obj as JsonSchema; - if (rhs == null) return false; - return Equals(rhs); - } - - public bool Equals(JsonSchema rhs) - { - // skip comparison - if (SkipComparison) return true; - if (rhs.SkipComparison) return true; - return Validator.Equals(rhs.Validator); - } - - public static bool operator ==(JsonSchema obj1, JsonSchema obj2) - { - if (ReferenceEquals(obj1, obj2)) - { - return true; - } - - if (ReferenceEquals(obj1, null)) - { - return false; - } - - if (ReferenceEquals(obj2, null)) - { - return false; - } - - return obj1.Equals(obj2); - } - - public static bool operator !=(JsonSchema obj1, JsonSchema obj2) - { - return !(obj1 == obj2); - } - - #region FromType - public static JsonSchema FromType() - { - return FromType(typeof(T), null, null); - } - - public static JsonSchema FromType(Type t, - BaseJsonSchemaAttribute a = null, // field attribute - ItemJsonSchemaAttribute ia = null - ) - { - // class attribute - var aa = t.GetCustomAttributes(typeof(JsonSchemaAttribute), true) - .FirstOrDefault() as JsonSchemaAttribute; - if (a != null) - { - a.Merge(aa); - } - else - { - if (aa == null) - { - a = new JsonSchemaAttribute(); - } - else - { - a = aa; - } - } - - if (ia == null) - { - ia = t.GetCustomAttributes(typeof(ItemJsonSchemaAttribute), true) - .FirstOrDefault() as ItemJsonSchemaAttribute; - } - - IJsonSchemaValidator validator = null; - bool skipComparison = a.SkipSchemaComparison; - if (t == typeof(object)) - { - skipComparison = true; - } - - if (a.EnumValues != null) - { - try - { - validator = JsonEnumValidator.Create(a.EnumValues, a.EnumSerializationType); - } - catch (Exception) - { - throw new Exception(String.Join(", ", a.EnumValues.Select(x => x.ToString()).ToArray())); - } - } - else if (t.IsEnum) - { - validator = JsonEnumValidator.Create(t, a.EnumSerializationType, a.EnumExcludes); - } - else - { - validator = JsonSchemaValidatorFactory.Create(t, a, ia); - } - - var schema = new JsonSchema - { - Title = a.Title, - Description = a.Description, - Validator = validator, - SkipComparison = skipComparison, - ExplicitIgnorableValue = a.ExplicitIgnorableValue, - ExplicitIgnorableItemLength = a.ExplicitIgnorableItemLength, - }; - - return schema; - } - #endregion - - #region FromJson - static ValueNodeType ParseValueType(string type) - { - try - { - return (ValueNodeType)Enum.Parse(typeof(ValueNodeType), type, true); - } - catch (ArgumentException) - { - throw new ArgumentException(string.Format("unknown type: {0}", type)); - } - } - - Stack m_context = new Stack(); - - static Utf8String s_ref = Utf8String.From("$ref"); - - public void Parse(IFileSystemAccessor fs, ListTreeNode root, string Key) - { - m_context.Push(Key); - - var compositionType = default(CompositionType); - var composition = new List(); - foreach (var kv in root.ObjectItems()) - { - switch (kv.Key.GetString()) - { - case "$schema": - Schema = kv.Value.GetString(); - break; - - case "$ref": - { - var refFs = fs.Get(kv.Value.GetString()); - - // parse JSON - var json = refFs.ReadAllText(); - var refRoot = JsonParser.Parse(json); - - Parse(refFs, refRoot, "$ref"); - } - break; - - #region Annotation - case "title": - Title = kv.Value.GetString(); - break; - - case "description": - Description = kv.Value.GetString(); - break; - - case "default": - Default = kv.Value; - break; - #endregion - - #region Validation - // http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.1 - case "type": - if (Validator == null) - { - Validator = JsonSchemaValidatorFactory.Create(kv.Value.GetString()); - } - break; - - case "enum": - Validator = JsonEnumValidator.Create(kv.Value); - break; - - case "const": - break; - #endregion - - #region Composite - // http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.7 - case "oneOf": - break; - - case "not": - break; - - case "anyOf": // composition - case "allOf": // composition - { - compositionType = (CompositionType)Enum.Parse(typeof(CompositionType), kv.Key.GetString(), true); - foreach (var item in kv.Value.ArrayItems()) - { - if (item.ContainsKey(s_ref)) - { - var sub = JsonSchema.ParseFromPath(fs.Get(item[s_ref].GetString())); - composition.Add(sub); - } - else - { - var sub = new JsonSchema(); - sub.Parse(fs, item, compositionType.ToString()); - composition.Add(sub); - } - } - Composite(compositionType, composition); - } - break; - #endregion - - // http://json-schema.org/latest/json-schema-validation.html#rfc.section.7 - case "format": - break; - - #region Gltf - case "gltf_detailedDescription": - break; - - case "gltf_webgl": - break; - - case "gltf_uriType": - break; - #endregion - - default: - { - if (Validator != null) - { - if (Validator.FromJsonSchema(fs, kv.Key.GetString(), kv.Value)) - { - continue; - } - } - throw new NotImplementedException(string.Format("unknown key: {0}", kv.Key)); - } - } - } - m_context.Pop(); - - if (Validator == null) - { - SkipComparison = true; - } - } - - void Composite(CompositionType compositionType, List composition) - { - switch (compositionType) - { - case CompositionType.AllOf: - if (composition.Count == 1) - { - // inheritance - if (Validator == null) - { - //Validator = JsonSchemaValidatorFactory.Create(composition[0].Validator.ValueNodeType); - Validator = composition[0].Validator; - } - else - { - Validator.Merge(composition[0].Validator); - } - } - else - { - throw new NotImplementedException(); - } - break; - - case CompositionType.AnyOf: - if (Validator == null) - { - if (composition.Count == 1) - { - throw new NotImplementedException(); - //Validator = composition[0].Validator; - } - else - { - // extend enum - // enum, enum..., type - Validator = JsonEnumValidator.Create(composition, EnumSerializationType.AsString); - } - } - //throw new NotImplementedException(); - break; - - default: - throw new NotImplementedException(); - } - } - - public static JsonSchema ParseFromPath(IFileSystemAccessor fs) - { - // parse JSON - var json = fs.ReadAllText(); - var root = JsonParser.Parse(json); - - // create schema - var schema = new JsonSchema(); - schema.Parse(fs, root, "__ParseFromPath__" + fs.ToString()); - return schema; - } - #endregion - - public void Serialize(IFormatter f, T o, JsonSchemaValidationContext c = null) - { - if (c == null) - { - c = new JsonSchemaValidationContext(o) - { - EnableDiagnosisForNotRequiredFields = true, - }; - } - - var ex = Validator.Validate(c, o); - if (ex != null) - { - throw ex; - } - - Validator.Serialize(f, c, o); - } - - public void ToJson(IFormatter f) - { - f.BeginMap(2); - if (!string.IsNullOrEmpty(Title)) { f.Key("title"); f.Value(Title); } - if (!string.IsNullOrEmpty(Description)) { f.Key("description"); f.Value(Description); } - Validator.ToJsonScheama(f); - f.EndMap(); - } - - public bool IsExplicitlyIgnorableValue(T obj) - { - if (obj == null) - { - return ExplicitIgnorableValue == null; - } - - var iter = obj as System.Collections.ICollection; - if (ExplicitIgnorableItemLength != -1 && iter != null) - { - return iter.Count == ExplicitIgnorableItemLength; - } - - return obj.Equals(ExplicitIgnorableValue); - } - } - - public static class JsonSchemaExtensions - { - public static string Serialize(this JsonSchema s, T o, JsonSchemaValidationContext c = null) - { - var f = new JsonFormatter(); - s.Serialize(f, o, c); - return f.ToString(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonSchema.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonSchema.cs.meta deleted file mode 100644 index 05431a7..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonSchema.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 4d98ef4e469916e428284c9155f29059 -timeCreated: 1526056149 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonSchemaAttribute.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonSchemaAttribute.cs deleted file mode 100644 index 4e44ebe..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonSchemaAttribute.cs +++ /dev/null @@ -1,84 +0,0 @@ -using System; - - -namespace UniJSON -{ - public enum EnumSerializationType - { - AsInt, - AsString, - AsLowerString, - AsUpperString, - } - - public class BaseJsonSchemaAttribute : Attribute - { - #region Annotation - public string Title; - public string Description; - #endregion - - #region integer, number - public double Minimum = double.NaN; - public bool ExclusiveMinimum; - public double Maximum = double.NaN; - public bool ExclusiveMaximum; - public double MultipleOf; - #endregion - - #region string - public string Pattern; - #endregion - - #region array - public int MinItems; - public int MaxItems; - #endregion - - #region object - public ValueNodeType ValueType; - public int MinProperties; - public bool Required; - public string[] Dependencies; - #endregion - - #region enum - public EnumSerializationType EnumSerializationType; - public object[] EnumValues; - public object[] EnumExcludes; - #endregion - - public PropertyExportFlags ExportFlags = PropertyExportFlags.Default; - - /// - /// skip validator comparison - /// - public bool SkipSchemaComparison; - - /// - /// Suppress errors if a value of the field which is not required by a schema is matched to this value. - /// This feature will be useful to ignore invalid value which is known. - /// - public object ExplicitIgnorableValue; - - /// - /// Suppress errors if length of a value of the field which is not required by a schema is matched to this value. - /// This feature will be useful to ignore invalid value which is known. - /// - public int ExplicitIgnorableItemLength = -1; - - public void Merge(BaseJsonSchemaAttribute rhs) - { - if (rhs == null) return; - - if (string.IsNullOrEmpty(Title)) - { - Title = rhs.Title; - } - } - } - - public class JsonSchemaAttribute : BaseJsonSchemaAttribute { } - - public class ItemJsonSchemaAttribute : BaseJsonSchemaAttribute { } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonSchemaAttribute.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonSchemaAttribute.cs.meta deleted file mode 100644 index fa872cf..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonSchemaAttribute.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: e79a9be81d4b0fc4ebd9ca47d0f20a04 -timeCreated: 1526058096 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonString.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonString.cs deleted file mode 100644 index 5fb5a95..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonString.cs +++ /dev/null @@ -1,372 +0,0 @@ -using System; -using System.Linq; -using System.Text; - - -namespace UniJSON -{ - public static class JsonString - { - #region Quote - public static void Escape(String s, IStore w) - { - if (String.IsNullOrEmpty(s)) - { - return; - } - - var it = s.ToCharArray().Cast().GetEnumerator(); - while (it.MoveNext()) - { - switch (it.Current) - { - case '"': - case '\\': - case '/': - // \\ prefix - w.Write('\\'); - w.Write(it.Current); - break; - - case '\b': - w.Write('\\'); - w.Write('b'); - break; - case '\f': - w.Write('\\'); - w.Write('f'); - break; - case '\n': - w.Write('\\'); - w.Write('n'); - break; - case '\r': - w.Write('\\'); - w.Write('r'); - break; - case '\t': - w.Write('\\'); - w.Write('t'); - break; - - default: - w.Write(it.Current); - break; - } - } - } - - public static void Escape(Utf8String s, IStore w) - { - if (s.IsEmpty) - { - return; - } - - var it = s.GetIterator(); - while(it.MoveNext()) - { - var l = it.CurrentByteLength; - if (l == 1) - { - var b = it.Current; - switch (b) - { - case (Byte)'"': - case (Byte)'\\': - case (Byte)'/': - // \\ prefix - w.Write((Byte)'\\'); - w.Write(b); - break; - - case (Byte)'\b': - w.Write((Byte)'\\'); - w.Write((Byte)'b'); - break; - case (Byte)'\f': - w.Write((Byte)'\\'); - w.Write((Byte)'f'); - break; - case (Byte)'\n': - w.Write((Byte)'\\'); - w.Write((Byte)'n'); - break; - case (Byte)'\r': - w.Write((Byte)'\\'); - w.Write((Byte)'r'); - break; - case (Byte)'\t': - w.Write((Byte)'\\'); - w.Write((Byte)'t'); - break; - - default: - w.Write(b); - break; - } - // ascii - } - else if (l == 2) - { - w.Write(it.Current); - w.Write(it.Second); - } - else if (l == 3) - { - w.Write(it.Current); - w.Write(it.Second); - w.Write(it.Third); - } - else if (l == 4) - { - w.Write(it.Current); - w.Write(it.Second); - w.Write(it.Third); - w.Write(it.Fourth); - } - else - { - throw new ParserException("invalid utf8"); - } - } - } - - public static string Escape(String s) - { - var sb = new StringBuilder(); - Escape(s, new StringBuilderStore(sb)); - return sb.ToString(); - } - - public static void Quote(String s, IStore w) - { - w.Write('"'); - Escape(s, w); - w.Write('"'); - } - - public static void Quote(Utf8String s, IStore w) - { - w.Write((Byte)'"'); - Escape(s, w); - w.Write((Byte)'"'); - } - - /// - /// Added " and Escape - /// - /// - /// - public static string Quote(string s) - { - var sb = new StringBuilder(); - Quote(s, new StringBuilderStore(sb)); - return sb.ToString(); - } - - public static Utf8String Quote(Utf8String s) - { - var sb = new BytesStore(s.ByteLength); - Quote(s, sb); - return new Utf8String(sb.Bytes); - } - #endregion - - #region Unquote - public static int Unescape(string src, IStore w) - { - int writeCount = 0; - Action Write = c => - { - if (w != null) - { - w.Write(c); - } - ++writeCount; - }; - - int i = 0; - int length = src.Length - 1; - while (i < length) - { - if (src[i] == '\\') - { - var c = src[i + 1]; - switch (c) - { - case '\\': - case '/': - case '"': - // remove prefix - Write(c); - i += 2; - continue; - - case 'b': - Write('\b'); - i += 2; - continue; - case 'f': - Write('\f'); - i += 2; - continue; - case 'n': - Write('\n'); - i += 2; - continue; - case 'r': - Write('\r'); - i += 2; - continue; - case 't': - Write('\t'); - i += 2; - continue; - } - } - - Write(src[i]); - i += 1; - } - while (i <= length) - { - Write(src[i++]); - } - - return writeCount; - } - - public static int Unescape(Utf8String s, IStore w) - { - int writeCount = 0; - Action Write = c => - { - if (w != null) - { - w.Write(c); - } - ++writeCount; - }; - - var it = s.GetIterator(); - while(it.MoveNext()) - { - var l = it.CurrentByteLength; - if (l == 1) - { - if (it.Current == (Byte)'\\') - { - var c = it.Second; - switch (c) - { - case (Byte)'\\': - case (Byte)'/': - case (Byte)'"': - // remove prefix - Write(c); - it.MoveNext(); - continue; - - case (Byte)'b': - Write((Byte)'\b'); - it.MoveNext(); - continue; - case (Byte)'f': - Write((Byte)'\f'); - it.MoveNext(); - continue; - case (Byte)'n': - Write((Byte)'\n'); - it.MoveNext(); - continue; - case (Byte)'r': - Write((Byte)'\r'); - it.MoveNext(); - continue; - case (Byte)'t': - Write((Byte)'\t'); - it.MoveNext(); - continue; - } - } - - Write(it.Current); - } - else if (l == 2) - { - Write(it.Current); - Write(it.Second); - } - else if (l == 3) - { - Write(it.Current); - Write(it.Second); - Write(it.Third); - } - else if (l == 4) - { - Write(it.Current); - Write(it.Second); - Write(it.Third); - Write(it.Fourth); - } - else - { - throw new ParserException("invalid utf8"); - } - } - - return writeCount; - } - - public static string Unescape(string src) - { - var sb = new StringBuilder(); - Unescape(src, new StringBuilderStore(sb)); - return sb.ToString(); - } - - public static int Unquote(string src, IStore w) - { - return Unescape(src.Substring(1, src.Length - 2), w); - } - - public static int Unquote(Utf8String src, IStore w) - { - return Unescape(src.Subbytes(1, src.ByteLength - 2), w); - } - - public static string Unquote(string src) - { - var count = Unquote(src, null); - if (count == src.Length - 2) - { - return src.Substring(1, src.Length - 2); - } - else - { - var sb = new StringBuilder(count); - Unquote(src, new StringBuilderStore(sb)); - var str = sb.ToString(); - return str; - } - } - - public static Utf8String Unquote(Utf8String src) - { - var count = Unquote(src, null); - if (count == src.ByteLength - 2) - { - return src.Subbytes(1, src.ByteLength - 2); - } - else - { - var sb = new BytesStore(count); - Unquote(src, sb); - return new Utf8String(sb.Bytes); - } - } - #endregion - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonString.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonString.cs.meta deleted file mode 100644 index 4674172..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonString.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 04a331b0f78f87e4d928172d735672d9 -timeCreated: 1495517071 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonValue.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonValue.cs deleted file mode 100644 index 0fb2e77..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonValue.cs +++ /dev/null @@ -1,111 +0,0 @@ -using System; - - -namespace UniJSON -{ - public struct JsonValue : IListTreeItem, IValue - { - public Utf8String Segment; - public ArraySegment Bytes { get { return Segment.Bytes; } } - - public ValueNodeType ValueType - { - get; - private set; - } - - public int ParentIndex - { - get; - private set; - } - - public JsonValue(Utf8String segment, ValueNodeType valueType, int parentIndex) : this() - { - Segment = segment; - ValueType = valueType; - ParentIndex = parentIndex; - } - - public JsonValue New(ArraySegment bytes, ValueNodeType valueType, int parentIndex) - { - return new JsonValue(new Utf8String(bytes), valueType, parentIndex); - } - - public JsonValue Key(Utf8String key, int parentIndex) - { - return new JsonValue(JsonString.Quote(key), ValueNodeType.String, parentIndex); - } - - public override string ToString() - { - switch (ValueType) - { - case ValueNodeType.Null: - case ValueNodeType.Boolean: - case ValueNodeType.Integer: - case ValueNodeType.Number: - case ValueNodeType.Array: - case ValueNodeType.Object: - case ValueNodeType.String: - case ValueNodeType.NaN: - case ValueNodeType.Infinity: - case ValueNodeType.MinusInfinity: - return Segment.ToString(); - - default: - throw new NotImplementedException(); - } - } - - static Utf8String s_true = Utf8String.From("true"); - static Utf8String s_false = Utf8String.From("false"); - - public Boolean GetBoolean() - { - if (Segment == s_true) - { - return true; - } - else if (Segment == s_false) - { - return false; - } - else - { - throw new DeserializationException("invalid boolean: " + Segment.ToString()); - } - } - - public SByte GetSByte() { return Segment.ToSByte(); } - public Int16 GetInt16() { return Segment.ToInt16(); } - public Int32 GetInt32() { return Segment.ToInt32(); } - public Int64 GetInt64() { return Segment.ToInt64(); } - public Byte GetByte() { return Segment.ToByte(); } - public UInt16 GetUInt16() { return Segment.ToUInt16(); } - public UInt32 GetUInt32() { return Segment.ToUInt32(); } - public UInt64 GetUInt64() { return Segment.ToUInt64(); } - public Single GetSingle() { return Segment.ToSingle(); } - public Double GetDouble() { return Segment.ToDouble(); } - public String GetString() { return JsonString.Unquote(Segment.ToString()); } - public Utf8String GetUtf8String() { return JsonString.Unquote(Segment); } - - public T GetValue() - { - switch (ValueType) - { - case ValueNodeType.Null: return GenericCast.Null(); - case ValueNodeType.Boolean: return GenericCast.Cast(GetBoolean()); - case ValueNodeType.Integer: return GenericCast.Cast(GetInt32()); - case ValueNodeType.Number: - case ValueNodeType.NaN: - case ValueNodeType.Infinity: - case ValueNodeType.MinusInfinity: - return GenericCast.Cast(GetDouble()); - case ValueNodeType.String: return GenericCast.Cast(GetString()); - } - - throw new NotImplementedException(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonValue.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonValue.cs.meta deleted file mode 100644 index 314b714..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Json/JsonValue.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 0b59a66ed8e7b1c419d69f7ee07900c1 -timeCreated: 1526178270 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator.meta deleted file mode 100644 index 5b28fca..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a6ba419f5eeff8c4f9a4bfd989b4b932 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/IJsonSchemaValidator.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/IJsonSchemaValidator.cs deleted file mode 100644 index 9a53769..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/IJsonSchemaValidator.cs +++ /dev/null @@ -1,88 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace UniJSON -{ - public class JsonSchemaValidationContext - { - Stack m_stack = new Stack(); - - public bool EnableDiagnosisForNotRequiredFields = false; - - public JsonSchemaValidationContext(object o) - { - Push(o.GetType().Name); - } - - public ActionDisposer Push(object o) - { - m_stack.Push(o.ToString()); - return new ActionDisposer(Pop); - } - - public void Pop() - { - m_stack.Pop(); - } - - public bool IsEmpty() - { - return m_stack.Count == 1; // A first element will be remained. - } - - public override string ToString() - { - return string.Join(".", m_stack.ToArray(), 0, m_stack.Count); - } - } - - - public class JsonSchemaValidationException : Exception - { - public Exception Error - { - get; private set; - } - - public JsonSchemaValidationException(JsonSchemaValidationContext context, string msg) : base(string.Format("[{0}] {1}", context, msg)) - { - } - - public JsonSchemaValidationException(JsonSchemaValidationContext context, Exception ex) : base(string.Format("[{0}] {1}", context, ex)) - { - Error = ex; - } - } - - - public interface IJsonSchemaValidator - { - #region JsonSchema - void Merge(IJsonSchemaValidator rhs); - - /// - /// Parse json schema - /// - /// - /// - /// - /// - bool FromJsonSchema(IFileSystemAccessor fs, string key, ListTreeNode value); - - void ToJsonScheama(IFormatter f); - #endregion - - #region Serializer - /// - /// - /// - /// - /// return null if validate value - JsonSchemaValidationException Validate(JsonSchemaValidationContext context, T value); - - void Serialize(IFormatter f, JsonSchemaValidationContext context, T value); - - void Deserialize(ListTreeNode src, ref U dst) where T : IListTreeItem, IValue; - #endregion - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/IJsonSchemaValidator.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/IJsonSchemaValidator.cs.meta deleted file mode 100644 index 0470e0b..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/IJsonSchemaValidator.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: c35476cdb8e1a4541b2f06b9b11141d0 -timeCreated: 1531812340 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonArrayValidator.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonArrayValidator.cs deleted file mode 100644 index e9ea2c8..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonArrayValidator.cs +++ /dev/null @@ -1,300 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Reflection; - - -namespace UniJSON -{ - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.4 - /// - public class JsonArrayValidator : IJsonSchemaValidator - { - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.4.1 - /// - public JsonSchema Items - { - get; set; - } - - // additionalItems - - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.4.3 - /// - public int? MaxItems - { - get; set; - } - - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.4.4 - /// - public int? MinItems - { - get; set; - } - - // uniqueItems - - // contains - - public override int GetHashCode() - { - return 5; - } - - public override bool Equals(object obj) - { - var rhs = obj as JsonArrayValidator; - if (rhs == null) return false; - - if (Items != rhs.Items) return false; - if (MaxItems != rhs.MaxItems) return false; - if (MinItems != rhs.MinItems) return false; - - return true; - } - - public void Merge(IJsonSchemaValidator rhs) - { - throw new NotImplementedException(); - } - - public bool FromJsonSchema(IFileSystemAccessor fs, string key, ListTreeNode value) - { - switch (key) - { - case "items": - if (value.IsArray()) - { - throw new NotImplementedException(); - } - else - { - var sub = new JsonSchema(); - sub.Parse(fs, value, "items"); - Items = sub; - } - return true; - - case "additionalItems": - return true; - - case "maxItems": - MaxItems = value.GetInt32(); - return true; - - case "minItems": - MinItems = value.GetInt32(); - return true; - - case "uniqueItems": - return true; - - case "contains": - return true; - } - - return false; - } - - static class GenericCounter - { - delegate int Counter(T value); - - static Counter s_counter; - - public static int Count(T value) - { - if (s_counter == null) - { - var t = typeof(T); - if (t.IsArray) - { - var pi = t.GetProperty("Length"); - var compiled = (Func)((T array) => - { - return (int)pi.GetValue(array, null); - }); - s_counter = new Counter(compiled); - } - else if (t.GetIsGenericList()) - { - var pi = t.GetProperty("Count"); - var compiled = (Func)((T list) => - { - return (int)pi.GetValue(list, null); - }); - s_counter = new Counter(compiled); - } - else - { - throw new NotImplementedException(); - } - } - return s_counter(value); - } - } - - public JsonSchemaValidationException Validate(JsonSchemaValidationContext context, T o) - { - if (o == null) - { - return new JsonSchemaValidationException(context, "null"); - } - - var count = GenericCounter.Count(o); - - // Empty array is valid - /*if (count == 0) - { - return new JsonSchemaValidationException(context, "empty"); - }*/ - - if (MaxItems.HasValue && count > MaxItems.Value) - { - return new JsonSchemaValidationException(context, "maxOtems"); - } - - if (MinItems.HasValue && count < MinItems.Value) - { - return new JsonSchemaValidationException(context, "minItems"); - } - - if (Items == null) - { - return null; // There are no json schema for items, success - } - - var v = Items.Validator; - var t = o.GetType(); - IEnumerable iter = null; - if (t.IsArray) - { - iter = o as Array; - } - else if (t.GetIsGenericList()) - { - iter = o as IList; - } - else - { - return new JsonSchemaValidationException(context, "non iterable object"); - } - - foreach(var e in iter) - { - var ex = v.Validate(context, e); - if (ex != null) - { - return ex; - } - }; - - return null; - } - - static void ArraySerializer(IJsonSchemaValidator v, IFormatter f, JsonSchemaValidationContext c, U[] array) - { - f.BeginList(array.Length); - { - //int i = 0; - foreach (var x in array) - { - //using (c.Push(i++)) - { - v.Serialize(f, c, x); - } - } - } - f.EndList(); - } - - static void ListSerializer(IJsonSchemaValidator v, IFormatter f, JsonSchemaValidationContext c, List list) - { - f.BeginList(list.Count); - { - //int i = 0; - foreach (var x in list) - { - //using (c.Push(i++)) - { - v.Serialize(f, c, x); - } - } - } - f.EndList(); - } - - static class GenericSerializer - { - delegate void Serializer(IJsonSchemaValidator v, IFormatter f, JsonSchemaValidationContext c, T o); - - static Serializer s_serializer; - - public static void Serialize(IJsonSchemaValidator v, IFormatter f, JsonSchemaValidationContext c, T o) - { - if (s_serializer == null) - { - var t = typeof(T); - MethodInfo g = null; - if (t.IsArray) - { - var mi = typeof(JsonArrayValidator).GetMethod("ArraySerializer", - BindingFlags.Static | BindingFlags.NonPublic); - g = mi.MakeGenericMethod(t.GetElementType()); - } - else if (t.GetIsGenericList()) - { - // ToDo: IList - var mi = typeof(JsonArrayValidator).GetMethod("ListSerializer", - BindingFlags.Static | BindingFlags.NonPublic); - g = mi.MakeGenericMethod(t.GetGenericArguments()); - } - else - { - throw new NotImplementedException(); - } - - var compiled = (Action< - IJsonSchemaValidator, - IFormatter, - JsonSchemaValidationContext, - T>) - GenericInvokeCallFactory.StaticAction< - IJsonSchemaValidator, - IFormatter, - JsonSchemaValidationContext, - T>(g); - s_serializer = new Serializer(compiled); - } - s_serializer(v, f, c, o); - } - } - - public void Serialize(IFormatter f, JsonSchemaValidationContext c, T o) - { - GenericSerializer.Serialize(Items.Validator, f, c, o); - } - - public void ToJsonScheama(IFormatter f) - { - f.Key("type"); f.Value("array"); - - if (Items != null) - { - f.Key("items"); - Items.ToJson(f); - } - } - - public void Deserialize(ListTreeNode src, ref U dst) - where T : IListTreeItem, IValue - { - src.Deserialize(ref dst); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonArrayValidator.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonArrayValidator.cs.meta deleted file mode 100644 index 0c5ed09..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonArrayValidator.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 6144a646f2f535641885a006024771a4 -timeCreated: 1531812663 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonBoolValidator.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonBoolValidator.cs deleted file mode 100644 index aa41b91..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonBoolValidator.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System; - - -namespace UniJSON -{ - public class JsonBoolValidator : IJsonSchemaValidator - { - public override int GetHashCode() - { - return 1; - } - - public override bool Equals(object obj) - { - var rhs = obj as JsonBoolValidator; - if (rhs == null) return false; - return true; - } - - public void Merge(IJsonSchemaValidator obj) - { - throw new NotImplementedException(); - } - - public bool FromJsonSchema(IFileSystemAccessor fs, string key, ListTreeNode value) - { - return false; - } - - public void ToJsonScheama(IFormatter f) - { - f.Key("type"); f.Value("boolean"); - } - - public JsonSchemaValidationException Validate(JsonSchemaValidationContext c, T value) - { - return null; - } - - public void Serialize(IFormatter f, JsonSchemaValidationContext c, T value) - { - f.Serialize(value); - } - - public void Deserialize(ListTreeNode src, ref U dst) - where T : IListTreeItem, IValue - { - dst = GenericCast.Cast(src.GetBoolean()); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonBoolValidator.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonBoolValidator.cs.meta deleted file mode 100644 index 6604e10..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonBoolValidator.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 2a6454bbd9b910d499702d2ba8270ea0 -timeCreated: 1531812394 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonDictionaryValidator.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonDictionaryValidator.cs deleted file mode 100644 index 6b97c1e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonDictionaryValidator.cs +++ /dev/null @@ -1,290 +0,0 @@ -using System; -using System.Linq; -using System.Collections.Generic; - -namespace UniJSON -{ - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.5 - /// - public class JsonDictionaryValidator : IJsonSchemaValidator - { - public JsonDictionaryValidator() - { - AdditionalProperties = JsonSchema.FromType(); - } - - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.5.1 - /// - public int MaxProperties - { - get; set; - } - - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.5.2 - /// - public int MinProperties - { - get; set; - } - - List m_required = new List(); - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.5.3 - /// - public List Required - { - get { return m_required; } - } - - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.5.5 - /// - public string PatternProperties - { - get; private set; - } - - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.5.6 - /// - public JsonSchema AdditionalProperties - { - get; set; - } - - Dictionary m_depndencies; - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.5.7 - /// - public Dictionary Dependencies - { - get - { - if (m_depndencies == null) - { - m_depndencies = new Dictionary(); - } - return m_depndencies; - } - } - - public override int GetHashCode() - { - return 6; - } - - public override bool Equals(object obj) - { - var rhs = obj as JsonObjectValidator; - if (rhs == null) - { - return false; - } - - if (Required.Count != rhs.Required.Count) - { - return false; - } - if (!Required.OrderBy(x => x).SequenceEqual(rhs.Required.OrderBy(x => x))) - { - return false; - } - - if (Dependencies.Count != rhs.Dependencies.Count) - { - return false; - } - foreach (var kv in Dependencies) - { - if (!kv.Value.OrderBy(x => x).SequenceEqual(rhs.Dependencies[kv.Key].OrderBy(x => x))) - { - return false; - } - } - - if (AdditionalProperties == null - && rhs.AdditionalProperties == null) - { - // ok - } - else if (AdditionalProperties == null) - { - return false; - } - else if (rhs.AdditionalProperties == null) - { - return false; - } - else - { - if (!AdditionalProperties.Equals(rhs.AdditionalProperties)) - { - return false; - } - } - - return true; - } - - public void Merge(IJsonSchemaValidator obj) - { - var rhs = obj as JsonObjectValidator; - if (rhs == null) - { - throw new ArgumentException(); - } - - foreach (var x in rhs.Required) - { - this.Required.Add(x); - } - - if (rhs.AdditionalProperties != null) - { - if (AdditionalProperties != null) - { - throw new NotImplementedException(); - } - AdditionalProperties = rhs.AdditionalProperties; - } - } - - public bool FromJsonSchema(IFileSystemAccessor fs, string key, ListTreeNode value) - { - switch (key) - { - case "maxProperties": - MaxProperties = value.GetInt32(); - return true; - - case "minProperties": - MinProperties = value.GetInt32(); - return true; - - case "required": - { - foreach (var req in value.ArrayItems()) - { - m_required.Add(req.GetString()); - } - } - return true; - - case "patternProperties": - PatternProperties = value.GetString(); - return true; - - case "additionalProperties": - { - var sub = new JsonSchema(); - sub.Parse(fs, value, "additionalProperties"); - AdditionalProperties = sub; - } - return true; - - case "dependencies": - { - foreach (var kv in value.ObjectItems()) - { - Dependencies.Add(kv.Key.GetString(), kv.Value.ArrayItems().Select(x => x.GetString()).ToArray()); - } - } - return true; - - case "propertyNames": - return true; - } - - return false; - } - - public void ToJsonScheama(IFormatter f) - { - f.Key("type"); f.Value("object"); - } - - public JsonSchemaValidationException Validate(JsonSchemaValidationContext c, S o) - { - if (o == null) - { - return new JsonSchemaValidationException(c, "null"); - } - - var d = o as IDictionary; - if (d == null) - { - return new JsonSchemaValidationException(c, "not dictionary"); - } - - if (Required != null) - { - foreach (var x in Required) - { - using (c.Push(x)) - { - // ToDo - } - } - } - - if (AdditionalProperties != null) - { - foreach (var kv in d) - { - using (c.Push(kv.Key)) - { - var result = AdditionalProperties.Validator.Validate(c, kv.Value); - if (result != null) - { - return result; - } - } - } - } - - return null; - } - - Dictionary m_validValueMap = new Dictionary(); - - public void Serialize(IFormatter f, JsonSchemaValidationContext c, S o) - { - // validate properties - m_validValueMap.Clear(); - - var dict = o as Dictionary; - f.BeginMap(dict.Count); - { - foreach (var kv in dict) - { - // key - f.Key(kv.Key); - - // value - //using (c.Push(kv.Key)) - { - AdditionalProperties.Validator.Serialize(f, c, kv.Value); - } - } - } - f.EndMap(); - } - - public void Deserialize(ListTreeNode src, ref V dst) - where U : IListTreeItem, IValue - { - throw new NotImplementedException(); - } - } - - public static class JsonDictionaryValidator - { - public static JsonDictionaryValidator Create() - { - return new JsonDictionaryValidator(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonDictionaryValidator.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonDictionaryValidator.cs.meta deleted file mode 100644 index 65d5fbc..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonDictionaryValidator.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: ccee0323c35d40d498d45b207124fe7e -timeCreated: 1531812708 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonEnumValidator.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonEnumValidator.cs deleted file mode 100644 index 2559e3e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonEnumValidator.cs +++ /dev/null @@ -1,441 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; - - -namespace UniJSON -{ - public static class JsonEnumValidator - { - public static IJsonSchemaValidator Create(ListTreeNode value) - { - foreach (var x in value.ArrayItems()) - { - if (x.IsInteger() || x.IsFloat()) - { - return JsonIntEnumValidator.Create(value.ArrayItems() - .Where(y => y.IsInteger() || y.IsFloat()) - .Select(y => y.GetInt32()) - ); - } - else if (x.IsString()) - { - - return JsonStringEnumValidator.Create(value.ArrayItems() - .Where(y => y.IsString()) - .Select(y => y.GetString()) - , EnumSerializationType.AsString - ); - } - else - { - } - } - - throw new NotImplementedException(); - } - - public static IJsonSchemaValidator Create(IEnumerable composition, EnumSerializationType type) - { - foreach (var x in composition) - { - if (x.Validator is JsonStringEnumValidator) - { - return JsonStringEnumValidator.Create(composition - .Select(y => y.Validator as JsonStringEnumValidator) - .Where(y => y != null) - .SelectMany(y => y.Values), - type - ); - } - if (x.Validator is JsonIntEnumValidator) - { - return JsonIntEnumValidator.Create(composition - .Select(y => y.Validator as JsonIntEnumValidator) - .Where(y => y != null) - .SelectMany(y => y.Values) - ); - } - } - - throw new NotImplementedException(); - } - - static IEnumerable GetStringValues(Type t, object[] excludes, Func filter) - { - foreach (var x in Enum.GetValues(t)) - { - if (excludes == null || !excludes.Contains(x)) - { - yield return filter(x.ToString()); - } - } - } - - static IEnumerable GetIntValues(Type t, object[] excludes) - { - foreach (var x in Enum.GetValues(t)) - { - if (excludes == null || !excludes.Contains(x)) - { - yield return (int)x; - } - } - } - - public static IJsonSchemaValidator Create(Type t, EnumSerializationType serializationType, object[] excludes) - { - switch (serializationType) - { - case EnumSerializationType.AsInt: - return JsonIntEnumValidator.Create(GetIntValues(t, excludes)); - - case EnumSerializationType.AsString: - return JsonStringEnumValidator.Create(GetStringValues(t, excludes, x => x), serializationType); - - case EnumSerializationType.AsLowerString: - return JsonStringEnumValidator.Create(GetStringValues(t, excludes, x => x.ToLower()), serializationType); - - case EnumSerializationType.AsUpperString: - return JsonStringEnumValidator.Create(GetStringValues(t, excludes, x => x.ToUpper()), serializationType); - - default: - throw new NotImplementedException(); - } - } - - public static IJsonSchemaValidator Create(object[] values, EnumSerializationType type) - { - foreach (var x in values) - { - if (x is string) - { - return JsonStringEnumValidator.Create(values.Select(y => (string)y), type); - } - if (x is int) - { - return JsonIntEnumValidator.Create(values.Select(y => (int)y)); - } - } - - throw new NotImplementedException(); - } - } - - public class JsonStringEnumValidator : IJsonSchemaValidator - { - EnumSerializationType SerializationType; - - public String[] Values - { - get; set; - } - - JsonStringEnumValidator(IEnumerable values, EnumSerializationType type) - { - SerializationType = type; - switch (SerializationType) - { - case EnumSerializationType.AsString: - Values = values.ToArray(); - break; - - case EnumSerializationType.AsLowerString: - Values = values.Select(x => x.ToLower()).ToArray(); - break; - - case EnumSerializationType.AsUpperString: - Values = values.Select(x => x.ToUpper()).ToArray(); - break; - - case EnumSerializationType.AsInt: - throw new ArgumentException("JsonStringEnumValidator not allow AsInt"); - - default: - throw new NotImplementedException(""); - } - } - - public static JsonStringEnumValidator Create(IEnumerable values, EnumSerializationType type) - { - return new JsonStringEnumValidator(values, type); - } - - public override int GetHashCode() - { - return 7; - } - - public override bool Equals(object obj) - { - var rhs = obj as JsonStringEnumValidator; - if (rhs == null) return false; - - if (Values.Length != rhs.Values.Length) return false; - - var l = Values.OrderBy(x => x).GetEnumerator(); - var r = rhs.Values.OrderBy(x => x).GetEnumerator(); - while (l.MoveNext() && r.MoveNext()) - { - if (l.Current != r.Current) - { - return false; - } - } - return true; - } - - public void Merge(IJsonSchemaValidator obj) - { - throw new NotImplementedException(); - } - - public bool FromJsonSchema(IFileSystemAccessor fs, string key, ListTreeNode value) - { - throw new NotImplementedException(); - } - - public void ToJsonScheama(IFormatter f) - { - f.Key("type"); f.Value("string"); - f.Key("enum"); - f.BeginList(Values.Length); - foreach (var x in Values) - { - f.Value(x); - } - f.EndList(); - } - - public JsonSchemaValidationException Validate(JsonSchemaValidationContext c, T o) - { - if (o == null) - { - return new JsonSchemaValidationException(c, "null"); - } - - var t = o.GetType(); - string value = null; - if (t.IsEnum) - { - value = Enum.GetName(t, o); - } - else - { - value = GenericCast.Cast(o); - } - - if (SerializationType == EnumSerializationType.AsLowerString) - { - value = value.ToLower(); - } - else if (SerializationType == EnumSerializationType.AsUpperString) - { - value = value.ToUpper(); - } - - if (Values.Contains(value)) - { - return null; - } - else - { - return new JsonSchemaValidationException(c, string.Format("{0} is not valid enum", o)); - } - } - - public static class GenericSerializer - { - delegate void Serializer(JsonStringEnumValidator v, - IFormatter f, JsonSchemaValidationContext c, T o); - - static Serializer s_serializer; - - public static void Serialize(JsonStringEnumValidator validator, - IFormatter f, JsonSchemaValidationContext c, T o) - { - if (s_serializer == null) - { - var t = typeof(T); - if (t.IsEnum) - { - s_serializer = (vv, ff, cc, oo) => - { - var value = Enum.GetName(t, oo); - if (vv.SerializationType == EnumSerializationType.AsLowerString) - { - value = value.ToLower(); - } - else if (vv.SerializationType == EnumSerializationType.AsUpperString) - { - value = value.ToUpper(); - } - ff.Value(value); - }; - } - else if (t == typeof(string)) - { - s_serializer = (vv, ff, cc, oo) => - { - var value = GenericCast.Cast(oo); - if (vv.SerializationType == EnumSerializationType.AsLowerString) - { - value = value.ToLower(); - } - else if (vv.SerializationType == EnumSerializationType.AsUpperString) - { - value = value.ToUpper(); - } - ff.Value(value); - }; - } - else - { - throw new NotImplementedException(); - } - } - s_serializer(validator, f, c, o); - } - } - - public void Serialize(IFormatter f, JsonSchemaValidationContext c, T o) - { - GenericSerializer.Serialize(this, f, c, o); - } - - static class GenericDeserializer - where T : IListTreeItem, IValue - { - delegate U Deserializer(ListTreeNode src); - static Deserializer s_d; - public static void Deserialize(ListTreeNode src, ref U t) - { - if (s_d == null) - { - if (typeof(U).IsEnum) - { - // enum from string - var mi = typeof(Enum).GetMethods(BindingFlags.Static | BindingFlags.Public).First( - x => x.Name == "Parse" && x.GetParameters().Length == 3 - ); - - var enumParse = GenericInvokeCallFactory.StaticFunc(mi); - s_d = x => - { - var enumValue = enumParse(typeof(U), x.GetString(), true); - return GenericCast.Cast(enumValue); - }; - } - else - { - s_d = x => GenericCast.Cast(x.GetString()); - } - } - t = s_d(src); - } - } - - public void Deserialize(ListTreeNode src, ref U dst) - where T : IListTreeItem, IValue - { - GenericDeserializer.Deserialize(src, ref dst); - } - } - - public class JsonIntEnumValidator : IJsonSchemaValidator - { - public int[] Values - { - get; set; - } - - public static JsonIntEnumValidator Create(IEnumerable values) - { - return new JsonIntEnumValidator - { - Values = values.ToArray() - }; - } - - public override int GetHashCode() - { - return 7; - } - - public override bool Equals(object obj) - { - var rhs = obj as JsonIntEnumValidator; - if (rhs == null) return false; - - if (Values.Length != rhs.Values.Length) return false; - - var l = Values.OrderBy(x => x).GetEnumerator(); - var r = rhs.Values.OrderBy(x => x).GetEnumerator(); - while (l.MoveNext() && r.MoveNext()) - { - if (l.Current != r.Current) - { - return false; - } - } - return true; - } - - public void Merge(IJsonSchemaValidator obj) - { - throw new NotImplementedException(); - } - - public bool FromJsonSchema(IFileSystemAccessor fs, string key, ListTreeNode value) - { - throw new NotImplementedException(); - } - - public void ToJsonScheama(IFormatter f) - { - f.Key("type"); f.Value("integer"); - } - - public JsonSchemaValidationException Validate(JsonSchemaValidationContext c, T o) - { - if (Values.Contains(GenericCast.Cast(o))) - { - return null; - } - else - { - return new JsonSchemaValidationException(c, string.Format("{0} is not valid enum", o)); - } - } - - public void Serialize(IFormatter f, JsonSchemaValidationContext c, T o) - { - f.Serialize(GenericCast.Cast(o)); - } - - static class GenericDeserializer - where T : IListTreeItem, IValue - { - delegate U Deserializer(ListTreeNode src); - - static Deserializer s_d; - - public static void Deserialize(ListTreeNode src, ref U dst) - { - if (s_d == null) - { - // enum from int - s_d = s => GenericCast.Cast(s.GetInt32()); - } - dst = s_d(src); - } - } - - public void Deserialize(ListTreeNode src, ref U dst) - where T : IListTreeItem, IValue - { - GenericDeserializer.Deserialize(src, ref dst); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonEnumValidator.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonEnumValidator.cs.meta deleted file mode 100644 index 0fd9080..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonEnumValidator.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: f503fff7ab8dcf74abc9dd8073aa9062 -timeCreated: 1531812758 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonNumberValidator.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonNumberValidator.cs deleted file mode 100644 index d10fcaf..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonNumberValidator.cs +++ /dev/null @@ -1,430 +0,0 @@ -using System; - - -namespace UniJSON -{ - /// - /// http://json-schema.org/latest/json-schema-validation.html#numeric - /// - public class JsonIntValidator : IJsonSchemaValidator - { - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.2.1 - /// - public int? MultipleOf - { - get; set; - } - - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.2.2 - /// - public int? Maximum - { - get; set; - } - - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.2.3 - /// - public bool ExclusiveMaximum - { - get; set; - } - - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.2.4 - /// - public int? Minimum - { - get; set; - } - - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.2.5 - /// - public bool ExclusiveMinimum - { - get; set; - } - - public override int GetHashCode() - { - return 2; - } - - public override bool Equals(object obj) - { - var rhs = obj as JsonIntValidator; - if (rhs == null) return false; - - if (MultipleOf != rhs.MultipleOf) - { - Console.WriteLine("MultipleOf"); - return false; - } - if (Maximum != rhs.Maximum) - { - Console.WriteLine("Maximum"); - return false; - } - - if (ExclusiveMaximum != rhs.ExclusiveMaximum) - { - Console.WriteLine("ExclusiveMaximum"); - return false; - } - - if (Minimum != rhs.Minimum) - { - Console.WriteLine("Minimum"); - return false; - } - - if (ExclusiveMinimum != rhs.ExclusiveMinimum) - { - Console.WriteLine("ExclusiveMinimum"); - return false; - } - - return true; - } - - public bool FromJsonSchema(IFileSystemAccessor fs, string key, ListTreeNode value) - { - switch (key) - { - case "multipleOf": - MultipleOf = value.GetInt32(); - return true; - - case "maximum": - Maximum = value.GetInt32(); - return true; - - case "exclusiveMaximum": - ExclusiveMaximum = value.GetBoolean(); - return true; - - case "minimum": - Minimum = value.GetInt32(); - return true; - - case "exclusiveMinimum": - ExclusiveMinimum = value.GetBoolean(); - return true; - } - - return false; - } - - public void ToJsonScheama(IFormatter f) - { - f.Key("type"); f.Value("integer"); - if (Minimum.HasValue) - { - f.Key("minimum"); f.Value(Minimum.Value); - } - if (Maximum.HasValue) - { - f.Key("maximum"); f.Value(Maximum.Value); - } - } - - public void Merge(IJsonSchemaValidator obj) - { - var rhs = obj as JsonIntValidator; - if (rhs == null) - { - throw new ArgumentException(); - } - - MultipleOf = rhs.MultipleOf; - Maximum = rhs.Maximum; - ExclusiveMaximum = rhs.ExclusiveMaximum; - Minimum = rhs.Minimum; - ExclusiveMinimum = rhs.ExclusiveMinimum; - } - - public JsonSchemaValidationException Validate(JsonSchemaValidationContext c, T o) - { - try - { - var value = GenericCast.Cast(o); - - if (Minimum.HasValue) - { - if (ExclusiveMinimum) - { - if (value > Minimum.Value) - { - // ok - } - else - { - return new JsonSchemaValidationException(c, string.Format("minimum: ! {0}>{1}", value, Minimum.Value)); - } - } - else - { - if (value >= Minimum.Value) - { - // ok - } - else - { - return new JsonSchemaValidationException(c, string.Format("minimum: ! {0}>={1}", value, Minimum.Value)); - } - } - } - - if (Maximum.HasValue) - { - if (ExclusiveMaximum) - { - if (value < Maximum.Value) - { - // ok - } - else - { - return new JsonSchemaValidationException(c, string.Format("maximum: ! {0}<{1}", value, Maximum.Value)); - } - } - else - { - if (value <= Maximum.Value) - { - // ok - } - else - { - return new JsonSchemaValidationException(c, string.Format("maximum: ! {0}<={1}", value, Maximum.Value)); - } - } - } - - if (MultipleOf.HasValue && value % MultipleOf.Value != 0) - { - return new JsonSchemaValidationException(c, string.Format("multipleOf: {0}%{1}", value, MultipleOf.Value)); - } - - return null; - } - catch (Exception ex) - { - return new JsonSchemaValidationException(c, ex); - } - } - - public void Serialize(IFormatter f, JsonSchemaValidationContext c, T o) - { - f.Serialize(GenericCast.Cast(o)); - } - - public void Deserialize(ListTreeNode src, ref U dst) - where T : IListTreeItem, IValue - { - dst = GenericCast.Cast(src.GetInt32()); - } - } - - /// - /// http://json-schema.org/latest/json-schema-validation.html#numeric - /// - public class JsonNumberValidator : IJsonSchemaValidator - { - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.2.1 - /// - public double? MultipleOf - { - get; set; - } - - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.2.2 - /// - public double? Maximum - { - get; set; - } - - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.2.3 - /// - public bool ExclusiveMaximum - { - get; set; - } - - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.2.4 - /// - public double? Minimum - { - get; set; - } - - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.2.5 - /// - public bool ExclusiveMinimum - { - get; set; - } - - public override int GetHashCode() - { - return 3; - } - - public override bool Equals(object obj) - { - var rhs = obj as JsonNumberValidator; - if (rhs == null) return false; - - if (MultipleOf != rhs.MultipleOf) return false; - if (Maximum != rhs.Maximum) return false; - if (ExclusiveMaximum != rhs.ExclusiveMaximum) return false; - if (Minimum != rhs.Minimum) return false; - if (ExclusiveMinimum != rhs.ExclusiveMinimum) return false; - - return true; - } - - public void Merge(IJsonSchemaValidator rhs) - { - throw new NotImplementedException(); - } - - public bool FromJsonSchema(IFileSystemAccessor fs, string key, ListTreeNode value) - { - switch (key) - { - case "multipleOf": - MultipleOf = value.GetDouble(); - return true; - - case "maximum": - Maximum = value.GetDouble(); - return true; - - case "exclusiveMaximum": - ExclusiveMaximum = value.GetBoolean(); - return true; - - case "minimum": - Minimum = value.GetDouble(); - return true; - - case "exclusiveMinimum": - ExclusiveMinimum = value.GetBoolean(); - return true; - } - - return false; - } - - public void ToJsonScheama(IFormatter f) - { - f.Key("type"); f.Value("number"); - if (Minimum.HasValue) - { - f.Key("minimum"); f.Value(Minimum.Value); - } - if (Maximum.HasValue) - { - f.Key("maximum"); f.Value(Maximum.Value); - } - } - - public JsonSchemaValidationException Validate(JsonSchemaValidationContext c, T o) - { - try - { - var value = Convert.ToDouble(o); - - if (Minimum.HasValue) - { - if (ExclusiveMinimum) - { - if (value > Minimum.Value) - { - // ok - } - else - { - return new JsonSchemaValidationException(c, string.Format("minimum: ! {0}>{1}", value, Minimum.Value)); - } - } - else - { - if (value >= Minimum.Value) - { - // ok - } - else - { - return new JsonSchemaValidationException(c, string.Format("minimum: ! {0}>={1}", value, Minimum.Value)); - } - } - } - - if (Maximum.HasValue) - { - if (ExclusiveMaximum) - { - if (value < Maximum.Value) - { - // ok - } - else - { - return new JsonSchemaValidationException(c, string.Format("maximum: ! {0}<{1}", value, Maximum.Value)); - } - } - else - { - if (value <= Maximum.Value) - { - // ok - } - else - { - return new JsonSchemaValidationException(c, string.Format("maximum: ! {0}<={1}", value, Maximum.Value)); - } - } - } - - /* - if (MultipleOf.HasValue && value % MultipleOf.Value != 0) - { - return new JsonSchemaValidationException(c, string.Format("multipleOf: {0}%{1}", value, MultipleOf.Value)); - } - */ - if (MultipleOf.HasValue) - { - throw new NotImplementedException(); - } - - return null; - } - catch (Exception ex) - { - return new JsonSchemaValidationException(c, ex); - } - } - - public void Serialize(IFormatter f, JsonSchemaValidationContext c, T o) - { - f.Serialize(o); - } - - public void Deserialize(ListTreeNode src, ref U dst) - where T : IListTreeItem, IValue - { - dst = GenericCast.Cast(src.GetDouble()); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonNumberValidator.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonNumberValidator.cs.meta deleted file mode 100644 index 6651eeb..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonNumberValidator.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: fb1d83ccd68b93c47821000b53471eae -timeCreated: 1531812526 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonObjectValidator.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonObjectValidator.cs deleted file mode 100644 index 2c584e1..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonObjectValidator.cs +++ /dev/null @@ -1,686 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; - - -namespace UniJSON -{ - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.5 - /// - public class JsonObjectValidator : IJsonSchemaValidator - { - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.5.1 - /// - public int MaxProperties - { - get; set; - } - - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.5.2 - /// - public int MinProperties - { - get; set; - } - - HashSet m_required = new HashSet(); - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.5.3 - /// - public HashSet Required - { - get { return m_required; } - } - - Dictionary m_props; - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.5.4 - /// - public Dictionary Properties - { - get - { - if (m_props == null) - { - m_props = new Dictionary(); - } - return m_props; - } - } - - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.5.5 - /// - public string PatternProperties - { - get; private set; - } - - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.5.6 - /// - public JsonSchema AdditionalProperties - { - get; set; - } - - Dictionary m_depndencies; - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.5.7 - /// - public Dictionary Dependencies - { - get - { - if (m_depndencies == null) - { - m_depndencies = new Dictionary(); - } - return m_depndencies; - } - } - - public void AddProperty(IFileSystemAccessor fs, string key, ListTreeNode value) - { - var sub = new JsonSchema(); - sub.Parse(fs, value, key); - - if (Properties.ContainsKey(key)) - { - if (sub.Validator != null) - { - Properties[key].Validator.Merge(sub.Validator); - } - } - else - { - Properties.Add(key, sub); - } - } - - public override int GetHashCode() - { - return 6; - } - - public override bool Equals(object obj) - { - var rhs = obj as JsonObjectValidator; - if (rhs == null) - { - return false; - } - - if (Properties.Count != rhs.Properties.Count) - { - return false; - } - foreach (var pair in Properties) - { - JsonSchema value; - if (rhs.Properties.TryGetValue(pair.Key, out value)) - { -#if true - if (!value.Equals(pair.Value)) - { - Console.WriteLine(string.Format("{0} is not equals", pair.Key)); - var l = pair.Value.Validator; - var r = value.Validator; - return false; - } -#else - // key name match - return true; -#endif - } - else - { - return false; - } - } - - if (Required.Count != rhs.Required.Count) - { - return false; - } - if (!Required.OrderBy(x => x).SequenceEqual(rhs.Required.OrderBy(x => x))) - { - return false; - } - - if (Dependencies.Count != rhs.Dependencies.Count) - { - return false; - } - foreach (var kv in Dependencies) - { - if (!kv.Value.OrderBy(x => x).SequenceEqual(rhs.Dependencies[kv.Key].OrderBy(x => x))) - { - return false; - } - } - - if (AdditionalProperties == null - && rhs.AdditionalProperties == null) - { - // ok - } - else if (AdditionalProperties == null) - { - return false; - } - else if (rhs.AdditionalProperties == null) - { - return false; - } - else - { - if (!AdditionalProperties.Equals(rhs.AdditionalProperties)) - { - return false; - } - } - - return true; - } - - public void Merge(IJsonSchemaValidator obj) - { - var rhs = obj as JsonObjectValidator; - if (rhs == null) - { - throw new ArgumentException(); - } - - foreach (var x in rhs.Properties) - { - if (this.Properties.ContainsKey(x.Key)) - { - this.Properties[x.Key] = x.Value; - } - else - { - this.Properties.Add(x.Key, x.Value); - } - } - - foreach (var x in rhs.Required) - { - this.Required.Add(x); - } - - if (rhs.AdditionalProperties != null) - { - if (AdditionalProperties != null) - { - throw new NotImplementedException(); - } - AdditionalProperties = rhs.AdditionalProperties; - } - } - - public bool FromJsonSchema(IFileSystemAccessor fs, string key, ListTreeNode value) - { - switch (key) - { - case "maxProperties": - MaxProperties = value.GetInt32(); - return true; - - case "minProperties": - MinProperties = value.GetInt32(); - return true; - - case "required": - { - foreach (var req in value.ArrayItems()) - { - m_required.Add(req.GetString()); - } - } - return true; - - case "properties": - { - foreach (var prop in value.ObjectItems()) - { - AddProperty(fs, prop.Key.GetString(), prop.Value); - } - } - return true; - - case "patternProperties": - PatternProperties = value.GetString(); - return true; - - case "additionalProperties": - { - var sub = new JsonSchema(); - sub.Parse(fs, value, "additionalProperties"); - AdditionalProperties = sub; - } - return true; - - case "dependencies": - { - foreach (var kv in value.ObjectItems()) - { - Dependencies.Add(kv.Key.GetString(), kv.Value.ArrayItems().Select(x => x.GetString()).ToArray()); - } - } - return true; - - case "propertyNames": - return true; - } - - return false; - } - - public void ToJsonScheama(IFormatter f) - { - f.Key("type"); f.Value("object"); - if (Properties.Count > 0) - { - f.Key("properties"); - f.BeginMap(Properties.Count); - foreach (var kv in Properties) - { - f.Key(kv.Key); - kv.Value.ToJson(f); - } - f.EndMap(); - } - } - - static class GenericFieldView - { - public static FieldInfo[] GetFields() - { - var t = typeof(T); - return t.GetFields(BindingFlags.Instance | BindingFlags.Public); - } - - public static void CreateFieldProcessors( - Func creator, - Dictionary processors - ) - { - foreach (var fi in GetFields()) - { - processors.Add(fi.Name, creator(fi)); - } - } - } - - internal class ValidationResult - { - public bool IsIgnorable; - public JsonSchemaValidationException Ex; - } - - public static class GenericValidator - { - class ObjectValidator - { - delegate JsonSchemaValidationException FieldValidator( - JsonSchema s, JsonSchemaValidationContext c, T o, out bool isIgnorable); - - Dictionary m_validators; - - static FieldValidator CreateFieldValidator(FieldInfo fi) - { - var mi = typeof(ObjectValidator).GetMethod("_CreateFieldValidator", - BindingFlags.Static | BindingFlags.NonPublic) - ; - var g = mi.MakeGenericMethod(fi.FieldType); - return GenericInvokeCallFactory.StaticFunc(g)(fi); - } - - static FieldValidator _CreateFieldValidator(FieldInfo fi) - { - var getter = (Func)((t) => (U)fi.GetValue(t)); - - return (JsonSchema s, JsonSchemaValidationContext c, T o, out bool isIgnorable) => - { - var v = s.Validator; - using (c.Push(fi.Name)) - { - var field = getter(o); - var ex = v.Validate(c, field); - - isIgnorable = ex != null && s.IsExplicitlyIgnorableValue(field); - - return ex; - } - }; - } - - public ObjectValidator() - { - var validators = new Dictionary(); - GenericFieldView.CreateFieldProcessors( - CreateFieldValidator, validators); - - m_validators = validators; - } - - public JsonSchemaValidationException ValidateProperty( - HashSet required, - KeyValuePair property, - JsonSchemaValidationContext c, - T o, - out bool isIgnorable - ) - { - var fieldName = property.Key; - var schema = property.Value; - - isIgnorable = false; - - FieldValidator fv; - if (m_validators.TryGetValue(fieldName, out fv)) - { - var isRequired = required != null && required.Contains(fieldName); - - bool isMemberIgnorable; - var ex = fv(schema, c, o, out isMemberIgnorable); - if (ex != null) - { - isIgnorable = !isRequired && isMemberIgnorable; - - if (isRequired // required fields must be checked - || c.EnableDiagnosisForNotRequiredFields) - { - return ex; - } - } - } - - return null; - } - - public JsonSchemaValidationException Validate( - HashSet required, - Dictionary properties, - JsonSchemaValidationContext c, T o) - { - foreach (var kv in properties) - { - bool isIgnorable; - var ex = ValidateProperty(required, kv, c, o, out isIgnorable); - if (ex != null && !isIgnorable) - { - return ex; - } - } - - return null; - } - - public void ValidationResults - (HashSet required, - Dictionary properties, - JsonSchemaValidationContext c, T o, - Dictionary results) - { - foreach (var kv in properties) - { - bool isIgnorable; - var ex = ValidateProperty(required, kv, c, o, out isIgnorable); - - results.Add(kv.Key, new ValidationResult { - IsIgnorable = isIgnorable, - Ex = ex, - }); - } - } - } - - static ObjectValidator s_validator; - - static void prepareValidator() - { - if (s_validator == null) - { - s_validator = new ObjectValidator(); - } - } - - public static JsonSchemaValidationException Validate(HashSet required, - Dictionary properties, - JsonSchemaValidationContext c, T o) - { - prepareValidator(); - return s_validator.Validate(required, properties, c, o); - } - - internal static void ValidationResults(HashSet required, - Dictionary properties, - JsonSchemaValidationContext c, T o, - Dictionary results) - { - prepareValidator(); - s_validator.ValidationResults(required, properties, c, o, results); - } - } - - public JsonSchemaValidationException Validate(JsonSchemaValidationContext c, T o) - { - if (o == null) - { - return new JsonSchemaValidationException(c, "null"); - } - - if (Properties.Count < MinProperties) - { - return new JsonSchemaValidationException(c, "no properties"); - } - - return GenericValidator.Validate(Required, Properties, c, o); - } - - static class GenericSerializer - { - class Serializer - { - delegate void FieldSerializer(JsonSchema s, JsonSchemaValidationContext c, IFormatter f, T o, - Dictionary vRes, string[] deps); - - Dictionary m_serializers; - - static FieldSerializer CreateFieldSerializer(FieldInfo fi) - { - var mi = typeof(Serializer).GetMethod("_CreateFieldSerializer", - BindingFlags.Static | BindingFlags.NonPublic); - var g = mi.MakeGenericMethod(fi.FieldType); - return GenericInvokeCallFactory.StaticFunc(g)(fi); - } - - static FieldSerializer _CreateFieldSerializer(FieldInfo fi) - { - Func getter = t => - { - return (U)fi.GetValue(t); - }; - - return (s, c, f, o, vRes, deps) => - { - var v = s.Validator; - var field = getter(o); - - if (vRes[fi.Name].Ex != null) - { - return; - } - - if (deps != null) - { - foreach(var dep in deps) - { - if (vRes[dep].Ex != null) - { - return; - } - } - } - - f.Key(fi.Name); - v.Serialize(f, c, field); - }; - } - - public Serializer() - { - var serializers = new Dictionary(); - GenericFieldView.CreateFieldProcessors( - CreateFieldSerializer, serializers); - - m_serializers = serializers; - } - - public void Serialize(JsonObjectValidator objectValidator, - IFormatter f, JsonSchemaValidationContext c, T o) - { - // Validates fields - var validationResults = new Dictionary(); - GenericValidator.ValidationResults( - objectValidator.Required, objectValidator.Properties, - c, o, validationResults); - - // Serialize fields - f.BeginMap(objectValidator.Properties.Count()); - foreach (var property in objectValidator.Properties) - { - var fieldName = property.Key; - var schema = property.Value; - - string[] deps = null; - objectValidator.Dependencies.TryGetValue(fieldName, out deps); - - FieldSerializer fs; - if (m_serializers.TryGetValue(fieldName, out fs)) - { - fs(schema, c, f, o, validationResults, deps); - } - } - f.EndMap(); - } - } - - static FieldInfo[] s_fields; - static Serializer s_serializer; - - public static void Serialize(JsonObjectValidator objectValidator, - IFormatter f, JsonSchemaValidationContext c, T value) - { - if (s_serializer == null) - { - s_serializer = new Serializer(); - } - - s_serializer.Serialize(objectValidator, f, c, value); - } - } - - public void Serialize(IFormatter f, JsonSchemaValidationContext c, T value) - { - GenericSerializer.Serialize(this, f, c, value); - } - - static class GenericDeserializer - where S : IListTreeItem, IValue - { - delegate T Deserializer(ListTreeNode src); - - static Deserializer s_d; - - delegate void FieldSetter(ListTreeNode s, object o); - static FieldSetter GetFieldDeserializer(FieldInfo fi) - { - return (s, o) => - { - var u = default(U); - s.Deserialize(ref u); - fi.SetValue(o, u); - }; - } - - static U DeserializeField(JsonSchema prop, ListTreeNode s) - { - var u = default(U); - prop.Validator.Deserialize(s, ref u); - return u; - } - - public static void Deserialize(ListTreeNode src, ref T dst, Dictionary props) - { - if (s_d == null) - { - var target = typeof(T); - - var fields = target.GetFields(BindingFlags.Instance | BindingFlags.Public); - var fieldDeserializers = fields.ToDictionary(x => Utf8String.From(x.Name), x => - { - /* - var mi = typeof(GenericDeserializer).GetMethod("GetFieldDeserializer", - BindingFlags.Static | BindingFlags.NonPublic); - var g = mi.MakeGenericMethod(x.FieldType); - return (FieldSetter)g.Invoke(null, new object[] { x }); - */ - JsonSchema prop; - if (!props.TryGetValue(x.Name, out prop)) - { - return null; - } - - var mi = typeof(GenericDeserializer).GetMethod("DeserializeField", - BindingFlags.Static | BindingFlags.NonPublic); - var g = mi.MakeGenericMethod(x.FieldType); - - return (FieldSetter)((s, o) => - { - var f = g.Invoke(null, new object[] { prop, s }); - x.SetValue(o, f); - }); - }); - - s_d = (ListTreeNode s) => - { - if (!s.IsMap()) - { - throw new ArgumentException(s.Value.ValueType.ToString()); - } - - // boxing - var t = (object)Activator.CreateInstance(); - foreach (var kv in s.ObjectItems()) - { - FieldSetter setter; - if (fieldDeserializers.TryGetValue(kv.Key.GetUtf8String(), out setter)) - { - if (setter != null) - { - setter(kv.Value, t); - } - } - } - return (T)t; - }; - - } - dst = s_d(src); - } - } - - public void Deserialize(ListTreeNode src, ref U dst) - where T : IListTreeItem, IValue - { - GenericDeserializer.Deserialize(src, ref dst, Properties); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonObjectValidator.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonObjectValidator.cs.meta deleted file mode 100644 index 6690751..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonObjectValidator.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 1bdf39f36f58f584daee6d67f7ab446f -timeCreated: 1531812708 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonSchemaValidator.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonSchemaValidator.cs deleted file mode 100644 index f085ff0..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonSchemaValidator.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System; -using System.Linq; -using System.Collections.Generic; - - -namespace UniJSON -{ - [Flags] - public enum PropertyExportFlags - { - None, - PublicFields = 1, - PublicProperties = 2, - - Default = PublicFields | PublicProperties, - } - - public enum CompositionType - { - Unknown, - - AllOf, - AnyOf, - OneOf, - } - - - - - - - -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonSchemaValidator.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonSchemaValidator.cs.meta deleted file mode 100644 index 3804334..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonSchemaValidator.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 9ff35fccc1467f341b052622fedcb3ca -timeCreated: 1531557083 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonSchemaValidatorFactory.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonSchemaValidatorFactory.cs deleted file mode 100644 index 82a70a3..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonSchemaValidatorFactory.cs +++ /dev/null @@ -1,320 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -#if UNIJSON_PROFILING -#else -using UnityEngine; -#endif - - -namespace UniJSON -{ - public static class JsonSchemaValidatorFactory - { - struct JsonSchemaItem - { - public string Key; - public JsonSchema Schema; - public bool Required; - public string[] Dependencies; - } - - static IEnumerable GetProperties(Type t, PropertyExportFlags exportFlags) - { - // fields - foreach (var fi in t.GetFields()) - { - var a = fi.GetCustomAttributes(typeof(JsonSchemaAttribute), true).FirstOrDefault() as JsonSchemaAttribute; - if (a == null) - { - a = fi.FieldType.GetCustomAttributes(typeof(JsonSchemaAttribute), true).FirstOrDefault() as JsonSchemaAttribute; - if (a == null) - { - // default - if (!fi.IsStatic && fi.IsPublic) - { - // only public instance field - a = new JsonSchemaAttribute(); - } - } - } - - // for array item - var ia = fi.GetCustomAttributes(typeof(ItemJsonSchemaAttribute), true).FirstOrDefault() as ItemJsonSchemaAttribute; - - if (a == null) - { - //int x = 0; - } - else - { - yield return new JsonSchemaItem - { - Key = fi.Name, - Schema = JsonSchema.FromType(fi.FieldType, a, ia), - Required = a.Required, - Dependencies = a.Dependencies, - }; - } - } - - // properties - foreach (var pi in t.GetProperties()) - { - var a = pi.GetCustomAttributes(typeof(JsonSchemaAttribute), true).FirstOrDefault() as JsonSchemaAttribute; - - // for array item - var ia = pi.GetCustomAttributes(typeof(ItemJsonSchemaAttribute), true).FirstOrDefault() as ItemJsonSchemaAttribute; - - if (a != null) - { - yield return new JsonSchemaItem - { - Key = pi.Name, - Schema = JsonSchema.FromType(pi.PropertyType, a, ia), - Required = a.Required, - Dependencies = a.Dependencies, - }; - } - } - } - - public static IJsonSchemaValidator Create(ValueNodeType valueType, - Type t = null, - BaseJsonSchemaAttribute a = null, - ItemJsonSchemaAttribute ia = null) - { - switch (valueType) - { - case ValueNodeType.Integer: - { - var v = new JsonIntValidator(); - if (a != null) - { - if (!double.IsNaN(a.Minimum)) - { - v.Minimum = (int)a.Minimum; - } - if (a.ExclusiveMinimum) - { - v.ExclusiveMinimum = a.ExclusiveMinimum; - } - if (!double.IsNaN(a.Maximum)) - { - v.Maximum = (int)a.Maximum; - } - if (a.ExclusiveMaximum) - { - v.ExclusiveMaximum = a.ExclusiveMaximum; - } - if (a.MultipleOf != 0) - { - v.MultipleOf = (int)a.MultipleOf; - } - } - return v; - } - - case ValueNodeType.Number: - { - var v = new JsonNumberValidator(); - if (a != null) - { - if (!double.IsNaN(a.Minimum)) - { - v.Minimum = (int)a.Minimum; - } - if (a.ExclusiveMinimum) - { - v.ExclusiveMinimum = a.ExclusiveMinimum; - } - if (!double.IsNaN(a.Maximum)) - { - v.Maximum = (int)a.Maximum; - } - if (a.ExclusiveMaximum) - { - v.ExclusiveMaximum = a.ExclusiveMaximum; - } - if (a.MultipleOf != 0) - { - v.MultipleOf = (int)a.MultipleOf; - } - } - return v; - } - - case ValueNodeType.String: - { - var v = new JsonStringValidator(); - if (a != null) - { - if (a.Pattern != null) - { - v.Pattern = new System.Text.RegularExpressions.Regex(a.Pattern); - } - } - return v; - } - - case ValueNodeType.Boolean: - return new JsonBoolValidator(); - - case ValueNodeType.Array: - { - var v = new JsonArrayValidator(); - if (a != null) - { - if (a.MinItems != 0) - { - v.MinItems = a.MinItems; - } - if (a.MaxItems != 0) - { - v.MaxItems = a.MaxItems; - } - - if (t != null) - { - if (ia == null) - { - ia = new ItemJsonSchemaAttribute(); - } - - Type elementType = null; - if (t.IsArray) - { - elementType = t.GetElementType(); - } - else if (t.GetIsGenericList()) - { - elementType = t.GetGenericArguments().First(); - } - - if (elementType != null) - { - /* - var sub = new JsonSchema - { - SkipComparison = ia.SkipSchemaComparison, - Validator = Create(elementType, ia, null) - }; - */ - var sub = JsonSchema.FromType(elementType, ia, null); - v.Items = sub; - } - } - } - return v; - } - - case ValueNodeType.Object: - { - if (t.GetIsGenericDictionary()) - { - var genericFactory = typeof(JsonDictionaryValidator).GetMethod("Create", BindingFlags.Static | BindingFlags.Public); - var factory = genericFactory.MakeGenericMethod(t.GetGenericArguments()[1]); - var v = factory.Invoke(null, null) as IJsonSchemaValidator; - return v; - } - else - { - var v = new JsonObjectValidator(); - if (a != null) - { - if (a.MinProperties > 0) - { - v.MinProperties = a.MinProperties; - } - - // props - foreach (var prop in GetProperties(t, a.ExportFlags)) - { - v.Properties.Add(prop.Key, prop.Schema); - if (prop.Required) - { - v.Required.Add(prop.Key); - } - if (prop.Dependencies != null) - { - v.Dependencies.Add(prop.Key, prop.Dependencies); - } - } - - } - - if (ia != null) - { - var sub = new JsonSchema - { - SkipComparison = ia.SkipSchemaComparison, - Validator = Create(typeof(object), ia, null) - }; - v.AdditionalProperties = sub; - } - - return v; - } - } - - default: - throw new NotImplementedException(); - } - } - - public static IJsonSchemaValidator Create(string t) - { - return Create((ValueNodeType)Enum.Parse(typeof(ValueNodeType), t, true)); - } - - static Dictionary s_typeMap = new Dictionary - { - {typeof(byte), ValueNodeType.Integer }, - {typeof(short), ValueNodeType.Integer }, - {typeof(int), ValueNodeType.Integer }, - {typeof(long), ValueNodeType.Integer }, - {typeof(sbyte), ValueNodeType.Integer }, - {typeof(ushort), ValueNodeType.Integer }, - {typeof(uint), ValueNodeType.Integer }, - {typeof(ulong), ValueNodeType.Integer }, - {typeof(float), ValueNodeType.Number }, - {typeof(double), ValueNodeType.Number }, - {typeof(string), ValueNodeType.String }, - {typeof(bool), ValueNodeType.Boolean }, - - // Unity types - {typeof(Vector3), ValueNodeType.Object }, - }; - - static ValueNodeType ToJsonType(Type t) - { - ValueNodeType jsonValueType; - if (s_typeMap.TryGetValue(t, out jsonValueType)) - { - return jsonValueType; - } - - if (t.IsArray) - { - return ValueNodeType.Array; - } - if (t.GetIsGenericList()) - { - return ValueNodeType.Array; - } - - //if (t.IsClass) - { - return ValueNodeType.Object; - } - - //throw new NotImplementedException(string.Format("No JsonType for {0}", t)); - } - - public static IJsonSchemaValidator Create(Type t, BaseJsonSchemaAttribute a, ItemJsonSchemaAttribute ia) - { - return Create(ToJsonType(t), t, a, ia); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonSchemaValidatorFactory.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonSchemaValidatorFactory.cs.meta deleted file mode 100644 index e899653..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonSchemaValidatorFactory.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 9fef66d39a7b22b499bea68e0b22d000 -timeCreated: 1531574156 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonStringValidator.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonStringValidator.cs deleted file mode 100644 index 5b5f86d..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonStringValidator.cs +++ /dev/null @@ -1,143 +0,0 @@ -using System; -using System.Linq; -using System.Text.RegularExpressions; - -namespace UniJSON -{ - /// - /// http://json-schema.org/latest/json-schema-validation.html#string - /// - public class JsonStringValidator : IJsonSchemaValidator - { - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.3.1 - /// - public int? MaxLength - { - get; set; - } - - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.3.2 - /// - public int? MinLength - { - get; set; - } - - /// - /// http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.3.3 - /// - public Regex Pattern - { - get; set; - } - - public override int GetHashCode() - { - return 4; - } - - public override bool Equals(object obj) - { - var rhs = obj as JsonStringValidator; - if (rhs == null) return false; - - if (MaxLength != rhs.MaxLength) return false; - if (MinLength != rhs.MinLength) return false; - - if (Pattern == null && rhs.Pattern == null) - { - } - else if (Pattern == null) - { - return false; - } - else if (rhs.Pattern == null) - { - return false; - } - else if (Pattern.ToString() != rhs.Pattern.ToString()) - { - return false; - } - - return true; - } - - public void Merge(IJsonSchemaValidator obj) - { - var rhs = obj as JsonStringValidator; - if (rhs == null) - { - throw new ArgumentException(); - } - - MaxLength = rhs.MaxLength; - MinLength = rhs.MinLength; - Pattern = rhs.Pattern; - } - - public bool FromJsonSchema(IFileSystemAccessor fs, string key, ListTreeNode value) - { - switch (key) - { - case "maxLength": - MaxLength = value.GetInt32(); - return true; - - case "minLength": - MinLength = value.GetInt32(); - return true; - - case "pattern": - Pattern = new Regex(value.GetString().Replace("\\\\", "\\")); - return true; - } - - return false; - } - - public void ToJsonScheama(IFormatter f) - { - f.Key("type"); f.Value("string"); - } - - public JsonSchemaValidationException Validate(JsonSchemaValidationContext c, T o) - { - if (o == null) - { - return new JsonSchemaValidationException(c, "null"); - } - - var value = o as string; - - if (MinLength.HasValue && value.Length < MinLength) - { - return new JsonSchemaValidationException(c, string.Format("minlength: {0}<{1}", value.Length, MinLength.Value)); - } - if (MaxLength.HasValue && value.Length > MaxLength) - { - return new JsonSchemaValidationException(c, string.Format("maxlength: {0}>{1}", value.Length, MaxLength.Value)); - } - - if (Pattern != null && !Pattern.IsMatch(value)) - { - return new JsonSchemaValidationException(c, string.Format("pattern: {0} not match {1}", Pattern, value)); - } - - return null; - } - - public void Serialize(IFormatter f, JsonSchemaValidationContext c, T o) - { - f.Value(GenericCast.Cast(o)); - } - - public void Deserialize(ListTreeNode src, ref U dst) - where T: IListTreeItem, IValue - { - dst = GenericCast.Cast(src.GetString()); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonStringValidator.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonStringValidator.cs.meta deleted file mode 100644 index 07f08da..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonStringValidator.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 0256cc9f46a4e6744826cf5ca0aa1b46 -timeCreated: 1531812574 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode.meta deleted file mode 100644 index f0e9cdc..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 05ec3d59e0547de45971d110c37d8e14 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNode.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNode.cs deleted file mode 100644 index 0c1fef6..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNode.cs +++ /dev/null @@ -1,417 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - - -namespace UniJSON -{ - public struct ListTreeNode : ITreeNode, T> - where T : IListTreeItem, IValue - { - public override int GetHashCode() - { - return base.GetHashCode(); - } - - public override bool Equals(object obj) - { - if (!(obj is ListTreeNode)) - { - return false; - } - - var rhs = (ListTreeNode)obj; - - if ((Value.ValueType == ValueNodeType.Integer || Value.ValueType == ValueNodeType.Null) - && (rhs.Value.ValueType == ValueNodeType.Integer || rhs.Value.ValueType == ValueNodeType.Number)) - { - // ok - } - else if (Value.ValueType != rhs.Value.ValueType) - { - return false; - } - - switch (Value.ValueType) - { - case ValueNodeType.Null: - return true; - - case ValueNodeType.Boolean: - return Value.GetBoolean() == rhs.GetBoolean(); - - case ValueNodeType.Integer: - case ValueNodeType.Number: - return Value.GetDouble() == rhs.GetDouble(); - - case ValueNodeType.String: - return Value.GetString() == rhs.GetString(); - - case ValueNodeType.Array: - return this.ArrayItems().SequenceEqual(rhs.ArrayItems()); - - case ValueNodeType.Object: - { - //var l = ObjectItems().ToDictionary(x => x.Key, x => x.Value); - //var r = rhs.ObjectItems().ToDictionary(x => x.Key, x => x.Value); - //return l.Equals(r); - return this.ObjectItems().OrderBy(x => x.Key.GetUtf8String()).SequenceEqual(rhs.ObjectItems().OrderBy(x => x.Key.GetUtf8String())); - } - } - - return false; - } - - public override string ToString() - { - if (this.IsArray()) - { - var sb = new StringBuilder(); - sb.Append("["); - /* - bool isFirst = true; - foreach (var x in this.ArrayItems()) - { - if (isFirst) - { - isFirst = false; - } - else - { - sb.Append(","); - } - sb.Append(x.ToString()); - } - */ - sb.Append("]"); - return sb.ToString(); - } - else if (this.IsMap()) - { - var sb = new StringBuilder(); - sb.Append("{"); - /* - bool isFirst = true; - foreach (var kv in this.ObjectItems()) - { - if (isFirst) - { - isFirst = false; - } - else - { - sb.Append(","); - } - sb.Append(kv.Key.ToString()); - sb.Append(": "); - sb.Append(kv.Value.ToString()); - } - */ - sb.Append("}"); - return sb.ToString(); - } - else - { - return Value.ToString(); - } - } - - IEnumerable ToString(string indent, int level, bool value = false) - { - if (this.IsArray()) - { - if (!value) for (int i = 0; i < level; ++i) yield return indent; - yield return "[\n"; - - var isFirst = true; - var childLevel = level + 1; - foreach (var x in this.ArrayItems()) - { - if (isFirst) - { - isFirst = false; - } - else - { - yield return ",\n"; - } - - foreach (var y in x.ToString(indent, childLevel)) - { - yield return y; - } - } - if (!isFirst) - { - yield return "\n"; - } - - for (int i = 0; i < level; ++i) yield return indent; - yield return "]"; - } - else if (this.IsMap()) - { - if (!value) for (int i = 0; i < level; ++i) yield return indent; - yield return "{\n"; - - var isFirst = true; - var childLevel = level + 1; - foreach (var kv in this.ObjectItems()) - { - if (isFirst) - { - isFirst = false; - } - else - { - yield return ",\n"; - } - - // key - for (int i = 0; i < childLevel; ++i) yield return indent; - yield return kv.Key.ToString(); - yield return ": "; - - foreach (var y in kv.Value.ToString(indent, childLevel, true)) - { - yield return y; - } - } - if (!isFirst) - { - yield return "\n"; - } - - for (int i = 0; i < level; ++i) yield return indent; - yield return "}"; - } - else - { - if (!value) for (int i = 0; i < level; ++i) yield return indent; - yield return Value.ToString(); - } - } - - public string ToString(string indent) - { - return string.Join("", ToString(indent, 0).ToArray()); - } - - public IEnumerable Diff(ListTreeNode rhs, JsonPointer path = default(JsonPointer)) - { - switch (Value.ValueType) - { - case ValueNodeType.Null: - case ValueNodeType.Boolean: - case ValueNodeType.Number: - case ValueNodeType.Integer: - case ValueNodeType.String: - if (!Equals(rhs)) - { - yield return JsonDiff.Create(this, JsonDiffType.ValueChanged, string.Format("{0} => {1}", Value, rhs.Value)); - } - yield break; - } - - if (Value.ValueType != rhs.Value.ValueType) - { - yield return JsonDiff.Create(this, JsonDiffType.ValueChanged, string.Format("{0} => {1}", Value.ValueType, rhs.Value)); - yield break; - } - - if (Value.ValueType == ValueNodeType.Object) - { - - var l = this.ObjectItems().ToDictionary(x => x.Key, x => x.Value); - var r = rhs.ObjectItems().ToDictionary(x => x.Key, x => x.Value); - - foreach (var kv in l) - { - ListTreeNode x; - if (r.TryGetValue(kv.Key, out x)) - { - r.Remove(kv.Key); - // Found - foreach (var y in kv.Value.Diff(x)) - { - yield return y; - } - } - else - { - // Removed - yield return JsonDiff.Create(kv.Value, JsonDiffType.KeyRemoved, kv.Value.Value.ToString()); - } - } - - foreach (var kv in r) - { - // Addded - yield return JsonDiff.Create(kv.Value, JsonDiffType.KeyAdded, kv.Value.Value.ToString()); - } - } - else if (Value.ValueType == ValueNodeType.Array) - { - var ll = this.ArrayItems().GetEnumerator(); - var rr = rhs.ArrayItems().GetEnumerator(); - while (true) - { - var lll = ll.MoveNext(); - var rrr = rr.MoveNext(); - if (lll && rrr) - { - // found - foreach (var y in ll.Current.Diff(rr.Current)) - { - yield return y; - } - } - else if (lll) - { - yield return JsonDiff.Create(ll.Current, JsonDiffType.KeyRemoved, ll.Current.Value.ToString()); - } - else if (rrr) - { - yield return JsonDiff.Create(rr.Current, JsonDiffType.KeyAdded, rr.Current.Value.ToString()); - } - else - { - // end - break; - } - } - } - else - { - throw new NotImplementedException(); - } - } - - /// - /// Whole tree nodes - /// - List m_Values; - public bool IsValid - { - get - { - return m_Values != null; - } - } - - /// - /// This node index - /// - public int ValueIndex - { - get; - private set; - } - - public ListTreeNode Prev - { - get - { - return new ListTreeNode(m_Values, ValueIndex - 1); - } - } - - public T Value - { - get - { - if (m_Values == null) - { - return default(T); - } - return m_Values[ValueIndex]; - } - } - public void SetValue(T value) - { - m_Values[ValueIndex] = value; - } - - #region Children - public IEnumerable> Children - { - get - { - for (int i = 0; i < m_Values.Count; ++i) - { - if (m_Values[i].ParentIndex == ValueIndex) - { - yield return new ListTreeNode(m_Values, i); - } - } - } - } - - public ListTreeNode this[String key] - { - get - { - return this[Utf8String.From(key)]; - } - } - - public ListTreeNode this[Utf8String key] - { - get - { - return this.GetObjectItem(key); - } - } - - public ListTreeNode this[int index] - { - get - { - return this.GetArrrayItem(index); - } - } - #endregion - - public bool HasParent - { - get - { - return Value.ParentIndex >= 0 && Value.ParentIndex < m_Values.Count; - } - } - public ListTreeNode Parent - { - get - { - if (Value.ParentIndex < 0) - { - throw new Exception("no parent"); - } - if (Value.ParentIndex >= m_Values.Count) - { - throw new IndexOutOfRangeException(); - } - return new ListTreeNode(m_Values, Value.ParentIndex); - } - } - - public ListTreeNode(List values, int index = 0) : this() - { - m_Values = values; - ValueIndex = index; - } - - #region JsonPointer - public void AddKey(Utf8String key) - { - m_Values.Add(default(T).Key(key, ValueIndex)); - } - - public void AddValue(ArraySegment bytes, ValueNodeType valueType) - { - m_Values.Add(default(T).New(bytes, valueType, ValueIndex)); - } - #endregion - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNode.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNode.cs.meta deleted file mode 100644 index 4c618ac..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNode.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 26f90c47d985b3e4c8cf153607f9fb31 -timeCreated: 1545735556 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeArrayExtensions.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeArrayExtensions.cs deleted file mode 100644 index 7275a09..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeArrayExtensions.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System.Collections.Generic; -using System.Linq; - - -namespace UniJSON -{ - public static class ListTreeNodeArrayExtensions - { - public static IEnumerable> ArrayItems(this ListTreeNode self) where T : IListTreeItem, IValue - { - if (!self.IsArray()) throw new DeserializationException("is not array"); - return self.Children; - } - - public static ListTreeNode GetArrrayItem(this ListTreeNode self, int index) - where T : IListTreeItem, IValue - { - int i = 0; - foreach (var v in self.ArrayItems()) - { - if (i++ == index) - { - return v; - } - } - throw new KeyNotFoundException(); - } - - public static int GetArrayCount(this ListTreeNode self) - where T : IListTreeItem, IValue - { - if (!self.IsArray()) throw new DeserializationException("is not array"); - return self.Children.Count(); - } - - public static int IndexOf(this ListTreeNode self, ListTreeNode child) - where T : IListTreeItem, IValue - { - int i = 0; - foreach (var v in self.ArrayItems()) - { - if (v.ValueIndex == child.ValueIndex) - { - return i; - } - ++i; - } - throw new KeyNotFoundException(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeArrayExtensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeArrayExtensions.cs.meta deleted file mode 100644 index 4e8bb28..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeArrayExtensions.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 0633f1f90105acc41b82ef809fe4ebbd -timeCreated: 1545735556 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeDeserializerExtensions.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeDeserializerExtensions.cs deleted file mode 100644 index b41eab5..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeDeserializerExtensions.cs +++ /dev/null @@ -1,287 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; - - -namespace UniJSON -{ - public static class ListTreeNodeDeserializerExtensions - { - struct GenericCreator - where T : IListTreeItem, IValue - { - static V[] ArrayCreator(ListTreeNode src) - { - if (!src.IsArray()) - { - throw new ArgumentException("value is not array"); - } - var count = src.GetArrayCount(); - return new V[count]; - } - - static Func, U> GetCreator() - { - var t = typeof(U); - if (t.IsArray) - { - var mi = typeof(GenericCreator).GetMethod("ArrayCreator", - BindingFlags.NonPublic | BindingFlags.Static); - var g = mi.MakeGenericMethod(t.GetElementType()); - return GenericInvokeCallFactory.StaticFunc, U>(g); - } - - { - return _s => - { - return Activator.CreateInstance(); - }; - } - } - - delegate U Creator(ListTreeNode src); - - static Creator s_creator; - - public U Create(ListTreeNode src) - { - if (s_creator == null) - { - var d = GetCreator(); - s_creator = new Creator(d); - } - return s_creator(src); - } - } - - static object DictionaryDeserializer(ListTreeNode s) - where T : IListTreeItem, IValue - { - switch (s.Value.ValueType) - { - case ValueNodeType.Object: - { - var u = new Dictionary(); - foreach (var kv in s.ObjectItems()) - { - //var e = default(object); - //kv.Value.Deserialize(ref e); - u.Add(kv.Key.GetString(), DictionaryDeserializer(kv.Value)); - } - return u; - } - - case ValueNodeType.Null: - return null; - - case ValueNodeType.Boolean: - return s.GetBoolean(); - - case ValueNodeType.Integer: - return s.GetInt32(); - - case ValueNodeType.Number: - return s.GetDouble(); - - case ValueNodeType.String: - return s.GetString(); - - default: - throw new NotImplementedException(s.Value.ValueType.ToString()); - } - } - - public static void Deserialize(this ListTreeNode self, ref U value) - where T : IListTreeItem, IValue - { - GenericDeserializer.Deserialize(self, ref value); - } - } - - public static class GenericDeserializer - where T : IListTreeItem, IValue - { - static V[] GenericArrayDeserializer(ListTreeNode s) - { - if (!s.IsArray()) - { - throw new ArgumentException("not array: " + s.Value.ValueType); - } - var u = new V[s.GetArrayCount()]; - int i = 0; - foreach (var x in s.ArrayItems()) - { - x.Deserialize(ref u[i++]); - } - return u; - } - - static List GenericListDeserializer(ListTreeNode s) - { - if (!s.IsArray()) - { - throw new ArgumentException("not array: " + s.Value.ValueType); - } - var u = new List(s.GetArrayCount()); - foreach (var x in s.ArrayItems()) - { - var e = default(V); - x.Deserialize(ref e); - u.Add(e); - } - return u; - } - - delegate void FieldSetter(ListTreeNode s, object o); - static FieldSetter GetFieldDeserializer(FieldInfo fi) - { - return (s, o) => - { - var u = default(V); - s.Deserialize(ref u); - fi.SetValue(o, u); - }; - } - - static Func, U> GetDeserializer() - { - // primitive - { - var mi = typeof(ListTreeNode).GetMethods().FirstOrDefault(x => - { - if (!x.Name.StartsWith("Get")) - { - return false; - } - - if (!x.Name.EndsWith(typeof(U).Name)) - { - return false; - } - - var parameters = x.GetParameters(); - if (parameters.Length != 0) - { - return false; - } - - if (x.ReturnType != typeof(U)) - { - return false; - } - - return true; - }); - - if (mi != null) - { - return GenericInvokeCallFactory.StaticFunc, U>(mi); - } - } - - var target = typeof(U); - - if (target.IsArray) - { - var mi = typeof(GenericDeserializer).GetMethod("GenericArrayDeserializer", - BindingFlags.Static | BindingFlags.NonPublic); - var g = mi.MakeGenericMethod(target.GetElementType()); - return GenericInvokeCallFactory.StaticFunc, U>(g); - } - - if (target.IsGenericType) - { - if (target.GetGenericTypeDefinition() == typeof(List<>)) - { - var mi = typeof(GenericDeserializer).GetMethod("GenericListDeserializer", - BindingFlags.Static | BindingFlags.NonPublic); - var g = mi.MakeGenericMethod(target.GetGenericArguments()); - return GenericInvokeCallFactory.StaticFunc, U>(g); - } - - if (target.GetGenericTypeDefinition() == typeof(Dictionary<,>) && - target.GetGenericArguments()[0] == typeof(string)) - { - var mi = typeof(ListTreeNodeDeserializerExtensions).GetMethod("DictionaryDeserializer", - BindingFlags.Static | BindingFlags.NonPublic); - var g = mi.MakeGenericMethod(typeof(T)); - return GenericInvokeCallFactory.StaticFunc, U>(g); - } - } - - { - var schema = JsonSchema.FromType(); - return s => - { - var t = default(U); - schema.Validator.Deserialize(s, ref t); - return t; - }; - } - -#if false - if (target.IsEnum) - { - var value = Expression.Parameter(typeof(int), "value"); - var cast = Expression.Convert(value, target); - var func = Expression.Lambda(cast, value); - var compiled = (Func)func.Compile(); - return s => - { - return compiled(s.GetInt32()); - }; - } - - { - var fields = target.GetFields(BindingFlags.Instance | BindingFlags.Public); - var fieldDeserializers = fields.ToDictionary(x => Utf8String.From(x.Name), x => - { - var mi = typeof(GenericDeserializer).GetMethod("GetFieldDeserializer", - BindingFlags.Static|BindingFlags.NonPublic); - var g = mi.MakeGenericMethod(x.FieldType); - return (FieldSetter)g.Invoke(null, new object[] { x }); - }); - - return (S s) => - { - if (!s.IsMap()) - { - throw new ArgumentException(s.ValueType.ToString()); - } - - var t = (object)default(GenericCreator).Create(s); - foreach(var kv in s.ObjectItems()) - { - FieldSetter setter; - if (fieldDeserializers.TryGetValue(kv.Key, out setter)) - { - setter(kv.Value, t); - } - } - return (T)t; - }; - } -#endif - } - - public delegate U Deserializer(ListTreeNode node); - - public static Deserializer s_deserializer; - - public static void Deserialize(ListTreeNode node, ref U value) - { - if (s_deserializer == null) - { - var d = GetDeserializer(); - s_deserializer = new Deserializer(d); - } - value = s_deserializer(node); - } - - public static void SetCustomDeserializer(Deserializer deserializer) - { - s_deserializer = deserializer; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeDeserializerExtensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeDeserializerExtensions.cs.meta deleted file mode 100644 index e7edfeb..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeDeserializerExtensions.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 961c1bf9650027347a1279c4f04a1feb -timeCreated: 1545735557 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeExtensions.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeExtensions.cs deleted file mode 100644 index d4ddfdf..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeExtensions.cs +++ /dev/null @@ -1,96 +0,0 @@ -using System.Collections.Generic; - - -namespace UniJSON -{ - public static class ListTreeNodeExtensions - { - #region IValue - public static bool IsNull(this ListTreeNode self) where T : IListTreeItem, IValue - { - return self.Value.ValueType == ValueNodeType.Null; - } - - public static bool IsBoolean(this ListTreeNode self) where T : IListTreeItem, IValue - { - return self.Value.ValueType == ValueNodeType.Boolean; - } - - public static bool IsString(this ListTreeNode self) where T : IListTreeItem, IValue - { - return self.Value.ValueType == ValueNodeType.String; - } - - public static bool IsInteger(this ListTreeNode self) where T : IListTreeItem, IValue - { - return self.Value.ValueType == ValueNodeType.Integer; - } - - public static bool IsFloat(this ListTreeNode self) where T : IListTreeItem, IValue - { - return self.Value.ValueType == ValueNodeType.Number - || self.Value.ValueType == ValueNodeType.NaN - || self.Value.ValueType == ValueNodeType.Infinity - || self.Value.ValueType == ValueNodeType.MinusInfinity; - } - - public static bool IsArray(this ListTreeNode self) where T : IListTreeItem, IValue - { - return self.Value.ValueType == ValueNodeType.Array; - } - - public static bool IsMap(this ListTreeNode self) where T : IListTreeItem, IValue - { - return self.Value.ValueType == ValueNodeType.Object; - } - - public static bool GetBoolean(this ListTreeNode self) where T : IListTreeItem, IValue { return self.Value.GetBoolean(); } - public static string GetString(this ListTreeNode self) where T : IListTreeItem, IValue { return self.Value.GetString(); } - public static Utf8String GetUtf8String(this ListTreeNode self) where T : IListTreeItem, IValue { return self.Value.GetUtf8String(); } - public static sbyte GetSByte(this ListTreeNode self) where T : IListTreeItem, IValue { return self.Value.GetSByte(); } - public static short GetInt16(this ListTreeNode self) where T : IListTreeItem, IValue { return self.Value.GetInt16(); } - public static int GetInt32(this ListTreeNode self) where T : IListTreeItem, IValue { return self.Value.GetInt32(); } - public static long GetInt64(this ListTreeNode self) where T : IListTreeItem, IValue { return self.Value.GetInt64(); } - public static byte GetByte(this ListTreeNode self) where T : IListTreeItem, IValue { return self.Value.GetByte(); } - public static ushort GetUInt16(this ListTreeNode self) where T : IListTreeItem, IValue { return self.Value.GetUInt16(); } - public static uint GetUInt32(this ListTreeNode self) where T : IListTreeItem, IValue { return self.Value.GetUInt32(); } - public static ulong GetUInt64(this ListTreeNode self) where T : IListTreeItem, IValue { return self.Value.GetUInt64(); } - public static float GetSingle(this ListTreeNode self) where T : IListTreeItem, IValue { return self.Value.GetSingle(); } - public static double GetDouble(this ListTreeNode self) where T : IListTreeItem, IValue { return self.Value.GetDouble(); } - - /// - /// for UnitTest. Use explicit GetT() or Deserialize(ref T) - /// - /// - public static object GetValue(this ListTreeNode self) where T : IListTreeItem, IValue - { - return self.Value.GetValue(); - } - #endregion - - public static IEnumerable> Traverse(this ListTreeNode self) where T : IListTreeItem, IValue - { - yield return self; - if (self.IsArray()) - { - foreach (var x in self.ArrayItems()) - { - foreach (var y in x.Traverse()) - { - yield return y; - } - } - } - else if (self.IsMap()) - { - foreach (var kv in self.ObjectItems()) - { - foreach (var y in kv.Value.Traverse()) - { - yield return y; - } - } - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeExtensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeExtensions.cs.meta deleted file mode 100644 index a08c1a3..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeExtensions.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: a612ae688d8bc844aa89f13109b665d3 -timeCreated: 1545735557 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeJsonPointerExtensions.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeJsonPointerExtensions.cs deleted file mode 100644 index 93e506f..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeJsonPointerExtensions.cs +++ /dev/null @@ -1,138 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; - - -namespace UniJSON -{ - public static class ListTreeNodeJsonPointerExtensions - { - public static void SetValue(this ListTreeNode self, - Utf8String jsonPointer, ArraySegment bytes) - where T: IListTreeItem, IValue - { - foreach (var node in self.GetNodes(jsonPointer)) - { - node.SetValue(default(T).New( - bytes, - ValueNodeType.Boolean, - node.Value.ParentIndex)); - } - } - - public static void RemoveValue(this ListTreeNode self, Utf8String jsonPointer) - where T : IListTreeItem, IValue - { - foreach (var node in self.GetNodes(new JsonPointer(jsonPointer))) - { - if (node.Parent.IsMap()) - { - node.Prev.SetValue(default(T)); // remove key - } - node.SetValue(default(T)); // remove - } - } - - public static JsonPointer Pointer(this ListTreeNode self) - where T: IListTreeItem, IValue - { - return JsonPointer.Create(self); - } - - public static IEnumerable> Path(this ListTreeNode self) - where T : IListTreeItem, IValue - { - if (self.HasParent) - { - foreach (var x in self.Parent.Path()) - { - yield return x; - } - } - yield return self; - } - - public static IEnumerable> GetNodes(this ListTreeNode self, - JsonPointer jsonPointer) - where T : IListTreeItem, IValue - { - if (jsonPointer.Path.Count == 0) - { - yield return self; - yield break; - } - - if (self.IsArray()) - { - // array - if (jsonPointer[0][0] == '*') - { - // wildcard - foreach (var child in self.ArrayItems()) - { - foreach (var childChild in child.GetNodes(jsonPointer.Unshift())) - { - yield return childChild; - } - } - } - else - { - int index = jsonPointer[0].ToInt32(); - var child = self.ArrayItems().Skip(index).First(); - foreach (var childChild in child.GetNodes(jsonPointer.Unshift())) - { - yield return childChild; - } - } - } - else if (self.IsMap()) - { - // object - if (jsonPointer[0][0] == '*') - { - // wildcard - foreach (var kv in self.ObjectItems()) - { - foreach (var childChild in kv.Value.GetNodes(jsonPointer.Unshift())) - { - yield return childChild; - } - } - } - else - { - ListTreeNode child; - try - { - child = self.ObjectItems().First(x => x.Key.GetUtf8String() == jsonPointer[0]).Value; - } - catch (Exception) - { - // key - self.AddKey(jsonPointer[0]); - // value - self.AddValue(default(ArraySegment), ValueNodeType.Object); - - child = self.ObjectItems().First(x => x.Key.GetUtf8String() == jsonPointer[0]).Value; - } - foreach (var childChild in child.GetNodes(jsonPointer.Unshift())) - { - yield return childChild; - } - } - } - else - { - throw new NotImplementedException(); - } - } - - public static IEnumerable> GetNodes(this ListTreeNode self, - Utf8String jsonPointer) - where T : IListTreeItem, IValue - { - return self.GetNodes(new JsonPointer(jsonPointer)); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeJsonPointerExtensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeJsonPointerExtensions.cs.meta deleted file mode 100644 index 4359c83..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeJsonPointerExtensions.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 20e02dc7c390454448d4a3ce7aca4d17 -timeCreated: 1545735556 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeObjectExtensions.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeObjectExtensions.cs deleted file mode 100644 index e2d7f91..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeObjectExtensions.cs +++ /dev/null @@ -1,77 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; - - -namespace UniJSON -{ - public static class IValueNodeObjectExtensions - { - public static IEnumerable, ListTreeNode>> ObjectItems(this ListTreeNode self) - where T : IListTreeItem, IValue - { - if (!self.IsMap()) throw new DeserializationException("is not object"); - var it = self.Children.GetEnumerator(); - while (it.MoveNext()) - { - var key = it.Current; - - it.MoveNext(); - yield return new KeyValuePair, ListTreeNode>(key, it.Current); - } - } - - public static int GetObjectCount(this ListTreeNode self) - where T : IListTreeItem, IValue - { - if (!self.IsMap()) throw new DeserializationException("is not object"); - return self.Children.Count() / 2; - } - - public static ListTreeNode GetObjectItem(this ListTreeNode self, String key) - where T : IListTreeItem, IValue - { - return self.GetObjectItem(Utf8String.From(key)); - } - - public static ListTreeNode GetObjectItem(this ListTreeNode self, Utf8String key) - where T : IListTreeItem, IValue - - { - foreach (var kv in self.ObjectItems()) - { - if (kv.Key.GetUtf8String() == key) - { - return kv.Value; - } - } - throw new KeyNotFoundException(); - } - - public static bool ContainsKey(this ListTreeNode self, Utf8String key) - where T : IListTreeItem, IValue - { - return self.ObjectItems().Any(x => x.Key.GetUtf8String() == key); - } - - public static bool ContainsKey(this ListTreeNode self, String key) - where T : IListTreeItem, IValue - { - var ukey = Utf8String.From(key); - return self.ContainsKey(ukey); - } - - public static Utf8String KeyOf(this ListTreeNode self, ListTreeNode node) - where T : IListTreeItem, IValue - { - foreach (var kv in self.ObjectItems()) - { - if (node.ValueIndex == kv.Value.ValueIndex) - { - return kv.Key.GetUtf8String(); - } - } - throw new KeyNotFoundException(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeObjectExtensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeObjectExtensions.cs.meta deleted file mode 100644 index ba8470a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/ListTreeNode/ListTreeNodeObjectExtensions.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: b3b4670381937134c9ce96d058f2f730 -timeCreated: 1545735557 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack.meta deleted file mode 100644 index fbe43d1..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1eb150b1b9126f14488d425475de1249 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/EndianConverter.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/EndianConverter.cs deleted file mode 100644 index 63439db..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/EndianConverter.cs +++ /dev/null @@ -1,434 +0,0 @@ -using System; -using System.Net; - -namespace UniJSON -{ - public static class EndianConverter - { -#if false - /* - #region Converter - /// - /// Read Uint16 From NetworkBytesOrder to HostBytesOrder - /// - /// - /// - public static UInt16 N2H_UInt16(this ArraySegment self) - { - if (BitConverter.IsLittleEndian) - { - return (UInt16)(self.Get(0) << 8 | self.Get(1)); - } - else - { - return BitConverter.ToUInt16(self.Array, self.Offset); - } - } - - public static UInt32 N2H_UInt32(this ArraySegment self) - { - if (BitConverter.IsLittleEndian) - { - return (UInt32)(self.Get(0) << 24 | self.Get(1) << 16 | self.Get(2) << 8 | self.Get(3)); - } - else - { - return BitConverter.ToUInt32(self.Array, self.Offset); - } - } - - public static UInt64 N2H_UInt64(this ArraySegment self) - { - var uvalue = BitConverter.ToUInt64(self.Array, self.Offset); - if (BitConverter.IsLittleEndian) - { - ulong swapped = - ((0x00000000000000FF) & (uvalue >> 56) - | (0x000000000000FF00) & (uvalue >> 40) - | (0x0000000000FF0000) & (uvalue >> 24) - | (0x00000000FF000000) & (uvalue >> 8) - | (0x000000FF00000000) & (uvalue << 8) - | (0x0000FF0000000000) & (uvalue << 24) - | (0x00FF000000000000) & (uvalue << 40) - | (0xFF00000000000000) & (uvalue << 56)); - return swapped; - } - else - { - return uvalue; - } - } - - public static Int16 N2H_Int16(this ArraySegment self) - { - if (BitConverter.IsLittleEndian) - { - return (Int16)(self.Get(0) << 8 | self.Get(1)); - } - else - { - return BitConverter.ToInt16(self.Array, self.Offset); - } - } - - public static Int32 N2H_Int32(this ArraySegment self) - { - if (BitConverter.IsLittleEndian) - { - return (Int32)(self.Get(0) << 24 | self.Get(1) << 16 | self.Get(2) << 8 | self.Get(3)); - } - else - { - return BitConverter.ToInt32(self.Array, self.Offset); - } - } - - public static Int64 N2H_Int64(this ArraySegment self) - { - var value = BitConverter.ToUInt64(self.Array, self.Offset); - if (BitConverter.IsLittleEndian) - { - ulong swapped = - ((0x00000000000000FF) & (value >> 56) - | (0x000000000000FF00) & (value >> 40) - | (0x0000000000FF0000) & (value >> 24) - | (0x00000000FF000000) & (value >> 8) - | (0x000000FF00000000) & (value << 8) - | (0x0000FF0000000000) & (value << 24) - | (0x00FF000000000000) & (value << 40) - | (0xFF00000000000000) & (value << 56)); - return (long)swapped; - } - else - { - return (long)value; - } - } - - public static Single N2H_Single(this ArraySegment self) - { - if (BitConverter.IsLittleEndian) - { - return BitConverter.ToSingle(self.TakeReversedArray(4), 0); - } - else - { - return BitConverter.ToSingle(self.Array, self.Offset); - } - } - - public static Double N2H_Double(this ArraySegment self) - { - return BitConverter.Int64BitsToDouble(self.N2H_Int64()); - } - - public static void N2H_CopyTo(this ArraySegment self, Byte[] buffer, int elementSize) - { - if (buffer.Length < self.Count) throw new ArgumentException(); - - for (int i = 0; i < self.Count; i += elementSize) - { - for (int j = 0; j < elementSize; ++j) - { - buffer[i + j] = self.Get(i + elementSize - 1 - j); - } - } - } - - public static void N2H_CopyTo(this ArraySegment self, Array result, Byte[] buffer) - { - if (BitConverter.IsLittleEndian) - { - if (buffer.Length < self.Count) - { - throw new ArgumentException(); - } - self.N2H_CopyTo(buffer, Marshal.SizeOf(result.GetType().GetElementType())); - - Buffer.BlockCopy(buffer, 0, result, 0, self.Count); - } - else - { - Buffer.BlockCopy(self.Array, self.Offset, result, 0, self.Count); - } - } - #endregion - */ - -#else - #region Signed - public static Int16 NetworkByteWordToSignedNativeByteOrder(ArraySegment bytes) - { - if (BitConverter.IsLittleEndian) - { - // Network to Little - var value = new ByteUnion.WordValue - { - Byte0 = bytes.Get(1), - Byte1 = bytes.Get(0), - }; - return value.Signed; - } - else - { - // Network to Big - var value = new ByteUnion.WordValue - { - Byte0 = bytes.Get(0), - Byte1 = bytes.Get(1), - }; - return value.Signed; - } - } - public static Int32 NetworkByteDWordToSignedNativeByteOrder(ArraySegment bytes) - { - if (BitConverter.IsLittleEndian) - { - // Network to Little - var value = new ByteUnion.DWordValue - { - Byte0 = bytes.Get(3), - Byte1 = bytes.Get(2), - Byte2 = bytes.Get(1), - Byte3 = bytes.Get(0), - }; - return value.Signed; - } - else - { - // Network to Big - var value = new ByteUnion.DWordValue - { - Byte0 = bytes.Get(0), - Byte1 = bytes.Get(1), - Byte2 = bytes.Get(2), - Byte3 = bytes.Get(3), - }; - return value.Signed; - } - } - public static Int64 NetworkByteQWordToSignedNativeByteOrder(ArraySegment bytes) - { - if (BitConverter.IsLittleEndian) - { - // Network to Little - var value = new ByteUnion.QWordValue - { - Byte0 = bytes.Get(7), - Byte1 = bytes.Get(6), - Byte2 = bytes.Get(5), - Byte3 = bytes.Get(4), - Byte4 = bytes.Get(3), - Byte5 = bytes.Get(2), - Byte6 = bytes.Get(1), - Byte7 = bytes.Get(0), - }; - return value.Signed; - } - else - { - // Network to Big - var value = new ByteUnion.QWordValue - { - Byte0 = bytes.Get(0), - Byte1 = bytes.Get(1), - Byte2 = bytes.Get(2), - Byte3 = bytes.Get(3), - Byte4 = bytes.Get(4), - Byte5 = bytes.Get(5), - Byte6 = bytes.Get(6), - Byte7 = bytes.Get(7), - }; - return value.Signed; - } - } - #endregion - #region Unsigned - public static UInt16 NetworkByteWordToUnsignedNativeByteOrder(ArraySegment bytes) - { - if (BitConverter.IsLittleEndian) - { - // Network to Little - var value = new ByteUnion.WordValue - { - Byte0 = bytes.Get(1), - Byte1 = bytes.Get(0), - }; - return value.Unsigned; - } - else - { - // Network to Big - var value = new ByteUnion.WordValue - { - Byte0 = bytes.Get(0), - Byte1 = bytes.Get(1), - }; - return value.Unsigned; - } - } - public static UInt32 NetworkByteDWordToUnsignedNativeByteOrder(ArraySegment bytes) - { - if (BitConverter.IsLittleEndian) - { - // Network to Little - var value = new ByteUnion.DWordValue - { - Byte0 = bytes.Get(3), - Byte1 = bytes.Get(2), - Byte2 = bytes.Get(1), - Byte3 = bytes.Get(0), - }; - return value.Unsigned; - } - else - { - // Network to Big - var value = new ByteUnion.DWordValue - { - Byte0 = bytes.Get(0), - Byte1 = bytes.Get(1), - Byte2 = bytes.Get(2), - Byte3 = bytes.Get(3), - }; - return value.Unsigned; - } - } - public static UInt64 NetworkByteQWordToUnsignedNativeByteOrder(ArraySegment bytes) - { - if (BitConverter.IsLittleEndian) - { - // Network to Little - var value = new ByteUnion.QWordValue - { - Byte0 = bytes.Get(7), - Byte1 = bytes.Get(6), - Byte2 = bytes.Get(5), - Byte3 = bytes.Get(4), - Byte4 = bytes.Get(3), - Byte5 = bytes.Get(2), - Byte6 = bytes.Get(1), - Byte7 = bytes.Get(0), - }; - return value.Unsigned; - } - else - { - // Network to Big - var value = new ByteUnion.QWordValue - { - Byte0 = bytes.Get(0), - Byte1 = bytes.Get(1), - Byte2 = bytes.Get(2), - Byte3 = bytes.Get(3), - Byte4 = bytes.Get(4), - Byte5 = bytes.Get(5), - Byte6 = bytes.Get(6), - Byte7 = bytes.Get(7), - }; - return value.Unsigned; - } - } - #endregion - #region Floating - public static Single NetworkByteDWordToFloatNativeByteOrder(ArraySegment bytes) - { - if (BitConverter.IsLittleEndian) - { - // Network to Little - var value = new ByteUnion.DWordValue - { - Byte0 = bytes.Get(3), - Byte1 = bytes.Get(2), - Byte2 = bytes.Get(1), - Byte3 = bytes.Get(0), - }; - return value.Float; - } - else - { - // Network to Big - var value = new ByteUnion.DWordValue - { - Byte0 = bytes.Get(0), - Byte1 = bytes.Get(1), - Byte2 = bytes.Get(2), - Byte3 = bytes.Get(3), - }; - return value.Float; - } - } - public static Double NetworkByteQWordToFloatNativeByteOrder(ArraySegment bytes) - { - if (BitConverter.IsLittleEndian) - { - // Network to Little - var value = new ByteUnion.QWordValue - { - Byte0 = bytes.Get(7), - Byte1 = bytes.Get(6), - Byte2 = bytes.Get(5), - Byte3 = bytes.Get(4), - Byte4 = bytes.Get(3), - Byte5 = bytes.Get(2), - Byte6 = bytes.Get(1), - Byte7 = bytes.Get(0), - }; - return value.Float; - } - else - { - // Network to Big - var value = new ByteUnion.QWordValue - { - Byte0 = bytes.Get(0), - Byte1 = bytes.Get(1), - Byte2 = bytes.Get(2), - Byte3 = bytes.Get(3), - Byte4 = bytes.Get(4), - Byte5 = bytes.Get(5), - Byte6 = bytes.Get(6), - Byte7 = bytes.Get(7), - }; - return value.Float; - } - } - #endregion -#endif - - public static Int16 ToNetworkByteOrder(this Int16 value) - { - return ByteUnion.WordValue.Create(value).HostToNetworkOrder().Signed; - } - public static UInt16 ToNetworkByteOrder(this UInt16 value) - { - return ByteUnion.WordValue.Create(value).HostToNetworkOrder().Unsigned; - } - - public static Int32 ToNetworkByteOrder(this Int32 value) - { - return ByteUnion.DWordValue.Create(value).HostToNetworkOrder().Signed; - } - public static UInt32 ToNetworkByteOrder(this UInt32 value) - { - return ByteUnion.DWordValue.Create(value).HostToNetworkOrder().Unsigned; - } - public static Single ToNetworkByteOrder(this Single value) - { - return ByteUnion.DWordValue.Create(value).HostToNetworkOrder().Float; - } - - public static Int64 ToNetworkByteOrder(this Int64 value) - { - return ByteUnion.QWordValue.Create(value).HostToNetworkOrder().Signed; - } - public static UInt64 ToNetworkByteOrder(this UInt64 value) - { - return ByteUnion.QWordValue.Create(value).HostToNetworkOrder().Unsigned; - } - public static Double ToNetworkByteOrder(this Double value) - { - return ByteUnion.QWordValue.Create(value).HostToNetworkOrder().Float; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/EndianConverter.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/EndianConverter.cs.meta deleted file mode 100644 index f6008eb..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/EndianConverter.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 2d72520a65b562f4f862ac0760306215 -timeCreated: 1540879367 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/Exceptions.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/Exceptions.cs deleted file mode 100644 index da23af3..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/Exceptions.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; - -namespace UniJSON -{ - - public class MsgPackTypeException : Exception - { - public MsgPackTypeException(string msg) : base(msg) - { } - - } - -} \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/Exceptions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/Exceptions.cs.meta deleted file mode 100644 index 76095e4..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/Exceptions.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: bc09dae63ba521545a0b9a8ef120b95a -timeCreated: 1540906879 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackFormatter.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackFormatter.cs deleted file mode 100644 index 47e4ff3..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackFormatter.cs +++ /dev/null @@ -1,609 +0,0 @@ -using System; - - -namespace UniJSON -{ - public class MsgPackFormatter : IFormatter, IRpc - { - IStore m_store; - public MsgPackFormatter(IStore store) - { - m_store = store; - } - - public MsgPackFormatter() : this(new BytesStore()) - { - } - - public void Clear() - { - m_store.Clear(); - } - -#if false - public bool MsgPack_Ext(IList list) - { - var t = list.GetType(); - var et = t.GetElementType(); - if (et.IsClass()) - { - return false; - } - m_store.Write((Byte)MsgPackType.EXT32); - var itemSize = Marshal.SizeOf(et); - WriteInt32_NBO(list.Count * itemSize); - - Action pack; - if (et == typeof(UInt16)) - { - m_store.Write((Byte)ExtType.UINT16_BE); - pack = o => WriteUInt16_NBO((UInt16)o); - } - else if (et == typeof(UInt32)) - { - m_store.Write((Byte)ExtType.UINT32_BE); - pack = o => WriteUInt32_NBO((UInt32)o); - } - else if (et == typeof(UInt64)) - { - m_store.Write((Byte)ExtType.UINT64_BE); - pack = o => WriteUInt64_NBO((UInt64)o); - } - else if (et == typeof(Int16)) - { - m_store.Write((Byte)ExtType.INT16_BE); - pack = o => WriteInt16_NBO((Int16)o); - } - else if (et == typeof(Int32)) - { - m_store.Write((Byte)ExtType.INT32_BE); - pack = o => WriteInt32_NBO((Int32)o); - } - else if (et == typeof(Int64)) - { - m_store.Write((Byte)ExtType.INT64_BE); - pack = o => WriteInt64_NBO((Int64)o); - } - else if (et == typeof(Single)) - { - m_store.Write((Byte)ExtType.SINGLE_BE); - pack = o => WriteSingle_NBO((Single)o); - } - else if (et == typeof(Double)) - { - m_store.Write((Byte)ExtType.DOUBLE_BE); - pack = o => WriteDouble_NBO((Double)o); - } - else - { - return false; - } - - foreach (var i in list) - { - pack(i); - } - return true; - } -#endif - - public void BeginList(int n) - { - if (n < 0x0F) - { - m_store.Write((Byte)((Byte)MsgPackType.FIX_ARRAY | n)); - } - else if (n < 0xFFFF) - { - m_store.Write((Byte)MsgPackType.ARRAY16); - m_store.WriteBigEndian((UInt16)n); - } - else - { - m_store.Write((Byte)MsgPackType.ARRAY32); - m_store.WriteBigEndian(n); - } - } - - public void EndList() - { - } - - public void BeginMap(int n) - { - if (n < 0x0F) - { - m_store.Write((Byte)((Byte)MsgPackType.FIX_MAP | n)); - } - else if (n < 0xFFFF) - { - m_store.Write((Byte)MsgPackType.MAP16); - m_store.WriteBigEndian((UInt16)n); - } - else - { - m_store.Write((Byte)MsgPackType.MAP32); - m_store.WriteBigEndian(n.ToNetworkByteOrder()); - } - } - - public void EndMap() - { - } - - public void Null() - { - m_store.Write((Byte)MsgPackType.NIL); - } - - public void Key(Utf8String key) - { - Value(key); - } - - public void Value(String s) - { - Value(Utf8String.From(s)); - } - - public void Value(Utf8String s) - { - var bytes = s.Bytes; - int size = bytes.Count; - if (size < 32) - { - m_store.Write((Byte)((Byte)MsgPackType.FIX_STR | size)); - m_store.Write(bytes); - } - else if (size < 0xFF) - { - m_store.Write((Byte)(MsgPackType.STR8)); - m_store.Write((Byte)(size)); - m_store.Write(bytes); - } - else if (size < 0xFFFF) - { - m_store.Write((Byte)MsgPackType.STR16); - m_store.WriteBigEndian((UInt16)size); - m_store.Write(bytes); - } - else - { - m_store.Write((Byte)MsgPackType.STR32); - m_store.WriteBigEndian(size); - m_store.Write(bytes); - } - } - - public void Value(bool value) - { - if (value) - { - m_store.Write((Byte)MsgPackType.TRUE); - } - else - { - m_store.Write((Byte)MsgPackType.FALSE); - } - } - - #region Singed - public void Value(sbyte n) - { - if (n >= 0) - { - // positive - Value((Byte)n); - } - else if (n >= -32) - { - var value = (MsgPackType)((n + 32) + (Byte)MsgPackType.NEGATIVE_FIXNUM); - m_store.Write((Byte)value); - } - else - { - m_store.Write((Byte)MsgPackType.INT8); - m_store.Write((Byte)n); - } - } - - public void Value(short n) - { - if (n >= 0) - { - // positive - if (n <= 0xFF) - { - Value((Byte)n); - } - else - { - Value((UInt16)n); - } - } - else - { - // negative - if (n >= -128) - { - m_store.Write((SByte)n); - } - else - { - m_store.Write((Byte)MsgPackType.INT16); - m_store.WriteBigEndian(n); - } - } - } - - public void Value(int n) - { - if (n >= 0) - { - // positive - if (n <= 0xFF) - { - Value((Byte)n); - } - else if (n <= 0xFFFF) - { - Value((UInt16)n); - } - else - { - Value((UInt32)n); - } - } - else - { - // negative - if (n >= -128) - { - Value((SByte)n); - } - else if (n >= -32768) - { - Value((Int16)n); - } - else - { - m_store.Write((Byte)MsgPackType.INT32); - m_store.WriteBigEndian(n); - } - } - } - - public void Value(long n) - { - if (n >= 0) - { - // positive - if (n <= 0xFF) - { - Value((Byte)n); - } - else if (n <= 0xFFFF) - { - Value((UInt16)n); - } - else if (n <= 0xFFFFFFFF) - { - Value((UInt32)n); - } - else - { - Value((UInt64)n); - } - } - else - { - // negative - if (n >= -128) - { - Value((SByte)n); - } - else if (n >= -32768) - { - Value((Int16)n); - } - else if (n >= -2147483648) - { - Value((Int32)n); - } - else - { - m_store.Write((Byte)MsgPackType.INT64); - m_store.WriteBigEndian(n); - } - } - } - #endregion - - #region Unsigned - public void Value(byte n) - { - if (n <= 0x7F) - { - // FormatType.POSITIVE_FIXNUM - m_store.Write(n); - } - else - { - m_store.Write((Byte)MsgPackType.UINT8); - m_store.Write(n); - } - } - - public void Value(ushort n) - { - if (n <= 0xFF) - { - Value((Byte)n); - } - else - { - m_store.Write((Byte)MsgPackType.UINT16); - m_store.WriteBigEndian(n); - } - } - - public void Value(uint n) - { - if (n <= 0xFF) - { - Value((Byte)n); - } - else if (n <= 0xFFFF) - { - Value((UInt16)n); - } - else - { - m_store.Write((Byte)MsgPackType.UINT32); - m_store.WriteBigEndian(n); - } - } - - public void Value(ulong n) - { - if (n <= 0xFF) - { - Value((Byte)n); - } - else if (n <= 0xFFFF) - { - Value((UInt16)n); - } - else if (n <= 0xFFFFFFFF) - { - Value((UInt32)n); - } - else - { - m_store.Write((Byte)MsgPackType.UINT64); - m_store.WriteBigEndian(n); - } - } - #endregion - - public void Value(float value) - { - m_store.Write((Byte)MsgPackType.FLOAT); - m_store.WriteBigEndian(value); - } - - public void Value(double value) - { - m_store.Write((Byte)MsgPackType.DOUBLE); - m_store.WriteBigEndian(value); - } - - public void Value(ArraySegment bytes) - { - if (bytes.Count < 0xFF) - { - m_store.Write((Byte)(MsgPackType.BIN8)); - m_store.Write((Byte)(bytes.Count)); - m_store.Write(bytes); - } - else if (bytes.Count < 0xFFFF) - { - m_store.Write((Byte)MsgPackType.BIN16); - m_store.WriteBigEndian((UInt16)bytes.Count); - m_store.Write(bytes); - } - else - { - m_store.Write((Byte)MsgPackType.BIN32); - m_store.WriteBigEndian(bytes.Count); - m_store.Write(bytes); - } - } - - public void TimeStamp32(DateTimeOffset time) - { - // https://github.com/ousttrue/UniJSON/blob/1.2/Scripts/Extensions/DateTimeOffsetExtensions.cs#L13-L16 - if (time < DateTimeOffsetExtensions.EpochTime) - { - throw new ArgumentOutOfRangeException(); - } - m_store.Write((Byte)MsgPackType.FIX_EXT_4); - m_store.Write((SByte)(-1)); - m_store.WriteBigEndian((uint)time.ToUnixTimeSeconds()); - } - - public void Value(DateTimeOffset time) - { - TimeStamp32(time); - } - - public void Value(ListTreeNode node) - { - m_store.Write(node.Value.Bytes); - } - - public IStore GetStore() - { - return m_store; - } - - #region IRpc - public const int REQUEST_TYPE = 0; - public const int RESPONSE_TYPE = 1; - public const int NOTIFY_TYPE = 2; - - int m_msgId = 1; - - public void Request(Utf8String method) - { - BeginList(4); - Value(REQUEST_TYPE); - Value(m_msgId++); - Value(method); - BeginList(0); // params - { - } - EndList(); - EndList(); - } - - public void Request(Utf8String method, A0 a0) - { - BeginList(4); - Value(REQUEST_TYPE); - Value(m_msgId++); - Value(method); - BeginList(1); // params - { - this.Serialize(a0); - } - EndList(); - EndList(); - } - - public void Request(Utf8String method, A0 a0, A1 a1) - { - BeginList(4); - Value(REQUEST_TYPE); - Value(m_msgId++); - Value(method); - BeginList(2); // params - { - this.Serialize(a0); - this.Serialize(a1); - } - EndList(); - EndList(); - } - - public void Request(Utf8String method, A0 a0, A1 a1, A2 a2) - { - throw new NotImplementedException(); - } - - public void Request(Utf8String method, A0 a0, A1 a1, A2 a2, A3 a3) - { - throw new NotImplementedException(); - } - - public void Request(Utf8String method, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) - { - throw new NotImplementedException(); - } - - public void Request(Utf8String method, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) - { - throw new NotImplementedException(); - } - - public void ResponseSuccess(int id) - { - BeginList(4); - Value(RESPONSE_TYPE); - Value(id); - Null(); - Null(); - EndList(); - } - - public void ResponseSuccess(int id, T result) - { - BeginList(4); - Value(RESPONSE_TYPE); - Value(id); - Null(); - this.Serialize(result); - EndList(); - } - - public void ResponseError(int id, Exception error) - { - BeginList(4); - Value(RESPONSE_TYPE); - Value(id); - this.Serialize(error); - Null(); - EndList(); - } - - public void Notify(Utf8String method) - { - BeginList(3); - Value(NOTIFY_TYPE); - Value(method); - BeginList(0); // params - { - } - EndList(); - EndList(); - } - - public void Notify(Utf8String method, A0 a0) - { - BeginList(3); - Value(NOTIFY_TYPE); - Value(method); - BeginList(1); // params - { - this.Serialize(a0); - } - EndList(); - EndList(); - } - - public void Notify(Utf8String method, A0 a0, A1 a1) - { - BeginList(3); - Value(NOTIFY_TYPE); - Value(method); - BeginList(2); // params - { - this.Serialize(a0); - this.Serialize(a1); - } - EndList(); - EndList(); - } - - public void Notify(Utf8String method, A0 a0, A1 a1, A2 a2) - { - throw new NotImplementedException(); - } - - public void Notify(Utf8String method, A0 a0, A1 a1, A2 a2, A3 a3) - { - throw new NotImplementedException(); - } - - public void Notify(Utf8String method, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) - { - throw new NotImplementedException(); - } - - public void Notify(Utf8String method, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) - { - throw new NotImplementedException(); - } - #endregion - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackFormatter.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackFormatter.cs.meta deleted file mode 100644 index cdcbc7f..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackFormatter.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 41153eff97391fd46a31361bac5804fb -timeCreated: 1540879112 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackParser.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackParser.cs deleted file mode 100644 index 9d153f5..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackParser.cs +++ /dev/null @@ -1,421 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace UniJSON -{ - public static class MsgPackParser - { - public static ListTreeNode Parse(Byte[] bytes) - { - return Parse(new ArraySegment(bytes)); - } - - static MsgPackType GetFormat(ArraySegment bytes) - { - return (MsgPackType)bytes.Get(0); - } - - /// - /// Array又はMapの子要素の数を得る - /// - /// - /// - static ArraySegment GetItemCount(ArraySegment bytes, MsgPackType formatType, out UInt32 count) - { - switch (formatType) - { - case MsgPackType.FIX_ARRAY: count = 0; return bytes.Advance(1); - case MsgPackType.FIX_ARRAY_0x1: count = 1; return bytes.Advance(1); - case MsgPackType.FIX_ARRAY_0x2: count = 2; return bytes.Advance(1); - case MsgPackType.FIX_ARRAY_0x3: count = 3; return bytes.Advance(1); - case MsgPackType.FIX_ARRAY_0x4: count = 4; return bytes.Advance(1); - case MsgPackType.FIX_ARRAY_0x5: count = 5; return bytes.Advance(1); - case MsgPackType.FIX_ARRAY_0x6: count = 6; return bytes.Advance(1); - case MsgPackType.FIX_ARRAY_0x7: count = 7; return bytes.Advance(1); - case MsgPackType.FIX_ARRAY_0x8: count = 8; return bytes.Advance(1); - case MsgPackType.FIX_ARRAY_0x9: count = 9; return bytes.Advance(1); - case MsgPackType.FIX_ARRAY_0xA: count = 10; return bytes.Advance(1); - case MsgPackType.FIX_ARRAY_0xB: count = 11; return bytes.Advance(1); - case MsgPackType.FIX_ARRAY_0xC: count = 12; return bytes.Advance(1); - case MsgPackType.FIX_ARRAY_0xD: count = 13; return bytes.Advance(1); - case MsgPackType.FIX_ARRAY_0xE: count = 14; return bytes.Advance(1); - case MsgPackType.FIX_ARRAY_0xF: count = 15; return bytes.Advance(1); - - case MsgPackType.FIX_MAP: count = 0; return bytes.Advance(1); - case MsgPackType.FIX_MAP_0x1: count = 1; return bytes.Advance(1); - case MsgPackType.FIX_MAP_0x2: count = 2; return bytes.Advance(1); - case MsgPackType.FIX_MAP_0x3: count = 3; return bytes.Advance(1); - case MsgPackType.FIX_MAP_0x4: count = 4; return bytes.Advance(1); - case MsgPackType.FIX_MAP_0x5: count = 5; return bytes.Advance(1); - case MsgPackType.FIX_MAP_0x6: count = 6; return bytes.Advance(1); - case MsgPackType.FIX_MAP_0x7: count = 7; return bytes.Advance(1); - case MsgPackType.FIX_MAP_0x8: count = 8; return bytes.Advance(1); - case MsgPackType.FIX_MAP_0x9: count = 9; return bytes.Advance(1); - case MsgPackType.FIX_MAP_0xA: count = 10; return bytes.Advance(1); - case MsgPackType.FIX_MAP_0xB: count = 11; return bytes.Advance(1); - case MsgPackType.FIX_MAP_0xC: count = 12; return bytes.Advance(1); - case MsgPackType.FIX_MAP_0xD: count = 13; return bytes.Advance(1); - case MsgPackType.FIX_MAP_0xE: count = 14; return bytes.Advance(1); - case MsgPackType.FIX_MAP_0xF: count = 15; return bytes.Advance(1); - - case MsgPackType.ARRAY16: - case MsgPackType.MAP16: - count = EndianConverter.NetworkByteWordToUnsignedNativeByteOrder(bytes.Advance(1)); - return bytes.Advance(1 + 2); - - case MsgPackType.ARRAY32: - case MsgPackType.MAP32: - count = EndianConverter.NetworkByteDWordToUnsignedNativeByteOrder(bytes.Advance(1)); - return bytes.Advance(1 + 4); - - default: - throw new ArgumentException("is not collection: " + formatType); - } - } - - /// - /// ArrayとMap以外のタイプのペイロードを得る - /// - /// - static ArraySegment GetBody(ArraySegment bytes, MsgPackType formatType) - { - switch (formatType) - { - case MsgPackType.FIX_STR: return bytes.Advance(1).Take(0); - case MsgPackType.FIX_STR_0x01: return bytes.Advance(1).Take(1); - case MsgPackType.FIX_STR_0x02: return bytes.Advance(1).Take(2); - case MsgPackType.FIX_STR_0x03: return bytes.Advance(1).Take(3); - case MsgPackType.FIX_STR_0x04: return bytes.Advance(1).Take(4); - case MsgPackType.FIX_STR_0x05: return bytes.Advance(1).Take(5); - case MsgPackType.FIX_STR_0x06: return bytes.Advance(1).Take(6); - case MsgPackType.FIX_STR_0x07: return bytes.Advance(1).Take(7); - case MsgPackType.FIX_STR_0x08: return bytes.Advance(1).Take(8); - case MsgPackType.FIX_STR_0x09: return bytes.Advance(1).Take(9); - case MsgPackType.FIX_STR_0x0A: return bytes.Advance(1).Take(10); - case MsgPackType.FIX_STR_0x0B: return bytes.Advance(1).Take(11); - case MsgPackType.FIX_STR_0x0C: return bytes.Advance(1).Take(12); - case MsgPackType.FIX_STR_0x0D: return bytes.Advance(1).Take(13); - case MsgPackType.FIX_STR_0x0E: return bytes.Advance(1).Take(14); - case MsgPackType.FIX_STR_0x0F: return bytes.Advance(1).Take(15); - - case MsgPackType.FIX_STR_0x10: return bytes.Advance(1).Take(16); - case MsgPackType.FIX_STR_0x11: return bytes.Advance(1).Take(17); - case MsgPackType.FIX_STR_0x12: return bytes.Advance(1).Take(18); - case MsgPackType.FIX_STR_0x13: return bytes.Advance(1).Take(19); - case MsgPackType.FIX_STR_0x14: return bytes.Advance(1).Take(20); - case MsgPackType.FIX_STR_0x15: return bytes.Advance(1).Take(21); - case MsgPackType.FIX_STR_0x16: return bytes.Advance(1).Take(22); - case MsgPackType.FIX_STR_0x17: return bytes.Advance(1).Take(23); - case MsgPackType.FIX_STR_0x18: return bytes.Advance(1).Take(24); - case MsgPackType.FIX_STR_0x19: return bytes.Advance(1).Take(25); - case MsgPackType.FIX_STR_0x1A: return bytes.Advance(1).Take(26); - case MsgPackType.FIX_STR_0x1B: return bytes.Advance(1).Take(27); - case MsgPackType.FIX_STR_0x1C: return bytes.Advance(1).Take(28); - case MsgPackType.FIX_STR_0x1D: return bytes.Advance(1).Take(29); - case MsgPackType.FIX_STR_0x1E: return bytes.Advance(1).Take(30); - case MsgPackType.FIX_STR_0x1F: return bytes.Advance(1).Take(31); - - case MsgPackType.STR8: - case MsgPackType.BIN8: - { - var count = bytes.Get(1); - return bytes.Advance(1 + 1).Take(count); - } - - case MsgPackType.STR16: - case MsgPackType.BIN16: - { - var count = EndianConverter.NetworkByteWordToUnsignedNativeByteOrder(bytes.Advance(1)); - return bytes.Advance(1 + 2).Take(count); - } - - case MsgPackType.STR32: - case MsgPackType.BIN32: - { - var count = EndianConverter.NetworkByteDWordToUnsignedNativeByteOrder(bytes.Advance(1)); - return bytes.Advance(1 + 4).Take((int)count); - } - - case MsgPackType.NIL: - case MsgPackType.TRUE: - case MsgPackType.FALSE: - case MsgPackType.POSITIVE_FIXNUM: - case MsgPackType.POSITIVE_FIXNUM_0x01: - case MsgPackType.POSITIVE_FIXNUM_0x02: - case MsgPackType.POSITIVE_FIXNUM_0x03: - case MsgPackType.POSITIVE_FIXNUM_0x04: - case MsgPackType.POSITIVE_FIXNUM_0x05: - case MsgPackType.POSITIVE_FIXNUM_0x06: - case MsgPackType.POSITIVE_FIXNUM_0x07: - case MsgPackType.POSITIVE_FIXNUM_0x08: - case MsgPackType.POSITIVE_FIXNUM_0x09: - case MsgPackType.POSITIVE_FIXNUM_0x0A: - case MsgPackType.POSITIVE_FIXNUM_0x0B: - case MsgPackType.POSITIVE_FIXNUM_0x0C: - case MsgPackType.POSITIVE_FIXNUM_0x0D: - case MsgPackType.POSITIVE_FIXNUM_0x0E: - case MsgPackType.POSITIVE_FIXNUM_0x0F: - - case MsgPackType.POSITIVE_FIXNUM_0x10: - case MsgPackType.POSITIVE_FIXNUM_0x11: - case MsgPackType.POSITIVE_FIXNUM_0x12: - case MsgPackType.POSITIVE_FIXNUM_0x13: - case MsgPackType.POSITIVE_FIXNUM_0x14: - case MsgPackType.POSITIVE_FIXNUM_0x15: - case MsgPackType.POSITIVE_FIXNUM_0x16: - case MsgPackType.POSITIVE_FIXNUM_0x17: - case MsgPackType.POSITIVE_FIXNUM_0x18: - case MsgPackType.POSITIVE_FIXNUM_0x19: - case MsgPackType.POSITIVE_FIXNUM_0x1A: - case MsgPackType.POSITIVE_FIXNUM_0x1B: - case MsgPackType.POSITIVE_FIXNUM_0x1C: - case MsgPackType.POSITIVE_FIXNUM_0x1D: - case MsgPackType.POSITIVE_FIXNUM_0x1E: - case MsgPackType.POSITIVE_FIXNUM_0x1F: - - case MsgPackType.POSITIVE_FIXNUM_0x20: - case MsgPackType.POSITIVE_FIXNUM_0x21: - case MsgPackType.POSITIVE_FIXNUM_0x22: - case MsgPackType.POSITIVE_FIXNUM_0x23: - case MsgPackType.POSITIVE_FIXNUM_0x24: - case MsgPackType.POSITIVE_FIXNUM_0x25: - case MsgPackType.POSITIVE_FIXNUM_0x26: - case MsgPackType.POSITIVE_FIXNUM_0x27: - case MsgPackType.POSITIVE_FIXNUM_0x28: - case MsgPackType.POSITIVE_FIXNUM_0x29: - case MsgPackType.POSITIVE_FIXNUM_0x2A: - case MsgPackType.POSITIVE_FIXNUM_0x2B: - case MsgPackType.POSITIVE_FIXNUM_0x2C: - case MsgPackType.POSITIVE_FIXNUM_0x2D: - case MsgPackType.POSITIVE_FIXNUM_0x2E: - case MsgPackType.POSITIVE_FIXNUM_0x2F: - - case MsgPackType.POSITIVE_FIXNUM_0x30: - case MsgPackType.POSITIVE_FIXNUM_0x31: - case MsgPackType.POSITIVE_FIXNUM_0x32: - case MsgPackType.POSITIVE_FIXNUM_0x33: - case MsgPackType.POSITIVE_FIXNUM_0x34: - case MsgPackType.POSITIVE_FIXNUM_0x35: - case MsgPackType.POSITIVE_FIXNUM_0x36: - case MsgPackType.POSITIVE_FIXNUM_0x37: - case MsgPackType.POSITIVE_FIXNUM_0x38: - case MsgPackType.POSITIVE_FIXNUM_0x39: - case MsgPackType.POSITIVE_FIXNUM_0x3A: - case MsgPackType.POSITIVE_FIXNUM_0x3B: - case MsgPackType.POSITIVE_FIXNUM_0x3C: - case MsgPackType.POSITIVE_FIXNUM_0x3D: - case MsgPackType.POSITIVE_FIXNUM_0x3E: - case MsgPackType.POSITIVE_FIXNUM_0x3F: - - case MsgPackType.POSITIVE_FIXNUM_0x40: - case MsgPackType.POSITIVE_FIXNUM_0x41: - case MsgPackType.POSITIVE_FIXNUM_0x42: - case MsgPackType.POSITIVE_FIXNUM_0x43: - case MsgPackType.POSITIVE_FIXNUM_0x44: - case MsgPackType.POSITIVE_FIXNUM_0x45: - case MsgPackType.POSITIVE_FIXNUM_0x46: - case MsgPackType.POSITIVE_FIXNUM_0x47: - case MsgPackType.POSITIVE_FIXNUM_0x48: - case MsgPackType.POSITIVE_FIXNUM_0x49: - case MsgPackType.POSITIVE_FIXNUM_0x4A: - case MsgPackType.POSITIVE_FIXNUM_0x4B: - case MsgPackType.POSITIVE_FIXNUM_0x4C: - case MsgPackType.POSITIVE_FIXNUM_0x4D: - case MsgPackType.POSITIVE_FIXNUM_0x4E: - case MsgPackType.POSITIVE_FIXNUM_0x4F: - - case MsgPackType.POSITIVE_FIXNUM_0x50: - case MsgPackType.POSITIVE_FIXNUM_0x51: - case MsgPackType.POSITIVE_FIXNUM_0x52: - case MsgPackType.POSITIVE_FIXNUM_0x53: - case MsgPackType.POSITIVE_FIXNUM_0x54: - case MsgPackType.POSITIVE_FIXNUM_0x55: - case MsgPackType.POSITIVE_FIXNUM_0x56: - case MsgPackType.POSITIVE_FIXNUM_0x57: - case MsgPackType.POSITIVE_FIXNUM_0x58: - case MsgPackType.POSITIVE_FIXNUM_0x59: - case MsgPackType.POSITIVE_FIXNUM_0x5A: - case MsgPackType.POSITIVE_FIXNUM_0x5B: - case MsgPackType.POSITIVE_FIXNUM_0x5C: - case MsgPackType.POSITIVE_FIXNUM_0x5D: - case MsgPackType.POSITIVE_FIXNUM_0x5E: - case MsgPackType.POSITIVE_FIXNUM_0x5F: - - case MsgPackType.POSITIVE_FIXNUM_0x60: - case MsgPackType.POSITIVE_FIXNUM_0x61: - case MsgPackType.POSITIVE_FIXNUM_0x62: - case MsgPackType.POSITIVE_FIXNUM_0x63: - case MsgPackType.POSITIVE_FIXNUM_0x64: - case MsgPackType.POSITIVE_FIXNUM_0x65: - case MsgPackType.POSITIVE_FIXNUM_0x66: - case MsgPackType.POSITIVE_FIXNUM_0x67: - case MsgPackType.POSITIVE_FIXNUM_0x68: - case MsgPackType.POSITIVE_FIXNUM_0x69: - case MsgPackType.POSITIVE_FIXNUM_0x6A: - case MsgPackType.POSITIVE_FIXNUM_0x6B: - case MsgPackType.POSITIVE_FIXNUM_0x6C: - case MsgPackType.POSITIVE_FIXNUM_0x6D: - case MsgPackType.POSITIVE_FIXNUM_0x6E: - case MsgPackType.POSITIVE_FIXNUM_0x6F: - - case MsgPackType.POSITIVE_FIXNUM_0x70: - case MsgPackType.POSITIVE_FIXNUM_0x71: - case MsgPackType.POSITIVE_FIXNUM_0x72: - case MsgPackType.POSITIVE_FIXNUM_0x73: - case MsgPackType.POSITIVE_FIXNUM_0x74: - case MsgPackType.POSITIVE_FIXNUM_0x75: - case MsgPackType.POSITIVE_FIXNUM_0x76: - case MsgPackType.POSITIVE_FIXNUM_0x77: - case MsgPackType.POSITIVE_FIXNUM_0x78: - case MsgPackType.POSITIVE_FIXNUM_0x79: - case MsgPackType.POSITIVE_FIXNUM_0x7A: - case MsgPackType.POSITIVE_FIXNUM_0x7B: - case MsgPackType.POSITIVE_FIXNUM_0x7C: - case MsgPackType.POSITIVE_FIXNUM_0x7D: - case MsgPackType.POSITIVE_FIXNUM_0x7E: - case MsgPackType.POSITIVE_FIXNUM_0x7F: - - case MsgPackType.NEGATIVE_FIXNUM: - case MsgPackType.NEGATIVE_FIXNUM_0x01: - case MsgPackType.NEGATIVE_FIXNUM_0x02: - case MsgPackType.NEGATIVE_FIXNUM_0x03: - case MsgPackType.NEGATIVE_FIXNUM_0x04: - case MsgPackType.NEGATIVE_FIXNUM_0x05: - case MsgPackType.NEGATIVE_FIXNUM_0x06: - case MsgPackType.NEGATIVE_FIXNUM_0x07: - case MsgPackType.NEGATIVE_FIXNUM_0x08: - case MsgPackType.NEGATIVE_FIXNUM_0x09: - case MsgPackType.NEGATIVE_FIXNUM_0x0A: - case MsgPackType.NEGATIVE_FIXNUM_0x0B: - case MsgPackType.NEGATIVE_FIXNUM_0x0C: - case MsgPackType.NEGATIVE_FIXNUM_0x0D: - case MsgPackType.NEGATIVE_FIXNUM_0x0E: - case MsgPackType.NEGATIVE_FIXNUM_0x0F: - case MsgPackType.NEGATIVE_FIXNUM_0x10: - case MsgPackType.NEGATIVE_FIXNUM_0x11: - case MsgPackType.NEGATIVE_FIXNUM_0x12: - case MsgPackType.NEGATIVE_FIXNUM_0x13: - case MsgPackType.NEGATIVE_FIXNUM_0x14: - case MsgPackType.NEGATIVE_FIXNUM_0x15: - case MsgPackType.NEGATIVE_FIXNUM_0x16: - case MsgPackType.NEGATIVE_FIXNUM_0x17: - case MsgPackType.NEGATIVE_FIXNUM_0x18: - case MsgPackType.NEGATIVE_FIXNUM_0x19: - case MsgPackType.NEGATIVE_FIXNUM_0x1A: - case MsgPackType.NEGATIVE_FIXNUM_0x1B: - case MsgPackType.NEGATIVE_FIXNUM_0x1C: - case MsgPackType.NEGATIVE_FIXNUM_0x1D: - case MsgPackType.NEGATIVE_FIXNUM_0x1E: - case MsgPackType.NEGATIVE_FIXNUM_0x1F: - return bytes.Advance(1).Take(0); - - case MsgPackType.UINT8: - case MsgPackType.INT8: - return bytes.Advance(1).Take(1); - - case MsgPackType.UINT16: - case MsgPackType.INT16: - return bytes.Advance(1).Take(2); - - case MsgPackType.UINT32: - case MsgPackType.INT32: - case MsgPackType.FLOAT: - return bytes.Advance(1).Take(4); - - case MsgPackType.UINT64: - case MsgPackType.INT64: - case MsgPackType.DOUBLE: - return bytes.Advance(1).Take(8); - - case MsgPackType.FIX_EXT_1: - return bytes.Advance(2).Take(1); - case MsgPackType.FIX_EXT_2: - return bytes.Advance(2).Take(2); - case MsgPackType.FIX_EXT_4: - return bytes.Advance(2).Take(4); - case MsgPackType.FIX_EXT_8: - return bytes.Advance(2).Take(8); - case MsgPackType.FIX_EXT_16: - return bytes.Advance(2).Take(16); - case MsgPackType.EXT8: - { - var count = bytes.Get(1); - return bytes.Advance(1 + 1 + 1).Take(count); - } - case MsgPackType.EXT16: - { - var count = EndianConverter.NetworkByteWordToUnsignedNativeByteOrder(bytes.Advance(1)); - return bytes.Advance(1 + 2 + 1).Take(count); - } - case MsgPackType.EXT32: - { - var count = EndianConverter.NetworkByteDWordToUnsignedNativeByteOrder(bytes.Advance(1)); - return bytes.Advance(1 + 4 + 1).Take((int)count); - } - default: - throw new ArgumentException("unknown type: " + formatType); - } - } - - static ArraySegment _Parse(ArraySegment bytes, List values, int parentIndex) - { - MsgPackType formatType = GetFormat(bytes); - if (formatType.IsArray()) - { - var index = values.Count; - var offset = bytes.Offset; - values.Add(new MsgPackValue(bytes, parentIndex)); - - uint count; - bytes = GetItemCount(bytes, formatType, out count); - for (var i = 0; i < count; ++i) - { - bytes = _Parse(bytes, values, index); - } - - values[index] = new MsgPackValue( - new ArraySegment(bytes.Array, - offset, bytes.Offset - offset), - parentIndex); - } - else if (formatType.IsMap()) - { - var index = values.Count; - var offset = bytes.Offset; - values.Add(new MsgPackValue(bytes, parentIndex)); - - uint count; - bytes = GetItemCount(bytes, formatType, out count); - for (var i = 0; i < count; ++i) - { - // key - bytes = _Parse(bytes, values, index); - - // value - bytes = _Parse(bytes, values, index); - } - - values[index] = new MsgPackValue( - new ArraySegment(bytes.Array, - offset, bytes.Offset - offset), - parentIndex); - } - else - { - var body = GetBody(bytes, formatType); - var headerSize = body.Offset - bytes.Offset; - var size = headerSize + body.Count; - values.Add(new MsgPackValue(bytes.Take(size), parentIndex)); - bytes = bytes.Advance(size); - } - return bytes; - } - - public static ListTreeNode Parse(ArraySegment bytes) - { - var values = new List(); - _Parse(bytes, values, -1); - return new ListTreeNode(values); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackParser.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackParser.cs.meta deleted file mode 100644 index ba4452e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackParser.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 96621564d26fc294291143738c163a3d -timeCreated: 1540815282 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackType.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackType.cs deleted file mode 100644 index dd71d3d..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackType.cs +++ /dev/null @@ -1,313 +0,0 @@ -namespace UniJSON -{ - public enum MsgPackType : byte - { - #region POSITIVE_FIXNUM 0x00-0x7F - POSITIVE_FIXNUM = 0x00, - POSITIVE_FIXNUM_0x01 = 0x01, - POSITIVE_FIXNUM_0x02 = 0x02, - POSITIVE_FIXNUM_0x03 = 0x03, - POSITIVE_FIXNUM_0x04 = 0x04, - POSITIVE_FIXNUM_0x05 = 0x05, - POSITIVE_FIXNUM_0x06 = 0x06, - POSITIVE_FIXNUM_0x07 = 0x07, - POSITIVE_FIXNUM_0x08 = 0x08, - POSITIVE_FIXNUM_0x09 = 0x09, - POSITIVE_FIXNUM_0x0A = 0x0A, - POSITIVE_FIXNUM_0x0B = 0x0B, - POSITIVE_FIXNUM_0x0C = 0x0C, - POSITIVE_FIXNUM_0x0D = 0x0D, - POSITIVE_FIXNUM_0x0E = 0x0E, - POSITIVE_FIXNUM_0x0F = 0x0F, - - POSITIVE_FIXNUM_0x10 = 0x10, - POSITIVE_FIXNUM_0x11 = 0x11, - POSITIVE_FIXNUM_0x12 = 0x12, - POSITIVE_FIXNUM_0x13 = 0x13, - POSITIVE_FIXNUM_0x14 = 0x14, - POSITIVE_FIXNUM_0x15 = 0x15, - POSITIVE_FIXNUM_0x16 = 0x16, - POSITIVE_FIXNUM_0x17 = 0x17, - POSITIVE_FIXNUM_0x18 = 0x18, - POSITIVE_FIXNUM_0x19 = 0x19, - POSITIVE_FIXNUM_0x1A = 0x1A, - POSITIVE_FIXNUM_0x1B = 0x1B, - POSITIVE_FIXNUM_0x1C = 0x1C, - POSITIVE_FIXNUM_0x1D = 0x1D, - POSITIVE_FIXNUM_0x1E = 0x1E, - POSITIVE_FIXNUM_0x1F = 0x1F, - - POSITIVE_FIXNUM_0x20 = 0x20, - POSITIVE_FIXNUM_0x21 = 0x21, - POSITIVE_FIXNUM_0x22 = 0x22, - POSITIVE_FIXNUM_0x23 = 0x23, - POSITIVE_FIXNUM_0x24 = 0x24, - POSITIVE_FIXNUM_0x25 = 0x25, - POSITIVE_FIXNUM_0x26 = 0x26, - POSITIVE_FIXNUM_0x27 = 0x27, - POSITIVE_FIXNUM_0x28 = 0x28, - POSITIVE_FIXNUM_0x29 = 0x29, - POSITIVE_FIXNUM_0x2A = 0x2A, - POSITIVE_FIXNUM_0x2B = 0x2B, - POSITIVE_FIXNUM_0x2C = 0x2C, - POSITIVE_FIXNUM_0x2D = 0x2D, - POSITIVE_FIXNUM_0x2E = 0x2E, - POSITIVE_FIXNUM_0x2F = 0x2F, - - POSITIVE_FIXNUM_0x30 = 0x30, - POSITIVE_FIXNUM_0x31 = 0x31, - POSITIVE_FIXNUM_0x32 = 0x32, - POSITIVE_FIXNUM_0x33 = 0x33, - POSITIVE_FIXNUM_0x34 = 0x34, - POSITIVE_FIXNUM_0x35 = 0x35, - POSITIVE_FIXNUM_0x36 = 0x36, - POSITIVE_FIXNUM_0x37 = 0x37, - POSITIVE_FIXNUM_0x38 = 0x38, - POSITIVE_FIXNUM_0x39 = 0x39, - POSITIVE_FIXNUM_0x3A = 0x3A, - POSITIVE_FIXNUM_0x3B = 0x3B, - POSITIVE_FIXNUM_0x3C = 0x3C, - POSITIVE_FIXNUM_0x3D = 0x3D, - POSITIVE_FIXNUM_0x3E = 0x3E, - POSITIVE_FIXNUM_0x3F = 0x3F, - - POSITIVE_FIXNUM_0x40 = 0x40, - POSITIVE_FIXNUM_0x41 = 0x41, - POSITIVE_FIXNUM_0x42 = 0x42, - POSITIVE_FIXNUM_0x43 = 0x43, - POSITIVE_FIXNUM_0x44 = 0x44, - POSITIVE_FIXNUM_0x45 = 0x45, - POSITIVE_FIXNUM_0x46 = 0x46, - POSITIVE_FIXNUM_0x47 = 0x47, - POSITIVE_FIXNUM_0x48 = 0x48, - POSITIVE_FIXNUM_0x49 = 0x49, - POSITIVE_FIXNUM_0x4A = 0x4A, - POSITIVE_FIXNUM_0x4B = 0x4B, - POSITIVE_FIXNUM_0x4C = 0x4C, - POSITIVE_FIXNUM_0x4D = 0x4D, - POSITIVE_FIXNUM_0x4E = 0x4E, - POSITIVE_FIXNUM_0x4F = 0x4F, - - POSITIVE_FIXNUM_0x50 = 0x50, - POSITIVE_FIXNUM_0x51 = 0x51, - POSITIVE_FIXNUM_0x52 = 0x52, - POSITIVE_FIXNUM_0x53 = 0x53, - POSITIVE_FIXNUM_0x54 = 0x54, - POSITIVE_FIXNUM_0x55 = 0x55, - POSITIVE_FIXNUM_0x56 = 0x56, - POSITIVE_FIXNUM_0x57 = 0x57, - POSITIVE_FIXNUM_0x58 = 0x58, - POSITIVE_FIXNUM_0x59 = 0x59, - POSITIVE_FIXNUM_0x5A = 0x5A, - POSITIVE_FIXNUM_0x5B = 0x5B, - POSITIVE_FIXNUM_0x5C = 0x5C, - POSITIVE_FIXNUM_0x5D = 0x5D, - POSITIVE_FIXNUM_0x5E = 0x5E, - POSITIVE_FIXNUM_0x5F = 0x5F, - - POSITIVE_FIXNUM_0x60 = 0x60, - POSITIVE_FIXNUM_0x61 = 0x61, - POSITIVE_FIXNUM_0x62 = 0x62, - POSITIVE_FIXNUM_0x63 = 0x63, - POSITIVE_FIXNUM_0x64 = 0x64, - POSITIVE_FIXNUM_0x65 = 0x65, - POSITIVE_FIXNUM_0x66 = 0x66, - POSITIVE_FIXNUM_0x67 = 0x67, - POSITIVE_FIXNUM_0x68 = 0x68, - POSITIVE_FIXNUM_0x69 = 0x69, - POSITIVE_FIXNUM_0x6A = 0x6A, - POSITIVE_FIXNUM_0x6B = 0x6B, - POSITIVE_FIXNUM_0x6C = 0x6C, - POSITIVE_FIXNUM_0x6D = 0x6D, - POSITIVE_FIXNUM_0x6E = 0x6E, - POSITIVE_FIXNUM_0x6F = 0x6F, - - POSITIVE_FIXNUM_0x70 = 0x70, - POSITIVE_FIXNUM_0x71 = 0x71, - POSITIVE_FIXNUM_0x72 = 0x72, - POSITIVE_FIXNUM_0x73 = 0x73, - POSITIVE_FIXNUM_0x74 = 0x74, - POSITIVE_FIXNUM_0x75 = 0x75, - POSITIVE_FIXNUM_0x76 = 0x76, - POSITIVE_FIXNUM_0x77 = 0x77, - POSITIVE_FIXNUM_0x78 = 0x78, - POSITIVE_FIXNUM_0x79 = 0x79, - POSITIVE_FIXNUM_0x7A = 0x7A, - POSITIVE_FIXNUM_0x7B = 0x7B, - POSITIVE_FIXNUM_0x7C = 0x7C, - POSITIVE_FIXNUM_0x7D = 0x7D, - POSITIVE_FIXNUM_0x7E = 0x7E, - POSITIVE_FIXNUM_0x7F = 0x7F, - #endregion - - #region FIX_MAP 0x80-0x8F - FIX_MAP = 0x80, - FIX_MAP_0x1 = 0x81, - FIX_MAP_0x2 = 0x82, - FIX_MAP_0x3 = 0x83, - FIX_MAP_0x4 = 0x84, - FIX_MAP_0x5 = 0x85, - FIX_MAP_0x6 = 0x86, - FIX_MAP_0x7 = 0x87, - FIX_MAP_0x8 = 0x88, - FIX_MAP_0x9 = 0x89, - FIX_MAP_0xA = 0x8A, - FIX_MAP_0xB = 0x8B, - FIX_MAP_0xC = 0x8C, - FIX_MAP_0xD = 0x8D, - FIX_MAP_0xE = 0x8E, - FIX_MAP_0xF = 0x8F, - #endregion - - #region FIX_ARRAY 0x90-0x9F - FIX_ARRAY = 0x90, - FIX_ARRAY_0x1 = 0x91, - FIX_ARRAY_0x2 = 0x92, - FIX_ARRAY_0x3 = 0x93, - FIX_ARRAY_0x4 = 0x94, - FIX_ARRAY_0x5 = 0x95, - FIX_ARRAY_0x6 = 0x96, - FIX_ARRAY_0x7 = 0x97, - FIX_ARRAY_0x8 = 0x98, - FIX_ARRAY_0x9 = 0x99, - FIX_ARRAY_0xA = 0x9A, - FIX_ARRAY_0xB = 0x9B, - FIX_ARRAY_0xC = 0x9C, - FIX_ARRAY_0xD = 0x9D, - FIX_ARRAY_0xE = 0x9E, - FIX_ARRAY_0xF = 0x9F, - #endregion - - #region FIX_STR 0xA0-0xBF - FIX_STR = 0xA0, - FIX_STR_0x01 = 0xA1, - FIX_STR_0x02 = 0xA2, - FIX_STR_0x03 = 0xA3, - FIX_STR_0x04 = 0xA4, - FIX_STR_0x05 = 0xA5, - FIX_STR_0x06 = 0xA6, - FIX_STR_0x07 = 0xA7, - FIX_STR_0x08 = 0xA8, - FIX_STR_0x09 = 0xA9, - FIX_STR_0x0A = 0xAA, - FIX_STR_0x0B = 0xAB, - FIX_STR_0x0C = 0xAC, - FIX_STR_0x0D = 0xAD, - FIX_STR_0x0E = 0xAE, - FIX_STR_0x0F = 0xAF, - FIX_STR_0x10 = 0xB0, - FIX_STR_0x11 = 0xB1, - FIX_STR_0x12 = 0xB2, - FIX_STR_0x13 = 0xB3, - FIX_STR_0x14 = 0xB4, - FIX_STR_0x15 = 0xB5, - FIX_STR_0x16 = 0xB6, - FIX_STR_0x17 = 0xB7, - FIX_STR_0x18 = 0xB8, - FIX_STR_0x19 = 0xB9, - FIX_STR_0x1A = 0xBA, - FIX_STR_0x1B = 0xBB, - FIX_STR_0x1C = 0xBC, - FIX_STR_0x1D = 0xBD, - FIX_STR_0x1E = 0xBE, - FIX_STR_0x1F = 0xBF, - #endregion - - NIL = 0xC0, - NEVER_USED = 0xC1, - FALSE = 0xC2, - TRUE = 0xC3, - - BIN8 = 0xC4, - BIN16 = 0xC5, - BIN32 = 0xC6, - - EXT8 = 0xC7, - EXT16 = 0xC8, - EXT32 = 0xC9, - - FLOAT = 0xCA, - DOUBLE = 0xCB, - UINT8 = 0xCC, - UINT16 = 0xCD, - UINT32 = 0xCE, - UINT64 = 0xCF, - INT8 = 0xD0, - INT16 = 0xD1, - INT32 = 0xD2, - INT64 = 0xD3, - - FIX_EXT_1 = 0xD4, - FIX_EXT_2 = 0xD5, - FIX_EXT_4 = 0xD6, - FIX_EXT_8 = 0xD7, - FIX_EXT_16 = 0xD8, - - STR8 = 0xD9, - STR16 = 0xDA, - STR32 = 0xDB, - - ARRAY16 = 0xDC, - ARRAY32 = 0xDD, - MAP16 = 0xDE, - MAP32 = 0xDF, - - #region NEGATIVE_FIXNUM 0xE0-0xFF - NEGATIVE_FIXNUM = 0xE0, // 1110 0000 = -32 - NEGATIVE_FIXNUM_0x1F = 0xE1, // -31 - NEGATIVE_FIXNUM_0x1E = 0xE2, - NEGATIVE_FIXNUM_0x1D = 0xE3, - NEGATIVE_FIXNUM_0x1C = 0xE4, - NEGATIVE_FIXNUM_0x1B = 0xE5, - NEGATIVE_FIXNUM_0x1A = 0xE6, - NEGATIVE_FIXNUM_0x19 = 0xE7, - NEGATIVE_FIXNUM_0x18 = 0xE8, - NEGATIVE_FIXNUM_0x17 = 0xE9, - NEGATIVE_FIXNUM_0x16 = 0xEA, - NEGATIVE_FIXNUM_0x15 = 0xEB, - NEGATIVE_FIXNUM_0x14 = 0xEC, - NEGATIVE_FIXNUM_0x13 = 0xED, - NEGATIVE_FIXNUM_0x12 = 0xEE, - NEGATIVE_FIXNUM_0x11 = 0xEF, - NEGATIVE_FIXNUM_0x10 = 0xF0, - NEGATIVE_FIXNUM_0x0F = 0xF1, - NEGATIVE_FIXNUM_0x0E = 0xF2, - NEGATIVE_FIXNUM_0x0D = 0xF3, - NEGATIVE_FIXNUM_0x0C = 0xF4, - NEGATIVE_FIXNUM_0x0B = 0xF5, - NEGATIVE_FIXNUM_0x0A = 0xF6, - NEGATIVE_FIXNUM_0x09 = 0xF7, - NEGATIVE_FIXNUM_0x08 = 0xF8, - NEGATIVE_FIXNUM_0x07 = 0xF9, - NEGATIVE_FIXNUM_0x06 = 0xFA, - NEGATIVE_FIXNUM_0x05 = 0xFB, - NEGATIVE_FIXNUM_0x04 = 0xFC, - NEGATIVE_FIXNUM_0x03 = 0xFD, - NEGATIVE_FIXNUM_0x02 = 0xFE, - NEGATIVE_FIXNUM_0x01 = 0xFF, // -1 - #endregion - } - - public enum ExtType : byte - { - UNKNOWN = 0x00, - - UINT16_BE = 0x01, - UINT32_BE = 0x02, - UINT64_BE = 0x03, - INT16_BE = 0x04, - INT32_BE = 0x05, - INT64_BE = 0x06, - SINGLE_BE = 0x07, - DOUBLE_BE = 0x08, - - UINT16_LE = 0x09, - UINT32_LE = 0x0A, - UINT64_LE = 0x0B, - INT16_LE = 0x0C, - INT32_LE = 0x0D, - INT64_LE = 0x0E, - SINGLE_LE = 0x0F, - DOUBLE_LE = 0x10, - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackType.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackType.cs.meta deleted file mode 100644 index 702f717..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackType.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 4c6d91a562e590e438f0baa988389d61 -timeCreated: 1540814648 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackTypeExtensions.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackTypeExtensions.cs deleted file mode 100644 index a81026a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackTypeExtensions.cs +++ /dev/null @@ -1,341 +0,0 @@ -namespace UniJSON -{ - public static class MsgPackTypeExtensions - { - public static bool IsArray(this MsgPackType formatType) - { - switch (formatType) - { - case MsgPackType.FIX_ARRAY: - case MsgPackType.FIX_ARRAY_0x1: - case MsgPackType.FIX_ARRAY_0x2: - case MsgPackType.FIX_ARRAY_0x3: - case MsgPackType.FIX_ARRAY_0x4: - case MsgPackType.FIX_ARRAY_0x5: - case MsgPackType.FIX_ARRAY_0x6: - case MsgPackType.FIX_ARRAY_0x7: - case MsgPackType.FIX_ARRAY_0x8: - case MsgPackType.FIX_ARRAY_0x9: - case MsgPackType.FIX_ARRAY_0xA: - case MsgPackType.FIX_ARRAY_0xB: - case MsgPackType.FIX_ARRAY_0xC: - case MsgPackType.FIX_ARRAY_0xD: - case MsgPackType.FIX_ARRAY_0xE: - case MsgPackType.FIX_ARRAY_0xF: - case MsgPackType.ARRAY16: - case MsgPackType.ARRAY32: - return true; - - default: - return false; - } - } - - public static bool IsMap(this MsgPackType formatType) - { - switch (formatType) - { - case MsgPackType.FIX_MAP: - case MsgPackType.FIX_MAP_0x1: - case MsgPackType.FIX_MAP_0x2: - case MsgPackType.FIX_MAP_0x3: - case MsgPackType.FIX_MAP_0x4: - case MsgPackType.FIX_MAP_0x5: - case MsgPackType.FIX_MAP_0x6: - case MsgPackType.FIX_MAP_0x7: - case MsgPackType.FIX_MAP_0x8: - case MsgPackType.FIX_MAP_0x9: - case MsgPackType.FIX_MAP_0xA: - case MsgPackType.FIX_MAP_0xB: - case MsgPackType.FIX_MAP_0xC: - case MsgPackType.FIX_MAP_0xD: - case MsgPackType.FIX_MAP_0xE: - case MsgPackType.FIX_MAP_0xF: - case MsgPackType.MAP16: - case MsgPackType.MAP32: - return true; - - default: - return false; - } - } - - public static bool IsInteger(this MsgPackType formatType) - { - switch (formatType) - { - case MsgPackType.POSITIVE_FIXNUM: - case MsgPackType.POSITIVE_FIXNUM_0x01: - case MsgPackType.POSITIVE_FIXNUM_0x02: - case MsgPackType.POSITIVE_FIXNUM_0x03: - case MsgPackType.POSITIVE_FIXNUM_0x04: - case MsgPackType.POSITIVE_FIXNUM_0x05: - case MsgPackType.POSITIVE_FIXNUM_0x06: - case MsgPackType.POSITIVE_FIXNUM_0x07: - case MsgPackType.POSITIVE_FIXNUM_0x08: - case MsgPackType.POSITIVE_FIXNUM_0x09: - case MsgPackType.POSITIVE_FIXNUM_0x0A: - case MsgPackType.POSITIVE_FIXNUM_0x0B: - case MsgPackType.POSITIVE_FIXNUM_0x0C: - case MsgPackType.POSITIVE_FIXNUM_0x0D: - case MsgPackType.POSITIVE_FIXNUM_0x0E: - case MsgPackType.POSITIVE_FIXNUM_0x0F: - - case MsgPackType.POSITIVE_FIXNUM_0x10: - case MsgPackType.POSITIVE_FIXNUM_0x11: - case MsgPackType.POSITIVE_FIXNUM_0x12: - case MsgPackType.POSITIVE_FIXNUM_0x13: - case MsgPackType.POSITIVE_FIXNUM_0x14: - case MsgPackType.POSITIVE_FIXNUM_0x15: - case MsgPackType.POSITIVE_FIXNUM_0x16: - case MsgPackType.POSITIVE_FIXNUM_0x17: - case MsgPackType.POSITIVE_FIXNUM_0x18: - case MsgPackType.POSITIVE_FIXNUM_0x19: - case MsgPackType.POSITIVE_FIXNUM_0x1A: - case MsgPackType.POSITIVE_FIXNUM_0x1B: - case MsgPackType.POSITIVE_FIXNUM_0x1C: - case MsgPackType.POSITIVE_FIXNUM_0x1D: - case MsgPackType.POSITIVE_FIXNUM_0x1E: - case MsgPackType.POSITIVE_FIXNUM_0x1F: - - case MsgPackType.POSITIVE_FIXNUM_0x20: - case MsgPackType.POSITIVE_FIXNUM_0x21: - case MsgPackType.POSITIVE_FIXNUM_0x22: - case MsgPackType.POSITIVE_FIXNUM_0x23: - case MsgPackType.POSITIVE_FIXNUM_0x24: - case MsgPackType.POSITIVE_FIXNUM_0x25: - case MsgPackType.POSITIVE_FIXNUM_0x26: - case MsgPackType.POSITIVE_FIXNUM_0x27: - case MsgPackType.POSITIVE_FIXNUM_0x28: - case MsgPackType.POSITIVE_FIXNUM_0x29: - case MsgPackType.POSITIVE_FIXNUM_0x2A: - case MsgPackType.POSITIVE_FIXNUM_0x2B: - case MsgPackType.POSITIVE_FIXNUM_0x2C: - case MsgPackType.POSITIVE_FIXNUM_0x2D: - case MsgPackType.POSITIVE_FIXNUM_0x2E: - case MsgPackType.POSITIVE_FIXNUM_0x2F: - - case MsgPackType.POSITIVE_FIXNUM_0x30: - case MsgPackType.POSITIVE_FIXNUM_0x31: - case MsgPackType.POSITIVE_FIXNUM_0x32: - case MsgPackType.POSITIVE_FIXNUM_0x33: - case MsgPackType.POSITIVE_FIXNUM_0x34: - case MsgPackType.POSITIVE_FIXNUM_0x35: - case MsgPackType.POSITIVE_FIXNUM_0x36: - case MsgPackType.POSITIVE_FIXNUM_0x37: - case MsgPackType.POSITIVE_FIXNUM_0x38: - case MsgPackType.POSITIVE_FIXNUM_0x39: - case MsgPackType.POSITIVE_FIXNUM_0x3A: - case MsgPackType.POSITIVE_FIXNUM_0x3B: - case MsgPackType.POSITIVE_FIXNUM_0x3C: - case MsgPackType.POSITIVE_FIXNUM_0x3D: - case MsgPackType.POSITIVE_FIXNUM_0x3E: - case MsgPackType.POSITIVE_FIXNUM_0x3F: - - case MsgPackType.POSITIVE_FIXNUM_0x40: - case MsgPackType.POSITIVE_FIXNUM_0x41: - case MsgPackType.POSITIVE_FIXNUM_0x42: - case MsgPackType.POSITIVE_FIXNUM_0x43: - case MsgPackType.POSITIVE_FIXNUM_0x44: - case MsgPackType.POSITIVE_FIXNUM_0x45: - case MsgPackType.POSITIVE_FIXNUM_0x46: - case MsgPackType.POSITIVE_FIXNUM_0x47: - case MsgPackType.POSITIVE_FIXNUM_0x48: - case MsgPackType.POSITIVE_FIXNUM_0x49: - case MsgPackType.POSITIVE_FIXNUM_0x4A: - case MsgPackType.POSITIVE_FIXNUM_0x4B: - case MsgPackType.POSITIVE_FIXNUM_0x4C: - case MsgPackType.POSITIVE_FIXNUM_0x4D: - case MsgPackType.POSITIVE_FIXNUM_0x4E: - case MsgPackType.POSITIVE_FIXNUM_0x4F: - - case MsgPackType.POSITIVE_FIXNUM_0x50: - case MsgPackType.POSITIVE_FIXNUM_0x51: - case MsgPackType.POSITIVE_FIXNUM_0x52: - case MsgPackType.POSITIVE_FIXNUM_0x53: - case MsgPackType.POSITIVE_FIXNUM_0x54: - case MsgPackType.POSITIVE_FIXNUM_0x55: - case MsgPackType.POSITIVE_FIXNUM_0x56: - case MsgPackType.POSITIVE_FIXNUM_0x57: - case MsgPackType.POSITIVE_FIXNUM_0x58: - case MsgPackType.POSITIVE_FIXNUM_0x59: - case MsgPackType.POSITIVE_FIXNUM_0x5A: - case MsgPackType.POSITIVE_FIXNUM_0x5B: - case MsgPackType.POSITIVE_FIXNUM_0x5C: - case MsgPackType.POSITIVE_FIXNUM_0x5D: - case MsgPackType.POSITIVE_FIXNUM_0x5E: - case MsgPackType.POSITIVE_FIXNUM_0x5F: - - case MsgPackType.POSITIVE_FIXNUM_0x60: - case MsgPackType.POSITIVE_FIXNUM_0x61: - case MsgPackType.POSITIVE_FIXNUM_0x62: - case MsgPackType.POSITIVE_FIXNUM_0x63: - case MsgPackType.POSITIVE_FIXNUM_0x64: - case MsgPackType.POSITIVE_FIXNUM_0x65: - case MsgPackType.POSITIVE_FIXNUM_0x66: - case MsgPackType.POSITIVE_FIXNUM_0x67: - case MsgPackType.POSITIVE_FIXNUM_0x68: - case MsgPackType.POSITIVE_FIXNUM_0x69: - case MsgPackType.POSITIVE_FIXNUM_0x6A: - case MsgPackType.POSITIVE_FIXNUM_0x6B: - case MsgPackType.POSITIVE_FIXNUM_0x6C: - case MsgPackType.POSITIVE_FIXNUM_0x6D: - case MsgPackType.POSITIVE_FIXNUM_0x6E: - case MsgPackType.POSITIVE_FIXNUM_0x6F: - - case MsgPackType.POSITIVE_FIXNUM_0x70: - case MsgPackType.POSITIVE_FIXNUM_0x71: - case MsgPackType.POSITIVE_FIXNUM_0x72: - case MsgPackType.POSITIVE_FIXNUM_0x73: - case MsgPackType.POSITIVE_FIXNUM_0x74: - case MsgPackType.POSITIVE_FIXNUM_0x75: - case MsgPackType.POSITIVE_FIXNUM_0x76: - case MsgPackType.POSITIVE_FIXNUM_0x77: - case MsgPackType.POSITIVE_FIXNUM_0x78: - case MsgPackType.POSITIVE_FIXNUM_0x79: - case MsgPackType.POSITIVE_FIXNUM_0x7A: - case MsgPackType.POSITIVE_FIXNUM_0x7B: - case MsgPackType.POSITIVE_FIXNUM_0x7C: - case MsgPackType.POSITIVE_FIXNUM_0x7D: - case MsgPackType.POSITIVE_FIXNUM_0x7E: - case MsgPackType.POSITIVE_FIXNUM_0x7F: - - case MsgPackType.NEGATIVE_FIXNUM: - case MsgPackType.NEGATIVE_FIXNUM_0x01: - case MsgPackType.NEGATIVE_FIXNUM_0x02: - case MsgPackType.NEGATIVE_FIXNUM_0x03: - case MsgPackType.NEGATIVE_FIXNUM_0x04: - case MsgPackType.NEGATIVE_FIXNUM_0x05: - case MsgPackType.NEGATIVE_FIXNUM_0x06: - case MsgPackType.NEGATIVE_FIXNUM_0x07: - case MsgPackType.NEGATIVE_FIXNUM_0x08: - case MsgPackType.NEGATIVE_FIXNUM_0x09: - case MsgPackType.NEGATIVE_FIXNUM_0x0A: - case MsgPackType.NEGATIVE_FIXNUM_0x0B: - case MsgPackType.NEGATIVE_FIXNUM_0x0C: - case MsgPackType.NEGATIVE_FIXNUM_0x0D: - case MsgPackType.NEGATIVE_FIXNUM_0x0E: - case MsgPackType.NEGATIVE_FIXNUM_0x0F: - case MsgPackType.NEGATIVE_FIXNUM_0x10: - case MsgPackType.NEGATIVE_FIXNUM_0x11: - case MsgPackType.NEGATIVE_FIXNUM_0x12: - case MsgPackType.NEGATIVE_FIXNUM_0x13: - case MsgPackType.NEGATIVE_FIXNUM_0x14: - case MsgPackType.NEGATIVE_FIXNUM_0x15: - case MsgPackType.NEGATIVE_FIXNUM_0x16: - case MsgPackType.NEGATIVE_FIXNUM_0x17: - case MsgPackType.NEGATIVE_FIXNUM_0x18: - case MsgPackType.NEGATIVE_FIXNUM_0x19: - case MsgPackType.NEGATIVE_FIXNUM_0x1A: - case MsgPackType.NEGATIVE_FIXNUM_0x1B: - case MsgPackType.NEGATIVE_FIXNUM_0x1C: - case MsgPackType.NEGATIVE_FIXNUM_0x1D: - case MsgPackType.NEGATIVE_FIXNUM_0x1E: - case MsgPackType.NEGATIVE_FIXNUM_0x1F: - - case MsgPackType.INT8: - case MsgPackType.INT16: - case MsgPackType.INT32: - case MsgPackType.INT64: - case MsgPackType.UINT8: - case MsgPackType.UINT16: - case MsgPackType.UINT32: - case MsgPackType.UINT64: - return true; - - default: - return false; - } - } - - public static bool IsFloat(this MsgPackType formatType) - { - switch (formatType) - { - case MsgPackType.FLOAT: - case MsgPackType.DOUBLE: - return true; - - default: - return false; - } - } - - public static bool IsString(this MsgPackType formatType) - { - switch (formatType) - { - case MsgPackType.FIX_STR: - case MsgPackType.FIX_STR_0x01: - case MsgPackType.FIX_STR_0x02: - case MsgPackType.FIX_STR_0x03: - case MsgPackType.FIX_STR_0x04: - case MsgPackType.FIX_STR_0x05: - case MsgPackType.FIX_STR_0x06: - case MsgPackType.FIX_STR_0x07: - case MsgPackType.FIX_STR_0x08: - case MsgPackType.FIX_STR_0x09: - case MsgPackType.FIX_STR_0x0A: - case MsgPackType.FIX_STR_0x0B: - case MsgPackType.FIX_STR_0x0C: - case MsgPackType.FIX_STR_0x0D: - case MsgPackType.FIX_STR_0x0E: - case MsgPackType.FIX_STR_0x0F: - case MsgPackType.FIX_STR_0x10: - case MsgPackType.FIX_STR_0x11: - case MsgPackType.FIX_STR_0x12: - case MsgPackType.FIX_STR_0x13: - case MsgPackType.FIX_STR_0x14: - case MsgPackType.FIX_STR_0x15: - case MsgPackType.FIX_STR_0x16: - case MsgPackType.FIX_STR_0x17: - case MsgPackType.FIX_STR_0x18: - case MsgPackType.FIX_STR_0x19: - case MsgPackType.FIX_STR_0x1A: - case MsgPackType.FIX_STR_0x1B: - case MsgPackType.FIX_STR_0x1C: - case MsgPackType.FIX_STR_0x1D: - case MsgPackType.FIX_STR_0x1E: - case MsgPackType.FIX_STR_0x1F: - case MsgPackType.STR8: - case MsgPackType.STR16: - case MsgPackType.STR32: - return true; - } - return false; - } - - public static bool IsExt(this MsgPackType formatType) - { - switch (formatType) - { - case MsgPackType.FIX_EXT_1: - case MsgPackType.FIX_EXT_2: - case MsgPackType.FIX_EXT_4: - case MsgPackType.FIX_EXT_8: - case MsgPackType.FIX_EXT_16: - case MsgPackType.EXT8: - case MsgPackType.EXT16: - case MsgPackType.EXT32: - return true; - - default: - return false; - } - } - - public static bool IsBinary(this MsgPackType formatType) - { - switch (formatType) - { - case MsgPackType.BIN8: - case MsgPackType.BIN16: - case MsgPackType.BIN32: - return true; - - default: - return false; - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackTypeExtensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackTypeExtensions.cs.meta deleted file mode 100644 index 4c4ef42..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackTypeExtensions.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 6e803181a063cd940b8272f45497b506 -timeCreated: 1540898737 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackValue.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackValue.cs deleted file mode 100644 index b33c2bd..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackValue.cs +++ /dev/null @@ -1,753 +0,0 @@ -using System; -using System.Text; - -namespace UniJSON -{ - public struct MsgPackValue: IListTreeItem, IValue - { - public int ParentIndex - { - get; - private set; - } - - public ArraySegment Bytes - { - get; - private set; - } - - public MsgPackType Format - { - get - { - return (MsgPackType)Bytes.Get(0); - } - } - - public ValueNodeType ValueType - { - get - { - switch (Format) - { - case MsgPackType.NIL: - return ValueNodeType.Null; - - case MsgPackType.TRUE: - case MsgPackType.FALSE: - return ValueNodeType.Boolean; - - default: - if (Format.IsArray()) - { - return ValueNodeType.Array; - } - else if (Format.IsMap()) - { - return ValueNodeType.Object; - } - else if (Format.IsInteger()) - { - return ValueNodeType.Integer; - } - else if (Format.IsFloat()) - { - return ValueNodeType.Number; - } - else if (Format.IsString()) - { - return ValueNodeType.String; - } - else if (Format.IsBinary()) - { - return ValueNodeType.Binary; - } - else - { - throw new NotImplementedException(); - } - } - } - } - - public MsgPackValue(ArraySegment segment, int parentIndex) : this() - { - Bytes = segment; - ParentIndex = parentIndex; - } - - public MsgPackValue New(ArraySegment bytes, ValueNodeType valueType, int parentIndex) - { - throw new NotImplementedException(); - } - - public MsgPackValue Key(Utf8String key, int parentIndex) - { - throw new NotImplementedException(); - } - - /// - /// ArrayとMap以外のタイプのペイロードを得る - /// - /// - public ArraySegment GetBody() - { - var bytes = Bytes; - var formatType = Format; - switch (formatType) - { - case MsgPackType.FIX_STR: return bytes.Advance(1).Take(0); - case MsgPackType.FIX_STR_0x01: return bytes.Advance(1).Take(1); - case MsgPackType.FIX_STR_0x02: return bytes.Advance(1).Take(2); - case MsgPackType.FIX_STR_0x03: return bytes.Advance(1).Take(3); - case MsgPackType.FIX_STR_0x04: return bytes.Advance(1).Take(4); - case MsgPackType.FIX_STR_0x05: return bytes.Advance(1).Take(5); - case MsgPackType.FIX_STR_0x06: return bytes.Advance(1).Take(6); - case MsgPackType.FIX_STR_0x07: return bytes.Advance(1).Take(7); - case MsgPackType.FIX_STR_0x08: return bytes.Advance(1).Take(8); - case MsgPackType.FIX_STR_0x09: return bytes.Advance(1).Take(9); - case MsgPackType.FIX_STR_0x0A: return bytes.Advance(1).Take(10); - case MsgPackType.FIX_STR_0x0B: return bytes.Advance(1).Take(11); - case MsgPackType.FIX_STR_0x0C: return bytes.Advance(1).Take(12); - case MsgPackType.FIX_STR_0x0D: return bytes.Advance(1).Take(13); - case MsgPackType.FIX_STR_0x0E: return bytes.Advance(1).Take(14); - case MsgPackType.FIX_STR_0x0F: return bytes.Advance(1).Take(15); - - case MsgPackType.FIX_STR_0x10: return bytes.Advance(1).Take(16); - case MsgPackType.FIX_STR_0x11: return bytes.Advance(1).Take(17); - case MsgPackType.FIX_STR_0x12: return bytes.Advance(1).Take(18); - case MsgPackType.FIX_STR_0x13: return bytes.Advance(1).Take(19); - case MsgPackType.FIX_STR_0x14: return bytes.Advance(1).Take(20); - case MsgPackType.FIX_STR_0x15: return bytes.Advance(1).Take(21); - case MsgPackType.FIX_STR_0x16: return bytes.Advance(1).Take(22); - case MsgPackType.FIX_STR_0x17: return bytes.Advance(1).Take(23); - case MsgPackType.FIX_STR_0x18: return bytes.Advance(1).Take(24); - case MsgPackType.FIX_STR_0x19: return bytes.Advance(1).Take(25); - case MsgPackType.FIX_STR_0x1A: return bytes.Advance(1).Take(26); - case MsgPackType.FIX_STR_0x1B: return bytes.Advance(1).Take(27); - case MsgPackType.FIX_STR_0x1C: return bytes.Advance(1).Take(28); - case MsgPackType.FIX_STR_0x1D: return bytes.Advance(1).Take(29); - case MsgPackType.FIX_STR_0x1E: return bytes.Advance(1).Take(30); - case MsgPackType.FIX_STR_0x1F: return bytes.Advance(1).Take(31); - - case MsgPackType.STR8: - case MsgPackType.BIN8: - { - var count = bytes.Get(1); - return bytes.Advance(1 + 1).Take(count); - } - - case MsgPackType.STR16: - case MsgPackType.BIN16: - { - var count = EndianConverter.NetworkByteWordToUnsignedNativeByteOrder(bytes.Advance(1)); - return bytes.Advance(1 + 2).Take(count); - } - - case MsgPackType.STR32: - case MsgPackType.BIN32: - { - var count = EndianConverter.NetworkByteDWordToUnsignedNativeByteOrder(bytes.Advance(1)); - return bytes.Advance(1 + 4).Take((int)count); - } - - case MsgPackType.NIL: - case MsgPackType.TRUE: - case MsgPackType.FALSE: - case MsgPackType.POSITIVE_FIXNUM: - case MsgPackType.POSITIVE_FIXNUM_0x01: - case MsgPackType.POSITIVE_FIXNUM_0x02: - case MsgPackType.POSITIVE_FIXNUM_0x03: - case MsgPackType.POSITIVE_FIXNUM_0x04: - case MsgPackType.POSITIVE_FIXNUM_0x05: - case MsgPackType.POSITIVE_FIXNUM_0x06: - case MsgPackType.POSITIVE_FIXNUM_0x07: - case MsgPackType.POSITIVE_FIXNUM_0x08: - case MsgPackType.POSITIVE_FIXNUM_0x09: - case MsgPackType.POSITIVE_FIXNUM_0x0A: - case MsgPackType.POSITIVE_FIXNUM_0x0B: - case MsgPackType.POSITIVE_FIXNUM_0x0C: - case MsgPackType.POSITIVE_FIXNUM_0x0D: - case MsgPackType.POSITIVE_FIXNUM_0x0E: - case MsgPackType.POSITIVE_FIXNUM_0x0F: - - case MsgPackType.POSITIVE_FIXNUM_0x10: - case MsgPackType.POSITIVE_FIXNUM_0x11: - case MsgPackType.POSITIVE_FIXNUM_0x12: - case MsgPackType.POSITIVE_FIXNUM_0x13: - case MsgPackType.POSITIVE_FIXNUM_0x14: - case MsgPackType.POSITIVE_FIXNUM_0x15: - case MsgPackType.POSITIVE_FIXNUM_0x16: - case MsgPackType.POSITIVE_FIXNUM_0x17: - case MsgPackType.POSITIVE_FIXNUM_0x18: - case MsgPackType.POSITIVE_FIXNUM_0x19: - case MsgPackType.POSITIVE_FIXNUM_0x1A: - case MsgPackType.POSITIVE_FIXNUM_0x1B: - case MsgPackType.POSITIVE_FIXNUM_0x1C: - case MsgPackType.POSITIVE_FIXNUM_0x1D: - case MsgPackType.POSITIVE_FIXNUM_0x1E: - case MsgPackType.POSITIVE_FIXNUM_0x1F: - - case MsgPackType.POSITIVE_FIXNUM_0x20: - case MsgPackType.POSITIVE_FIXNUM_0x21: - case MsgPackType.POSITIVE_FIXNUM_0x22: - case MsgPackType.POSITIVE_FIXNUM_0x23: - case MsgPackType.POSITIVE_FIXNUM_0x24: - case MsgPackType.POSITIVE_FIXNUM_0x25: - case MsgPackType.POSITIVE_FIXNUM_0x26: - case MsgPackType.POSITIVE_FIXNUM_0x27: - case MsgPackType.POSITIVE_FIXNUM_0x28: - case MsgPackType.POSITIVE_FIXNUM_0x29: - case MsgPackType.POSITIVE_FIXNUM_0x2A: - case MsgPackType.POSITIVE_FIXNUM_0x2B: - case MsgPackType.POSITIVE_FIXNUM_0x2C: - case MsgPackType.POSITIVE_FIXNUM_0x2D: - case MsgPackType.POSITIVE_FIXNUM_0x2E: - case MsgPackType.POSITIVE_FIXNUM_0x2F: - - case MsgPackType.POSITIVE_FIXNUM_0x30: - case MsgPackType.POSITIVE_FIXNUM_0x31: - case MsgPackType.POSITIVE_FIXNUM_0x32: - case MsgPackType.POSITIVE_FIXNUM_0x33: - case MsgPackType.POSITIVE_FIXNUM_0x34: - case MsgPackType.POSITIVE_FIXNUM_0x35: - case MsgPackType.POSITIVE_FIXNUM_0x36: - case MsgPackType.POSITIVE_FIXNUM_0x37: - case MsgPackType.POSITIVE_FIXNUM_0x38: - case MsgPackType.POSITIVE_FIXNUM_0x39: - case MsgPackType.POSITIVE_FIXNUM_0x3A: - case MsgPackType.POSITIVE_FIXNUM_0x3B: - case MsgPackType.POSITIVE_FIXNUM_0x3C: - case MsgPackType.POSITIVE_FIXNUM_0x3D: - case MsgPackType.POSITIVE_FIXNUM_0x3E: - case MsgPackType.POSITIVE_FIXNUM_0x3F: - - case MsgPackType.POSITIVE_FIXNUM_0x40: - case MsgPackType.POSITIVE_FIXNUM_0x41: - case MsgPackType.POSITIVE_FIXNUM_0x42: - case MsgPackType.POSITIVE_FIXNUM_0x43: - case MsgPackType.POSITIVE_FIXNUM_0x44: - case MsgPackType.POSITIVE_FIXNUM_0x45: - case MsgPackType.POSITIVE_FIXNUM_0x46: - case MsgPackType.POSITIVE_FIXNUM_0x47: - case MsgPackType.POSITIVE_FIXNUM_0x48: - case MsgPackType.POSITIVE_FIXNUM_0x49: - case MsgPackType.POSITIVE_FIXNUM_0x4A: - case MsgPackType.POSITIVE_FIXNUM_0x4B: - case MsgPackType.POSITIVE_FIXNUM_0x4C: - case MsgPackType.POSITIVE_FIXNUM_0x4D: - case MsgPackType.POSITIVE_FIXNUM_0x4E: - case MsgPackType.POSITIVE_FIXNUM_0x4F: - - case MsgPackType.POSITIVE_FIXNUM_0x50: - case MsgPackType.POSITIVE_FIXNUM_0x51: - case MsgPackType.POSITIVE_FIXNUM_0x52: - case MsgPackType.POSITIVE_FIXNUM_0x53: - case MsgPackType.POSITIVE_FIXNUM_0x54: - case MsgPackType.POSITIVE_FIXNUM_0x55: - case MsgPackType.POSITIVE_FIXNUM_0x56: - case MsgPackType.POSITIVE_FIXNUM_0x57: - case MsgPackType.POSITIVE_FIXNUM_0x58: - case MsgPackType.POSITIVE_FIXNUM_0x59: - case MsgPackType.POSITIVE_FIXNUM_0x5A: - case MsgPackType.POSITIVE_FIXNUM_0x5B: - case MsgPackType.POSITIVE_FIXNUM_0x5C: - case MsgPackType.POSITIVE_FIXNUM_0x5D: - case MsgPackType.POSITIVE_FIXNUM_0x5E: - case MsgPackType.POSITIVE_FIXNUM_0x5F: - - case MsgPackType.POSITIVE_FIXNUM_0x60: - case MsgPackType.POSITIVE_FIXNUM_0x61: - case MsgPackType.POSITIVE_FIXNUM_0x62: - case MsgPackType.POSITIVE_FIXNUM_0x63: - case MsgPackType.POSITIVE_FIXNUM_0x64: - case MsgPackType.POSITIVE_FIXNUM_0x65: - case MsgPackType.POSITIVE_FIXNUM_0x66: - case MsgPackType.POSITIVE_FIXNUM_0x67: - case MsgPackType.POSITIVE_FIXNUM_0x68: - case MsgPackType.POSITIVE_FIXNUM_0x69: - case MsgPackType.POSITIVE_FIXNUM_0x6A: - case MsgPackType.POSITIVE_FIXNUM_0x6B: - case MsgPackType.POSITIVE_FIXNUM_0x6C: - case MsgPackType.POSITIVE_FIXNUM_0x6D: - case MsgPackType.POSITIVE_FIXNUM_0x6E: - case MsgPackType.POSITIVE_FIXNUM_0x6F: - - case MsgPackType.POSITIVE_FIXNUM_0x70: - case MsgPackType.POSITIVE_FIXNUM_0x71: - case MsgPackType.POSITIVE_FIXNUM_0x72: - case MsgPackType.POSITIVE_FIXNUM_0x73: - case MsgPackType.POSITIVE_FIXNUM_0x74: - case MsgPackType.POSITIVE_FIXNUM_0x75: - case MsgPackType.POSITIVE_FIXNUM_0x76: - case MsgPackType.POSITIVE_FIXNUM_0x77: - case MsgPackType.POSITIVE_FIXNUM_0x78: - case MsgPackType.POSITIVE_FIXNUM_0x79: - case MsgPackType.POSITIVE_FIXNUM_0x7A: - case MsgPackType.POSITIVE_FIXNUM_0x7B: - case MsgPackType.POSITIVE_FIXNUM_0x7C: - case MsgPackType.POSITIVE_FIXNUM_0x7D: - case MsgPackType.POSITIVE_FIXNUM_0x7E: - case MsgPackType.POSITIVE_FIXNUM_0x7F: - - case MsgPackType.NEGATIVE_FIXNUM: - case MsgPackType.NEGATIVE_FIXNUM_0x01: - case MsgPackType.NEGATIVE_FIXNUM_0x02: - case MsgPackType.NEGATIVE_FIXNUM_0x03: - case MsgPackType.NEGATIVE_FIXNUM_0x04: - case MsgPackType.NEGATIVE_FIXNUM_0x05: - case MsgPackType.NEGATIVE_FIXNUM_0x06: - case MsgPackType.NEGATIVE_FIXNUM_0x07: - case MsgPackType.NEGATIVE_FIXNUM_0x08: - case MsgPackType.NEGATIVE_FIXNUM_0x09: - case MsgPackType.NEGATIVE_FIXNUM_0x0A: - case MsgPackType.NEGATIVE_FIXNUM_0x0B: - case MsgPackType.NEGATIVE_FIXNUM_0x0C: - case MsgPackType.NEGATIVE_FIXNUM_0x0D: - case MsgPackType.NEGATIVE_FIXNUM_0x0E: - case MsgPackType.NEGATIVE_FIXNUM_0x0F: - case MsgPackType.NEGATIVE_FIXNUM_0x10: - case MsgPackType.NEGATIVE_FIXNUM_0x11: - case MsgPackType.NEGATIVE_FIXNUM_0x12: - case MsgPackType.NEGATIVE_FIXNUM_0x13: - case MsgPackType.NEGATIVE_FIXNUM_0x14: - case MsgPackType.NEGATIVE_FIXNUM_0x15: - case MsgPackType.NEGATIVE_FIXNUM_0x16: - case MsgPackType.NEGATIVE_FIXNUM_0x17: - case MsgPackType.NEGATIVE_FIXNUM_0x18: - case MsgPackType.NEGATIVE_FIXNUM_0x19: - case MsgPackType.NEGATIVE_FIXNUM_0x1A: - case MsgPackType.NEGATIVE_FIXNUM_0x1B: - case MsgPackType.NEGATIVE_FIXNUM_0x1C: - case MsgPackType.NEGATIVE_FIXNUM_0x1D: - case MsgPackType.NEGATIVE_FIXNUM_0x1E: - case MsgPackType.NEGATIVE_FIXNUM_0x1F: - return bytes.Advance(1).Take(0); - - case MsgPackType.UINT8: - case MsgPackType.INT8: - return bytes.Advance(1).Take(1); - - case MsgPackType.UINT16: - case MsgPackType.INT16: - return bytes.Advance(1).Take(2); - - case MsgPackType.UINT32: - case MsgPackType.INT32: - case MsgPackType.FLOAT: - return bytes.Advance(1).Take(4); - - case MsgPackType.UINT64: - case MsgPackType.INT64: - case MsgPackType.DOUBLE: - return bytes.Advance(1).Take(8); - - case MsgPackType.FIX_EXT_1: - return bytes.Advance(2).Take(1); - case MsgPackType.FIX_EXT_2: - return bytes.Advance(2).Take(2); - case MsgPackType.FIX_EXT_4: - return bytes.Advance(2).Take(4); - case MsgPackType.FIX_EXT_8: - return bytes.Advance(2).Take(8); - case MsgPackType.FIX_EXT_16: - return bytes.Advance(2).Take(16); - case MsgPackType.EXT8: - { - var count = bytes.Get(1); - return bytes.Advance(1 + 1 + 1).Take(count); - } - case MsgPackType.EXT16: - { - var count = EndianConverter.NetworkByteWordToUnsignedNativeByteOrder(bytes.Advance(1)); - return bytes.Advance(1 + 2 + 1).Take(count); - } - case MsgPackType.EXT32: - { - var count = EndianConverter.NetworkByteDWordToUnsignedNativeByteOrder(bytes.Advance(1)); - return bytes.Advance(1 + 4 + 1).Take((int)count); - } - default: - throw new ArgumentException("unknown type: " + formatType); - } - } - - public SByte GetExtType() - { - var formatType = Format; - switch (formatType) - { - case MsgPackType.FIX_EXT_4: - return (SByte)Bytes.Get(1); - } - - throw new NotImplementedException(); - } - - /// - /// ArrayとMap以外のタイプの値を得る - /// - /// - public T GetValue() - { - var formatType = Format; - switch (formatType) - { - case MsgPackType.NIL: return GenericCast.Null(); - case MsgPackType.TRUE: return GenericCast.Const(true)(); - case MsgPackType.FALSE: return GenericCast.Const(false)(); - case MsgPackType.POSITIVE_FIXNUM: return GenericCast.Const(0)(); - case MsgPackType.POSITIVE_FIXNUM_0x01: return GenericCast.Const(1)(); - case MsgPackType.POSITIVE_FIXNUM_0x02: return GenericCast.Const(2)(); - case MsgPackType.POSITIVE_FIXNUM_0x03: return GenericCast.Const(3)(); - case MsgPackType.POSITIVE_FIXNUM_0x04: return GenericCast.Const(4)(); - case MsgPackType.POSITIVE_FIXNUM_0x05: return GenericCast.Const(5)(); - case MsgPackType.POSITIVE_FIXNUM_0x06: return GenericCast.Const(6)(); - case MsgPackType.POSITIVE_FIXNUM_0x07: return GenericCast.Const(7)(); - case MsgPackType.POSITIVE_FIXNUM_0x08: return GenericCast.Const(8)(); - case MsgPackType.POSITIVE_FIXNUM_0x09: return GenericCast.Const(9)(); - case MsgPackType.POSITIVE_FIXNUM_0x0A: return GenericCast.Const(10)(); - case MsgPackType.POSITIVE_FIXNUM_0x0B: return GenericCast.Const(11)(); - case MsgPackType.POSITIVE_FIXNUM_0x0C: return GenericCast.Const(12)(); - case MsgPackType.POSITIVE_FIXNUM_0x0D: return GenericCast.Const(13)(); - case MsgPackType.POSITIVE_FIXNUM_0x0E: return GenericCast.Const(14)(); - case MsgPackType.POSITIVE_FIXNUM_0x0F: return GenericCast.Const(15)(); - - case MsgPackType.POSITIVE_FIXNUM_0x10: return GenericCast.Const(16)(); - case MsgPackType.POSITIVE_FIXNUM_0x11: return GenericCast.Const(17)(); - case MsgPackType.POSITIVE_FIXNUM_0x12: return GenericCast.Const(18)(); - case MsgPackType.POSITIVE_FIXNUM_0x13: return GenericCast.Const(19)(); - case MsgPackType.POSITIVE_FIXNUM_0x14: return GenericCast.Const(20)(); - case MsgPackType.POSITIVE_FIXNUM_0x15: return GenericCast.Const(21)(); - case MsgPackType.POSITIVE_FIXNUM_0x16: return GenericCast.Const(22)(); - case MsgPackType.POSITIVE_FIXNUM_0x17: return GenericCast.Const(23)(); - case MsgPackType.POSITIVE_FIXNUM_0x18: return GenericCast.Const(24)(); - case MsgPackType.POSITIVE_FIXNUM_0x19: return GenericCast.Const(25)(); - case MsgPackType.POSITIVE_FIXNUM_0x1A: return GenericCast.Const(26)(); - case MsgPackType.POSITIVE_FIXNUM_0x1B: return GenericCast.Const(27)(); - case MsgPackType.POSITIVE_FIXNUM_0x1C: return GenericCast.Const(28)(); - case MsgPackType.POSITIVE_FIXNUM_0x1D: return GenericCast.Const(29)(); - case MsgPackType.POSITIVE_FIXNUM_0x1E: return GenericCast.Const(30)(); - case MsgPackType.POSITIVE_FIXNUM_0x1F: return GenericCast.Const(31)(); - - case MsgPackType.POSITIVE_FIXNUM_0x20: return GenericCast.Const(32)(); - case MsgPackType.POSITIVE_FIXNUM_0x21: return GenericCast.Const(33)(); - case MsgPackType.POSITIVE_FIXNUM_0x22: return GenericCast.Const(34)(); - case MsgPackType.POSITIVE_FIXNUM_0x23: return GenericCast.Const(35)(); - case MsgPackType.POSITIVE_FIXNUM_0x24: return GenericCast.Const(36)(); - case MsgPackType.POSITIVE_FIXNUM_0x25: return GenericCast.Const(37)(); - case MsgPackType.POSITIVE_FIXNUM_0x26: return GenericCast.Const(38)(); - case MsgPackType.POSITIVE_FIXNUM_0x27: return GenericCast.Const(39)(); - case MsgPackType.POSITIVE_FIXNUM_0x28: return GenericCast.Const(40)(); - case MsgPackType.POSITIVE_FIXNUM_0x29: return GenericCast.Const(41)(); - case MsgPackType.POSITIVE_FIXNUM_0x2A: return GenericCast.Const(42)(); - case MsgPackType.POSITIVE_FIXNUM_0x2B: return GenericCast.Const(43)(); - case MsgPackType.POSITIVE_FIXNUM_0x2C: return GenericCast.Const(44)(); - case MsgPackType.POSITIVE_FIXNUM_0x2D: return GenericCast.Const(45)(); - case MsgPackType.POSITIVE_FIXNUM_0x2E: return GenericCast.Const(46)(); - case MsgPackType.POSITIVE_FIXNUM_0x2F: return GenericCast.Const(47)(); - - case MsgPackType.POSITIVE_FIXNUM_0x30: return GenericCast.Const(48)(); - case MsgPackType.POSITIVE_FIXNUM_0x31: return GenericCast.Const(49)(); - case MsgPackType.POSITIVE_FIXNUM_0x32: return GenericCast.Const(50)(); - case MsgPackType.POSITIVE_FIXNUM_0x33: return GenericCast.Const(51)(); - case MsgPackType.POSITIVE_FIXNUM_0x34: return GenericCast.Const(52)(); - case MsgPackType.POSITIVE_FIXNUM_0x35: return GenericCast.Const(53)(); - case MsgPackType.POSITIVE_FIXNUM_0x36: return GenericCast.Const(54)(); - case MsgPackType.POSITIVE_FIXNUM_0x37: return GenericCast.Const(55)(); - case MsgPackType.POSITIVE_FIXNUM_0x38: return GenericCast.Const(56)(); - case MsgPackType.POSITIVE_FIXNUM_0x39: return GenericCast.Const(57)(); - case MsgPackType.POSITIVE_FIXNUM_0x3A: return GenericCast.Const(58)(); - case MsgPackType.POSITIVE_FIXNUM_0x3B: return GenericCast.Const(59)(); - case MsgPackType.POSITIVE_FIXNUM_0x3C: return GenericCast.Const(60)(); - case MsgPackType.POSITIVE_FIXNUM_0x3D: return GenericCast.Const(61)(); - case MsgPackType.POSITIVE_FIXNUM_0x3E: return GenericCast.Const(62)(); - case MsgPackType.POSITIVE_FIXNUM_0x3F: return GenericCast.Const(63)(); - - case MsgPackType.POSITIVE_FIXNUM_0x40: return GenericCast.Const(64)(); - case MsgPackType.POSITIVE_FIXNUM_0x41: return GenericCast.Const(65)(); - case MsgPackType.POSITIVE_FIXNUM_0x42: return GenericCast.Const(66)(); - case MsgPackType.POSITIVE_FIXNUM_0x43: return GenericCast.Const(67)(); - case MsgPackType.POSITIVE_FIXNUM_0x44: return GenericCast.Const(68)(); - case MsgPackType.POSITIVE_FIXNUM_0x45: return GenericCast.Const(69)(); - case MsgPackType.POSITIVE_FIXNUM_0x46: return GenericCast.Const(70)(); - case MsgPackType.POSITIVE_FIXNUM_0x47: return GenericCast.Const(71)(); - case MsgPackType.POSITIVE_FIXNUM_0x48: return GenericCast.Const(72)(); - case MsgPackType.POSITIVE_FIXNUM_0x49: return GenericCast.Const(73)(); - case MsgPackType.POSITIVE_FIXNUM_0x4A: return GenericCast.Const(74)(); - case MsgPackType.POSITIVE_FIXNUM_0x4B: return GenericCast.Const(75)(); - case MsgPackType.POSITIVE_FIXNUM_0x4C: return GenericCast.Const(76)(); - case MsgPackType.POSITIVE_FIXNUM_0x4D: return GenericCast.Const(77)(); - case MsgPackType.POSITIVE_FIXNUM_0x4E: return GenericCast.Const(78)(); - case MsgPackType.POSITIVE_FIXNUM_0x4F: return GenericCast.Const(79)(); - - case MsgPackType.POSITIVE_FIXNUM_0x50: return GenericCast.Const(80)(); - case MsgPackType.POSITIVE_FIXNUM_0x51: return GenericCast.Const(81)(); - case MsgPackType.POSITIVE_FIXNUM_0x52: return GenericCast.Const(82)(); - case MsgPackType.POSITIVE_FIXNUM_0x53: return GenericCast.Const(83)(); - case MsgPackType.POSITIVE_FIXNUM_0x54: return GenericCast.Const(84)(); - case MsgPackType.POSITIVE_FIXNUM_0x55: return GenericCast.Const(85)(); - case MsgPackType.POSITIVE_FIXNUM_0x56: return GenericCast.Const(86)(); - case MsgPackType.POSITIVE_FIXNUM_0x57: return GenericCast.Const(87)(); - case MsgPackType.POSITIVE_FIXNUM_0x58: return GenericCast.Const(88)(); - case MsgPackType.POSITIVE_FIXNUM_0x59: return GenericCast.Const(89)(); - case MsgPackType.POSITIVE_FIXNUM_0x5A: return GenericCast.Const(90)(); - case MsgPackType.POSITIVE_FIXNUM_0x5B: return GenericCast.Const(91)(); - case MsgPackType.POSITIVE_FIXNUM_0x5C: return GenericCast.Const(92)(); - case MsgPackType.POSITIVE_FIXNUM_0x5D: return GenericCast.Const(93)(); - case MsgPackType.POSITIVE_FIXNUM_0x5E: return GenericCast.Const(94)(); - case MsgPackType.POSITIVE_FIXNUM_0x5F: return GenericCast.Const(95)(); - - case MsgPackType.POSITIVE_FIXNUM_0x60: return GenericCast.Const(96)(); - case MsgPackType.POSITIVE_FIXNUM_0x61: return GenericCast.Const(97)(); - case MsgPackType.POSITIVE_FIXNUM_0x62: return GenericCast.Const(98)(); - case MsgPackType.POSITIVE_FIXNUM_0x63: return GenericCast.Const(99)(); - case MsgPackType.POSITIVE_FIXNUM_0x64: return GenericCast.Const(100)(); - case MsgPackType.POSITIVE_FIXNUM_0x65: return GenericCast.Const(101)(); - case MsgPackType.POSITIVE_FIXNUM_0x66: return GenericCast.Const(102)(); - case MsgPackType.POSITIVE_FIXNUM_0x67: return GenericCast.Const(103)(); - case MsgPackType.POSITIVE_FIXNUM_0x68: return GenericCast.Const(104)(); - case MsgPackType.POSITIVE_FIXNUM_0x69: return GenericCast.Const(105)(); - case MsgPackType.POSITIVE_FIXNUM_0x6A: return GenericCast.Const(106)(); - case MsgPackType.POSITIVE_FIXNUM_0x6B: return GenericCast.Const(107)(); - case MsgPackType.POSITIVE_FIXNUM_0x6C: return GenericCast.Const(108)(); - case MsgPackType.POSITIVE_FIXNUM_0x6D: return GenericCast.Const(109)(); - case MsgPackType.POSITIVE_FIXNUM_0x6E: return GenericCast.Const(110)(); - case MsgPackType.POSITIVE_FIXNUM_0x6F: return GenericCast.Const(111)(); - - case MsgPackType.POSITIVE_FIXNUM_0x70: return GenericCast.Const(112)(); - case MsgPackType.POSITIVE_FIXNUM_0x71: return GenericCast.Const(113)(); - case MsgPackType.POSITIVE_FIXNUM_0x72: return GenericCast.Const(114)(); - case MsgPackType.POSITIVE_FIXNUM_0x73: return GenericCast.Const(115)(); - case MsgPackType.POSITIVE_FIXNUM_0x74: return GenericCast.Const(116)(); - case MsgPackType.POSITIVE_FIXNUM_0x75: return GenericCast.Const(117)(); - case MsgPackType.POSITIVE_FIXNUM_0x76: return GenericCast.Const(118)(); - case MsgPackType.POSITIVE_FIXNUM_0x77: return GenericCast.Const(119)(); - case MsgPackType.POSITIVE_FIXNUM_0x78: return GenericCast.Const(120)(); - case MsgPackType.POSITIVE_FIXNUM_0x79: return GenericCast.Const(121)(); - case MsgPackType.POSITIVE_FIXNUM_0x7A: return GenericCast.Const(122)(); - case MsgPackType.POSITIVE_FIXNUM_0x7B: return GenericCast.Const(123)(); - case MsgPackType.POSITIVE_FIXNUM_0x7C: return GenericCast.Const(124)(); - case MsgPackType.POSITIVE_FIXNUM_0x7D: return GenericCast.Const(125)(); - case MsgPackType.POSITIVE_FIXNUM_0x7E: return GenericCast.Const(126)(); - case MsgPackType.POSITIVE_FIXNUM_0x7F: return GenericCast.Const(127)(); - - case MsgPackType.NEGATIVE_FIXNUM: return GenericCast.Const(-32)(); - case MsgPackType.NEGATIVE_FIXNUM_0x01: return GenericCast.Const(-1)(); - case MsgPackType.NEGATIVE_FIXNUM_0x02: return GenericCast.Const(-2)(); - case MsgPackType.NEGATIVE_FIXNUM_0x03: return GenericCast.Const(-3)(); - case MsgPackType.NEGATIVE_FIXNUM_0x04: return GenericCast.Const(-4)(); - case MsgPackType.NEGATIVE_FIXNUM_0x05: return GenericCast.Const(-5)(); - case MsgPackType.NEGATIVE_FIXNUM_0x06: return GenericCast.Const(-6)(); - case MsgPackType.NEGATIVE_FIXNUM_0x07: return GenericCast.Const(-7)(); - case MsgPackType.NEGATIVE_FIXNUM_0x08: return GenericCast.Const(-8)(); - case MsgPackType.NEGATIVE_FIXNUM_0x09: return GenericCast.Const(-9)(); - case MsgPackType.NEGATIVE_FIXNUM_0x0A: return GenericCast.Const(-10)(); - case MsgPackType.NEGATIVE_FIXNUM_0x0B: return GenericCast.Const(-11)(); - case MsgPackType.NEGATIVE_FIXNUM_0x0C: return GenericCast.Const(-12)(); - case MsgPackType.NEGATIVE_FIXNUM_0x0D: return GenericCast.Const(-13)(); - case MsgPackType.NEGATIVE_FIXNUM_0x0E: return GenericCast.Const(-14)(); - case MsgPackType.NEGATIVE_FIXNUM_0x0F: return GenericCast.Const(-15)(); - case MsgPackType.NEGATIVE_FIXNUM_0x10: return GenericCast.Const(-16)(); - case MsgPackType.NEGATIVE_FIXNUM_0x11: return GenericCast.Const(-17)(); - case MsgPackType.NEGATIVE_FIXNUM_0x12: return GenericCast.Const(-18)(); - case MsgPackType.NEGATIVE_FIXNUM_0x13: return GenericCast.Const(-19)(); - case MsgPackType.NEGATIVE_FIXNUM_0x14: return GenericCast.Const(-20)(); - case MsgPackType.NEGATIVE_FIXNUM_0x15: return GenericCast.Const(-21)(); - case MsgPackType.NEGATIVE_FIXNUM_0x16: return GenericCast.Const(-22)(); - case MsgPackType.NEGATIVE_FIXNUM_0x17: return GenericCast.Const(-23)(); - case MsgPackType.NEGATIVE_FIXNUM_0x18: return GenericCast.Const(-24)(); - case MsgPackType.NEGATIVE_FIXNUM_0x19: return GenericCast.Const(-25)(); - case MsgPackType.NEGATIVE_FIXNUM_0x1A: return GenericCast.Const(-26)(); - case MsgPackType.NEGATIVE_FIXNUM_0x1B: return GenericCast.Const(-27)(); - case MsgPackType.NEGATIVE_FIXNUM_0x1C: return GenericCast.Const(-28)(); - case MsgPackType.NEGATIVE_FIXNUM_0x1D: return GenericCast.Const(-29)(); - case MsgPackType.NEGATIVE_FIXNUM_0x1E: return GenericCast.Const(-30)(); - case MsgPackType.NEGATIVE_FIXNUM_0x1F: return GenericCast.Const(-31)(); - - case MsgPackType.INT8: return GenericCast.Cast((SByte)GetBody().Get(0)); - case MsgPackType.INT16: return GenericCast.Cast(EndianConverter.NetworkByteWordToSignedNativeByteOrder(GetBody())); - case MsgPackType.INT32: return GenericCast.Cast(EndianConverter.NetworkByteDWordToSignedNativeByteOrder(GetBody())); - case MsgPackType.INT64: return GenericCast.Cast(EndianConverter.NetworkByteQWordToSignedNativeByteOrder(GetBody())); - case MsgPackType.UINT8: return GenericCast.Cast(GetBody().Get(0)); - case MsgPackType.UINT16: return GenericCast.Cast(EndianConverter.NetworkByteWordToUnsignedNativeByteOrder(GetBody())); - case MsgPackType.UINT32: return GenericCast.Cast(EndianConverter.NetworkByteDWordToUnsignedNativeByteOrder(GetBody())); - case MsgPackType.UINT64: return GenericCast.Cast(EndianConverter.NetworkByteQWordToUnsignedNativeByteOrder(GetBody())); - case MsgPackType.FLOAT: return GenericCast.Cast(EndianConverter.NetworkByteDWordToFloatNativeByteOrder(GetBody())); - case MsgPackType.DOUBLE: return GenericCast.Cast(EndianConverter.NetworkByteQWordToFloatNativeByteOrder(GetBody())); - - case MsgPackType.FIX_STR: return GenericCast.Const("")(); - case MsgPackType.FIX_STR_0x01: - case MsgPackType.FIX_STR_0x02: - case MsgPackType.FIX_STR_0x03: - case MsgPackType.FIX_STR_0x04: - case MsgPackType.FIX_STR_0x05: - case MsgPackType.FIX_STR_0x06: - case MsgPackType.FIX_STR_0x07: - case MsgPackType.FIX_STR_0x08: - case MsgPackType.FIX_STR_0x09: - case MsgPackType.FIX_STR_0x0A: - case MsgPackType.FIX_STR_0x0B: - case MsgPackType.FIX_STR_0x0C: - case MsgPackType.FIX_STR_0x0D: - case MsgPackType.FIX_STR_0x0E: - case MsgPackType.FIX_STR_0x0F: - case MsgPackType.FIX_STR_0x10: - case MsgPackType.FIX_STR_0x11: - case MsgPackType.FIX_STR_0x12: - case MsgPackType.FIX_STR_0x13: - case MsgPackType.FIX_STR_0x14: - case MsgPackType.FIX_STR_0x15: - case MsgPackType.FIX_STR_0x16: - case MsgPackType.FIX_STR_0x17: - case MsgPackType.FIX_STR_0x18: - case MsgPackType.FIX_STR_0x19: - case MsgPackType.FIX_STR_0x1A: - case MsgPackType.FIX_STR_0x1B: - case MsgPackType.FIX_STR_0x1C: - case MsgPackType.FIX_STR_0x1D: - case MsgPackType.FIX_STR_0x1E: - case MsgPackType.FIX_STR_0x1F: - case MsgPackType.STR8: - case MsgPackType.STR16: - case MsgPackType.STR32: - { - var body = GetBody(); - var str = Encoding.UTF8.GetString(body.Array, body.Offset, body.Count); - return GenericCast.Cast(str); - } - - case MsgPackType.BIN8: - case MsgPackType.BIN16: - case MsgPackType.BIN32: - { - var body = GetBody(); - return GenericCast, T>.Cast(body); - } - - case MsgPackType.FIX_EXT_4: - { - if (GetExtType() == -1) - { - var unixtime = EndianConverter.NetworkByteDWordToUnsignedNativeByteOrder(GetBody()); - var dt = new DateTimeOffset(unixtime * DateTimeOffsetExtensions.TicksPerSecond + DateTimeOffsetExtensions.EpochTime.Ticks, TimeSpan.Zero); - return GenericCast.Cast(dt); - } - break; - } - } - - throw new ArgumentException("GetValue to array or map: " + formatType); - } - - public bool GetBoolean() - { - switch (Format) - { - case MsgPackType.TRUE: return true; - case MsgPackType.FALSE: return false; - default: throw new MsgPackTypeException("Not boolean"); - } - } - - public ArraySegment GetBytes() - { - if (!Format.IsBinary()) - { - throw new MsgPackTypeException("Not bin"); - } - return GetBody(); - } - - public string GetString() - { - if (!Format.IsString()) - { - throw new MsgPackTypeException("Not str"); - } - var bytes = GetBody(); - return Encoding.UTF8.GetString(bytes.Array, bytes.Offset, bytes.Count); - } - - public Utf8String GetUtf8String() - { - if (!Format.IsString()) - { - throw new MsgPackTypeException("Not str"); - } - var bytes = GetBody(); - return new Utf8String(bytes); - } - - public SByte GetSByte() - { - return GetValue(); - } - - public Int16 GetInt16() - { - return GetValue(); - } - - public Int32 GetInt32() - { - return GetValue(); - } - - public Int64 GetInt64() - { - return GetValue(); - } - - public Byte GetByte() - { - return GetValue(); - } - - public UInt16 GetUInt16() - { - return GetValue(); - } - - public UInt32 GetUInt32() - { - return GetValue(); - } - - public UInt64 GetUInt64() - { - return GetValue(); - } - - public float GetSingle() - { - return GetValue(); - } - - public double GetDouble() - { - return GetValue(); - } - - public void SetValue(Utf8String jsonPointer, T value) - { - throw new NotImplementedException(); - } - - public void RemoveValue(Utf8String jsonPointer) - { - throw new NotImplementedException(); - } - - public void AddKey(Utf8String key) - { - throw new NotImplementedException(); - } - - public void AddValue(ArraySegment bytes, ValueNodeType valueType) - { - throw new NotImplementedException(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackValue.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackValue.cs.meta deleted file mode 100644 index e67e534..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/MsgPack/MsgPackValue.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: e201eb676758d5d419ae0629fda171ac -timeCreated: 1540904080 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Rpc.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Rpc.meta deleted file mode 100644 index a8c10f8..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Rpc.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: aae5a2855032a824c8a634edadfcb194 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Rpc/IRpc.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Rpc/IRpc.cs deleted file mode 100644 index ee35dab..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Rpc/IRpc.cs +++ /dev/null @@ -1,84 +0,0 @@ -namespace UniJSON -{ - public interface IRpc - { - void Request(Utf8String method); - void Request(Utf8String method, A0 a0); - void Request(Utf8String method, A0 a0, A1 a1); - void Request(Utf8String method, A0 a0, A1 a1, A2 a2); - void Request(Utf8String method, A0 a0, A1 a1, A2 a2, A3 a3); - void Request(Utf8String method, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4); - void Request(Utf8String method, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5); - void ResponseSuccess(int id); - void ResponseSuccess(int id, T result); - void ResponseError(int id, System.Exception error); - void Notify(Utf8String method); - void Notify(Utf8String method, A0 a0); - void Notify(Utf8String method, A0 a0, A1 a1); - void Notify(Utf8String method, A0 a0, A1 a1, A2 a2); - void Notify(Utf8String method, A0 a0, A1 a1, A2 a2, A3 a3); - void Notify(Utf8String method, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4); - void Notify(Utf8String method, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5); - } - - public static class RpcExtensions - { - public static void Request(this IRpc rpc, string method) - { - rpc.Request(Utf8String.From(method)); - } - public static void Request(this IRpc rpc, string method, A0 a0) - { - rpc.Request(Utf8String.From(method), a0); - } - public static void Request(this IRpc rpc, string method, A0 a0, A1 a1) - { - rpc.Request(Utf8String.From(method), a0, a1); - } - public static void Request(this IRpc rpc, string method, A0 a0, A1 a1, A2 a2) - { - rpc.Request(Utf8String.From(method), a0, a1, a2); - } - public static void Request(this IRpc rpc, string method, A0 a0, A1 a1, A2 a2, A3 a3) - { - rpc.Request(Utf8String.From(method), a0, a1, a2, a3); - } - public static void Request(this IRpc rpc, string method, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) - { - rpc.Request(Utf8String.From(method), a0, a1, a2, a3, a4); - } - public static void Request(this IRpc rpc, string method, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) - { - rpc.Request(Utf8String.From(method), a0, a1, a2, a3, a4, a5); - } - - public static void Notify(this IRpc rpc, string method) - { - rpc.Notify(Utf8String.From(method)); - } - public static void Notify(this IRpc rpc, string method, A0 a0) - { - rpc.Notify(Utf8String.From(method), a0); - } - public static void Notify(this IRpc rpc, string method, A0 a0, A1 a1) - { - rpc.Notify(Utf8String.From(method), a0, a1); - } - public static void Notify(this IRpc rpc, string method, A0 a0, A1 a1, A2 a2) - { - rpc.Notify(Utf8String.From(method), a0, a1, a2); - } - public static void Notify(this IRpc rpc, string method, A0 a0, A1 a1, A2 a2, A3 a3) - { - rpc.Notify(Utf8String.From(method), a0, a1, a2, a3); - } - public static void Notify(this IRpc rpc, string method, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) - { - rpc.Notify(Utf8String.From(method), a0, a1, a2, a3, a4); - } - public static void Notify(this IRpc rpc, string method, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) - { - rpc.Notify(Utf8String.From(method), a0, a1, a2, a3, a4, a5); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Rpc/IRpc.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Rpc/IRpc.cs.meta deleted file mode 100644 index dd1d74b..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Rpc/IRpc.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 565cc7f9a76689a45b352370db24f90f -timeCreated: 1543734576 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Rpc/RpcDispatcher.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Rpc/RpcDispatcher.cs deleted file mode 100644 index bdf9a39..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Rpc/RpcDispatcher.cs +++ /dev/null @@ -1,80 +0,0 @@ -using System; -using System.Collections.Generic; - - -namespace UniJSON -{ - public class RpcDispatcher - where T : IListTreeItem, IValue - { - delegate void Callback(int id, ListTreeNode args, IRpc f); - Dictionary m_map = new Dictionary(); - - #region Action - public void Register(string method, Action action) - { - m_map.Add(method, (id, args, f) => - { - var it = args.ArrayItems().GetEnumerator(); - - var a0 = default(A0); - it.MoveNext(); - it.Current.Deserialize(ref a0); - - try - { - action(a0); - f.ResponseSuccess(id); - } - catch(Exception ex) - { - f.ResponseError(id, ex); - } - }); - } - - public void Register(string method, Action action) - { - throw new NotImplementedException(); - } - #endregion - - #region Func - public void Register(string method, Func action) - { - m_map.Add(method, (id, args, f) => - { - var it = args.ArrayItems().GetEnumerator(); - - var a0 = default(A0); - it.MoveNext(); - it.Current.Deserialize(ref a0); - - var a1 = default(A1); - it.MoveNext(); - it.Current.Deserialize(ref a1); - - try - { - var r = action(a0, a1); - f.ResponseSuccess(id, r); - } - catch(Exception ex) - { - f.ResponseError(id, ex); - } - }); - } - #endregion - - public void Call(IRpc f, int id, string method, ListTreeNode args) - { - Callback callback; - if (!m_map.TryGetValue(method, out callback)) - { - throw new KeyNotFoundException(); - } - callback(id, args, f); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Rpc/RpcDispatcher.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Rpc/RpcDispatcher.cs.meta deleted file mode 100644 index 912d717..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Rpc/RpcDispatcher.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 648f9a3ef9c1a6f41b11198b1f499d5c -timeCreated: 1543549119 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Toml.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Toml.meta deleted file mode 100644 index f82dacc..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Toml.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f17cab7c18a36be49aba294ffbbb5436 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Toml/TomlParser.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Toml/TomlParser.cs deleted file mode 100644 index ec4dd6f..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Toml/TomlParser.cs +++ /dev/null @@ -1,185 +0,0 @@ -using System; -using System.Collections.Generic; - - -namespace UniJSON -{ - public static class TomlParser - { - static TomlValue ParseLHS(Utf8String segment, int parentIndex) - { - var it = segment.GetIterator(); - while (it.MoveNext()) - { - if (it.Current == '"') - { - throw new NotImplementedException(); - } - else if (it.Current == '.') - { - throw new NotImplementedException(); - } - else if (it.Current == ' ' || it.Current == '\t' || it.Current == '=') - { - return new TomlValue(segment.Subbytes(0, it.BytePosition), - TomlValueType.BareKey, parentIndex); - } - } - - throw new NotImplementedException(); - } - - static TomlValue ParseRHS(Utf8String segment, int parentIndex) - { - switch ((char)segment[0]) - { - case '+': - case '-': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - if (segment.IsInt) - { - return new TomlValue(segment.SplitInteger(), TomlValueType.Integer, parentIndex); - } - else - { - return new TomlValue(segment, TomlValueType.Float, parentIndex); - } - - case '"': - { - int pos; - if (segment.TrySearchAscii((Byte)'"', 1, out pos)) - { - return new TomlValue(segment.Subbytes(0, pos + 1), TomlValueType.BasicString, parentIndex); - } - else - { - throw new ParserException("no close string: " + segment); - } - } - - case '[': - { - throw new NotImplementedException(); - } - } - - throw new NotImplementedException(); - } - - public static ListTreeNode Parse(Utf8String segment) - { - var values = new List() - { - new TomlValue(segment, TomlValueType.Table, -1), - }; - var current = 0; - - while (!segment.IsEmpty) - { - segment = segment.TrimStart(); - if (segment.IsEmpty) - { - break; - } - - if (segment[0] == '#') - { - // comment line - // skip to line end - segment = segment.Subbytes(segment.GetLine().ByteLength); - continue; - } - - if (segment.ByteLength>=4 && segment[0]=='[' && segment[1]=='[') - { - // [[array_name]] - throw new NotImplementedException(); - } - else if (segment.ByteLength>=2 && segment[0]=='[') - { - // [table_name] - int table_end; - if (!segment.TrySearchByte(x => x == ']', out table_end)) - { - throw new ParserException("] not found"); - } - var table_name = segment.Subbytes(1, table_end-1).Trim(); - if (table_name.IsEmpty) - { - throw new ParserException("empty table name"); - } - - // top level key - values.Add(new TomlValue(table_name, TomlValueType.Table, 0)); - current = values.Count - 1; - - // skip to line end - segment = segment.Subbytes(segment.GetLine().ByteLength); - } - else - { - // key = value - { - var key = ParseLHS(segment, current); - switch(key.TomlValueType) - { - case TomlValueType.BareKey: - case TomlValueType.QuotedKey: - { - values.Add(key); - - // skip key - segment = segment.Subbytes(key.Bytes.Count); - } - break; - - case TomlValueType.DottedKey: - throw new NotImplementedException(); - } - } - - { - // search and skip = - int eq; - if (!segment.TrySearchByte(x => x == '=', out eq)) - { - throw new ParserException("= not found"); - } - segment = segment.Subbytes(eq + 1); - - // skip white space - segment = segment.TrimStart(); - } - - { - var value = ParseRHS(segment, current); - values.Add(value); - - // skip value - segment = segment.Subbytes(value.Bytes.Count); - - // skip to line end - segment = segment.Subbytes(segment.GetLine().ByteLength); - } - } - } - - return new ListTreeNode(values); - } - - public static ListTreeNode Parse(String Toml) - { - return Parse(Utf8String.From(Toml)); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Toml/TomlParser.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Toml/TomlParser.cs.meta deleted file mode 100644 index 5533535..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Toml/TomlParser.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 3fcee2cba67aa504a9385323813c07df -timeCreated: 1545735557 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Toml/TomlValue.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Toml/TomlValue.cs deleted file mode 100644 index 37ca042..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Toml/TomlValue.cs +++ /dev/null @@ -1,154 +0,0 @@ -using System; - - -namespace UniJSON -{ - public enum TomlValueType - { - BareKey, // key - QuotedKey, // "key" - DottedKey, // key.nested - BasicString, // "str" - MultilineBasicString, // """str""" - LiteralString, // 'str' - MultilineLiteralString, // '''str''' - Integer, - Float, - Boolean, - OffsetDatetime, - Array, // [1, 2, 3] - Table, // [table_name] - } - - public struct TomlValue : IListTreeItem, IValue - { - public override string ToString() - { - return m_segment.ToString(); - } - - public int ParentIndex { get; private set; } - - public TomlValueType TomlValueType - { - get; - private set; - } - - public ValueNodeType ValueType - { - get - { - switch (TomlValueType) - { - case TomlValueType.Integer: return ValueNodeType.Integer; - case TomlValueType.Float: return ValueNodeType.Number; - case TomlValueType.Boolean: return ValueNodeType.Boolean; - - case TomlValueType.BareKey: return ValueNodeType.String; - case TomlValueType.QuotedKey: return ValueNodeType.String; - case TomlValueType.DottedKey: return ValueNodeType.String; - - case TomlValueType.BasicString: return ValueNodeType.String; - case TomlValueType.MultilineBasicString: return ValueNodeType.String; - case TomlValueType.LiteralString: return ValueNodeType.String; - case TomlValueType.MultilineLiteralString: return ValueNodeType.String; - - case TomlValueType.Table: return ValueNodeType.Object; - case TomlValueType.Array: return ValueNodeType.Array; - } - throw new NotImplementedException(); - } - } - - Utf8String m_segment; - public ArraySegment Bytes { get { return m_segment.Bytes; } } - - public TomlValue(Utf8String segment, TomlValueType valueType, int parentIndex) : this() - { - ParentIndex = parentIndex; - TomlValueType = valueType; - m_segment = segment; - } - - public bool GetBoolean() - { - throw new NotImplementedException(); - } - - public byte GetByte() - { - throw new NotImplementedException(); - } - - public double GetDouble() - { - throw new NotImplementedException(); - } - - public short GetInt16() - { - throw new NotImplementedException(); - } - - public int GetInt32() - { - return m_segment.ToInt32(); - } - - public long GetInt64() - { - throw new NotImplementedException(); - } - - public sbyte GetSByte() - { - throw new NotImplementedException(); - } - - public float GetSingle() - { - throw new NotImplementedException(); - } - - public string GetString() - { - throw new NotImplementedException(); - } - - public ushort GetUInt16() - { - throw new NotImplementedException(); - } - - public uint GetUInt32() - { - throw new NotImplementedException(); - } - - public ulong GetUInt64() - { - throw new NotImplementedException(); - } - - public Utf8String GetUtf8String() - { - return m_segment; - } - - public U GetValue() - { - throw new NotImplementedException(); - } - - public TomlValue Key(Utf8String key, int parentIndex) - { - throw new NotImplementedException(); - } - - public TomlValue New(ArraySegment bytes, ValueNodeType valueType, int parentIndex) - { - throw new NotImplementedException(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Toml/TomlValue.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Toml/TomlValue.cs.meta deleted file mode 100644 index 5443be4..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Toml/TomlValue.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: e62dc750f570d764ab8c88742ceaa383 -timeCreated: 1545735558 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String.meta deleted file mode 100644 index cca5536..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 622a6cb2022a02d478f45fa30eed8373 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/IUtf8String.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/IUtf8String.cs deleted file mode 100644 index 65159e7..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/IUtf8String.cs +++ /dev/null @@ -1,138 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Runtime.InteropServices; -using System.Linq; - - -namespace UniJSON -{ - public interface IUtf8String: IEnumerable - { - int ByteLength { get; } - } - - /// - /// Immutable short utf8 string - /// - [StructLayout(LayoutKind.Explicit)] - public struct Utf8String4 : IEquatable, IUtf8String - { - [FieldOffset(0)] - uint _value; - - [FieldOffset(0)] - byte _byte0; - - [FieldOffset(1)] - byte _byte1; - - [FieldOffset(2)] - byte _byte2; - - [FieldOffset(3)] - byte _byte3; - - public int ByteLength - { - get - { - if (_byte0 == 0) return 0; - if (_byte1 == 0) return 1; - if (_byte2 == 0) return 2; - if (_byte3 == 0) return 3; - return 4; - } - } - - static Utf8String4 Create(uint value) - { - return new Utf8String4 - { - _value = value - }; - } - - public static Utf8String4 Create(IEnumerable bytes) - { - var u = new Utf8String4(); - var it = bytes.GetEnumerator(); - - if (!it.MoveNext()) return u; - u._byte0 = it.Current; - - if (!it.MoveNext()) return u; - u._byte1 = it.Current; - - if (!it.MoveNext()) return u; - u._byte2 = it.Current; - - if (!it.MoveNext()) return u; - u._byte3 = it.Current; - - if (!it.MoveNext()) - { - throw new ArgumentOutOfRangeException(); - } - - return u; - } - - public static Utf8String4 Create(string src) - { - return Create(Utf8String.Encoding.GetBytes(src)); - } - - public bool Equals(Utf8String4 other) - { - return _value == other._value; - } - - public override bool Equals(object obj) - { - if (obj == null) return false; - - if (obj is Utf8String4) - { - return Equals((Utf8String4)obj); - } - - { - var s = obj as string; - if (s != null) - { - return ToString() == s; - } - } - - return false; - } - - public override int GetHashCode() - { - return _value.GetHashCode(); - } - - public override string ToString() - { - return Utf8String.Encoding.GetString(this.ToArray()); - } - - public IEnumerator GetEnumerator() - { - if (_byte0 == 0) yield break; - yield return _byte0; - if (_byte1 == 0) yield break; - yield return _byte1; - if (_byte2 == 0) yield break; - yield return _byte2; - if (_byte3 == 0) yield break; - yield return _byte3; - } - - IEnumerator IEnumerable.GetEnumerator() - { - return GetEnumerator(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/IUtf8String.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/IUtf8String.cs.meta deleted file mode 100644 index 9e2b5f4..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/IUtf8String.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: d41f7c86ebb46934c8511b31de827279 -timeCreated: 1543422872 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8Iterator.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8Iterator.cs deleted file mode 100644 index 440703a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8Iterator.cs +++ /dev/null @@ -1,199 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; - - -namespace UniJSON -{ - public struct Utf8Iterator : IEnumerator - { - Byte[] m_bytes; - int m_offset; - int m_start; - int m_position; - int m_end; - - public Utf8Iterator(ArraySegment range, int start = 0) - { - m_bytes = range.Array; - m_offset = range.Offset; - m_start = m_offset + start; - m_position = -1; - m_end = range.Offset + range.Count; - } - - public int BytePosition - { - get { return m_position - m_offset; } - } - - public int CurrentByteLength - { - get - { - var firstByte = Current; - if (firstByte <= 0x7F) - { - return 1; - } - else if (firstByte <= 0xDF) - { - return 2; - } - else if (firstByte <= 0xEF) - { - return 3; - } - else if (firstByte <= 0xF7) - { - return 4; - } - else - { - throw new Exception("invalid utf8"); - } - } - } - - public byte Current - { - get { return m_bytes[m_position]; } - } - - object IEnumerator.Current - { - get { return Current; } - } - - public byte Second - { - get { return m_bytes[m_position + 1]; } - } - - public byte Third - { - get { return m_bytes[m_position + 2]; } - } - - public byte Fourth - { - get { return m_bytes[m_position + 3]; } - } - - public const uint Mask1 = 0x01; - public const uint Mask2 = 0x03; - public const uint Mask3 = 0x07; - public const uint Mask4 = 0x0F; - public const uint Mask5 = 0x1F; - public const uint Mask6 = 0x3F; - public const uint Mask7 = 0x7F; - public const uint Mask11 = 0x07FF; - - public const uint Head1 = 0x80; - public const uint Head2 = 0xC0; - public const uint Head3 = 0xE0; - public const uint Head4 = 0xF0; - - public static int ByteLengthFromChar(char c) - { - if (c <= Mask7) - { - return 1; - } - else if (c <= Mask11) - { - return 2; - } - else - { - return 3; - } - } - - public uint Unicode - { - get - { - var l = CurrentByteLength; - if (l == 1) - { - // 7bit - return Current; - } - else if (l == 2) - { - // 11bit - return (Mask5 & Current) << 6 | (Mask6 & Second); - } - else if (l == 3) - { - // 16bit - return (Mask4 & Current) << 12 | (Mask6 & Second) << 6 | (Mask6 & Third); - } - else if (l == 4) - { - // 21bit - return (Mask3 & Current) << 18 | (Mask6 & Second) << 12 | (Mask6 & Third) << 6 | (Mask6 & Fourth); - } - else - { - throw new Exception("invalid utf8"); - } - } - } - - public char Char - { - get - { - var l = CurrentByteLength; - if (l == 1) - { - // 7bit - return (char)Current; - } - else if (l == 2) - { - // 11bit - return (char)((Mask5 & Current) << 6 | (Mask6 & Second)); - } - else if (l == 3) - { - // 16bit - return (char)((Mask4 & Current) << 12 | (Mask6 & Second) << 6 | (Mask6 & Third)); - } - else if (l == 4) - { - // 21bit - throw new NotImplementedException(); - } - else - { - throw new Exception("invalid utf8"); - } - } - } - - public void Dispose() - { - } - - public bool MoveNext() - { - if (m_position == -1) - { - m_position = m_start; - } - else - { - m_position += CurrentByteLength; - } - return m_position < m_end; - } - - public void Reset() - { - m_position = -1; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8Iterator.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8Iterator.cs.meta deleted file mode 100644 index 65f901d..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8Iterator.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: a5c7531d2d3a77a4ba81e8ee43426726 -timeCreated: 1544057442 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8String.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8String.cs deleted file mode 100644 index ac95969..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8String.cs +++ /dev/null @@ -1,444 +0,0 @@ -using System; -using System.Linq; - - -namespace UniJSON -{ - public struct Utf8String : IComparable - { - public static readonly System.Text.Encoding Encoding = new System.Text.UTF8Encoding(false); - - public readonly ArraySegment Bytes; - public int ByteLength - { - get { return Bytes.Count; } - } - - public Utf8Iterator GetIterator() - { - return new Utf8Iterator(Bytes); - } - - public int CompareTo(Utf8String other) - { - int i = 0; - for (; i < ByteLength && i < other.ByteLength; ++i) - { - if (this[i] < other[i]) - { - return 1; - } - else if (this[i] > other[i]) - { - return -1; - } - } - if (i < ByteLength) - { - return -1; - } - else if (i < other.ByteLength) - { - return 1; - } - else - { - return 0; - } - } - - public Byte this[int i] - { - get { return Bytes.Array[Bytes.Offset + i]; } - } - - public Utf8String(ArraySegment bytes) - { - Bytes = bytes; - } - - public Utf8String(Byte[] bytes, int offset, int count) : this(new ArraySegment(bytes, offset, count)) - { - } - - public Utf8String(Byte[] bytes) : this(bytes, 0, bytes.Length) - { - } - - public static Utf8String From(string src) - { - return new Utf8String(Encoding.GetBytes(src)); - } - - public static Utf8String From(string src, Byte[] bytes) - { - var required = src.Sum(c => Utf8Iterator.ByteLengthFromChar(c)); - if (required > bytes.Length) - { - throw new OverflowException(); - } - int pos = 0; - foreach (var c in src) - { - if (c <= Utf8Iterator.Mask7) - { - // 1bit - bytes[pos++] = (byte)c; - } - else if (c <= Utf8Iterator.Mask11) - { - // 2bit - bytes[pos++] = (byte)(Utf8Iterator.Head2 | Utf8Iterator.Mask5 & (c >> 6)); - bytes[pos++] = (byte)(Utf8Iterator.Head1 | Utf8Iterator.Mask6 & (c)); - } - else - { - // 3bit - bytes[pos++] = (byte)(Utf8Iterator.Head3 | Utf8Iterator.Mask4 & (c >> 12)); - bytes[pos++] = (byte)(Utf8Iterator.Head1 | Utf8Iterator.Mask6 & (c >> 6)); - bytes[pos++] = (byte)(Utf8Iterator.Head1 | Utf8Iterator.Mask6 & (c)); - } - } - return new Utf8String(new ArraySegment(bytes, 0, pos)); - } - - // -2147483648 ~ 2147483647 - public static Utf8String From(int src) - { - if (src >= 0) - { - if (src < 10) - { - return new Utf8String(new byte[] { - (byte)(0x30 + src), - }); - } - else if (src < 100) - { - return new Utf8String(new byte[] { - (byte)(0x30 + src/10), - (byte)(0x30 + src%10), - }); - } - else if (src < 1000) - { - return new Utf8String(new byte[] { - (byte)(0x30 + src/100), - (byte)(0x30 + src/10), - (byte)(0x30 + src%10), - }); - } - else if (src < 10000) - { - return new Utf8String(new byte[] { - (byte)(0x30 + src/1000), - (byte)(0x30 + src/100), - (byte)(0x30 + src/10), - (byte)(0x30 + src%10), - }); - } - else if (src < 100000) - { - return new Utf8String(new byte[] { - (byte)(0x30 + src/10000), - (byte)(0x30 + src/1000), - (byte)(0x30 + src/100), - (byte)(0x30 + src/10), - (byte)(0x30 + src%10), - }); - } - else if (src < 1000000) - { - return new Utf8String(new byte[] { - (byte)(0x30 + src/100000), - (byte)(0x30 + src/10000), - (byte)(0x30 + src/1000), - (byte)(0x30 + src/100), - (byte)(0x30 + src/10), - (byte)(0x30 + src%10), - }); - } - else if (src < 10000000) - { - return new Utf8String(new byte[] { - (byte)(0x30 + src/1000000), - (byte)(0x30 + src/100000), - (byte)(0x30 + src/10000), - (byte)(0x30 + src/1000), - (byte)(0x30 + src/100), - (byte)(0x30 + src/10), - (byte)(0x30 + src%10), - }); - } - else if (src < 100000000) - { - return new Utf8String(new byte[] { - (byte)(0x30 + src/10000000), - (byte)(0x30 + src/1000000), - (byte)(0x30 + src/100000), - (byte)(0x30 + src/10000), - (byte)(0x30 + src/1000), - (byte)(0x30 + src/100), - (byte)(0x30 + src/10), - (byte)(0x30 + src%10), - }); - } - else if (src < 1000000000) - { - return new Utf8String(new byte[] { - (byte)(0x30 + src/100000000), - (byte)(0x30 + src/10000000), - (byte)(0x30 + src/1000000), - (byte)(0x30 + src/100000), - (byte)(0x30 + src/10000), - (byte)(0x30 + src/1000), - (byte)(0x30 + src/100), - (byte)(0x30 + src/10), - (byte)(0x30 + src%10), - }); - } - else - { - return new Utf8String(new byte[] { - (byte)(0x30 + src/1000000000), - (byte)(0x30 + src/100000000), - (byte)(0x30 + src/10000000), - (byte)(0x30 + src/1000000), - (byte)(0x30 + src/100000), - (byte)(0x30 + src/10000), - (byte)(0x30 + src/1000), - (byte)(0x30 + src/100), - (byte)(0x30 + src/10), - (byte)(0x30 + src%10), - }); - } - } - else - { - throw new NotImplementedException(); - } - } - - public Utf8String Concat(Utf8String rhs) - { - var bytes = new Byte[ByteLength + rhs.ByteLength]; - Buffer.BlockCopy(Bytes.Array, Bytes.Offset, bytes, 0, ByteLength); - Buffer.BlockCopy(rhs.Bytes.Array, rhs.Bytes.Offset, bytes, ByteLength, rhs.ByteLength); - return new Utf8String(bytes); - } - - public override string ToString() - { - if (ByteLength == 0) return ""; - return Encoding.GetString(Bytes.Array, Bytes.Offset, Bytes.Count); - } - - public string ToAscii() - { - if (ByteLength == 0) return ""; - return System.Text.Encoding.ASCII.GetString(Bytes.Array, Bytes.Offset, Bytes.Count); - } - - public bool IsEmpty - { - get - { - return ByteLength == 0; - } - } - - public bool StartsWith(Utf8String rhs) - { - if (rhs.ByteLength > ByteLength) - { - return false; - } - - for (int i = 0; i < rhs.ByteLength; ++i) - { - if (this[i] != rhs[i]) - { - return false; - } - } - - return true; - } - - public bool EndsWith(Utf8String rhs) - { - if (rhs.ByteLength > ByteLength) - { - return false; - } - - for (int i = 1; i <= rhs.ByteLength; ++i) - { - if (this[ByteLength - i] != rhs[rhs.ByteLength - i]) - { - return false; - } - } - - return true; - } - - public int IndexOf(Byte code) - { - return IndexOf(0, code); - } - - public int IndexOf(int offset, Byte code) - { - var pos = offset + Bytes.Offset; - for (int i = 0; i < Bytes.Count; ++i, ++pos) - { - if (Bytes.Array[pos] == code) - { - return pos - Bytes.Offset; - } - } - return -1; - } - - public Utf8String Subbytes(int offset) - { - return Subbytes(offset, ByteLength - offset); - } - - public Utf8String Subbytes(int offset, int count) - { - return new Utf8String(Bytes.Array, Bytes.Offset + offset, count); - } - - static bool IsSpace(Byte b) - { - switch (b) - { - case 0x20: - case 0x0a: - case 0x0b: - case 0x0c: - case 0x0d: - case 0x09: - return true; - } - - return false; - } - - public Utf8String TrimStart() - { - var i = 0; - for (; i < ByteLength; ++i) - { - if (!IsSpace(this[i])) - { - break; - } - } - return Subbytes(i); - } - - public Utf8String TrimEnd() - { - var i = ByteLength-1; - for (; i >= 0; --i) - { - if (!IsSpace(this[i])) - { - break; - } - } - return Subbytes(0, i+1); - } - - public Utf8String Trim() - { - return TrimStart().TrimEnd(); - } - - public override bool Equals(Object obj) - { - return obj is Utf8String && Equals((Utf8String)obj); - } - - public static bool operator ==(Utf8String x, Utf8String y) - { - return x.Equals(y); - } - - public static bool operator !=(Utf8String x, Utf8String y) - { - return !(x == y); - } - - public bool Equals(Utf8String other) - { - if (ByteLength != other.ByteLength) - { - return false; - } - - for (int i = 0; i < ByteLength; ++i) - { - if (this[i] != other[i]) - { - return false; - } - } - - return true; - } - - public override int GetHashCode() - { - return ByteLength.GetHashCode(); - } - - public static Utf8String operator +(Utf8String l, Utf8String r) - { - return new Utf8String(l.Bytes.Concat(r.Bytes)); - } - - public bool IsInt - { - get - { - //bool isInt = false; - for (int i = 0; i < ByteLength; ++i) - { - var c = this[i]; - if (c == '0' - || c == '1' - || c == '2' - || c == '3' - || c == '4' - || c == '5' - || c == '6' - || c == '7' - || c == '8' - || c == '9' - ) - { - // ok - //isInt = true; - } - else if (i == 0 && c == '-') - { - // ok - } - else if (c == '.' || c == 'e') - { - return false; - } - else - { - break; - } - } - return true; - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8String.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8String.cs.meta deleted file mode 100644 index fa34c19..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8String.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 93adff1e1b4725f498a92faccf7e240d -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8StringBuilder.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8StringBuilder.cs deleted file mode 100644 index 59a58b7..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8StringBuilder.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System.Text; - -namespace UniJSON -{ - public class Utf8StringBuilder - { - ByteBuffer m_buffer = new ByteBuffer(); - - public void Ascii(char c) - { - m_buffer.Push((byte)c); - } - - static Encoding s_utf8 = new UTF8Encoding(false); - - public void Quote(string text) - { - Ascii('"'); - m_buffer.Push(s_utf8.GetBytes(text)); - Ascii('"'); - } - - public void Add(Utf8String str) - { - m_buffer.Push(str.Bytes); - } - - public Utf8String ToUtf8String() - { - return new Utf8String(m_buffer.Bytes); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8StringBuilder.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8StringBuilder.cs.meta deleted file mode 100644 index d3d1cfd..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8StringBuilder.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ba2dbf26152e2704d986754eb12f5af4 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8StringExtensions.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8StringExtensions.cs deleted file mode 100644 index b5f4ecf..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8StringExtensions.cs +++ /dev/null @@ -1,341 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; - - -namespace UniJSON -{ - public static class Utf8StringExtensions - { - public static void WriteTo(this Utf8String src, Stream dst) - { - dst.Write(src.Bytes.Array, src.Bytes.Offset, src.Bytes.Count); - } - - public static Utf8Iterator GetFirst(this Utf8String src) - { - var it = src.GetIterator(); - it.MoveNext(); - return it; - } - - public static bool TrySearchByte(this Utf8String src, Func pred, out int pos) - { - pos = 0; - for (; pos < src.ByteLength; ++pos) - { - if (pred(src[pos])) - { - return true; - } - } - return false; - } - - public static bool TrySearchAscii(this Utf8String src, Byte target, int start, out int pos) - { - var p = new Utf8Iterator(src.Bytes, start); - while (p.MoveNext()) - { - var b = p.Current; - if (b <= 0x7F) - { - // ascii - if (b == target/*'\"'*/) - { - // closed - pos = p.BytePosition; - return true; - } - else if (b == '\\') - { - // escaped - switch ((char)p.Second) - { - case '"': // fall through - case '\\': // fall through - case '/': // fall through - case 'b': // fall through - case 'f': // fall through - case 'n': // fall through - case 'r': // fall through - case 't': // fall through - // skip next - p.MoveNext(); - break; - - case 'u': // unicode - // skip next 4 - p.MoveNext(); - p.MoveNext(); - p.MoveNext(); - p.MoveNext(); - break; - - default: - // unkonw escape - throw new ParserException("unknown escape: " + p.Second); - } - } - } - } - - pos = -1; - return false; - } - - public static IEnumerable Split(this Utf8String src, byte delemeter) - { - var start = 0; - var p = new Utf8Iterator(src.Bytes); - while (p.MoveNext()) - { - if (p.Current == delemeter) - { - if (p.BytePosition - start == 0) - { - yield return default(Utf8String); - } - else - { - yield return src.Subbytes(start, p.BytePosition - start); - } - start = p.BytePosition + 1; - } - } - - if (start < p.BytePosition) - { - yield return src.Subbytes(start, p.BytePosition - start); - } - } - - #region atoi - public static SByte ToSByte(this Utf8String src) - { - SByte value = 0; - var p = new Utf8Iterator(src.Bytes); - while (p.MoveNext()) - { - var b = p.Current; - switch (b) - { - case 0x30: value = (SByte)(value * 10); break; - case 0x31: value = (SByte)(value * 10 + 1); break; - case 0x32: value = (SByte)(value * 10 + 2); break; - case 0x33: value = (SByte)(value * 10 + 3); break; - case 0x34: value = (SByte)(value * 10 + 4); break; - case 0x35: value = (SByte)(value * 10 + 5); break; - case 0x36: value = (SByte)(value * 10 + 6); break; - case 0x37: value = (SByte)(value * 10 + 7); break; - case 0x38: value = (SByte)(value * 10 + 8); break; - case 0x39: value = (SByte)(value * 10 + 9); break; - default: throw new ArgumentOutOfRangeException(); - } - } - return value; - } - public static Int16 ToInt16(this Utf8String src) - { - Int16 value = 0; - var p = new Utf8Iterator(src.Bytes); - while (p.MoveNext()) - { - var b = p.Current; - switch (b) - { - case 0x30: value = (Int16)(value * 10); break; - case 0x31: value = (Int16)(value * 10 + 1); break; - case 0x32: value = (Int16)(value * 10 + 2); break; - case 0x33: value = (Int16)(value * 10 + 3); break; - case 0x34: value = (Int16)(value * 10 + 4); break; - case 0x35: value = (Int16)(value * 10 + 5); break; - case 0x36: value = (Int16)(value * 10 + 6); break; - case 0x37: value = (Int16)(value * 10 + 7); break; - case 0x38: value = (Int16)(value * 10 + 8); break; - case 0x39: value = (Int16)(value * 10 + 9); break; - default: throw new ArgumentOutOfRangeException(); - } - } - return value; - } - public static Int32 ToInt32(this Utf8String src) - { - Int32 value = 0; - Int32 sign = 1; - var p = new Utf8Iterator(src.Bytes); - bool isFirst = true; - while (p.MoveNext()) - { - var b = p.Current; - - if (isFirst) - { - isFirst = false; - if (b == '-') - { - sign = -1; - continue; - } - } - - switch (b) - { - case 0x30: value = value * 10; break; - case 0x31: value = value * 10 + 1; break; - case 0x32: value = value * 10 + 2; break; - case 0x33: value = value * 10 + 3; break; - case 0x34: value = value * 10 + 4; break; - case 0x35: value = value * 10 + 5; break; - case 0x36: value = value * 10 + 6; break; - case 0x37: value = value * 10 + 7; break; - case 0x38: value = value * 10 + 8; break; - case 0x39: value = value * 10 + 9; break; - default: throw new ArgumentOutOfRangeException(); - } - } - return value * sign; - } - public static Int64 ToInt64(this Utf8String src) - { - Int64 value = 0; - var p = new Utf8Iterator(src.Bytes); - while (p.MoveNext()) - { - var b = p.Current; - switch (b) - { - case 0x30: value = (Int64)(value * 10); break; - case 0x31: value = (Int64)(value * 10 + 1); break; - case 0x32: value = (Int64)(value * 10 + 2); break; - case 0x33: value = (Int64)(value * 10 + 3); break; - case 0x34: value = (Int64)(value * 10 + 4); break; - case 0x35: value = (Int64)(value * 10 + 5); break; - case 0x36: value = (Int64)(value * 10 + 6); break; - case 0x37: value = (Int64)(value * 10 + 7); break; - case 0x38: value = (Int64)(value * 10 + 8); break; - case 0x39: value = (Int64)(value * 10 + 9); break; - default: throw new ArgumentOutOfRangeException(); - } - } - return value; - } - public static Byte ToByte(this Utf8String src) - { - Byte value = 0; - var p = new Utf8Iterator(src.Bytes); - while (p.MoveNext()) - { - var b = p.Current; - switch (b) - { - case 0x30: value = (Byte)(value * 10); break; - case 0x31: value = (Byte)(value * 10 + 1); break; - case 0x32: value = (Byte)(value * 10 + 2); break; - case 0x33: value = (Byte)(value * 10 + 3); break; - case 0x34: value = (Byte)(value * 10 + 4); break; - case 0x35: value = (Byte)(value * 10 + 5); break; - case 0x36: value = (Byte)(value * 10 + 6); break; - case 0x37: value = (Byte)(value * 10 + 7); break; - case 0x38: value = (Byte)(value * 10 + 8); break; - case 0x39: value = (Byte)(value * 10 + 9); break; - default: throw new ArgumentOutOfRangeException(); - } - } - return value; - } - public static UInt16 ToUInt16(this Utf8String src) - { - UInt16 value = 0; - var p = new Utf8Iterator(src.Bytes); - while (p.MoveNext()) - { - var b = p.Current; - switch (b) - { - case 0x30: value = (UInt16)(value * 10); break; - case 0x31: value = (UInt16)(value * 10 + 1); break; - case 0x32: value = (UInt16)(value * 10 + 2); break; - case 0x33: value = (UInt16)(value * 10 + 3); break; - case 0x34: value = (UInt16)(value * 10 + 4); break; - case 0x35: value = (UInt16)(value * 10 + 5); break; - case 0x36: value = (UInt16)(value * 10 + 6); break; - case 0x37: value = (UInt16)(value * 10 + 7); break; - case 0x38: value = (UInt16)(value * 10 + 8); break; - case 0x39: value = (UInt16)(value * 10 + 9); break; - default: throw new ArgumentOutOfRangeException(); - } - } - return value; - } - public static UInt32 ToUInt32(this Utf8String src) - { - UInt32 value = 0; - var p = new Utf8Iterator(src.Bytes); - while (p.MoveNext()) - { - var b = p.Current; - switch (b) - { - case 0x30: value = (UInt32)(value * 10); break; - case 0x31: value = (UInt32)(value * 10 + 1); break; - case 0x32: value = (UInt32)(value * 10 + 2); break; - case 0x33: value = (UInt32)(value * 10 + 3); break; - case 0x34: value = (UInt32)(value * 10 + 4); break; - case 0x35: value = (UInt32)(value * 10 + 5); break; - case 0x36: value = (UInt32)(value * 10 + 6); break; - case 0x37: value = (UInt32)(value * 10 + 7); break; - case 0x38: value = (UInt32)(value * 10 + 8); break; - case 0x39: value = (UInt32)(value * 10 + 9); break; - default: throw new ArgumentOutOfRangeException(); - } - } - return value; - } - public static UInt64 ToUInt64(this Utf8String src) - { - UInt64 value = 0; - var p = new Utf8Iterator(src.Bytes); - while (p.MoveNext()) - { - var b = p.Current; - switch (b) - { - case 0x30: value = (UInt64)(value * 10); break; - case 0x31: value = (UInt64)(value * 10 + 1); break; - case 0x32: value = (UInt64)(value * 10 + 2); break; - case 0x33: value = (UInt64)(value * 10 + 3); break; - case 0x34: value = (UInt64)(value * 10 + 4); break; - case 0x35: value = (UInt64)(value * 10 + 5); break; - case 0x36: value = (UInt64)(value * 10 + 6); break; - case 0x37: value = (UInt64)(value * 10 + 7); break; - case 0x38: value = (UInt64)(value * 10 + 8); break; - case 0x39: value = (UInt64)(value * 10 + 9); break; - default: throw new ArgumentOutOfRangeException(); - } - } - return value; - } - #endregion - - public static float ToSingle(this Utf8String src) - { - return Single.Parse(src.ToAscii(), System.Globalization.CultureInfo.InvariantCulture); - } - public static double ToDouble(this Utf8String src) - { - return Double.Parse(src.ToAscii(), System.Globalization.CultureInfo.InvariantCulture); - } - - public static Utf8String GetLine(this Utf8String src) - { - int pos; - if (!src.TrySearchAscii((byte)'\n', 0, out pos)) - { - return src; - } - - return src.Subbytes(0, pos + 1); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8StringExtensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8StringExtensions.cs.meta deleted file mode 100644 index edb9bdb..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8StringExtensions.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: f613907c8a91aa049809fe1f754776de -timeCreated: 1544060764 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8StringSplitterExtensions.cs b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8StringSplitterExtensions.cs deleted file mode 100644 index a5784bb..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8StringSplitterExtensions.cs +++ /dev/null @@ -1,44 +0,0 @@ -using System; - - -namespace UniJSON -{ - public static class Utf8StringSplitterExtensions - { - /// - /// Split integer from start - /// - /// "123 " => "123" - /// " 123" => FormatException - /// - /// must start +-0123456789 - /// - /// - /// - /// - public static Utf8String SplitInteger(this Utf8String src) - { - var i = 0; - if(src[0]=='+' || src[0] == '-') - { - ++i; - } - - var j = i; - for(; j'9') - { - break; - } - } - - if (i == j) - { - throw new FormatException(); - } - - return src.Subbytes(0, j); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8StringSplitterExtensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8StringSplitterExtensions.cs.meta deleted file mode 100644 index 080f9ba..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniJSON/Scripts/Utf8String/Utf8StringSplitterExtensions.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 1627ff7e9bb16a8459021fda0223909c -timeCreated: 1545735556 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniUnlit.meta b/Assets/ProjectBlue/Packages/VRM/UniUnlit.meta deleted file mode 100644 index d6d6c36..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniUnlit.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 4e190e9b3fa655b4caf1c9eb077fd084 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniUnlit/Editor.meta b/Assets/ProjectBlue/Packages/VRM/UniUnlit/Editor.meta deleted file mode 100644 index bc9357a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniUnlit/Editor.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 50f8f39746f291d41b570530f2ac3d74 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniUnlit/Editor/UniUnlitEditor.cs b/Assets/ProjectBlue/Packages/VRM/UniUnlit/Editor/UniUnlitEditor.cs deleted file mode 100644 index 5aadb6f..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniUnlit/Editor/UniUnlitEditor.cs +++ /dev/null @@ -1,149 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using UnityEditor; -using UnityEngine; -using UnityEngine.Rendering; - - -namespace UniGLTF.UniUnlit -{ - public class UniUnlitEditor : ShaderGUI - { - private MaterialProperty _mainTex; - private MaterialProperty _color; - private MaterialProperty _cutoff; - private MaterialProperty _blendMode; - private MaterialProperty _cullMode; - private MaterialProperty _vColBlendMode; -// private MaterialProperty _srcBlend; -// private MaterialProperty _dstBlend; -// private MaterialProperty _zWrite; - - public override void OnGUI(MaterialEditor materialEditor, MaterialProperty[] properties) - { - _mainTex = FindProperty(Utils.PropNameMainTex, properties); - _color = FindProperty(Utils.PropNameColor, properties); - _cutoff = FindProperty(Utils.PropNameCutoff, properties); - _blendMode = FindProperty(Utils.PropNameBlendMode, properties); - _cullMode = FindProperty(Utils.PropNameCullMode, properties); - _vColBlendMode = FindProperty(Utils.PropeNameVColBlendMode, properties); -// _srcBlend = FindProperty(PropNameSrcBlend, properties); -// _dstBlend = FindProperty(PropNameDstBlend, properties); -// _zWrite = FindProperty(PropNameZWrite, properties); - - var materials = materialEditor.targets.Select(x => x as Material).ToArray(); - - EditorGUI.BeginChangeCheck(); - { - DrawRenderingBox(materialEditor, materials); - DrawColorBox(materialEditor, materials); - DrawOptionsBox(materialEditor, materials); - } - EditorGUI.EndChangeCheck(); - } - - public override void AssignNewShaderToMaterial(Material material, Shader oldShader, Shader newShader) - { - var blendMode = UniUnlitRenderMode.Opaque; - if (material.HasProperty(Utils.PropNameStandardShadersRenderMode)) // from Standard shader - { - blendMode = (UniUnlitRenderMode) Math.Min(2f, material.GetFloat(Utils.PropNameStandardShadersRenderMode)); - } - - // assigns UniUnlit's properties... - base.AssignNewShaderToMaterial(material, oldShader, newShader); - - // take over old value - material.SetFloat(Utils.PropNameBlendMode, (float) blendMode); - - Utils.ValidateProperties(material, isRenderModeChangedByUser: true); - } - - private void DrawRenderingBox(MaterialEditor materialEditor, Material[] materials) - { - EditorGUILayout.LabelField("Rendering", EditorStyles.boldLabel); - EditorGUILayout.BeginVertical(GUI.skin.box); - { - if (PopupEnum("Rendering Type", _blendMode, materialEditor)) - { - ModeChanged(materials, isRenderModeChangedByUser: true); - } - if (PopupEnum("Cull Mode", _cullMode, materialEditor)) - { - ModeChanged(materials, isRenderModeChangedByUser: true); - } - EditorGUILayout.Space(); - - switch ((UniUnlitRenderMode) _blendMode.floatValue) - { - case UniUnlitRenderMode.Cutout: - materialEditor.ShaderProperty(_cutoff, "Cutoff"); - break; - case UniUnlitRenderMode.Opaque: - case UniUnlitRenderMode.Transparent: - break; - } - } - EditorGUILayout.EndVertical(); - EditorGUILayout.Space(); - } - - private void DrawColorBox(MaterialEditor materialEditor, Material[] materials) - { - EditorGUILayout.LabelField("Color", EditorStyles.boldLabel); - EditorGUILayout.BeginVertical(GUI.skin.box); - { - materialEditor.TexturePropertySingleLine(new GUIContent("Main Tex", "(RGBA)"), _mainTex, _color); - materialEditor.TextureScaleOffsetProperty(_mainTex); - EditorGUILayout.Space(); - - if (PopupEnum("Vertex Color Blend Mode", _vColBlendMode, materialEditor)) - { - ModeChanged(materials, isRenderModeChangedByUser: true); - } - } - EditorGUILayout.EndVertical(); - EditorGUILayout.Space(); - } - - private void DrawOptionsBox(MaterialEditor materialEditor, Material[] materials) - { - EditorGUILayout.LabelField("Options", EditorStyles.boldLabel); - EditorGUILayout.BeginVertical(GUI.skin.box); - { - #if UNITY_5_6_OR_NEWER -// materialEditor.EnableInstancingField(); - materialEditor.DoubleSidedGIField(); - #endif - materialEditor.RenderQueueField(); - } - EditorGUILayout.EndVertical(); - EditorGUILayout.Space(); - } - - private static bool PopupEnum(string name, MaterialProperty property, MaterialEditor editor) where T : struct - { - EditorGUI.showMixedValue = property.hasMixedValue; - EditorGUI.BeginChangeCheck(); - var ret = EditorGUILayout.Popup(name, (int) property.floatValue, Enum.GetNames(typeof(T))); - var changed = EditorGUI.EndChangeCheck(); - if (changed) - { - editor.RegisterPropertyChangeUndo("EnumPopUp"); - property.floatValue = ret; - } - EditorGUI.showMixedValue = false; - return changed; - } - - - private static void ModeChanged(Material[] materials, bool isRenderModeChangedByUser = false) - { - foreach (var material in materials) - { - Utils.ValidateProperties(material, isRenderModeChangedByUser); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniUnlit/Editor/UniUnlitEditor.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniUnlit/Editor/UniUnlitEditor.cs.meta deleted file mode 100644 index 7d35d3e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniUnlit/Editor/UniUnlitEditor.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 4c70714358bb2fb4fa96ef08640763fd -timeCreated: 1514224771 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniUnlit/Scripts.meta b/Assets/ProjectBlue/Packages/VRM/UniUnlit/Scripts.meta deleted file mode 100644 index 7f92a5c..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniUnlit/Scripts.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 5437a8b16fbaad64faf08aaa41dbc9b6 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniUnlit/Scripts/Utils.cs b/Assets/ProjectBlue/Packages/VRM/UniUnlit/Scripts/Utils.cs deleted file mode 100644 index 3c5bc84..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniUnlit/Scripts/Utils.cs +++ /dev/null @@ -1,139 +0,0 @@ -using UnityEngine; -using UnityEngine.Rendering; - -namespace UniGLTF.UniUnlit -{ - public enum UniUnlitRenderMode - { - Opaque = 0, - Cutout = 1, - Transparent = 2, - } - - public enum UniUnlitCullMode - { - Off = 0, -// Front = 1, - Back = 2, - } - - public enum UniUnlitVertexColorBlendOp - { - None = 0, - Multiply = 1, - } - - public static class Utils - { - public const string PropNameMainTex = "_MainTex"; - public const string PropNameColor = "_Color"; - public const string PropNameCutoff = "_Cutoff"; - public const string PropNameBlendMode = "_BlendMode"; - public const string PropNameCullMode = "_CullMode"; - public const string PropeNameVColBlendMode = "_VColBlendMode"; - public const string PropNameSrcBlend = "_SrcBlend"; - public const string PropNameDstBlend = "_DstBlend"; - public const string PropNameZWrite = "_ZWrite"; - - public const string PropNameStandardShadersRenderMode = "_Mode"; - - public const string KeywordAlphaTestOn = "_ALPHATEST_ON"; - public const string KeywordAlphaBlendOn = "_ALPHABLEND_ON"; - public const string KeywordVertexColMul = "_VERTEXCOL_MUL"; - - public const string TagRenderTypeKey = "RenderType"; - public const string TagRenderTypeValueOpaque = "Opaque"; - public const string TagRenderTypeValueTransparentCutout = "TransparentCutout"; - public const string TagRenderTypeValueTransparent = "Transparent"; - - public static void SetRenderMode(Material material, UniUnlitRenderMode mode) - { - material.SetInt(PropNameBlendMode, (int)mode); - } - - public static void SetCullMode(Material material, UniUnlitCullMode mode) - { - material.SetInt(PropNameCullMode, (int) mode); - } - - public static UniUnlitRenderMode GetRenderMode(Material material) - { - return (UniUnlitRenderMode)material.GetInt(PropNameBlendMode); - } - - public static UniUnlitCullMode GetCullMode(Material material) - { - return (UniUnlitCullMode)material.GetInt(PropNameCullMode); - } - - /// - /// Validate target material's UniUnlitRenderMode, UniUnlitVertexColorBlendOp. - /// Set appropriate hidden properites & keywords. - /// This will change RenderQueue independent to UniUnlitRenderMode if isRenderModeChagedByUser is true. - /// - /// Target material - /// Is changed by user - public static void ValidateProperties(Material material, bool isRenderModeChangedByUser = false) - { - SetupBlendMode(material, (UniUnlitRenderMode)material.GetFloat(PropNameBlendMode), - isRenderModeChangedByUser); - SetupVertexColorBlendOp(material, (UniUnlitVertexColorBlendOp)material.GetFloat(PropeNameVColBlendMode)); - } - - private static void SetupBlendMode(Material material, UniUnlitRenderMode renderMode, - bool isRenderModeChangedByUser = false) - { - switch (renderMode) - { - case UniUnlitRenderMode.Opaque: - material.SetOverrideTag(TagRenderTypeKey, TagRenderTypeValueOpaque); - material.SetInt(PropNameSrcBlend, (int)BlendMode.One); - material.SetInt(PropNameDstBlend, (int)BlendMode.Zero); - material.SetInt(PropNameZWrite, 1); - SetKeyword(material, KeywordAlphaTestOn, false); - SetKeyword(material, KeywordAlphaBlendOn, false); - if (isRenderModeChangedByUser) material.renderQueue = -1; - break; - case UniUnlitRenderMode.Cutout: - material.SetOverrideTag(TagRenderTypeKey, TagRenderTypeValueTransparentCutout); - material.SetInt(PropNameSrcBlend, (int)BlendMode.One); - material.SetInt(PropNameDstBlend, (int)BlendMode.Zero); - material.SetInt(PropNameZWrite, 1); - SetKeyword(material, KeywordAlphaTestOn, true); - SetKeyword(material, KeywordAlphaBlendOn, false); - if (isRenderModeChangedByUser) material.renderQueue = (int)RenderQueue.AlphaTest; - break; - case UniUnlitRenderMode.Transparent: - material.SetOverrideTag(TagRenderTypeKey, TagRenderTypeValueTransparent); - material.SetInt(PropNameSrcBlend, (int)BlendMode.SrcAlpha); - material.SetInt(PropNameDstBlend, (int)BlendMode.OneMinusSrcAlpha); - material.SetInt(PropNameZWrite, 0); - SetKeyword(material, KeywordAlphaTestOn, false); - SetKeyword(material, KeywordAlphaBlendOn, true); - if (isRenderModeChangedByUser) material.renderQueue = (int)RenderQueue.Transparent; - break; - } - } - - private static void SetupVertexColorBlendOp(Material material, UniUnlitVertexColorBlendOp vColBlendOp) - { - switch (vColBlendOp) - { - case UniUnlitVertexColorBlendOp.None: - SetKeyword(material, KeywordVertexColMul, false); - break; - case UniUnlitVertexColorBlendOp.Multiply: - SetKeyword(material, KeywordVertexColMul, true); - break; - } - } - - private static void SetKeyword(Material mat, string keyword, bool required) - { - if (required) - mat.EnableKeyword(keyword); - else - mat.DisableKeyword(keyword); - } - } -} \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/UniUnlit/Scripts/Utils.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniUnlit/Scripts/Utils.cs.meta deleted file mode 100644 index 7824f08..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniUnlit/Scripts/Utils.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: e96cbbd810384352a6799dd731533178 -timeCreated: 1537534399 \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM.meta deleted file mode 100644 index aba7a79..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: fd58937f4400ba2409602431f5374d5f -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor.meta deleted file mode 100644 index a212742..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 700f68b72fdbafc43b3078e952ca0755 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape.meta deleted file mode 100644 index 5708698..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 556493589d336344ebde2b9407798811 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeAvatarEditor.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeAvatarEditor.cs deleted file mode 100644 index 7338589..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeAvatarEditor.cs +++ /dev/null @@ -1,159 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using UniGLTF; -using UnityEditor; -using UnityEditorInternal; -using UnityEngine; - - -namespace VRM -{ - [CustomEditor(typeof(BlendShapeAvatar))] - public class BlendShapeAvatarEditor : PreviewEditor - { - ReorderableList m_clipList; - - BlendShapeClipSelector m_selector; - - SerializedBlendShapeEditor m_clipEditor; - - protected override PreviewSceneManager.BakeValue GetBakeValue() - { - var clip = m_selector.Selected; - var value = new PreviewSceneManager.BakeValue(); - if (clip != null) - { - value.BlendShapeBindings = clip.Values; - value.MaterialValueBindings = clip.MaterialValues; - value.Weight = 1.0f; - } - return value; - } - - void OnSelected(BlendShapeClip clip) - { - if (PreviewSceneManager == null) - { - m_clipEditor = null; - } - else if (clip != null) - { - m_clipEditor = new SerializedBlendShapeEditor(clip, PreviewSceneManager); - PreviewSceneManager.Bake(new PreviewSceneManager.BakeValue - { - BlendShapeBindings = clip.Values, - MaterialValueBindings = clip.MaterialValues, - Weight = 1.0f - }); - } - else - { - m_clipEditor = null; - PreviewSceneManager.Bake(new PreviewSceneManager.BakeValue()); - } - } - - protected override void OnEnable() - { - m_selector = new BlendShapeClipSelector((BlendShapeAvatar)target, OnSelected); - - var prop = serializedObject.FindProperty("Clips"); - m_clipList = new ReorderableList(serializedObject, prop); - - m_clipList.drawHeaderCallback = (rect) => - EditorGUI.LabelField(rect, "BlendShapeClips"); - - m_clipList.elementHeight = BlendShapeClipDrawer.Height; - m_clipList.drawElementCallback = (rect, index, isActive, isFocused) => - { - var element = prop.GetArrayElementAtIndex(index); - rect.height -= 4; - rect.y += 2; - EditorGUI.PropertyField(rect, element); - }; - - m_clipList.onAddCallback += (list) => - { - // Add slot - prop.arraySize++; - // select last item - list.index = prop.arraySize - 1; - // get last item - var element = prop.GetArrayElementAtIndex(list.index); - element.objectReferenceValue = null; - - var dir = Path.GetDirectoryName(AssetDatabase.GetAssetPath(target)); - var path = EditorUtility.SaveFilePanel( - "Create BlendShapeClip", - dir, - string.Format("BlendShapeClip#{0}.asset", list.count), - "asset"); - if (!string.IsNullOrEmpty(path)) - { - var clip = BlendShapeAvatar.CreateBlendShapeClip(path.ToUnityRelativePath()); - //clip.Prefab = AssetDatabase.LoadAssetAtPath(AssetDatabase.GetAssetPath(target)); - - element.objectReferenceValue = clip; - } - }; - - m_clipList.onSelectCallback += (list) => - { - var a = list.serializedProperty; - var selected = a.GetArrayElementAtIndex(list.index); - OnSelected((BlendShapeClip)selected.objectReferenceValue); - }; - - //m_clipList.onCanRemoveCallback += list => true; - base.OnEnable(); - - OnSelected(m_selector.Selected); - } - - int m_mode; - static readonly string[] MODES = new string[]{ - "Editor", - "List" - }; - - public override void OnInspectorGUI() - { - serializedObject.Update(); - - base.OnInspectorGUI(); - - m_mode = GUILayout.Toolbar(m_mode, MODES); - switch (m_mode) - { - case 0: - m_selector.SelectGUI(); - if (m_clipEditor != null) - { - Separator(); - var result = m_clipEditor.Draw(); - if (result.Changed) - { - PreviewSceneManager.Bake(new PreviewSceneManager.BakeValue - { - BlendShapeBindings = result.BlendShapeBindings, - MaterialValueBindings = result.MaterialValueBindings, - Weight = 1.0f, - }); - } - } - break; - - case 1: - m_clipList.DoLayoutList(); - break; - - default: - throw new NotImplementedException(); - } - - serializedObject.ApplyModifiedProperties(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeAvatarEditor.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeAvatarEditor.cs.meta deleted file mode 100644 index e99155b..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeAvatarEditor.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 1cde1e2369885f14181eb58009310c92 -timeCreated: 1523199409 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeClipDrawer.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeClipDrawer.cs deleted file mode 100644 index 646c8c4..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeClipDrawer.cs +++ /dev/null @@ -1,63 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEditor; -using UnityEngine; - - -namespace VRM -{ - - [CustomPropertyDrawer(typeof(BlendShapeClip))] - public class BlendShapeClipDrawer : PropertyDrawer - { - //public const int Height = 132; - - //public const int ThumbnailSize = 128; - - public const int Height = 80; - public const int ThumbnailSize = 0; - - public override void OnGUI(Rect position, - SerializedProperty property, GUIContent label) - { - using (new EditorGUI.PropertyScope(position, label, property)) - { - //EditorGUIUtility.labelWidth = 80; - - position.height = EditorGUIUtility.singleLineHeight; - - //var halfWidth = position.width * 0.5f; - - var rect = new Rect(position.x + ThumbnailSize, position.y, position.width - ThumbnailSize, position.height); - EditorGUI.PropertyField(rect, property); - - var clip = property.objectReferenceValue as BlendShapeClip; - if (clip != null) - { - var clipObj = new SerializedObject(clip); - //var thumbnail = clipObj.FindProperty("Thumbnail"); - var blendShapeName = clipObj.FindProperty("BlendShapeName"); - var preset = clipObj.FindProperty("Preset"); - var isBinary = clipObj.FindProperty("IsBinary"); - - /* - EditorGUI.ObjectField(new Rect(position) - { - width = ThumbnailSize, - height = ThumbnailSize - }, thumbnail.objectReferenceValue, typeof(Texture), false); - */ - - rect.y += (EditorGUIUtility.singleLineHeight + 2); - EditorGUI.PropertyField(rect, blendShapeName); - rect.y += (EditorGUIUtility.singleLineHeight + 2); - EditorGUI.PropertyField(rect, preset); - rect.y += (EditorGUIUtility.singleLineHeight + 2); - EditorGUI.PropertyField(rect, isBinary); - - clipObj.ApplyModifiedProperties(); - } - } - } - } -} \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeClipDrawer.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeClipDrawer.cs.meta deleted file mode 100644 index b5ef008..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeClipDrawer.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 6a31667cfcf461c47b3b384211e2d9ff -timeCreated: 1541179390 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeClipEditor.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeClipEditor.cs deleted file mode 100644 index 2821163..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeClipEditor.cs +++ /dev/null @@ -1,171 +0,0 @@ -using System; -using System.IO; -using UniGLTF; -using UnityEditor; -using UnityEditorInternal; -using UnityEngine; - - -namespace VRM -{ - [CustomEditor(typeof(BlendShapeClip))] - public class BlendShapeClipEditor : PreviewEditor - { - SerializedBlendShapeEditor m_serializedEditor; - - BlendShapeClip m_target; - protected override PreviewSceneManager.BakeValue GetBakeValue() - { - return new PreviewSceneManager.BakeValue - { - BlendShapeBindings = m_target.Values, - MaterialValueBindings = m_target.MaterialValues, - Weight = 1.0f, - }; - } - - //SerializedProperty m_thumbnailProp; - SerializedProperty m_isBinaryProp; - - protected override GameObject GetPrefab() - { - return m_target.Prefab; - } - - protected override void OnEnable() - { - m_target = (BlendShapeClip)target; - - base.OnEnable(); - } - - float m_previewSlider = 1.0f; - - static Texture2D SaveResizedImage(RenderTexture rt, UnityPath path, int size) - { - var tex = new Texture2D(rt.width, rt.height, TextureFormat.RGB24, false); - RenderTexture.active = rt; - tex.ReadPixels(new Rect(0, 0, rt.width, rt.height), 0, 0); - tex.Apply(); - - //TextureScale.Scale(tex, size, size); - tex = TextureScale.GetResized(tex, size, size); - - byte[] bytes; - switch (path.Extension.ToLower()) - { - case ".png": - bytes = tex.EncodeToPNG(); - break; - - case ".jpg": - bytes = tex.EncodeToJPG(); - break; - - default: - throw new Exception(); - } - - if (Application.isPlaying) - { - UnityEngine.Object.Destroy(tex); - } - else - { - UnityEngine.Object.DestroyImmediate(tex); - } - File.WriteAllBytes(path.FullPath, bytes); - - path.ImportAsset(); - return path.LoadAsset(); - } - - public override void OnInspectorGUI() - { - if (PreviewSceneManager == null) - { - return; - } - serializedObject.Update(); - - if (m_serializedEditor == null) - { - m_serializedEditor = new SerializedBlendShapeEditor(serializedObject, PreviewSceneManager); - //m_thumbnailProp = serializedObject.FindProperty("Thumbnail"); - m_isBinaryProp = serializedObject.FindProperty("IsBinary"); - } - - EditorGUILayout.BeginHorizontal(); - - /* - int thumbnailSize = 96; - var objectReferenceValue = EditorGUILayout.ObjectField(m_thumbnailProp.objectReferenceValue, typeof(Texture), false, - GUILayout.Width(thumbnailSize), GUILayout.Height(thumbnailSize)); - if (m_thumbnailProp.objectReferenceValue != objectReferenceValue) - { - m_thumbnailProp.objectReferenceValue = objectReferenceValue; - serializedObject.ApplyModifiedProperties(); - } - */ - - var changed = false; - EditorGUILayout.BeginVertical(); - base.OnInspectorGUI(); - EditorGUILayout.LabelField("Preview Weight"); - var previewSlider = EditorGUILayout.Slider(m_previewSlider, 0, 1.0f); - GUI.enabled = PreviewTexture != null; - /* - if (GUILayout.Button("save thumbnail")) - { - //var ext = "jpg"; - var ext = "png"; - var asset = UnityPath.FromAsset(target); - var path = EditorUtility.SaveFilePanel( - "save thumbnail", - asset.Parent.FullPath, - string.Format("{0}.{1}", asset.FileNameWithoutExtension, ext), - ext); - if (!string.IsNullOrEmpty(path)) - { - var thumbnail = SaveResizedImage(PreviewTexture, UnityPath.FromFullpath(path), - BlendShapeClipDrawer.ThumbnailSize); - m_thumbnailProp.objectReferenceValue = thumbnail; - serializedObject.ApplyModifiedProperties(); - } - } - */ - GUI.enabled = true; - EditorGUILayout.EndVertical(); - - if (m_isBinaryProp.boolValue) - { - previewSlider = Mathf.Round(previewSlider); - } - if (previewSlider != m_previewSlider) - { - m_previewSlider = previewSlider; - changed = true; - } - - EditorGUILayout.EndHorizontal(); - Separator(); - EditorGUILayout.Space(); - - var result = m_serializedEditor.Draw(); - if ((changed || result.Changed) && PreviewSceneManager != null) - { - PreviewSceneManager.Bake(new PreviewSceneManager.BakeValue - { - BlendShapeBindings = result.BlendShapeBindings, - MaterialValueBindings = result.MaterialValueBindings, - Weight = m_previewSlider - }); - } - } - - public override string GetInfoString() - { - return BlendShapeKey.CreateFrom((BlendShapeClip)target).ToString(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeClipEditor.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeClipEditor.cs.meta deleted file mode 100644 index c23db23..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeClipEditor.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 4b3d6730e24442c44baaa50a1e6f3a6d -timeCreated: 1522927173 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeClipEditorHelper.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeClipEditorHelper.cs deleted file mode 100644 index a848989..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeClipEditorHelper.cs +++ /dev/null @@ -1,341 +0,0 @@ -using System; -using UnityEditor; -using UnityEngine; - - -namespace VRM -{ - public static class BlendShapeClipEditorHelper - { - /// - /// BlendShape List のElement描画 - /// - public static bool DrawBlendShapeBinding(Rect position, SerializedProperty property, - PreviewSceneManager scene) - { - bool changed = false; - if (scene != null) - { - var height = 16; - - var y = position.y; - var rect = new Rect(position.x, y, position.width, height); - int pathIndex; - if (StringPopup(rect, property.FindPropertyRelative("RelativePath"), scene.SkinnedMeshRendererPathList, out pathIndex)) - { - changed = true; - } - - y += height; - rect = new Rect(position.x, y, position.width, height); - int blendShapeIndex; - if (IntPopup(rect, property.FindPropertyRelative("Index"), scene.GetBlendShapeNames(pathIndex), out blendShapeIndex)) - { - changed = true; - } - - y += height; - rect = new Rect(position.x, y, position.width, height); - if (FloatSlider(rect, property.FindPropertyRelative("Weight"), 100)) - { - changed = true; - } - } - return changed; - } - - /// - /// Material List のElement描画 - /// - public static bool DrawMaterialValueBinding(Rect position, SerializedProperty property, - PreviewSceneManager scene) - { - bool changed = false; - if (scene != null) - { - var height = 16; - - var y = position.y; - var rect = new Rect(position.x, y, position.width, height); - int materialIndex; - if (StringPopup(rect, property.FindPropertyRelative("MaterialName"), scene.MaterialNames, out materialIndex)) - { - changed = true; - } - - if (materialIndex >= 0) - { - var materialItem = scene.GetMaterialItem(scene.MaterialNames[materialIndex]); - if (materialItem != null) - { - y += height; - rect = new Rect(position.x, y, position.width, height); - - // プロパティ名のポップアップ - int propIndex; - if (StringPopup(rect, property.FindPropertyRelative("ValueName"), materialItem.PropNames, out propIndex)) - { - changed = true; - } - - if (propIndex >= 0) - { - // 有効なプロパティ名が選択された - var propItem = materialItem.PropMap[materialItem.PropNames[propIndex]]; - { - switch (propItem.PropertyType) - { - case ShaderUtil.ShaderPropertyType.Color: - { - property.FindPropertyRelative("BaseValue").vector4Value = propItem.DefaultValues; - - // max - y += height; - rect = new Rect(position.x, y, position.width, height); - if (ColorProp(rect, property.FindPropertyRelative("TargetValue"))) - { - changed = true; - } - } - break; - - case ShaderUtil.ShaderPropertyType.TexEnv: - { - property.FindPropertyRelative("BaseValue").vector4Value = propItem.DefaultValues; - - // max - y += height; - rect = new Rect(position.x, y, position.width, height); - if (OffsetProp(rect, property.FindPropertyRelative("TargetValue"))) - { - changed = true; - } - } - break; - } - } - } - } - } - } - return changed; - } - - #region Private - static bool StringPopup(Rect rect, SerializedProperty prop, string[] options, out int newIndex) - { - if (options == null) - { - newIndex = -1; - return false; - } - - var oldIndex = Array.IndexOf(options, prop.stringValue); - newIndex = EditorGUI.Popup(rect, oldIndex, options); - if (newIndex != oldIndex && newIndex >= 0 && newIndex < options.Length) - { - prop.stringValue = options[newIndex]; - return true; - } - else - { - return false; - } - } - - static bool IntPopup(Rect rect, SerializedProperty prop, string[] options, out int newIndex) - { - if (options == null) - { - newIndex = -1; - return false; - } - - var oldIndex = prop.intValue; - newIndex = EditorGUI.Popup(rect, oldIndex, options); - if (newIndex != oldIndex && newIndex >= 0 && newIndex < options.Length) - { - prop.intValue = newIndex; - return true; - } - else - { - return false; - } - } - - static bool FloatSlider(Rect rect, SerializedProperty prop, float maxValue) - { - var oldValue = prop.floatValue; - var newValue = EditorGUI.Slider(rect, prop.floatValue, 0, 100f); - if (newValue != oldValue) - { - prop.floatValue = newValue; - return true; - } - else - { - return false; - } - } - - static bool ColorProp(Rect rect, SerializedProperty prop) - { - var oldValue = (Color)prop.vector4Value; - var newValue = EditorGUI.ColorField(rect, prop.displayName, oldValue); - if (newValue != oldValue) - { - prop.vector4Value = newValue; - return true; - } - else - { - return false; - } - } - - static Rect AdvanceRect(ref float x, float y, float w, float h) - { - var rect = new Rect(x, y, w, h); - x += w; - return rect; - } - - static float[] v2 = new float[2]; - static GUIContent[] l2 = new GUIContent[]{ - new GUIContent("x"), - new GUIContent("y") - }; - static Vector4 TilingOffset(Rect rect, string label, Vector4 src) - { - /* - var style = new GUIStyle() - { - alignment = TextAnchor.MiddleRight, - }; - */ - - var quad = (rect.width - 56); - var x = rect.x; - //EditorGUIUtility.labelWidth = 18; - - EditorGUI.LabelField(AdvanceRect(ref x, rect.y, 40, rect.height), "Tiling"); - v2[0] = src.x; - v2[1] = src.y; - EditorGUI.MultiFloatField(AdvanceRect(ref x, rect.y, quad, rect.height), l2, v2); - src.x = v2[0]; - src.y = v2[1]; - - //EditorGUI.LabelField(AdvanceRect(ref x, rect.y, quad, rect.height), "Y", style); - //src.y = EditorGUI.FloatField(AdvanceRect(ref x, rect.y, quad, rect.height), "Y", src.y); - - rect.y += EditorGUIUtility.singleLineHeight; - x = rect.x; - EditorGUI.LabelField(AdvanceRect(ref x, rect.y, 40, rect.height), "Offset"); - v2[0] = src.z; - v2[1] = src.w; - EditorGUI.MultiFloatField(AdvanceRect(ref x, rect.y, quad, rect.height), l2, v2); - src.z = v2[0]; - src.w = v2[1]; - - //EditorGUI.LabelField(AdvanceRect(ref x, rect.y, quad * 2, rect.height), "Offset X", style); - //src.z = EditorGUI.FloatField(AdvanceRect(ref x, rect.y, quad, rect.height), "X", src.z); - - //EditorGUI.LabelField(AdvanceRect(ref x, rect.y, quad, rect.height), "Y", style); - //src.w = EditorGUI.FloatField(AdvanceRect(ref x, rect.y, quad, rect.height), "Y", src.w); - - return src; - } - - static bool OffsetProp(Rect rect, SerializedProperty prop) - { - var oldValue = prop.vector4Value; - //var newValue = EditorGUI.Vector4Field(rect, prop.displayName, oldValue); - var newValue = TilingOffset(rect, prop.displayName, oldValue); - if (newValue != oldValue) - { - prop.vector4Value = newValue; - return true; - } - else - { - return false; - } - } - #endregion - } - - /// https://gist.github.com/gszauer/7799899 - public class TextureScale - { - private static Color[] texColors; - private static Color[] newColors; - private static int w; - private static float ratioX; - private static float ratioY; - private static int w2; - - public static void Scale(Texture2D tex, int newWidth, int newHeight) - { - texColors = tex.GetPixels(); - newColors = new Color[newWidth * newHeight]; - ratioX = 1.0f / ((float)newWidth / (tex.width - 1)); - ratioY = 1.0f / ((float)newHeight / (tex.height - 1)); - w = tex.width; - w2 = newWidth; - - BilinearScale(0, newHeight); - - tex.Resize(newWidth, newHeight); - tex.SetPixels(newColors); - tex.Apply(); - } - - private static void BilinearScale(int start, int end) - { - for (var y = start; y < end; y++) - { - int yFloor = (int)Mathf.Floor(y * ratioY); - var y1 = yFloor * w; - var y2 = (yFloor + 1) * w; - var yw = y * w2; - - for (var x = 0; x < w2; x++) - { - int xFloor = (int)Mathf.Floor(x * ratioX); - var xLerp = x * ratioX - xFloor; - newColors[yw + x] = ColorLerpUnclamped(ColorLerpUnclamped(texColors[y1 + xFloor], texColors[y1 + xFloor + 1], xLerp), - ColorLerpUnclamped(texColors[y2 + xFloor], texColors[y2 + xFloor + 1], xLerp), - y * ratioY - yFloor); - } - } - } - - private static Color ColorLerpUnclamped(Color c1, Color c2, float value) - { - return new Color(c1.r + (c2.r - c1.r) * value, - c1.g + (c2.g - c1.g) * value, - c1.b + (c2.b - c1.b) * value, - c1.a + (c2.a - c1.a) * value); - } - - /// http://light11.hatenadiary.com/entry/2018/04/19/194015 - public static Texture2D GetResized(Texture2D texture, int width, int height) - { - // リサイズ後のサイズを持つRenderTextureを作成して書き込む - var rt = RenderTexture.GetTemporary(width, height); - Graphics.Blit(texture, rt); - - // リサイズ後のサイズを持つTexture2Dを作成してRenderTextureから書き込む - var preRT = RenderTexture.active; - RenderTexture.active = rt; - var ret = new Texture2D(width, height); - ret.ReadPixels(new Rect(0, 0, width, height), 0, 0); - ret.Apply(); - RenderTexture.active = preRT; - - RenderTexture.ReleaseTemporary(rt); - return ret; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeClipEditorHelper.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeClipEditorHelper.cs.meta deleted file mode 100644 index 173dc5c..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeClipEditorHelper.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: fcb56a7eb1db73c4cb9ea1689635b246 -timeCreated: 1541144400 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeClipSelector.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeClipSelector.cs deleted file mode 100644 index c3853c3..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeClipSelector.cs +++ /dev/null @@ -1,99 +0,0 @@ -using System; -using System.Linq; -using UnityEngine; -using UnityEditor; -using System.IO; -using UniGLTF; - -namespace VRM -{ - class BlendShapeClipSelector - { - BlendShapeAvatar m_avatar; - - public BlendShapeClip Selected - { - get - { - if (m_avatar == null || m_avatar.Clips == null) - { - return null; - } - if (m_selectedIndex < 0 || m_selectedIndex >= m_avatar.Clips.Count) - { - return null; - } - return m_avatar.Clips[m_selectedIndex]; - } - } - - int m_selectedIndex; - int SelectedIndex - { - get { return m_selectedIndex; } - set - { - if (m_selectedIndex == value) return; - m_selectedIndex = value; - if (m_onSelected != null) - { - m_onSelected(Selected); - } - } - } - - Action m_onSelected; - - public BlendShapeClipSelector(BlendShapeAvatar avatar, Action onSelected) - { - avatar.RemoveNullClip(); - - m_avatar = avatar; - m_onSelected = onSelected; - - onSelected(Selected); - } - - public void SelectGUI() - { - if (m_avatar != null && m_avatar.Clips != null) - { - EditorGUILayout.Space(); - EditorGUILayout.LabelField("Select BlendShapeClip", EditorStyles.boldLabel); - var array = m_avatar.Clips - .Select(x => x != null - ? BlendShapeKey.CreateFrom(x).ToString() - : "null" - ).ToArray(); - SelectedIndex = GUILayout.SelectionGrid(SelectedIndex, array, 4); - } - - if (GUILayout.Button("Add BlendShapeClip")) - { - var dir = Path.GetDirectoryName(AssetDatabase.GetAssetPath(m_avatar)); - var path = EditorUtility.SaveFilePanel( - "Create BlendShapeClip", - dir, - string.Format("BlendShapeClip#{0}.asset", m_avatar.Clips.Count), - "asset"); - if (!string.IsNullOrEmpty(path)) - { - var clip = BlendShapeAvatar.CreateBlendShapeClip(path.ToUnityRelativePath()); - //clip.Prefab = AssetDatabase.LoadAssetAtPath(AssetDatabase.GetAssetPath(target)); - - m_avatar.Clips.Add(clip); - } - } - } - - public void DuplicateWarn() - { - var key = BlendShapeKey.CreateFrom(Selected); - if (m_avatar.Clips.Where(x => key.Match(x)).Count() > 1) - { - EditorGUILayout.HelpBox("duplicate clip: " + key, MessageType.Error); - } - } - } - -} \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeClipSelector.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeClipSelector.cs.meta deleted file mode 100644 index b598586..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/BlendShapeClipSelector.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 7842ed7a65c676740aa02678316dd625 -timeCreated: 1541138009 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/PreviewEditor.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/PreviewEditor.cs deleted file mode 100644 index 113a463..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/PreviewEditor.cs +++ /dev/null @@ -1,271 +0,0 @@ -using UnityEditor; -using UnityEngine; -using UnityEditorInternal; -using System; -using System.Linq; -using System.Collections.Generic; - -namespace VRM -{ - /// - /// Prefabをインスタンス化してPreviewに表示する - /// - /// * https://github.com/Unity-Technologies/UnityCsReference/blob/11bcfd801fccd2a52b09bb6fd636c1ddcc9f1705/Editor/Mono/Inspector/ModelInspector.cs - /// - /// - public abstract class PreviewEditor : Editor - { - /// - /// PreviewRenderUtilityを管理する。 - /// - /// * PreviewRenderUtility.m_cameraのUnityVersionによる切り分け - /// - /// - PreviewFaceRenderer m_renderer; - - /// - /// Prefabをインスタンス化したシーンを管理する。 - /// - /// * BlendShapeのBake - /// * MaterialMorphの適用 - /// * Previewカメラのコントロール - /// * Previewライティングのコントロール - /// - /// - PreviewSceneManager m_scene; - protected PreviewSceneManager PreviewSceneManager - { - get { return m_scene; } - } - - /// - /// Previewシーンに表示するPrefab - /// - GameObject m_prefab; - protected GameObject Prefab - { - get { return m_prefab; } - private set - { - if (m_prefab == value) return; - - //Debug.LogFormat("Prefab = {0}", value); - m_prefab = value; - - if (m_scene != null) - { - //Debug.LogFormat("OnDestroy"); - GameObject.DestroyImmediate(m_scene.gameObject); - m_scene = null; - } - - if (m_prefab != null) - { - m_scene = VRM.PreviewSceneManager.GetOrCreate(m_prefab); - if (m_scene != null) - { - m_scene.gameObject.SetActive(false); - } - - Bake(); - } - } - } - - protected abstract PreviewSceneManager.BakeValue GetBakeValue(); - - /// - /// Preview シーンに BlendShape と MaterialValue を適用する - /// - protected void Bake() - { - if (m_scene != null) - { - //Debug.Log("Bake"); - m_scene.Bake(GetBakeValue()); - } - } - - protected virtual GameObject GetPrefab() - { - var assetPath = AssetDatabase.GetAssetPath(target); - if (string.IsNullOrEmpty(assetPath)) - { - return null; - } - - var prefab = AssetDatabase.LoadAssetAtPath(assetPath); - if (prefab == null) - { - var parent = UniGLTF.UnityPath.FromUnityPath(assetPath).Parent; - var prefabPath = parent.Parent.Child(parent.FileNameWithoutExtension + ".prefab"); - prefab = UnityEditor.AssetDatabase.LoadAssetAtPath(prefabPath.Value); - } - return prefab; - } - - protected virtual void OnEnable() - { - m_renderer = new PreviewFaceRenderer(); - - Prefab = GetPrefab(); - } - - protected virtual void OnDisable() - { - if (m_renderer != null) - { - m_renderer.Dispose(); - m_renderer = null; - } - } - - protected virtual void OnDestroy() - { - if (m_scene != null) - { - //Debug.LogFormat("OnDestroy"); - m_scene.Clean(); - GameObject.DestroyImmediate(m_scene.gameObject); - m_scene = null; - } - } - - protected static void Separator() - { - EditorGUILayout.Space(); - EditorGUILayout.BeginHorizontal(); - //GUILayout.Space(); - GUILayout.Box("", GUILayout.ExpandWidth(true), GUILayout.Height(1)); - EditorGUILayout.EndHorizontal(); - EditorGUILayout.Space(); - } - - public override void OnInspectorGUI() - { - //base.OnInspectorGUI(); - - Prefab = (GameObject)EditorGUILayout.ObjectField("Preview Prefab", Prefab, typeof(GameObject), false); - - //Separator(); - } - - private static int sliderHash = "Slider".GetHashCode(); - float m_yaw = 180.0f; - float m_pitch; - Vector3 m_position = new Vector3(0, 0, -0.8f); - - // very important to override this, it tells Unity to render an ObjectPreview at the bottom of the inspector - public override bool HasPreviewGUI() { return true; } - - public RenderTexture PreviewTexture; - - // the main ObjectPreview function... it's called constantly, like other IMGUI On*GUI() functions - public override void OnPreviewGUI(Rect r, GUIStyle background) - { - // if this is happening, you have bigger problems - if (!ShaderUtil.hardwareSupportsRectRenderTexture) - { - if (Event.current.type == EventType.Repaint) - { - EditorGUI.DropShadowLabel(new Rect(r.x, r.y, r.width, 40f), - "Mesh preview requires\nrender texture support"); - } - return; - } - - var src = r; - - var min = Mathf.Min(r.width, r.height); - r.width = min; - r.height = min; - r.x = src.x + (src.width - min) / 2; - r.y = src.y + (src.height - min) / 2; - - //previewDir = Drag2D(previewDir, r); - { - int controlId = GUIUtility.GetControlID(sliderHash, FocusType.Passive); - Event e = Event.current; - switch (e.GetTypeForControl(controlId)) - { - case EventType.MouseDown: - if (r.Contains(e.mousePosition) && (double)r.width > 50.0) - { - GUIUtility.hotControl = controlId; - e.Use(); - EditorGUIUtility.SetWantsMouseJumping(1); - break; - } - break; - - case EventType.MouseUp: - if (GUIUtility.hotControl == controlId) - GUIUtility.hotControl = 0; - EditorGUIUtility.SetWantsMouseJumping(0); - break; - - case EventType.MouseDrag: - if (GUIUtility.hotControl == controlId) - { - if (e.button == 2) - { - var shift = e.delta * (!e.shift ? 1f : 3f) / Mathf.Min(r.width, r.height); - m_position.x -= shift.x; - m_position.y += shift.y; - e.Use(); - GUI.changed = true; - } - else if ( - e.button == 0 || - e.button == 1) - { - var shift = e.delta * (!e.shift ? 1f : 3f) / Mathf.Min(r.width, r.height) * 140f; - m_yaw += shift.x; - m_pitch += shift.y; - m_pitch = Mathf.Clamp(m_pitch, -90f, 90f); - e.Use(); - GUI.changed = true; - } - break; - } - break; - - case EventType.ScrollWheel: - //Debug.LogFormat("wheel: {0}", current.delta); - if (r.Contains(e.mousePosition)) - { - if (e.delta.y > 0) - { - m_position.z *= 1.1f; - Repaint(); - } - else if (e.delta.y < 0) - { - m_position.z *= 0.9f; - Repaint(); - } - } - break; - } - //return scrollPosition; - } - //Debug.LogFormat("{0}", previewDir); - - if (Event.current.type != EventType.Repaint) - { - // if we don't need to update yet, then don't - return; - } - - if (m_renderer != null && m_scene != null) - { - PreviewTexture = m_renderer.Render(r, background, m_scene, m_yaw, m_pitch, m_position) as RenderTexture; - if (PreviewTexture != null) - { - // draw the RenderTexture in the ObjectPreview pane - GUI.DrawTexture(r, PreviewTexture, ScaleMode.StretchToFill, false); - } - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/PreviewEditor.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/PreviewEditor.cs.meta deleted file mode 100644 index 49dab87..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/PreviewEditor.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 3eee31718196e8e41a491f9a4f650ac7 -timeCreated: 1523201293 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/PreviewFaceRenderer.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/PreviewFaceRenderer.cs deleted file mode 100644 index 19b3cdc..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/PreviewFaceRenderer.cs +++ /dev/null @@ -1,159 +0,0 @@ -using System; -using UnityEditor; -using UnityEngine; - - -namespace VRM -{ - /// - /// based - /// - /// * https://gist.github.com/radiatoryang/a2282d44ba71848e498bb2e03da98991 - /// - - /// - /// PreviewRenderUtilityを管理する - /// PreviewSceneをレンダリングする - /// - public class PreviewFaceRenderer : IDisposable - { - PreviewRenderUtility m_previewUtility; - public Camera PreviewCamera - { - get - { -#if UNITY_2017_1_OR_NEWER - return m_previewUtility.camera; -#else - return m_previewUtility.m_Camera; -#endif - } - } - - public Light[] PreviewLights - { - get - { -#if UNITY_2017_1_OR_NEWER - return m_previewUtility.lights; -#else - return m_previewUtility.m_Light; -#endif - } - } - - public void SetAmbientColor(Color color) - { -#if UNITY_2017_1_OR_NEWER - m_previewUtility.ambientColor = color; -#else - // ? -#endif - } - - public PreviewFaceRenderer() - { - m_previewUtility = new PreviewRenderUtility(); - - PreviewLights[0].intensity = 1.4f; - PreviewLights[0].transform.rotation = Quaternion.Euler(40f, 190f, 0); - PreviewLights[1].intensity = 1.4f; - - SetAmbientColor(new Color(.1f, .1f, .1f, 0)); - } - - class FogScope : IDisposable - { - bool fog; - - public FogScope() - { - fog = RenderSettings.fog; // ... let's remember the current fog setting... - // we are technically rendering everything in the scene, so scene fog might affect it... - Unsupported.SetRenderSettingsUseFogNoDirty(false); // ... and then temporarily turn it off - } - - public void Dispose() - { - Unsupported.SetRenderSettingsUseFogNoDirty(fog); - } - } - - //const float FACTOR = 0.1f; - - public Texture Render(Rect r, GUIStyle background, PreviewSceneManager scene, - float yaw, float pitch, Vector3 position) - { - if (scene == null) return null; - - using (var fog = new FogScope()) - { - m_previewUtility.BeginPreview(r, background); // set up the PreviewRenderUtility's mini internal scene - - // setup the ObjectPreview's camera - scene.SetupCamera(PreviewCamera, scene.TargetPosition, yaw, pitch, position); - - foreach (var item in scene.EnumRenderItems) - { - // now, actually render out the RenderTexture - //RenderMeshPreview(previewMesh, skinMeshRender.sharedMaterials); - // submesh support, in case the mesh is made of multiple parts - int subMeshCount = item.Mesh.subMeshCount; - for (int i = 0; i < subMeshCount; i++) - { - m_previewUtility.DrawMesh(item.Mesh, - item.Position, item.Rotation, - item.Materials[i], i); - } - } - - // VERY IMPORTANT: this manually tells the camera to render and produce the render texture - PreviewCamera.Render(); - //m_previewUtility.Render(false, false); - - // reset the scene's fog from before - return m_previewUtility.EndPreview(); - } - } - - #region IDisposable Support - private bool disposedValue = false; // 重複する呼び出しを検出するには - - protected virtual void Dispose(bool disposing) - { - if (!disposedValue) - { - if (disposing) - { - // TODO: マネージ状態を破棄します (マネージ オブジェクト)。 - if (this.m_previewUtility != null) - { - this.m_previewUtility.Cleanup(); - this.m_previewUtility = null; - } - } - - // TODO: アンマネージ リソース (アンマネージ オブジェクト) を解放し、下のファイナライザーをオーバーライドします。 - // TODO: 大きなフィールドを null に設定します。 - - disposedValue = true; - } - } - - // TODO: 上の Dispose(bool disposing) にアンマネージ リソースを解放するコードが含まれる場合にのみ、ファイナライザーをオーバーライドします。 - // ~PreviewFaceRenderer() { - // // このコードを変更しないでください。クリーンアップ コードを上の Dispose(bool disposing) に記述します。 - // Dispose(false); - // } - - // このコードは、破棄可能なパターンを正しく実装できるように追加されました。 - public void Dispose() - { - // このコードを変更しないでください。クリーンアップ コードを上の Dispose(bool disposing) に記述します。 - Dispose(true); - // TODO: 上のファイナライザーがオーバーライドされる場合は、次の行のコメントを解除してください。 - // GC.SuppressFinalize(this); - } - #endregion - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/PreviewFaceRenderer.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/PreviewFaceRenderer.cs.meta deleted file mode 100644 index 4c49174..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/PreviewFaceRenderer.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: b59705d1618086148b505c2c3d9f1992 -timeCreated: 1522931965 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/SerializedBlendShapeClipEditor.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/SerializedBlendShapeClipEditor.cs deleted file mode 100644 index 1711229..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/SerializedBlendShapeClipEditor.cs +++ /dev/null @@ -1,309 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using UnityEditor; -using UnityEditorInternal; -using UnityEngine; - -namespace VRM -{ - public class SerializedBlendShapeEditor - { - BlendShapeClip m_targetObject; - - SerializedObject m_serializedObject; - - #region Properties - SerializedProperty m_thumbnail; - SerializedProperty m_blendShapeNameProp; - SerializedProperty m_presetProp; - - SerializedProperty m_isBinaryProp; - #endregion - - #region BlendShapeBind - public static int BlendShapeBindingHeight = 60; - ReorderableList m_ValuesList; - - SerializedProperty m_valuesProp; - #endregion - - #region MaterialValueBind - const int MaterialValueBindingHeight = 90; - ReorderableList m_MaterialValuesList; - - SerializedProperty m_materialsProp; - #endregion - - #region Editor values - //float m_previewSlider = 1.0f; - - bool m_changed; - - int m_mode; - static string[] MODES = new[]{ - "BlendShape", - "BlendShape List", - "Material List" - }; - - MeshPreviewItem[] m_items; - #endregion - - public SerializedBlendShapeEditor(SerializedObject serializedObject, - PreviewSceneManager previewSceneManager) : this( - serializedObject, (BlendShapeClip)serializedObject.targetObject, previewSceneManager) - { } - - public SerializedBlendShapeEditor(BlendShapeClip blendShapeClip, - PreviewSceneManager previewSceneManager) : this( - new SerializedObject(blendShapeClip), blendShapeClip, previewSceneManager) - { } - - public SerializedBlendShapeEditor(SerializedObject serializedObject, BlendShapeClip targetObject, - PreviewSceneManager previewSceneManager) - { - this.m_serializedObject = serializedObject; - this.m_targetObject = targetObject; - - //m_thumbnail = serializedObject.FindProperty("Thumbnail"); - m_blendShapeNameProp = serializedObject.FindProperty("BlendShapeName"); - m_presetProp = serializedObject.FindProperty("Preset"); - m_isBinaryProp = serializedObject.FindProperty("IsBinary"); - - m_valuesProp = serializedObject.FindProperty("Values"); - - m_ValuesList = new ReorderableList(serializedObject, m_valuesProp); - m_ValuesList.elementHeight = BlendShapeBindingHeight; - m_ValuesList.drawElementCallback = - (rect, index, isActive, isFocused) => - { - var element = m_valuesProp.GetArrayElementAtIndex(index); - rect.height -= 4; - rect.y += 2; - if (BlendShapeClipEditorHelper.DrawBlendShapeBinding(rect, element, previewSceneManager)) - { - m_changed = true; - } - }; - - m_materialsProp = serializedObject.FindProperty("MaterialValues"); - m_MaterialValuesList = new ReorderableList(serializedObject, m_materialsProp); - m_MaterialValuesList.elementHeight = MaterialValueBindingHeight; - m_MaterialValuesList.drawElementCallback = - (rect, index, isActive, isFocused) => - { - var element = m_materialsProp.GetArrayElementAtIndex(index); - rect.height -= 4; - rect.y += 2; - if (BlendShapeClipEditorHelper.DrawMaterialValueBinding(rect, element, previewSceneManager)) - { - m_changed = true; - } - }; - - m_items = previewSceneManager.EnumRenderItems - .Where(x => x.SkinnedMeshRenderer != null) - .ToArray(); - } - - public struct DrawResult - { - public bool Changed; - - public BlendShapeBinding[] BlendShapeBindings; - - public MaterialValueBinding[] MaterialValueBindings; - } - - public DrawResult Draw() - { - m_changed = false; - - m_serializedObject.Update(); - - // Readonly のBlendShapeClip参照 - GUI.enabled = false; - EditorGUILayout.ObjectField("Current clip", - m_targetObject, typeof(BlendShapeClip), false); - GUI.enabled = true; - - EditorGUILayout.PropertyField(m_blendShapeNameProp, true); - EditorGUILayout.PropertyField(m_presetProp, true); - - // v0.45 Added. Binary flag - EditorGUILayout.PropertyField(m_isBinaryProp, true); - - EditorGUILayout.Space(); - //m_mode = EditorGUILayout.Popup("SourceType", m_mode, MODES); - m_mode = GUILayout.Toolbar(m_mode, MODES); - switch (m_mode) - { - case 0: - { - ClipGUI(); - } - break; - - case 1: - { - if (GUILayout.Button("Clear")) - { - m_changed = true; - m_valuesProp.arraySize = 0; - } - m_ValuesList.DoLayoutList(); - } - break; - - case 2: - { - if (GUILayout.Button("Clear")) - { - m_changed = true; - m_materialsProp.arraySize = 0; - } - m_MaterialValuesList.DoLayoutList(); - } - break; - } - - m_serializedObject.ApplyModifiedProperties(); - - return new DrawResult - { - Changed = m_changed, - BlendShapeBindings = m_targetObject.Values, - MaterialValueBindings = m_targetObject.MaterialValues - }; - } - - void ClipGUI() - { - var changed = BlendShapeBindsGUI(); - if (changed) - { - string maxWeightName; - var bindings = GetBindings(out maxWeightName); - m_valuesProp.ClearArray(); - m_valuesProp.arraySize = bindings.Length; - for (int i = 0; i < bindings.Length; ++i) - { - var item = m_valuesProp.GetArrayElementAtIndex(i); - - var endProperty = item.GetEndProperty(); - while (item.NextVisible(true)) - { - if (SerializedProperty.EqualContents(item, endProperty)) - { - break; - } - - switch (item.name) - { - case "RelativePath": - item.stringValue = bindings[i].RelativePath; - break; - - case "Index": - item.intValue = bindings[i].Index; - break; - - case "Weight": - item.floatValue = bindings[i].Weight; - break; - - default: - throw new Exception(); - } - } - } - - m_changed = true; - } - } - - List m_meshFolds = new List(); - bool BlendShapeBindsGUI() - { - bool changed = false; - int foldIndex = 0; - // すべてのSkinnedMeshRendererを列挙する - foreach (var renderer in m_items.Select(x => x.SkinnedMeshRenderer)) - { - var mesh = renderer.sharedMesh; - if (mesh != null && mesh.blendShapeCount > 0) - { - //var relativePath = UniGLTF.UnityExtensions.RelativePathFrom(renderer.transform, m_target.transform); - //EditorGUILayout.LabelField(m_target.name + "/" + item.Path); - - if (foldIndex >= m_meshFolds.Count) - { - m_meshFolds.Add(false); - } - m_meshFolds[foldIndex] = EditorGUILayout.Foldout(m_meshFolds[foldIndex], renderer.name); - if (m_meshFolds[foldIndex]) - { - //EditorGUI.indentLevel += 1; - for (int i = 0; i < mesh.blendShapeCount; ++i) - { - var src = renderer.GetBlendShapeWeight(i); - var dst = EditorGUILayout.Slider(mesh.GetBlendShapeName(i), src, 0, 100.0f); - if (dst != src) - { - renderer.SetBlendShapeWeight(i, dst); - changed = true; - } - } - //EditorGUI.indentLevel -= 1; - } - ++foldIndex; - } - } - return changed; - } - - BlendShapeBinding[] GetBindings(out string _maxWeightName) - { - var maxWeight = 0.0f; - var maxWeightName = ""; - // weightのついたblendShapeを集める - var values = m_items - .SelectMany(x => - { - var mesh = x.SkinnedMeshRenderer.sharedMesh; - - var relativePath = x.Path; - - var list = new List(); - if (mesh != null) - { - for (int i = 0; i < mesh.blendShapeCount; ++i) - { - var weight = x.SkinnedMeshRenderer.GetBlendShapeWeight(i); - if (weight == 0) - { - continue; - } - var name = mesh.GetBlendShapeName(i); - if (weight > maxWeight) - { - maxWeightName = name; - maxWeight = weight; - } - list.Add(new BlendShapeBinding - { - Index = i, - RelativePath = relativePath, - Weight = weight - }); - } - } - return list; - }).ToArray() - ; - _maxWeightName = maxWeightName; - return values; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/SerializedBlendShapeClipEditor.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/SerializedBlendShapeClipEditor.cs.meta deleted file mode 100644 index 209e1f5..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/SerializedBlendShapeClipEditor.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: eaafa3ff7bf991642b922e6af7ecbbc0 -timeCreated: 1541081003 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/VRMBlnedShapeProxyEditor.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/VRMBlnedShapeProxyEditor.cs deleted file mode 100644 index 8888c7d..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/VRMBlnedShapeProxyEditor.cs +++ /dev/null @@ -1,71 +0,0 @@ -using System.Collections.Generic; -using UnityEditor; -using UnityEngine; -using System.Linq; - - -namespace VRM -{ - [CustomEditor(typeof(VRMBlendShapeProxy))] - public class VRMBlnedShapeProxyEditor : Editor - { - VRMBlendShapeProxy m_target; - SkinnedMeshRenderer[] m_renderers; - - public class BlendShapeSlider - { - VRMBlendShapeProxy m_target; - BlendShapeKey m_key; - - public BlendShapeSlider(VRMBlendShapeProxy target, BlendShapeKey key) - { - m_target = target; - m_key = key; - } - - public KeyValuePair Slider() - { - var oldValue = m_target.GetValue(m_key); - var enable = GUI.enabled; - GUI.enabled = Application.isPlaying; - var newValue = EditorGUILayout.Slider(m_key.ToString(), oldValue, 0, 1.0f); - GUI.enabled = enable; - return new KeyValuePair(m_key, newValue); - } - } - List m_sliders; - - void OnEnable() - { - m_target = (VRMBlendShapeProxy)target; - if (m_target.BlendShapeAvatar != null && m_target.BlendShapeAvatar.Clips != null) - { - m_sliders = m_target.BlendShapeAvatar.Clips - .Where(x => x != null) - .Select(x => new BlendShapeSlider(m_target, BlendShapeKey.CreateFrom(x))) - .ToList() - ; - } - } - - public override void OnInspectorGUI() - { - base.OnInspectorGUI(); - - if (!Application.isPlaying) - { - EditorGUILayout.HelpBox("Enable when playing", MessageType.Info); - } - - if (m_target.BlendShapeAvatar == null) - { - return; - } - - if (m_sliders != null) - { - m_target.SetValues(m_sliders.Select(x => x.Slider())); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/VRMBlnedShapeProxyEditor.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/VRMBlnedShapeProxyEditor.cs.meta deleted file mode 100644 index 7d4c209..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/BlendShape/VRMBlnedShapeProxyEditor.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 0f9ca53e9d292ce48a7e6449a03734a9 -timeCreated: 1517819499 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/FirstPerson.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/FirstPerson.meta deleted file mode 100644 index 0f8b788..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/FirstPerson.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e83fb8a046b315a46ac52db31cd9adb4 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/FirstPerson/RendererFirstPersonFlagsDrawer.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/FirstPerson/RendererFirstPersonFlagsDrawer.cs deleted file mode 100644 index 9a27870..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/FirstPerson/RendererFirstPersonFlagsDrawer.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEditor; -using UnityEngine; - - -namespace VRM -{ - [CustomPropertyDrawer(typeof(VRMFirstPerson.RendererFirstPersonFlags))] - public class RendererFirstPersonFlagsDrawer : PropertyDrawer - { - static Rect LeftSide(Rect position, float width) - { - return new Rect(position.x, position.y, position.width-width, position.height); - } - static Rect RightSide(Rect position, float width) - { - return new Rect(position.x + (position.width-width), position.y, width, position.height); - } - - public override void OnGUI(Rect position, - SerializedProperty property, GUIContent label) - { - var rendererProp = property.FindPropertyRelative("Renderer"); - var flagProp = property.FindPropertyRelative("FirstPersonFlag"); - - const float WIDTH = 140.0f; - EditorGUI.PropertyField(LeftSide(position, WIDTH), rendererProp, new GUIContent(""), true); - EditorGUI.PropertyField(RightSide(position, WIDTH), flagProp, new GUIContent(""), true); - } - - /* - public override float GetPropertyHeight(SerializedProperty property, - GUIContent label) - { - return 60.0f; - } - */ - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/FirstPerson/RendererFirstPersonFlagsDrawer.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/FirstPerson/RendererFirstPersonFlagsDrawer.cs.meta deleted file mode 100644 index b75e211..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/FirstPerson/RendererFirstPersonFlagsDrawer.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: ddbc54a3a83438841a744bf50b34ebb9 -timeCreated: 1520848617 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/FirstPerson/VRMFirstPersonEditor.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/FirstPerson/VRMFirstPersonEditor.cs deleted file mode 100644 index a1d4a14..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/FirstPerson/VRMFirstPersonEditor.cs +++ /dev/null @@ -1,28 +0,0 @@ -using UnityEditor; - - -namespace VRM -{ - [CustomEditor(typeof(VRMFirstPerson))] - class VRMFirstPersonEditor : Editor - { - void OnSceneGUI() - { - var component = target as VRMFirstPerson; - - var head = component.FirstPersonBone; - if (head == null) - { - return; - } - - - var worldOffset = head.localToWorldMatrix.MultiplyPoint(component.FirstPersonOffset); - worldOffset = Handles.PositionHandle(worldOffset, head.rotation); - - Handles.Label(worldOffset, "FirstPersonOffset"); - - component.FirstPersonOffset = head.worldToLocalMatrix.MultiplyPoint(worldOffset); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/FirstPerson/VRMFirstPersonEditor.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/FirstPerson/VRMFirstPersonEditor.cs.meta deleted file mode 100644 index 3af9542..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/FirstPerson/VRMFirstPersonEditor.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: e68be7adce7f09d4287af62a2bac63d7 -timeCreated: 1545891764 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format.meta deleted file mode 100644 index 3e48d99..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c87692499510c324dae42be39fe1f6c5 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMAssetWriter.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMAssetWriter.cs deleted file mode 100644 index c1a359a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMAssetWriter.cs +++ /dev/null @@ -1,214 +0,0 @@ -#if false -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using UniGLTF; -using UnityEditor; -using UnityEngine; - - -namespace VRM -{ - public static class VRMAssetWriter - { - interface ISubAssetWriter - { - void WriteIfHas(GameObject go); - } - - class SubAssetWriter: ISubAssetWriter where T : UnityEngine.Object - { - HashSet m_set = new HashSet(); - - String m_assetPath; - public delegate IEnumerable GetterFunc(GameObject go); - GetterFunc m_getter; - public SubAssetWriter(string assetPath, GetterFunc getter) - { - m_assetPath = assetPath; - m_getter = getter; - } - - public void WriteIfHas(GameObject go) - { - foreach(var o in m_getter(go)) - { - if (!m_set.Contains(o)) - { - AssetDatabase.AddObjectToAsset(o, m_assetPath); - m_set.Add(o); - } - } - } - } - - static IEnumerable GetMeshs(GameObject go) - { - var skinnedMesh = go.GetComponent(); - if (skinnedMesh != null) - { - yield return skinnedMesh.sharedMesh; - } - - var filter = go.GetComponent(); - if (filter != null) - { - yield return filter.sharedMesh; - } - } - - static IEnumerable GetMaterials(GameObject go) - { - var renderer = go.GetComponent(); - if (renderer != null) - { - return renderer.sharedMaterials; - } - else - { - return Enumerable.Empty(); - } - } - - static IEnumerable GetTextures(GameObject go) - { - foreach (var m in GetMaterials(go)) - { - foreach(Texture2D x in m.GetTextures()) - { - if (x != null) - { - yield return x; - } - } - } - } - - static IEnumerable GetAvatars(GameObject go) - { - var animator = go.GetComponent(); - if(animator!=null && animator.avatar != null) - { - yield return animator.avatar; - } - } - - static IEnumerable GetBlendShapeClips(GameObject go) - { - var proxy = go.GetComponent(); - if (proxy != null && proxy.BlendShapeAvatar != null) - { - return proxy.BlendShapeAvatar.Clips; - } - else - { - return Enumerable.Empty(); - } - } - - static IEnumerable GetBlendShapeAvatars(GameObject go) - { - var proxy = go.GetComponent(); - if (proxy != null && proxy.BlendShapeAvatar != null) - { - yield return proxy.BlendShapeAvatar; - } - } - - static IEnumerable GetAvatarDecriptions(GameObject go) - { - var humanoid = go.GetComponent(); - if (humanoid!=null && humanoid.Description != null) - { - yield return humanoid.Description; - } - else - { - var animator = go.GetComponent(); - if(animator!=null && animator.avatar) - { - var description= UniHumanoid.AvatarDescription.CreateFrom(animator.avatar); - if (description != null) - { - description.name = "AvatarDescription"; - yield return description; - } - } - } - } - - static IEnumerable GetThumbnails(GameObject go) - { - var meta = go.GetComponent(); - if (meta != null && meta.Thumbnail != null) - { - yield return meta.Thumbnail; - } - } - - static IEnumerable GetSubAssets(String prefabPath) - { - return AssetDatabase.LoadAllAssetsAtPath(prefabPath); - } - - public static void SaveAsPrefab(GameObject root, String path) - { - var prefabPath = path.ToUnityRelativePath(); - Debug.LogFormat("SaveAsPrefab: {0}", prefabPath); - - // clear subassets - if (File.Exists(prefabPath)) - { - //Debug.LogFormat("Exist: {0}", m_prefabPath); - - // clear subassets - foreach (var x in GetSubAssets(prefabPath)) - { - if (x is Transform - || x is GameObject) - { - continue; - } - GameObject.DestroyImmediate(x, true); - } - } - - // add subassets - var writers = new ISubAssetWriter[]{ - new SubAssetWriter(prefabPath, GetTextures), - new SubAssetWriter(prefabPath, GetMaterials), - new SubAssetWriter(prefabPath, GetMeshs), - new SubAssetWriter(prefabPath, GetAvatars), - // VRM Objects - new SubAssetWriter(prefabPath, GetBlendShapeClips), - new SubAssetWriter(prefabPath, GetBlendShapeAvatars), - new SubAssetWriter(prefabPath, GetAvatarDecriptions), - new SubAssetWriter(prefabPath, GetThumbnails), - }; - foreach (var x in root.transform.Traverse()) - { - foreach (var writer in writers) - { - writer.WriteIfHas(x.gameObject); - } - } - - /// - /// create prefab, after subasset AssetDatabase.AddObjectToAsset - /// - if (File.Exists(prefabPath)) - { - //Debug.LogFormat("ReplacePrefab: {0}", m_prefabPath); - var prefab = AssetDatabase.LoadAssetAtPath(prefabPath); - PrefabUtility.ReplacePrefab(root, prefab, ReplacePrefabOptions.ConnectToPrefab); - } - else - { - //Debug.LogFormat("CreatePrefab: {0}", m_prefabPath); - PrefabUtility.CreatePrefab(prefabPath, root, ReplacePrefabOptions.ConnectToPrefab); - } - } - } -} -#endif \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMAssetWriter.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMAssetWriter.cs.meta deleted file mode 100644 index 264ff80..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMAssetWriter.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 8b409aa5d363b9948995cc00f7f1a0d0 -timeCreated: 1520241647 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMExportObjectEditor.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMExportObjectEditor.cs deleted file mode 100644 index 76896cf..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMExportObjectEditor.cs +++ /dev/null @@ -1,101 +0,0 @@ -using System; -using UnityEditor; -using UnityEngine; - - -namespace VRM -{ - [CustomEditor(typeof(VRMExportObject))] - public class VRMExportObjectEditor : Editor - { - SerializedProperty m_settings; - VRMExportObject m_target; - - void OnEnable() - { - m_target = target as VRMExportObject; - m_settings = serializedObject.FindProperty("Settings"); - } - - public override void OnInspectorGUI() - { - // - // Editor - // - serializedObject.Update(); - - var before = m_target.Settings.Source; - - EditorGUILayout.PropertyField(m_settings, true); - serializedObject.ApplyModifiedProperties(); - - // - // - // - var after = m_target.Settings.Source; - if (before != after) - { - m_target.Settings.InitializeFrom(after as GameObject); - } - - bool canExport = m_target.Settings.Source != null; - foreach (var msg in m_target.Settings.CanExport()) - { - canExport = false; - EditorGUILayout.HelpBox(msg, MessageType.Error); - } - - if (canExport) - { - if (GUILayout.Button("Export")) - { - var path = EditorUtility.SaveFilePanel( - "Save vrm", - null,//Dir, - m_target.Settings.Source.name + ".vrm", - "vrm"); - if (!string.IsNullOrEmpty(path)) - { - var target = m_target; - EditorApplication.delayCall += () => - { - target.Settings.Export(path); - }; - } - } - } - } - - class DisposableInstance : IDisposable - { - GameObject m_go; - public GameObject GameObject - { - get - { - return m_go; - } - } - - public DisposableInstance(GameObject prefab) - { - m_go = GameObject.Instantiate(prefab); - } - - public void Dispose() - { - if (m_go != null) - { - if (Application.isPlaying) - { - GameObject.Destroy(m_go); - } - else - { - GameObject.DestroyImmediate(m_go); - } - } - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMExportObjectEditor.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMExportObjectEditor.cs.meta deleted file mode 100644 index 9a7ef2b..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMExportObjectEditor.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 01708ecf1aa756948be6996d987684a7 -timeCreated: 1532063961 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMExporterMenu.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMExporterMenu.cs deleted file mode 100644 index a172a48..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMExporterMenu.cs +++ /dev/null @@ -1,90 +0,0 @@ -using System.Text; -using UnityEditor; -using UnityEngine; - - -namespace VRM -{ - public class VRMExporterWizard : ScriptableWizard - { - const string EXTENSION = ".vrm"; - - VRMMeta m_meta; - - public VRMExportSettings m_settings = new VRMExportSettings(); - - public static void CreateWizard() - { - var wiz = ScriptableWizard.DisplayWizard( - "VRM Exporter", "Export"); - var go = Selection.activeObject as GameObject; - - // update checkbox - wiz.m_settings.InitializeFrom(go); - - wiz.OnWizardUpdate(); - } - - void OnWizardCreate() - { - // save dialog - var path = EditorUtility.SaveFilePanel( - "Save vrm", - null, - m_settings.Source.name + EXTENSION, - EXTENSION.Substring(1)); - if (string.IsNullOrEmpty(path)) - { - return; - } - - // export - m_settings.Export(path); - } - - void OnWizardUpdate() - { - isValid = true; - var helpBuilder = new StringBuilder(); - var errorBuilder = new StringBuilder(); - - foreach(var msg in m_settings.CanExport()) - { - isValid = false; - errorBuilder.Append(msg); - } - - helpString = helpBuilder.ToString(); - errorString = errorBuilder.ToString(); - } - } - - public static class VRMExporterMenu - { - const string CONVERT_HUMANOID_KEY = VRMVersion.MENU + "/Export humanoid"; - - [MenuItem(CONVERT_HUMANOID_KEY, true, 1)] - private static bool ExportValidate() - { - var root = Selection.activeObject as GameObject; - if (root == null) - { - return false; - } - - var animator = root.GetComponent(); - if (animator == null) - { - return false; - } - - return true; - } - - [MenuItem(CONVERT_HUMANOID_KEY, false, 1)] - private static void ExportFromMenu() - { - VRMExporterWizard.CreateWizard(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMExporterMenu.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMExporterMenu.cs.meta deleted file mode 100644 index ee2067f..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMExporterMenu.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: a8e41aa30fcc76e43ad8588aef8572ea -timeCreated: 1520491195 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMHumanoidNormalizerMenu.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMHumanoidNormalizerMenu.cs deleted file mode 100644 index 53f2f0a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMHumanoidNormalizerMenu.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System.Linq; -using UnityEditor; -using UnityEngine; -using UniGLTF; - - -namespace VRM -{ - public static class VRMHumanoidNorimalizerMenu - { - const string MENU_KEY = VRMVersion.MENU + "/Freeze T-Pose"; - [MenuItem(MENU_KEY, true, 1)] - private static bool ExportValidate() - { - var root = Selection.activeObject as GameObject; - if (root == null) - { - return false; - } - - var animator = root.GetComponent(); - if (animator == null) - { - return false; - } - - var avatar = animator.avatar; - if (avatar == null) - { - return false; - } - - if (!avatar.isValid) - { - return false; - } - - if (!avatar.isHuman) - { - return false; - } - - return true; - } - - [MenuItem(MENU_KEY, false, 1)] - private static void ExportFromMenu() - { - var go = Selection.activeObject as GameObject; - - GameObject normalizedRoot = null; - using (new VRMExportSettings.RecordDisposer(go.transform.Traverse().ToArray(), "before normalize")) - { - var normalized = BoneNormalizer.Execute(go, true, false); - VRMExportSettings.CopyVRMComponents(go, normalized.Root, normalized.BoneMap); - normalizedRoot = normalized.Root; - } - Selection.activeGameObject = normalizedRoot; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMHumanoidNormalizerMenu.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMHumanoidNormalizerMenu.cs.meta deleted file mode 100644 index 619ee09..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMHumanoidNormalizerMenu.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: b3e1aacd7b7e1fb468b3378de03e5629 -timeCreated: 1520488809 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMImporterMenu.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMImporterMenu.cs deleted file mode 100644 index a65e35f..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMImporterMenu.cs +++ /dev/null @@ -1,67 +0,0 @@ -using System.IO; -using UnityEditor; -using UnityEngine; -using UniGLTF; - - -namespace VRM -{ - public static class VRMImporterMenu - { - [MenuItem(VRMVersion.MENU + "/Import", priority = 1)] - static void ImportMenu() - { - var path = EditorUtility.OpenFilePanel("open vrm", "", "vrm"); - if (string.IsNullOrEmpty(path)) - { - return; - } - - if (Application.isPlaying) - { - // load into scene - var context = new VRMImporterContext(); - context.Load(path); - context.ShowMeshes(); - context.EnableUpdateWhenOffscreen(); - Selection.activeGameObject = context.Root; - } - else - { - if (path.StartsWithUnityAssetPath()) - { - Debug.LogWarningFormat("disallow import from folder under the Assets"); - return; - } - - var assetPath = EditorUtility.SaveFilePanel("save prefab", "Assets", Path.GetFileNameWithoutExtension(path), "prefab"); - if (string.IsNullOrEmpty(path)) - { - return; - } - - if (!assetPath.StartsWithUnityAssetPath()) - { - Debug.LogWarningFormat("out of asset path: {0}", assetPath); - return; - } - - // import as asset - var prefabPath = UnityPath.FromUnityPath(assetPath); - var context = new VRMImporterContext(); - context.ParseGlb(File.ReadAllBytes(path)); - context.ExtranctImages(prefabPath); - - EditorApplication.delayCall += () => - { - // - // after textures imported - // - context.Load(); - context.SaveAsAsset(prefabPath); - context.EditorDestroyRoot(); - }; - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMImporterMenu.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMImporterMenu.cs.meta deleted file mode 100644 index 921acdc..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMImporterMenu.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: da5decfeae53a6444977caf85d09bc88 -timeCreated: 1517153624 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMVersionMenu.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMVersionMenu.cs deleted file mode 100644 index 4d95a9a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMVersionMenu.cs +++ /dev/null @@ -1,171 +0,0 @@ -using System; -using System.IO; -using UniGLTF; -using UniJSON; -using UnityEditor; -using UnityEngine; - - -namespace VRM -{ - public static class VRMVersionMenu - { - const string path = "Assets/VRM/UniVRM/Scripts/Format/VRMVersion.cs"; - const string template = @" -namespace VRM -{{ - public static partial class VRMVersion - {{ - public const int MAJOR = {0}; - public const int MINOR = {1}; - public const int PATCH = {2}; - public const string PRE_ID = {3}; - - public const string VERSION = ""{0}.{1}.{2}{4}""; - }} -}} -"; - -#if VRM_DEVELOP - [MenuItem(VRMVersion.MENU + "/Increment")] -#endif - static void IncrementVersion() - { - var source = string.Format( - template, - VRMVersion.MAJOR, - VRMVersion.MINOR + 1, - VRMVersion.PATCH, - VRMVersion.PRE_ID, - VRMVersion.PRE_ID != "" ? string.Format("-{0}", VRMVersion.PRE_ID) : "" - ); - File.WriteAllText(path, source); - AssetDatabase.Refresh(); - } - -#if VRM_DEVELOP - [MenuItem(VRMVersion.MENU + "/Decrement")] -#endif - static void DecrementVersion() - { - var source = string.Format( - template, - VRMVersion.MAJOR, - VRMVersion.MINOR - 1, - VRMVersion.PATCH, - VRMVersion.PRE_ID, - VRMVersion.PRE_ID != "" ? string.Format("-{0}", VRMVersion.PRE_ID) : "" - ); - File.WriteAllText(path, source); - AssetDatabase.Refresh(); - } - - static string GetTitle(ListTreeNode node) - { - try - { - var titleNode = node["title"]; - if (titleNode.IsString()) - { - return titleNode.GetString(); - } - } - catch(Exception) - { - } - return ""; - } - - static void TraverseItem(ListTreeNode node, JsonFormatter f, UnityPath dir) - { - var title = GetTitle(node); - if (string.IsNullOrEmpty(title)) - { - Traverse(node, f, dir); - } - else - { - // ref - f.BeginMap(); - f.Key("$ref"); - var fileName = string.Format("{0}.schema.json", title); - f.Value(fileName); - f.EndMap(); - - // new formatter - { - var subFormatter = new JsonFormatter(4); - - subFormatter.BeginMap(); - foreach (var _kv in node.ObjectItems()) - { - subFormatter.Key(_kv.Key.GetUtf8String()); - Traverse(_kv.Value, subFormatter, dir); - } - subFormatter.EndMap(); - - var subJson = subFormatter.ToString(); - var path = dir.Child(fileName); - File.WriteAllText(path.FullPath, subJson); - } - } - } - - static void Traverse(ListTreeNode node, JsonFormatter f, UnityPath dir) - { - if (node.IsArray()) - { - f.BeginList(); - foreach (var x in node.ArrayItems()) - { - TraverseItem(x, f, dir); - } - f.EndList(); - } - else if (node.IsMap()) - { - f.BeginMap(); - foreach (var kv in node.ObjectItems()) - { - f.Key(kv.Key.GetUtf8String()); - TraverseItem(kv.Value, f, dir); - } - f.EndMap(); - } - else - { - f.Value(node); - } - } - - static UnityPath SplitAndWriteJson(ListTreeNode parsed, UnityPath dir) - { - var f = new JsonFormatter(4); - Traverse(parsed, f, dir); - var json = f.ToString(); - - var path = dir.Child("vrm.schema.json"); - Debug.LogFormat("write JsonSchema: {0}", path.FullPath); - File.WriteAllText(path.FullPath, json); - return path; - } - -#if VRM_DEVELOP - [MenuItem(VRMVersion.MENU + "/Export JsonSchema")] -#endif - static void ExportJsonSchema() - { - var schema = JsonSchema.FromType(); - var f = new JsonFormatter(2); - schema.ToJson(f); - var json = f.ToString(); - - var dir = UnityPath.FromFullpath(Application.dataPath + "/VRM/specification/0.0/schema"); - dir.EnsureFolder(); - - var path = SplitAndWriteJson(JsonParser.Parse(json), dir); - - Selection.activeObject = AssetDatabase.LoadAssetAtPath(path.Value); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMVersionMenu.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMVersionMenu.cs.meta deleted file mode 100644 index 9d7c9e5..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/VRMVersionMenu.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 0c69abb555d67f647a7d3175e35e37d8 -timeCreated: 1522130550 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/vrmAssetPostprocessor.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/vrmAssetPostprocessor.cs deleted file mode 100644 index 7f47ea5..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/vrmAssetPostprocessor.cs +++ /dev/null @@ -1,58 +0,0 @@ -using System; -using System.IO; -using System.Linq; -using UniGLTF; -using UnityEditor; -using UnityEngine; - - -namespace VRM -{ -#if !VRM_STOP_ASSETPOSTPROCESSOR - public class vrmAssetPostprocessor : AssetPostprocessor - { - static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) - { - foreach (string path in importedAssets) - { - if (UnityPath.FromUnityPath(path).IsStreamingAsset) - { - Debug.LogFormat("Skip StreamingAssets: {0}", path); - continue; - } - - var ext = Path.GetExtension(path).ToLower(); - if (ext == ".vrm") - { - ImportVrm(UnityPath.FromUnityPath(path)); - } - } - } - - static void ImportVrm(UnityPath path) - { - if (!path.IsUnderAssetsFolder) - { - throw new Exception(); - } - var context = new VRMImporterContext(); - context.ParseGlb(File.ReadAllBytes(path.FullPath)); - - var prefabPath = path.Parent.Child(path.FileNameWithoutExtension + ".prefab"); - - // save texture assets ! - context.ExtranctImages(prefabPath); - - EditorApplication.delayCall += () => - { - // - // after textures imported - // - context.Load(); - context.SaveAsAsset(prefabPath); - context.EditorDestroyRoot(); - }; - } - } -#endif -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/vrmAssetPostprocessor.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/vrmAssetPostprocessor.cs.meta deleted file mode 100644 index 162103e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Format/vrmAssetPostprocessor.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 561392fdfe88bf14e83b6e89a075cc52 -timeCreated: 1517119659 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/LookAt.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/LookAt.meta deleted file mode 100644 index 36ac3c7..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/LookAt.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 93c4f6df113c4e849945f2396d9772f3 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/LookAt/VRMLookAtHeadEditor.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/LookAt/VRMLookAtHeadEditor.cs deleted file mode 100644 index ad23ba4..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/LookAt/VRMLookAtHeadEditor.cs +++ /dev/null @@ -1,185 +0,0 @@ -using System.Collections.Generic; -using UnityEditor; -using UnityEngine; -using UniGLTF; -using System.Linq; - - -namespace VRM -{ - [CustomEditor(typeof(VRMLookAtHead))] - public class VRMLookAtHeadEditor : Editor - { - VRMLookAtHead m_target; - PreviewRenderUtility m_previewRenderUtility; - -#if UNITY_2017_1_OR_NEWER - struct Item - { - public Transform Transform; - public SkinnedMeshRenderer SkinnedMeshRenderer; - public Mesh Mesh; - public Material[] Materials; - - public Mesh Baked() - { - if (SkinnedMeshRenderer != null) - { - if (Mesh == null) - { - Mesh = new Mesh(); - } - SkinnedMeshRenderer.BakeMesh(Mesh); - } - return Mesh; - } - } - Item[] m_items; - - void SetupItems() - { - m_items = m_target.transform.Traverse().Select(x => - { - var meshFilter = x.GetComponent(); - var meshRenderer = x.GetComponent(); - var skinnedMeshRenderer = x.GetComponent(); - if (meshFilter != null && meshRenderer != null) - { - return new Item - { - Mesh = meshFilter.sharedMesh, - Transform = x.transform, - Materials = meshRenderer.sharedMaterials, - }; - } - else if (skinnedMeshRenderer != null) - { - return new Item - { - //Mesh = skinnedMeshRenderer.sharedMesh, - SkinnedMeshRenderer = skinnedMeshRenderer, - Transform = x.transform, - Materials = skinnedMeshRenderer.sharedMaterials - }; - } - else - { - return default(Item); - } - }) - .Where(x => x.Transform != null) - .ToArray(); - } -#endif - - void OnEnable() - { - m_target = (VRMLookAtHead)target; - m_previewRenderUtility = new PreviewRenderUtility(true); - -#if UNITY_2017_1_OR_NEWER - SetupItems(); -#endif - } - - private void OnDisable() - { - m_previewRenderUtility.Cleanup(); - m_previewRenderUtility = null; - } - - static void SetPreviewCamera(Camera camera, Vector3 target, Vector3 forward) - { - camera.fieldOfView = 30f; - camera.farClipPlane = 100; - camera.nearClipPlane = 0.1f; - - camera.transform.position = target + forward * 0.8f; - camera.transform.LookAt(target); - } - - public override bool HasPreviewGUI() - { - return true; - } - - public override void OnPreviewGUI(Rect r, GUIStyle background) - { - m_previewRenderUtility.BeginPreview(r, background); - var target = m_target.Head; - if (target != null) - { -#if UNITY_2017_1_OR_NEWER - SetPreviewCamera( - m_previewRenderUtility.camera, - target.position + new Vector3(0, 0.1f, 0), - target.forward - ); - foreach(var x in m_items) - { - var mesh = x.Baked(); - for(int i=0; i m_propMap = new Dictionary(); - void InitMap(SerializedObject so) - { - if (VRMMetaObjectProp == null) return; - //if (m_propMap.Count > 0) return; - m_propMap.Clear(); - - for (var it = so.GetIterator(); it.NextVisible(true);) - { - if (it.name == "m_Script") continue; - //Debug.LogFormat("{0}", it.name); - m_propMap.Add(it.name, so.FindProperty(it.name)); - } - } - - private void OnEnable() - { - //m_target = (VRMMeta)target; - m_ScriptProp = serializedObject.FindProperty("m_Script"); - m_VRMMetaObjectProp = serializedObject.FindProperty("Meta"); - } - - public override void OnInspectorGUI() - { - serializedObject.Update(); - EditorGUILayout.PropertyField(m_ScriptProp, true); - EditorGUILayout.PropertyField(m_VRMMetaObjectProp, true); - serializedObject.ApplyModifiedProperties(); - - EditorGUILayout.Space(); -#if true - if (m_VRMMetaObjectProp.objectReferenceValue != null) - { - VRMMetaObjectGUI(new SerializedObject(m_VRMMetaObjectProp.objectReferenceValue)); - } -#else - if(m_target!=null && m_target.Meta != null) - { - VRMMetaObjectGUI(new SerializedObject(m_target.Meta)); - } -#endif - } - - bool m_foldoutInfo = true; - bool m_foldoutPersmission = true; - bool m_foldoutDistribution = true; - void VRMMetaObjectGUI(SerializedObject so) - { - InitMap(so); - if (m_propMap == null || m_propMap.Count == 0) return; - - so.Update(); - - GUI.enabled = false; - EditorGUILayout.PropertyField(m_propMap["ExporterVersion"]); - if (VRMVersion.IsNewer(m_propMap["ExporterVersion"].stringValue)) - { - EditorGUILayout.HelpBox("Check UniVRM new version. https://github.com/dwango/UniVRM/releases", MessageType.Warning); - } - GUI.enabled = true; - - m_foldoutInfo = EditorGUILayout.Foldout(m_foldoutInfo, "Information"); - if (m_foldoutInfo) - { - EditorGUILayout.PropertyField(m_propMap["Title"]); - EditorGUILayout.PropertyField(m_propMap["Version"]); - EditorGUILayout.PropertyField(m_propMap["Author"]); - EditorGUILayout.PropertyField(m_propMap["ContactInformation"]); - EditorGUILayout.PropertyField(m_propMap["Reference"]); - - var thumbnail = m_propMap["Thumbnail"]; - EditorGUILayout.PropertyField(thumbnail); - thumbnail.objectReferenceValue = TextureField("", (Texture2D)thumbnail.objectReferenceValue, 100); - } - - EditorGUILayout.LabelField("License ", EditorStyles.boldLabel); - - m_foldoutPersmission = EditorGUILayout.Foldout(m_foldoutPersmission, "Personation / Characterization Permission"); - if (m_foldoutPersmission) - { - EditorGUILayout.PropertyField(m_propMap["AllowedUser"], new GUIContent("A person who can perform with this avatar"), false); - EditorGUILayout.PropertyField(m_propMap["ViolentUssage"], new GUIContent("Violent acts using this avatar")); - EditorGUILayout.PropertyField(m_propMap["SexualUssage"], new GUIContent("Sexuality acts using this avatar")); - EditorGUILayout.PropertyField(m_propMap["CommercialUssage"], new GUIContent("For commercial use")); - EditorGUILayout.PropertyField(m_propMap["OtherPermissionUrl"], new GUIContent("Other License Url")); - } - - m_foldoutDistribution = EditorGUILayout.Foldout(m_foldoutDistribution, "Redistribution / Modifications License"); - if (m_foldoutDistribution) - { - var licenseType = m_propMap["LicenseType"]; - EditorGUILayout.PropertyField(licenseType); - if ((LicenseType)licenseType.intValue == LicenseType.Other) - { - EditorGUILayout.PropertyField(m_propMap["OtherLicenseUrl"]); - } - } - - so.ApplyModifiedProperties(); - } - - private static Texture2D TextureField(string name, Texture2D texture, int size) - { - GUILayout.BeginHorizontal(); - var style = new GUIStyle(GUI.skin.label); - style.alignment = TextAnchor.UpperCenter; - //style.fixedWidth = size; - GUILayout.Label(name, style); - var result = (Texture2D)EditorGUILayout.ObjectField(texture, typeof(Texture2D), false, GUILayout.Width(size), GUILayout.Height(size)); - GUILayout.EndVertical(); - return result; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Meta/VRMMetaEditor.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Meta/VRMMetaEditor.cs.meta deleted file mode 100644 index 63aaa98..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Meta/VRMMetaEditor.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: ca21d8c33b34adc4db45afd930049fc1 -timeCreated: 1522989712 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SkinnedMeshUtility.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SkinnedMeshUtility.meta deleted file mode 100644 index f86076a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SkinnedMeshUtility.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 75db4bdc5168e3a4d9cece56d9c84864 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SkinnedMeshUtility/BoneMeshEraserWizard.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SkinnedMeshUtility/BoneMeshEraserWizard.cs deleted file mode 100644 index 1babdd9..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SkinnedMeshUtility/BoneMeshEraserWizard.cs +++ /dev/null @@ -1,204 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using UnityEditor; -using UnityEngine; - - -namespace VRM -{ - [CustomPropertyDrawer(typeof(BoneMeshEraser.EraseBone))] - public class EraseBoneDrawer : PropertyDrawer - { - public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) - { - //EditorGUI.BeginProperty(position, label, property); - - var leftWidth = 0.6f; - var rightWidth = 1.0f - leftWidth; - - var leftSide = new Rect(position.x, position.y, position.width * leftWidth, position.height); - var rightSide = new Rect(position.width * leftWidth, position.y, position.width * rightWidth, position.height); - { - EditorGUI.PropertyField(leftSide, property.FindPropertyRelative("Bone"), new GUIContent("", "")); - EditorGUI.PropertyField(rightSide, property.FindPropertyRelative("Erase")); - } - - //EditorGUI.EndProperty(); - } - - public override float GetPropertyHeight(SerializedProperty property, GUIContent label) - { - var height = base.GetPropertyHeight(property, label); - return height; - } - } - - public class BoneMeshEraserWizard : ScriptableWizard - { - const string ASSET_SUFFIX = ".asset"; - - [SerializeField] - SkinnedMeshRenderer m_skinnedMesh; - - [SerializeField] - Animator m_animator; - - [SerializeField] - Transform EraseRoot; - - [SerializeField] - BoneMeshEraser.EraseBone[] m_eraseBones; - - [MenuItem("GameObject/UnityEditorScripts/BoneMeshEraser Wizard")] - static void CreateWizard() - { - ScriptableWizard.DisplayWizard("BoneMeshEraser", "Erase triangles by bone", "Erase"); - } - - private void OnEnable() - { - var root = Selection.activeGameObject; - if (root != null) - { - m_animator = root.GetComponent(); - m_skinnedMesh = root.GetComponent(); - OnValidate(); - } - } - - void OnValidate() - { - //Debug.Log("OnValidate"); - if (m_skinnedMesh == null) - { - m_eraseBones = new BoneMeshEraser.EraseBone[] { }; - return; - } - - if (EraseRoot == null) - { - if (m_animator != null) - { - EraseRoot = m_animator.GetBoneTransform(HumanBodyBones.Head); - //Debug.LogFormat("head: {0}", EraseRoot); - } - } - - m_eraseBones = m_skinnedMesh.bones.Select(x => - { - var eb = new BoneMeshEraser.EraseBone - { - Bone = x, - }; - - if (EraseRoot != null) - { - // 首の子孫を消去 - if (eb.Bone.Ancestor().Any(y => y == EraseRoot)) - { - //Debug.LogFormat("erase {0}", x); - eb.Erase = true; - } - } - - return eb; - }) - .ToArray(); - } - - void OnWizardUpdate() - { - helpString = "select target skinnedMesh and animator"; - } - - - - static int IndexOf(Transform[] list, Transform target) - { - for (int i = 0; i < list.Length; ++i) - { - if (list[i] == target) - { - return i; - } - } - return -1; - } - - SkinnedMeshRenderer _Erase(GameObject go) - { - if (go == null) - { - Debug.LogWarning("select root object in hierarchy"); - return null; - } - if (m_skinnedMesh == null) - { - Debug.LogWarning("no skinnedmesh"); - return null; - } - - var bones = m_skinnedMesh.bones; - var eraseBones = m_eraseBones - .Where(x => x.Erase) - .Select(x => bones.IndexOf(x.Bone)) - .ToArray(); - - var meshNode = new GameObject("BoneMeshEraser"); - meshNode.transform.SetParent(go.transform, false); - - var erased = meshNode.AddComponent(); - erased.sharedMesh = BoneMeshEraser.CreateErasedMesh(m_skinnedMesh.sharedMesh, eraseBones); - erased.sharedMaterials = m_skinnedMesh.sharedMaterials; - erased.bones = m_skinnedMesh.bones; - - return erased; - } - - void Erase() - { - var go = Selection.activeGameObject; - var renderer = _Erase(go); - if (renderer == null) - { - return; - } - - // save mesh to Assets - var assetPath = string.Format("{0}{1}", go.name, ASSET_SUFFIX); -#if UNITY_2018_2_OR_NEWER - var prefab = PrefabUtility.GetCorrespondingObjectFromSource(go); -#else - var prefab = PrefabUtility.GetPrefabParent(go); -#endif - if (prefab != null) - { - var prefabPath = AssetDatabase.GetAssetPath(prefab); - assetPath = string.Format("{0}/{1}{2}", - Path.GetDirectoryName(prefabPath), - Path.GetFileNameWithoutExtension(prefabPath), - ASSET_SUFFIX - ); - } - - Debug.LogFormat("CreateAsset: {0}", assetPath); - AssetDatabase.CreateAsset(renderer.sharedMesh, assetPath); - } - - void OnWizardCreate() - { - //Debug.Log("OnWizardCreate"); - Erase(); - - // close - } - - void OnWizardOtherButton() - { - //Debug.Log("OnWizardOtherButton"); - Erase(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SkinnedMeshUtility/BoneMeshEraserWizard.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SkinnedMeshUtility/BoneMeshEraserWizard.cs.meta deleted file mode 100644 index ef9f397..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SkinnedMeshUtility/BoneMeshEraserWizard.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 881b00db73f639c48a3f043a775fa61a -timeCreated: 1518503829 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SkinnedMeshUtility/MeshIntegrator.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SkinnedMeshUtility/MeshIntegrator.cs deleted file mode 100644 index 55c860b..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SkinnedMeshUtility/MeshIntegrator.cs +++ /dev/null @@ -1,462 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using UnityEditor; -using UnityEngine; - - -namespace VRM -{ - /// - /// 複数のメッシュをまとめる - /// - [DisallowMultipleComponent] - public static class MeshIntegrator - { - const string MENU_KEY = "GameObject/UnityEditorScripts/MeshIntegrator"; - const int MENU_PRIORITY = 0; - const string ASSET_SUFFIX = ".mesh.asset"; - const string ASSET_WITH_BLENDSHAPE_SUFFIX = ".blendshape.asset"; - - [MenuItem(MENU_KEY, true, MENU_PRIORITY)] - private static bool ExportValidate() - { - return Selection.activeObject != null && Selection.activeObject is GameObject; - } - - [MenuItem(MENU_KEY, false, MENU_PRIORITY)] - private static void ExportFromMenu() - { - var go = Selection.activeObject as GameObject; - - Integrate(go); - } - - public static SkinnedMeshRenderer Integrate(GameObject go) - { - var without_blendshape = _Integrate(go, false); - if (without_blendshape == null) - { - return null; - - } - - // save mesh to Assets - var assetPath = string.Format("{0}{1}", go.name, ASSET_SUFFIX); -#if UNITY_2018_2_OR_NEWER - var prefab = PrefabUtility.GetCorrespondingObjectFromSource(go); -#else - var prefab = PrefabUtility.GetPrefabParent(go); -#endif - if (prefab != null) - { - var prefabPath = AssetDatabase.GetAssetPath(prefab); - assetPath = string.Format("{0}/{1}_{2}{3}", - Path.GetDirectoryName(prefabPath), - Path.GetFileNameWithoutExtension(prefabPath), - go.name, - ASSET_SUFFIX - ); - } - else - { - assetPath = string.Format("Assets/{0}{1}", go.name, ASSET_SUFFIX); - } - - Debug.LogFormat("CreateAsset: {0}", assetPath); - AssetDatabase.CreateAsset(without_blendshape.sharedMesh, assetPath); - return without_blendshape; - } - - struct SubMesh - { - public List Indices; - public Material Material; - } - - class BlendShape - { - public int VertexOffset; - public string Name; - public float FrameWeight; - public Vector3[] Positions; - public Vector3[] Normals; - public Vector3[] Tangents; - } - - class Integrator - { -// public List Renderers { get; private set; } - public List Positions { get; private set; } - public List Normals { get; private set; } - public List UV { get; private set; } - public List Tangents { get; private set; } - public List BoneWeights { get; private set; } - - public List SubMeshes - { - get; - private set; - } - - public List BindPoses { get; private set; } - public List Bones { get; private set; } - - public List BlendShapes { get; private set; } - public void AddBlendShapesToMesh(Mesh mesh) - { - Dictionary map = new Dictionary(); - - foreach (var x in BlendShapes) - { - BlendShape bs = null; - if (!map.TryGetValue(x.Name, out bs)) - { - bs = new BlendShape(); - bs.Positions = Positions.ToArray(); - bs.Normals = Normals.ToArray(); - bs.Tangents = Tangents.Select(y => (Vector3)y).ToArray(); - bs.Name = x.Name; - bs.FrameWeight = x.FrameWeight; - map.Add(x.Name, bs); - } - - var j = x.VertexOffset; - for (int i = 0; i < x.Positions.Length; ++i, ++j) - { - bs.Positions[j] = x.Positions[i]; - bs.Normals[j] = x.Normals[i]; - bs.Tangents[j] = x.Tangents[i]; - } - } - - foreach (var kv in map) - { - //Debug.LogFormat("AddBlendShapeFrame: {0}", kv.Key); - mesh.AddBlendShapeFrame(kv.Key, kv.Value.FrameWeight, - kv.Value.Positions, kv.Value.Normals, kv.Value.Tangents); - } - } - - public Integrator() - { -// Renderers = new List(); - - Positions = new List(); - Normals = new List(); - UV = new List(); - Tangents = new List(); - BoneWeights = new List(); - - SubMeshes = new List(); - - BindPoses = new List(); - Bones = new List(); - - BlendShapes = new List(); - } - - static BoneWeight AddBoneIndexOffset(BoneWeight bw, int boneIndexOffset) - { - if (bw.weight0 > 0) bw.boneIndex0 += boneIndexOffset; - if (bw.weight1 > 0) bw.boneIndex1 += boneIndexOffset; - if (bw.weight2 > 0) bw.boneIndex2 += boneIndexOffset; - if (bw.weight3 > 0) bw.boneIndex3 += boneIndexOffset; - return bw; - } - - public void Push(MeshRenderer renderer) - { - var meshFilter = renderer.GetComponent(); - if (meshFilter == null) - { - Debug.LogWarningFormat("{0} has no mesh filter", renderer.name); - return; - } - var mesh = meshFilter.sharedMesh; - if (mesh == null) - { - Debug.LogWarningFormat("{0} has no mesh", renderer.name); - return; - } - - var indexOffset = Positions.Count; - var boneIndexOffset = Bones.Count; - - Positions.AddRange(mesh.vertices - .Select(x => renderer.transform.TransformPoint(x)) - ); - Normals.AddRange(mesh.normals - .Select(x => renderer.transform.TransformVector(x)) - ); - UV.AddRange(mesh.uv); - Tangents.AddRange(mesh.tangents - .Select(t => - { - var v = renderer.transform.TransformVector(t.x, t.y, t.z); - return new Vector4(v.x, v.y, v.z, t.w); - }) - ); - - var self = renderer.transform; - var bone = self.parent; - if (bone == null) - { - Debug.LogWarningFormat("{0} is root gameobject.", self.name); - return; - } - var bindpose = bone.worldToLocalMatrix; - - BoneWeights.AddRange(Enumerable.Range(0, mesh.vertices.Length) - .Select(x => new BoneWeight() - { - boneIndex0 = Bones.Count, - weight0 = 1, - }) - ); - - BindPoses.Add(bindpose); - Bones.Add(bone); - - for (int i = 0; i < mesh.subMeshCount; ++i) - { - var indices = mesh.GetIndices(i).Select(x => x + indexOffset); - var mat = renderer.sharedMaterials[i]; - var sameMaterialSubMeshIndex = SubMeshes.FindIndex(x => ReferenceEquals(x.Material, mat)); - if (sameMaterialSubMeshIndex >= 0) - { - SubMeshes[sameMaterialSubMeshIndex].Indices.AddRange(indices); - } - else - { - SubMeshes.Add(new SubMesh - { - Indices = indices.ToList(), - Material = mat, - }); - } - } - } - - public void Push(SkinnedMeshRenderer renderer) - { - var mesh = renderer.sharedMesh; - if (mesh == null) - { - Debug.LogWarningFormat("{0} has no mesh", renderer.name); - return; - } - -// Renderers.Add(renderer); - - var indexOffset = Positions.Count; - var boneIndexOffset = Bones.Count; - - Positions.AddRange(mesh.vertices); - Normals.AddRange(mesh.normals); - UV.AddRange(mesh.uv); - Tangents.AddRange(mesh.tangents); - - if (mesh.vertexCount == mesh.boneWeights.Length) - { - BoneWeights.AddRange(mesh.boneWeights.Select(x => AddBoneIndexOffset(x, boneIndexOffset)).ToArray()); - } - else - { - BoneWeights.AddRange(Enumerable.Range(0, mesh.vertexCount).Select(x => new BoneWeight()).ToArray()); - } - - BindPoses.AddRange(mesh.bindposes); - Bones.AddRange(renderer.bones); - - for (int i = 0; i < mesh.subMeshCount; ++i) - { - var indices = mesh.GetIndices(i).Select(x => x + indexOffset); - var mat = renderer.sharedMaterials[i]; - var sameMaterialSubMeshIndex = SubMeshes.FindIndex(x => ReferenceEquals(x.Material, mat)); - if (sameMaterialSubMeshIndex >= 0) - { - SubMeshes[sameMaterialSubMeshIndex].Indices.AddRange(indices); - } - else - { - SubMeshes.Add(new SubMesh - { - Indices = indices.ToList(), - Material = mat, - }); - } - } - - for (int i = 0; i < mesh.blendShapeCount; ++i) - { - var positions = (Vector3[])mesh.vertices.Clone(); - var normals = (Vector3[])mesh.normals.Clone(); - var tangents = mesh.tangents.Select(x => (Vector3)x).ToArray(); - - mesh.GetBlendShapeFrameVertices(i, 0, positions, normals, tangents); - BlendShapes.Add(new BlendShape - { - VertexOffset = indexOffset, - FrameWeight = mesh.GetBlendShapeFrameWeight(i, 0), - Name = mesh.GetBlendShapeName(i), - Positions = positions, - Normals = normals, - Tangents = tangents, - }); - } - } - } - - static IEnumerable Traverse(Transform parent) - { - if (parent.gameObject.activeSelf) - { - yield return parent; - - foreach (Transform child in parent) - { - foreach (var x in Traverse(child)) - { - yield return x; - } - } - } - } - - static public IEnumerable EnumerateRenderer(Transform root, bool hasBlendShape) - { - foreach (var x in Traverse(root)) - { - var renderer = x.GetComponent(); - if (renderer != null) - { - if (renderer.sharedMesh != null) - { - if (renderer.gameObject.activeSelf) - { - if (renderer.sharedMesh.blendShapeCount > 0 == hasBlendShape) - { - yield return renderer; - } - } - } - } - } - } - - static IEnumerable EnumerateMeshRenderer(Transform root) - { - foreach (var x in Traverse(root)) - { - var renderer = x.GetComponent(); - if (renderer != null) - { - var filter = x.GetComponent(); - if (filter != null && filter.sharedMesh != null && renderer.gameObject.activeSelf) - { - yield return renderer; - } - } - } - } - - static IEnumerable Ancestors(Transform self) - { - yield return self; - - if (self.parent != null) - { - foreach (var x in Ancestors(self.parent)) - { - yield return x; - } - } - } - - static SkinnedMeshRenderer _Integrate(GameObject go, bool hasBlendShape) - { - var meshNode = new GameObject(); - if (hasBlendShape) - { - meshNode.name = "MeshIntegrator(BlendShape)"; - } - else - { - meshNode.name = "MeshIntegrator"; - } - meshNode.transform.SetParent(go.transform, false); - - var renderers = EnumerateRenderer(go.transform, hasBlendShape).ToArray(); - - // Root objectを選出する - var root = renderers.Select(x => x.rootBone != null ? x.rootBone : x.transform) - .Select(x => Ancestors(x).Reverse().ToArray()) - .Aggregate((a, b) => - { - int i = 0; - for(; i ushort.MaxValue) - { -#if UNITY_2017_3_OR_NEWER - Debug.LogFormat("exceed 65535 vertices: {0}", integrator.Positions.Count); - mesh.indexFormat = UnityEngine.Rendering.IndexFormat.UInt32; -#else - throw new NotImplementedException(String.Format("exceed 65535 vertices: {0}", integrator.Positions.Count.ToString())); -#endif - } - - mesh.vertices = integrator.Positions.ToArray(); - mesh.normals = integrator.Normals.ToArray(); - mesh.uv = integrator.UV.ToArray(); - mesh.tangents = integrator.Tangents.ToArray(); - mesh.boneWeights = integrator.BoneWeights.ToArray(); - mesh.subMeshCount = integrator.SubMeshes.Count; - for (var i = 0; i < integrator.SubMeshes.Count; ++i) - { - mesh.SetIndices(integrator.SubMeshes[i].Indices.ToArray(), MeshTopology.Triangles, i); - } - mesh.bindposes = integrator.BindPoses.ToArray(); - - if (hasBlendShape) - { - integrator.AddBlendShapesToMesh(mesh); - } - - var integrated = meshNode.AddComponent(); - integrated.sharedMesh = mesh; - integrated.sharedMaterials = integrator.SubMeshes.Select(x => x.Material).ToArray(); - integrated.bones = integrator.Bones.ToArray(); - - return integrated; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SkinnedMeshUtility/MeshIntegrator.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SkinnedMeshUtility/MeshIntegrator.cs.meta deleted file mode 100644 index f87becc..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SkinnedMeshUtility/MeshIntegrator.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 648920943c26bde4b920119bdbb38f70 -timeCreated: 1518194696 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SkinnedMeshUtility/MeshIntegratorWizard.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SkinnedMeshUtility/MeshIntegratorWizard.cs deleted file mode 100644 index 017e161..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SkinnedMeshUtility/MeshIntegratorWizard.cs +++ /dev/null @@ -1,174 +0,0 @@ -#pragma warning disable 0414, 0649 -using UnityEditor; -using UnityEngine; -using System.Linq; -using System; -using System.Collections.Generic; - - -namespace VRM -{ - public class MeshIntegratorWizard : ScriptableWizard - { - [SerializeField] - GameObject m_root; - - [SerializeField] - Material[] m_uniqueMaterials; - - [Serializable] - struct MaterialKey - { - public string Shader; - public KeyValuePair[] Properties; - - public override bool Equals(object obj) - { - if(!(obj is MaterialKey)) - { - return base.Equals(obj); - } - - var key = (MaterialKey)obj; - - return Shader == key.Shader - && Properties.SequenceEqual(key.Properties) - ; - } - - public override int GetHashCode() - { - return base.GetHashCode(); - } - } - - [Serializable] - struct MaterialList - { - public Material[] Materials; - - public MaterialList(Material[] list) - { - Materials = list; - } - } - [SerializeField] - MaterialList[] m_duplicateMaterials; - - [Header("Result")] - public Mesh integrated; - - [MenuItem("GameObject/UnityEditorScripts/MeshInregrator Wizard")] - static void CreateWizard() - { - ScriptableWizard.DisplayWizard("MeshIntegrator", "Integrate and close window", "Integrate"); - } - - private void OnEnable() - { - m_root = Selection.activeGameObject; - OnValidate(); - } - - static object GetPropertyValue(Shader shader, int i, Material m) - { - var propType = ShaderUtil.GetPropertyType(shader, i); - switch (propType) - { - case ShaderUtil.ShaderPropertyType.Color: - return m.GetColor(ShaderUtil.GetPropertyName(shader, i)); - - case ShaderUtil.ShaderPropertyType.Range: - case ShaderUtil.ShaderPropertyType.Float: - return m.GetFloat(ShaderUtil.GetPropertyName(shader, i)); - - case ShaderUtil.ShaderPropertyType.Vector: - return m.GetVector(ShaderUtil.GetPropertyName(shader, i)); - - case ShaderUtil.ShaderPropertyType.TexEnv: - return m.GetTexture(ShaderUtil.GetPropertyName(shader, i)); - - default: - throw new NotImplementedException(propType.ToString()); - } - } - - static MaterialKey GetMaterialKey(Material m) - { - var key = new MaterialKey - { - Shader = m.shader.name, - }; - - key.Properties = Enumerable.Range(0, ShaderUtil.GetPropertyCount(m.shader)) - .Select(x => new KeyValuePair( - ShaderUtil.GetPropertyName(m.shader, x), - GetPropertyValue(m.shader, x, m)) - ) - .OrderBy(x => x.Key) - .ToArray() - ; - - return key; - } - - void OnValidate() - { - Debug.Log("OnValidate"); - if (m_root == null) - { - m_uniqueMaterials = new Material[] { }; - m_duplicateMaterials = new MaterialList[] { }; - return; - } - - m_uniqueMaterials = MeshIntegrator.EnumerateRenderer(m_root.transform, false) - .SelectMany(x => x.sharedMaterials) - .Distinct() - .ToArray(); - - m_duplicateMaterials = m_uniqueMaterials - .GroupBy(x => GetMaterialKey(x), x => x) - .Select(x => new MaterialList(x.ToArray())) - .Where(x => x.Materials.Length > 1) - .ToArray() - ; - } - - void OnWizardUpdate() - { - helpString = "select target mesh root"; - } - - void Integrate() - { - if (m_root == null) - { - Debug.LogWarning("no root object"); - return; - } - - var renderer = MeshIntegrator.Integrate(m_root); - if (renderer == null) - { - return; - } - - integrated = renderer.sharedMesh; - } - - void OnWizardCreate() - { - Debug.Log("OnWizardCreate"); - Integrate(); - - // close - } - - void OnWizardOtherButton() - { - Debug.Log("OnWizardOtherButton"); - Integrate(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SkinnedMeshUtility/MeshIntegratorWizard.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SkinnedMeshUtility/MeshIntegratorWizard.cs.meta deleted file mode 100644 index 19c7bdf..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SkinnedMeshUtility/MeshIntegratorWizard.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 744f66c7013807b4cae1d38d2ecfff38 -timeCreated: 1518503829 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SpringBone.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SpringBone.meta deleted file mode 100644 index efde587..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SpringBone.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f7893d47225dc7b4abc1d0da53589235 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SpringBone/VRMSpringBoneColliderGroupEditor.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SpringBone/VRMSpringBoneColliderGroupEditor.cs deleted file mode 100644 index 8563008..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SpringBone/VRMSpringBoneColliderGroupEditor.cs +++ /dev/null @@ -1,42 +0,0 @@ -using UnityEditor; -using UnityEngine; - - -namespace VRM -{ - [CustomEditor(typeof(VRMSpringBoneColliderGroup))] - public class VRMSpringBoneColliderGroupEditor : Editor - { - VRMSpringBoneColliderGroup m_target; - - private void OnEnable() - { - m_target = (VRMSpringBoneColliderGroup)target; - } - - private void OnSceneGUI() - { - Undo.RecordObject(m_target, "VRMSpringBoneColliderGroupEditor"); - - Handles.matrix = m_target.transform.localToWorldMatrix; - Gizmos.color = Color.green; - - bool changed = false; - - foreach (var x in m_target.Colliders) - { - var offset = Handles.PositionHandle(x.Offset, Quaternion.identity); - if (offset != x.Offset) - { - changed = true; - x.Offset = offset; - } - } - - if (changed) - { - EditorUtility.SetDirty(m_target); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SpringBone/VRMSpringBoneColliderGroupEditor.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SpringBone/VRMSpringBoneColliderGroupEditor.cs.meta deleted file mode 100644 index dab2d9c..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/SpringBone/VRMSpringBoneColliderGroupEditor.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 1f8b723890cc43042b070277cb3b73ef -timeCreated: 1519735770 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests.meta deleted file mode 100644 index 657223d..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c5bc1bfdd1a9e004c8011d887174bb4a -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/EnumUtilTest.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/EnumUtilTest.cs deleted file mode 100644 index 7d5b4d6..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/EnumUtilTest.cs +++ /dev/null @@ -1,21 +0,0 @@ -using NUnit.Framework; -using UnityEngine; - - -namespace VRM -{ - public class EnumUtilTest - { - [Test] - public void EnumUtilTestSimplePasses() - { - Assert.AreEqual(default(HumanBodyBones), EnumUtil.TryParseOrDefault("xxx")); - -#if UNITY_5_6_OR_NEWER - Assert.AreEqual(HumanBodyBones.UpperChest, EnumUtil.TryParseOrDefault("upperchest")); -#else - Assert.AreEqual(default(HumanBodyBones), EnumUtil.TryParseOrDefault("upperchest")); -#endif - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/EnumUtilTest.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/EnumUtilTest.cs.meta deleted file mode 100644 index 7082ee7..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/EnumUtilTest.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: d4a5f44a23cb4884b9667b622f262497 -timeCreated: 1523088686 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/MeshTests.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/MeshTests.cs deleted file mode 100644 index c1e36c2..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/MeshTests.cs +++ /dev/null @@ -1,63 +0,0 @@ -using NUnit.Framework; -using UnityEngine; -using System.Linq; - -namespace VRM -{ - public class MeshTests - { - public static void MeshEquals(Mesh l, Mesh r) - { -#if UNITY_2017_3_OR_NEWER - Assert.AreEqual(l.indexFormat, r.indexFormat); -#endif - Assert.True(l.vertices.SequenceEqual(r.vertices)); - Assert.True(l.normals.SequenceEqual(r.normals)); - Assert.True(l.tangents.SequenceEqual(r.tangents)); - Assert.True(l.uv.SequenceEqual(r.uv)); - Assert.True(l.uv2.SequenceEqual(r.uv2)); - Assert.True(l.uv3.SequenceEqual(r.uv3)); - Assert.True(l.uv4.SequenceEqual(r.uv4)); - Assert.True(l.colors.SequenceEqual(r.colors)); - Assert.True(l.boneWeights.SequenceEqual(r.boneWeights)); - Assert.True(l.bindposes.SequenceEqual(r.bindposes)); - - Assert.AreEqual(l.subMeshCount, r.subMeshCount); - for (int i = 0; i < l.subMeshCount; ++i) - { - Assert.True(l.GetIndices(i).SequenceEqual(r.GetIndices(i))); - } - - Assert.AreEqual(l.blendShapeCount, r.blendShapeCount); - for (int i = 0; i < l.blendShapeCount; ++i) - { - Assert.AreEqual(l.GetBlendShapeName(i), r.GetBlendShapeName(i)); - Assert.AreEqual(l.GetBlendShapeFrameCount(i), r.GetBlendShapeFrameCount(i)); - Assert.AreEqual(l.GetBlendShapeFrameWeight(i, 0), r.GetBlendShapeFrameWeight(i, 0)); - - var lv = l.vertices; - var ln = l.vertices; - var lt = l.vertices; - var rv = r.vertices; - var rn = r.vertices; - var rt = r.vertices; - l.GetBlendShapeFrameVertices(i, 0, lv, ln, lt); - r.GetBlendShapeFrameVertices(i, 0, rv, rn, rt); - Assert.True(lv.SequenceEqual(rv)); - Assert.True(ln.SequenceEqual(rn)); - Assert.True(lt.SequenceEqual(rt)); - } - } - - [Test] - public void MeshCopyTest() - { - var src = new Mesh(); - src.AddBlendShapeFrame("blendShape", 100.0f, null, null, null); - - var dst = src.Copy(true); - - MeshEquals(src, dst); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/MeshTests.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/MeshTests.cs.meta deleted file mode 100644 index 2b91dd6..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/MeshTests.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 0fa06e6e83b995a49a1357924b9ef23e -timeCreated: 1533274120 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/UniVRMSerializeTests.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/UniVRMSerializeTests.cs deleted file mode 100644 index 67468f3..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/UniVRMSerializeTests.cs +++ /dev/null @@ -1,660 +0,0 @@ -using NUnit.Framework; -using System; -using System.Collections.Generic; -using System.Linq; -using UniJSON; -using UnityEngine; - -namespace VRM -{ - public class UniVRMSerializeTests - { - [Test] - public void MaterialValueBindTest() - { - var model = new glTF_VRM_MaterialValueBind(); - - var json = model.ToJson(); - Assert.AreEqual(@"{}", json); - Debug.Log(json); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json2 = JsonSchema.FromType().Serialize(model, c); - Assert.AreEqual(json, json2); - } - - [Test] - public void BlendShapeBindTest() - { - var model = new glTF_VRM_BlendShapeBind() - { - mesh = 1, - weight = 2, - index = 3, - }; - - var json = model.ToJson(); - Assert.AreEqual(@"{""mesh"":1,""index"":3,""weight"":2}", json); - Debug.Log(json); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json2 = JsonSchema.FromType().Serialize(model, c); - Assert.AreEqual(json, json2); - } - - [Test] - public void BlendShapeBindTestError() - { - var model = new glTF_VRM_BlendShapeBind(); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var ex = Assert.Throws( - () => JsonSchema.FromType().Serialize(model, c) - ); - Assert.AreEqual("[mesh.String] minimum: ! -1>=0", ex.Message); - } - - [Test] - public void BlendShapeGroupTest() - { - var model = new glTF_VRM_BlendShapeGroup() - { - presetName = "neutral", - }; - - var json = model.ToJson(); - Assert.AreEqual(@"{""presetName"":""neutral"",""isBinary"":false,""binds"":[],""materialValues"":[]}", json); - Debug.Log(json); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json2 = JsonSchema.FromType().Serialize(model, c); - Assert.AreEqual(@"{""presetName"":""neutral"",""binds"":[],""materialValues"":[],""isBinary"":false}", json2); - } - - [Test] - public void BlendShapeGroupTestError() - { - var model = new glTF_VRM_BlendShapeGroup() - { - presetName = "aaaaaaaaaaaa_not_exists_", - }; - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var ex = Assert.Throws( - () => JsonSchema.FromType().Serialize(model, c) - ); - Assert.AreEqual("[presetName.String] aaaaaaaaaaaa_not_exists_ is not valid enum", ex.Message); - } - - [Test] - public void DegreeMapTest() - { - var model = new glTF_VRM_DegreeMap(); - - var json = model.ToJson(); - Assert.AreEqual(@"{""xRange"":90,""yRange"":10}", json); - Debug.Log(json); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json2 = JsonSchema.FromType().Serialize(model, c); - Assert.AreEqual(json, json2); - } - - [Test] - public void MeshAnnotationTest() - { - var model = new glTF_VRM_MeshAnnotation(); - - var json = model.ToJson(); - Assert.AreEqual(@"{""mesh"":0}", json); - Debug.Log(json); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json2 = JsonSchema.FromType().Serialize(model, c); - Assert.AreEqual(json, json2); - } - - [Test] - public void FirstPersonTest() - { - var model = new glTF_VRM_Firstperson(); - - var json = model.ToJson(); - Assert.AreEqual( - @"{""firstPersonBone"":-1,""firstPersonBoneOffset"":{""x"":0,""y"":0,""z"":0},""meshAnnotations"":[],""lookAtTypeName"":""Bone"",""lookAtHorizontalInner"":{""xRange"":90,""yRange"":10},""lookAtHorizontalOuter"":{""xRange"":90,""yRange"":10},""lookAtVerticalDown"":{""xRange"":90,""yRange"":10},""lookAtVerticalUp"":{""xRange"":90,""yRange"":10}}", - json); - Debug.Log(json); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json2 = JsonSchema.FromType().Serialize(model, c); - Assert.AreEqual( - @"{""firstPersonBoneOffset"":{""x"":0,""y"":0,""z"":0},""meshAnnotations"":[],""lookAtTypeName"":""Bone"",""lookAtHorizontalInner"":{""xRange"":90,""yRange"":10},""lookAtHorizontalOuter"":{""xRange"":90,""yRange"":10},""lookAtVerticalDown"":{""xRange"":90,""yRange"":10},""lookAtVerticalUp"":{""xRange"":90,""yRange"":10}}", - json2); - } - - [Test] - public void HumanoidBoneTest() - { - var model = new glTF_VRM_HumanoidBone() - { - bone = "hips", // NOTE: This field must not be null? - node = 0, - }; - - var json = model.ToJson(); - Assert.AreEqual(@"{""bone"":""hips"",""node"":0,""useDefaultValues"":true}", json); - Debug.Log(json); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json2 = JsonSchema.FromType().Serialize(model, c); - // NOTE: New serializer outputs values which will not be used... - Assert.AreEqual( - @"{""bone"":""hips"",""node"":0,""useDefaultValues"":true,""min"":{""x"":0,""y"":0,""z"":0},""max"":{""x"":0,""y"":0,""z"":0},""center"":{""x"":0,""y"":0,""z"":0},""axisLength"":0}", - json2); - } - - [Test] - public void HumanoidBoneTestError() - { - var model = new glTF_VRM_HumanoidBone() - { - bone = "hips", // NOTE: This field must not be null? - }; - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var ex = Assert.Throws( - () => JsonSchema.FromType().Serialize(model, c) - ); - Assert.AreEqual("[node.String] minimum: ! -1>=0", ex.Message); - } - - [Test] - public void HumanoidTest() - { - var model = new glTF_VRM_Humanoid(); - - var json = model.ToJson(); - Assert.AreEqual(@"{""humanBones"":[],""armStretch"":0.05,""legStretch"":0.05,""upperArmTwist"":0.5,""lowerArmTwist"":0.5,""upperLegTwist"":0.5,""lowerLegTwist"":0.5,""feetSpacing"":0,""hasTranslationDoF"":false}", json); - Debug.Log(json); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json2 = JsonSchema.FromType().Serialize(model, c); - // NOTE: New serializer outputs values which will not be used... - Assert.AreEqual(json,json2); - } - - [Test] - public void MaterialTest() - { - var model = new glTF_VRM_Material(); - - var json = model.ToJson(); - Assert.AreEqual(@"{""renderQueue"":-1,""floatProperties"":{},""vectorProperties"":{},""textureProperties"":{},""keywordMap"":{},""tagMap"":{}}", json); - Debug.Log(json); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json2 = JsonSchema.FromType().Serialize(model, c); - // NOTE: New serializer outputs values which will not be used... - Assert.AreEqual(json,json2); - } - - [Test] - public void MetaTest() - { - var model = new glTF_VRM_Meta() - { - allowedUserName = "OnlyAuthor", - violentUssageName = "Disallow", - sexualUssageName = "Disallow", - commercialUssageName = "Disallow", - licenseName = "CC0", - }; - - var json = model.ToJson(); - Assert.AreEqual(@"{""texture"":-1,""allowedUserName"":""OnlyAuthor"",""violentUssageName"":""Disallow"",""sexualUssageName"":""Disallow"",""commercialUssageName"":""Disallow"",""licenseName"":""CC0""}", json); - Debug.Log(json); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json2 = JsonSchema.FromType().Serialize(model, c); - // NOTE: New serializer outputs values which will not be used... - Assert.AreEqual(@"{""allowedUserName"":""OnlyAuthor"",""violentUssageName"":""Disallow"",""sexualUssageName"":""Disallow"",""commercialUssageName"":""Disallow"",""licenseName"":""CC0""}",json2); - } - - [Test] - public void MetaTestError() - { - { - var model = new glTF_VRM_Meta() - { - allowedUserName = null, - violentUssageName = null, - sexualUssageName = null, - commercialUssageName = null, - }; - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var ex = Assert.Throws( - () => JsonSchema.FromType().Serialize(model, c) - ); - Assert.AreEqual("[allowedUserName.String] null", ex.Message); - } - - { - var model = new glTF_VRM_Meta() - { - allowedUserName = "OnlyAuthor", - violentUssageName = "Disallow", - sexualUssageName = "Disallow", - commercialUssageName = "Disallow", - //licenseName = "CC0", - licenseName = null, - }; - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var ex = Assert.Throws( - () => JsonSchema.FromType().Serialize(model, c) - ); - Assert.AreEqual("[licenseName.String] null", ex.Message); - } - - { - var model = new glTF_VRM_Meta() - { - allowedUserName = "OnlyAuthor", - violentUssageName = "Disallow", - sexualUssageName = "Disallow", - commercialUssageName = "Disallow", - licenseName = "_INVALID_SOME_THING_", - }; - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var ex = Assert.Throws( - () => JsonSchema.FromType().Serialize(model, c) - ); - Assert.AreEqual("[licenseName.String] _INVALID_SOME_THING_ is not valid enum", ex.Message); - } - - { - var model = new glTF_VRM_Meta() - { - // allowedUserName = "OnlyAuthor", - allowedUserName = null, - violentUssageName = "Disallow", - sexualUssageName = "Disallow", - commercialUssageName = "Disallow", - licenseName = "CC0", - }; - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var ex = Assert.Throws( - () => JsonSchema.FromType().Serialize(model, c) - ); - Assert.AreEqual("[allowedUserName.String] null", ex.Message); - } - - { - var model = new glTF_VRM_Meta() - { - allowedUserName = "_INVALID_SOME_THING_", - violentUssageName = "Disallow", - sexualUssageName = "Disallow", - commercialUssageName = "Disallow", - licenseName = "CC0", - }; - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var ex = Assert.Throws( - () => JsonSchema.FromType().Serialize(model, c) - ); - Assert.AreEqual("[allowedUserName.String] _INVALID_SOME_THING_ is not valid enum", ex.Message); - } - - { - var model = new glTF_VRM_Meta() - { - allowedUserName = "OnlyAuthor", - //violentUssageName = "Disallow", - violentUssageName = null, - sexualUssageName = "Disallow", - commercialUssageName = "Disallow", - licenseName = "CC0", - }; - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var ex = Assert.Throws( - () => JsonSchema.FromType().Serialize(model, c) - ); - Assert.AreEqual("[violentUssageName.String] null", ex.Message); - } - - { - var model = new glTF_VRM_Meta() - { - allowedUserName = "OnlyAuthor", - violentUssageName = "_INVALID_SOME_THING_", - sexualUssageName = "Disallow", - commercialUssageName = "Disallow", - licenseName = "CC0", - }; - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var ex = Assert.Throws( - () => JsonSchema.FromType().Serialize(model, c) - ); - Assert.AreEqual("[violentUssageName.String] _INVALID_SOME_THING_ is not valid enum", ex.Message); - } - - { - var model = new glTF_VRM_Meta() - { - allowedUserName = "OnlyAuthor", - violentUssageName = "Disallow", - //sexualUssageName = "Disallow", - sexualUssageName = null, - commercialUssageName = "Disallow", - licenseName = "CC0", - }; - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var ex = Assert.Throws( - () => JsonSchema.FromType().Serialize(model, c) - ); - Assert.AreEqual("[sexualUssageName.String] null", ex.Message); - } - - { - var model = new glTF_VRM_Meta() - { - allowedUserName = "OnlyAuthor", - violentUssageName = "Disallow", - sexualUssageName = "_INVALID_SOME_THING_", - commercialUssageName = "Disallow", - licenseName = "CC0", - }; - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var ex = Assert.Throws( - () => JsonSchema.FromType().Serialize(model, c) - ); - Assert.AreEqual("[sexualUssageName.String] _INVALID_SOME_THING_ is not valid enum", ex.Message); - } - - { - var model = new glTF_VRM_Meta() - { - allowedUserName = "OnlyAuthor", - violentUssageName = "Disallow", - sexualUssageName = "Disallow", - //commercialUssageName = "Disallow", - commercialUssageName = null, - licenseName = "CC0", - }; - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var ex = Assert.Throws( - () => JsonSchema.FromType().Serialize(model, c) - ); - Assert.AreEqual("[commercialUssageName.String] null", ex.Message); - } - - { - var model = new glTF_VRM_Meta() - { - allowedUserName = "OnlyAuthor", - violentUssageName = "Disallow", - sexualUssageName = "Disallow", - commercialUssageName = "_INVALID_SOME_THING_", - licenseName = "CC0", - }; - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var ex = Assert.Throws( - () => JsonSchema.FromType().Serialize(model, c) - ); - Assert.AreEqual("[commercialUssageName.String] _INVALID_SOME_THING_ is not valid enum", ex.Message); - } - } - - // TODO: Move to another suitable location - [Test] - public void MetaDeserializeTest() - { - var json = @"{}"; - - var model = deserialize(json); - - Assert.AreEqual(-1, model.texture); - } - - [Test] - public void SecondaryAnimationColliderTest() - { - var model = new glTF_VRM_SecondaryAnimationCollider() - { - offset = new Vector3(1, 2, 3), - radius = 42, - }; - - var json = model.ToJson(); - Assert.AreEqual(@"{""offset"":{""x"":1,""y"":2,""z"":3},""radius"":42}", json); - Debug.Log(json); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json2 = JsonSchema.FromType().Serialize(model, c); - // NOTE: New serializer outputs values which will not be used... - Assert.AreEqual(json,json2); - } - - [Test] - public void SecondaryAnimationColliderGroupTest() - { - var model = new glTF_VRM_SecondaryAnimationColliderGroup(); - - var json = model.ToJson(); - Assert.AreEqual(@"{""node"":0,""colliders"":[]}", json); - Debug.Log(json); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json2 = JsonSchema.FromType().Serialize(model, c); - // NOTE: New serializer outputs values which will not be used... - Assert.AreEqual(json,json2); - } - - [Test] - public void SecondaryAnimationColliderGroupTestError() - { - var model = new glTF_VRM_SecondaryAnimationColliderGroup() - { - node = -1, - }; - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var ex = Assert.Throws( - () => JsonSchema.FromType().Serialize(model, c) - ); - Assert.AreEqual("[node.String] minimum: ! -1>=0", ex.Message); - } - - [Test] - public void SecondaryAnimationGroupTest() - { - var model = new glTF_VRM_SecondaryAnimationGroup(); - - var json = model.ToJson(); - Assert.AreEqual(@"{""stiffiness"":0,""gravityPower"":0,""gravityDir"":{""x"":0,""y"":0,""z"":0},""dragForce"":0,""center"":0,""hitRadius"":0,""bones"":[],""colliderGroups"":[]}", json); - Debug.Log(json); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json2 = JsonSchema.FromType().Serialize(model, c); - // NOTE: New serializer outputs values which will not be used... - Assert.AreEqual(json,json2); - } - - [Test] - public void SecondaryAnimationGroupTestErrorBones() - { - var model = new glTF_VRM_SecondaryAnimationGroup() - { - bones = new int[] { -1 } - }; - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var ex = Assert.Throws( - () => JsonSchema.FromType().Serialize(model, c) - ); - Assert.AreEqual("[bones.String] minimum: ! -1>=0", ex.Message); - } - - [Test] - public void SecondaryAnimationGroupTestErrorColliderGroups() - { - var model = new glTF_VRM_SecondaryAnimationGroup() - { - colliderGroups = new int[] { -1 } - }; - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var ex = Assert.Throws( - () => JsonSchema.FromType().Serialize(model, c) - ); - Assert.AreEqual("[colliderGroups.String] minimum: ! -1>=0", ex.Message); - } - - [Test] - public void SecondaryAnimationTest() - { - var model = new glTF_VRM_SecondaryAnimation(); - - var json = model.ToJson(); - Assert.AreEqual(@"{""boneGroups"":[],""colliderGroups"":[]}", json); - Debug.Log(json); - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json2 = JsonSchema.FromType().Serialize(model, c); - // NOTE: New serializer outputs values which will not be used... - Assert.AreEqual(json,json2); - } - - [Test] - public void ExtensionsTest() - { - var model = new glTF_VRM_extensions() - { - meta = null, - humanoid = null, - firstPerson = null, - blendShapeMaster = null, - secondaryAnimation = null, - materialProperties = null, - }; - - var c = new JsonSchemaValidationContext("") - { - EnableDiagnosisForNotRequiredFields = true, - }; - var json2 = JsonSchema.FromType().Serialize(model, c); - var expected = - String.Format(@"{{""exporterVersion"":""{0}"",""specVersion"":""0.0""}}", VRMVersion.VRM_VERSION); - Assert.AreEqual(expected,json2); - } - - // TODO: Move to another suitable location - T deserialize(string json) - { - return JsonUtility.FromJson(json); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/UniVRMSerializeTests.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/UniVRMSerializeTests.cs.meta deleted file mode 100644 index 60e8389..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/UniVRMSerializeTests.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 06e8ebf6af2b4e19a0c72ad986e88444 -timeCreated: 1547719804 \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/VRMBlendShapeKeyTest.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/VRMBlendShapeKeyTest.cs deleted file mode 100644 index e24e2c2..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/VRMBlendShapeKeyTest.cs +++ /dev/null @@ -1,27 +0,0 @@ -using NUnit.Framework; -using System.Collections.Generic; -using VRM; - - -namespace VRM -{ - public class VRMBlendShapeKeyTest - { - [Test] - public void KeyTest() - { - var key = new BlendShapeKey("Blink", BlendShapePreset.Blink); - - Assert.AreEqual(key, new BlendShapeKey("blink")); - Assert.AreEqual(key, new BlendShapeKey(BlendShapePreset.Blink)); - Assert.AreEqual(key, new BlendShapeKey("xxx", BlendShapePreset.Blink)); - - var dict = new Dictionary(); - dict[new BlendShapeKey("xxx", BlendShapePreset.Blink)] = 1.0f; - - Assert.IsTrue(dict.ContainsKey(new BlendShapeKey("blink"))); - Assert.IsTrue(dict.ContainsKey(new BlendShapeKey(BlendShapePreset.Blink))); - Assert.IsTrue(dict.ContainsKey(new BlendShapeKey("xxx", BlendShapePreset.Blink))); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/VRMBlendShapeKeyTest.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/VRMBlendShapeKeyTest.cs.meta deleted file mode 100644 index cb7c673..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/VRMBlendShapeKeyTest.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: ca2bf37b88b7c3a45adbeebb8a17559d -timeCreated: 1521799592 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/VersionTests.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/VersionTests.cs deleted file mode 100644 index 2134d06..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/VersionTests.cs +++ /dev/null @@ -1,58 +0,0 @@ -using NUnit.Framework; -using System; -using System.Collections.Generic; -using System.Linq; -using UniJSON; -using UnityEngine; - -namespace VRM -{ - public class UniVRMVersionTests - { - [Test] - [TestCase(VRMVersion.VERSION, false)] - [TestCase("0.99", true)] - [TestCase("0.99.0", true)] - [TestCase("1.0.0", true)] - public void IsNewweTest(string newer, bool isNewer) - { - Assert.AreEqual(isNewer, VRMVersion.IsNewer(newer)); - } - - [Test] - [TestCase("0.50", "0.50", false)] - [TestCase("0.50", "0.51.0", false)] - [TestCase("0.51.0", "0.50", true)] - [TestCase("0.51.0", "0.51.0", false)] - [TestCase("0.51.1", "0.51.0", true)] - [TestCase("0.51.0", "0.51.0-a", false)] - [TestCase("0.51.0-b", "0.51.0-a", true)] - [TestCase("1.0.0-a", "0.51.0", true)] - [TestCase("1.0.0", "0.51.0", true)] - public void IsNewweTest(string newer, string older, bool isNewer) - { - Assert.AreEqual(isNewer, VRMVersion.IsNewer(newer, older)); - } - - [Test] - [TestCase("0.50", true, 0, 50, 0, "")] - [TestCase("0.51.0", true, 0, 51, 0, "")] - [TestCase("0.51.1", true, 0, 51, 1, "")] - [TestCase("0.51.2-a", true, 0, 51, 2, "a")] - [TestCase("0.51.10-a1", true, 0, 51, 10, "a1")] - [TestCase("aaaaa", false, 0, 0, 0, "")] - public void ParseVersionTest(string version, bool canBeParsed, int major, int minor, int patch, string pre) - { - VRMVersion.Version v; - var res = VRMVersion.ParseVersion(version, out v); - Assert.AreEqual(canBeParsed, res); - if (res) - { - Assert.AreEqual(major, v.Major); - Assert.AreEqual(minor, v.Minor); - Assert.AreEqual(patch, v.Patch); - Assert.AreEqual(pre, v.Pre); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/VersionTests.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/VersionTests.cs.meta deleted file mode 100644 index 018ff14..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/Tests/VersionTests.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 090d88aecf0de1a49a953e3e90bac41e -timeCreated: 1550226473 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/VRMMonoBehaviourComparator.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/VRMMonoBehaviourComparator.cs deleted file mode 100644 index 7effc76..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/VRMMonoBehaviourComparator.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System; -using UnityEngine; -using VRM; - - -public static class VRMMonoBehaviourComparator -{ - public static bool AssertAreEquals(GameObject l, GameObject r) - { - return - AssertAreEquals(l, r, - (x, y) => x[0].Meta.Equals(y[0].Meta)) - ; - } - - public static bool AssertAreEquals(GameObject l, GameObject r, Func pred) where T : Component - { - var ll = l.GetComponents(); - var rr = r.GetComponents(); - if (ll.Length != rr.Length) - { - return false; - } - if (ll.Length == 0) - { - return true; - } - return pred(ll, rr); - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/VRMMonoBehaviourComparator.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/VRMMonoBehaviourComparator.cs.meta deleted file mode 100644 index c0a76a6..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Editor/VRMMonoBehaviourComparator.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 557330772b8af474c9342f543cd61550 -timeCreated: 1521106869 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts.meta deleted file mode 100644 index a148b2b..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0baa78cd9e4cc9b44aa3c7fe4d706081 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape.meta deleted file mode 100644 index 5fc2417..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6b08115bf8f97d2448a62e4d6b35dadd -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeAvatar.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeAvatar.cs deleted file mode 100644 index 60df90e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeAvatar.cs +++ /dev/null @@ -1,137 +0,0 @@ -using UnityEngine; -using System.Linq; -using System; -using System.Collections.Generic; -using UniGLTF; -using System.IO; -#if UNITY_EDITOR -using UnityEditor; -#endif - -namespace VRM -{ - [CreateAssetMenu(menuName = "VRM/BlendShapeAvatar")] - public class BlendShapeAvatar : ScriptableObject - { - [SerializeField] - public List Clips = new List(); - - /// - /// NullのClipを削除して詰める - /// - public void RemoveNullClip() - { - if (Clips == null) - { - return; - } - for (int i = Clips.Count - 1; i >= 0; --i) - { - if (Clips[i] == null) - { - Clips.RemoveAt(i); - } - } - } - -#if UNITY_EDITOR - [ContextMenu("Restore")] - void Restore() - { - var assetPath = UnityPath.FromAsset(this); - if (assetPath.IsNull) - { - return; - } - - - foreach (var x in assetPath.Parent.ChildFiles) - { - var clip = UnityEditor.AssetDatabase.LoadAssetAtPath(x.Value); - if (clip == null) continue; - - if (!Clips.Contains(clip)) - { - Clips.Add(clip); - } - - Debug.LogFormat("{0}", clip.name); - } - Clips = Clips.OrderBy(x => BlendShapeKey.CreateFrom(x)).ToList(); - } - - static public BlendShapeClip CreateBlendShapeClip(string path) - { - //Debug.LogFormat("{0}", path); - var clip = ScriptableObject.CreateInstance(); - clip.BlendShapeName = Path.GetFileNameWithoutExtension(path); - AssetDatabase.CreateAsset(clip, path); - AssetDatabase.ImportAsset(path); - return clip; - //Clips.Add(clip); - //EditorUtility.SetDirty(this); - //AssetDatabase.SaveAssets(); - } -#endif - - /// - /// Unknown以外で存在しないものを全て作る - /// - public void CreateDefaultPreset() - { - foreach (var preset in ((BlendShapePreset[])Enum.GetValues(typeof(BlendShapePreset))) - .Where(x => x != BlendShapePreset.Unknown)) - { - CreateDefaultPreset(preset); - } - } - - void CreateDefaultPreset(BlendShapePreset preset) - { - var clip = GetClip(preset); - if (clip != null) return; - clip = ScriptableObject.CreateInstance(); - clip.name = preset.ToString(); - clip.BlendShapeName = preset.ToString(); - clip.Preset = preset; - Clips.Add(clip); - } - - public void SetClip(BlendShapeKey key, BlendShapeClip clip) - { - int index = -1; - try - { - index = Clips.FindIndex(x => key.Match(x)); - } - catch (Exception) - { - - } - if (index == -1) - { - Clips.Add(clip); - } - else - { - Clips[index] = clip; - } - } - - public BlendShapeClip GetClip(BlendShapeKey key) - { - if (Clips == null) return null; - return Clips.FirstOrDefault(x => key.Match(x)); - } - - public BlendShapeClip GetClip(BlendShapePreset preset) - { - return GetClip(new BlendShapeKey(preset)); - } - - public BlendShapeClip GetClip(String name) - { - return GetClip(new BlendShapeKey(name)); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeAvatar.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeAvatar.cs.meta deleted file mode 100644 index e67352a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeAvatar.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 329dca3bf78fcdd42b2df941673db76f -timeCreated: 1519195979 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeBindingMerger.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeBindingMerger.cs deleted file mode 100644 index 734d8c9..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeBindingMerger.cs +++ /dev/null @@ -1,121 +0,0 @@ -using System; -using System.Collections.Generic; -using UnityEngine; - -namespace VRM -{ - /// - /// A.Value * A.Weight + B.Value * B.Weight ... - /// - class BlendShapeBindingMerger - { - class DictionaryKeyBlendShapeBindingComparer : IEqualityComparer - { - public bool Equals(BlendShapeBinding x, BlendShapeBinding y) - { - return x.RelativePath == y.RelativePath - && x.Index == y.Index; - } - - public int GetHashCode(BlendShapeBinding obj) - { - return obj.RelativePath.GetHashCode() + obj.Index; - } - } - - private static DictionaryKeyBlendShapeBindingComparer comparer = new DictionaryKeyBlendShapeBindingComparer(); - - /// - /// BlendShapeの適用値を蓄積する - /// - /// - /// - /// - Dictionary m_blendShapeValueMap = new Dictionary(comparer); - - /// - /// - /// - /// - Dictionary> m_blendShapeSetterMap = new Dictionary>(comparer); - - public BlendShapeBindingMerger(Dictionary clipMap, Transform root) - { - foreach (var kv in clipMap) - { - foreach (var binding in kv.Value.Values) - { - if (!m_blendShapeSetterMap.ContainsKey(binding)) - { - var _target = root.Find(binding.RelativePath); - SkinnedMeshRenderer target = null; - if (_target != null) - { - target = _target.GetComponent(); - } - if (target != null) - { - if (binding.Index >= 0 && binding.Index < target.sharedMesh.blendShapeCount) - { - m_blendShapeSetterMap.Add(binding, x => - { - target.SetBlendShapeWeight(binding.Index, x); - }); - } - else - { - Debug.LogWarningFormat("Invalid blendshape binding: {0}: {1}", target.name, binding); - } - - } - else - { - Debug.LogWarningFormat("SkinnedMeshRenderer: {0} not found", binding.RelativePath); - } - } - } - } - } - - public void ImmediatelySetValue(BlendShapeClip clip, float value) - { - foreach (var binding in clip.Values) - { - Action setter; - if (m_blendShapeSetterMap.TryGetValue(binding, out setter)) - { - setter(binding.Weight * value); - } - } - } - - public void AccumulateValue(BlendShapeClip clip, float value) - { - foreach (var binding in clip.Values) - { - float acc; - if (m_blendShapeValueMap.TryGetValue(binding, out acc)) - { - m_blendShapeValueMap[binding] = acc + binding.Weight * value; - } - else - { - m_blendShapeValueMap[binding] = binding.Weight * value; - } - } - } - - public void Apply() - { - foreach (var kv in m_blendShapeValueMap) - { - Action setter; - if (m_blendShapeSetterMap.TryGetValue(kv.Key, out setter)) - { - setter(kv.Value); - } - } - m_blendShapeValueMap.Clear(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeBindingMerger.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeBindingMerger.cs.meta deleted file mode 100644 index 29c3d84..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeBindingMerger.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: ca4c8446451eeed46b1598db9e08bb73 -timeCreated: 1541229189 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeClip.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeClip.cs deleted file mode 100644 index c78d0aa..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeClip.cs +++ /dev/null @@ -1,187 +0,0 @@ -using System; -using UnityEngine; - - -namespace VRM -{ - [Serializable] - public struct BlendShapeBinding : IEquatable - { - public String RelativePath; - public int Index; - public float Weight; - - public override string ToString() - { - return string.Format("{0}[{1}]=>{2}", RelativePath, Index, Weight); - } - - public bool Equals(BlendShapeBinding other) - { - return string.Equals(RelativePath, other.RelativePath) && Index == other.Index && Weight.Equals(other.Weight); - } - - public override bool Equals(object obj) - { - if (ReferenceEquals(null, obj)) return false; - return obj is BlendShapeBinding && Equals((BlendShapeBinding)obj); - } - - public override int GetHashCode() - { - unchecked - { - var hashCode = (RelativePath != null ? RelativePath.GetHashCode() : 0); - hashCode = (hashCode * 397) ^ Index; - hashCode = (hashCode * 397) ^ Weight.GetHashCode(); - return hashCode; - } - } - } - - [Serializable] - public struct MaterialValueBinding : IEquatable - { - public String MaterialName; - public String ValueName; - public Vector4 TargetValue; - public Vector4 BaseValue; - - public bool Equals(MaterialValueBinding other) - { - return string.Equals(MaterialName, other.MaterialName) && string.Equals(ValueName, other.ValueName) && TargetValue.Equals(other.TargetValue) && BaseValue.Equals(other.BaseValue); - } - - public override bool Equals(object obj) - { - if (ReferenceEquals(null, obj)) return false; - return obj is MaterialValueBinding && Equals((MaterialValueBinding)obj); - } - - public override int GetHashCode() - { - unchecked - { - var hashCode = (MaterialName != null ? MaterialName.GetHashCode() : 0); - hashCode = (hashCode * 397) ^ (ValueName != null ? ValueName.GetHashCode() : 0); - hashCode = (hashCode * 397) ^ TargetValue.GetHashCode(); - hashCode = (hashCode * 397) ^ BaseValue.GetHashCode(); - return hashCode; - } - } - } - - [CreateAssetMenu(menuName = "VRM/BlendShapeClip")] - public class BlendShapeClip : ScriptableObject - { -#if UNITY_EDITOR - /// - /// Preview 用のObject参照 - /// - [SerializeField] - GameObject m_prefab; - public GameObject Prefab - { - set { m_prefab = value; } - get - { - if (m_prefab == null) - { - var assetPath = UnityEditor.AssetDatabase.GetAssetPath(this); - if (!string.IsNullOrEmpty(assetPath)) - { - // if asset is subasset of prefab - m_prefab = UnityEditor.AssetDatabase.LoadAssetAtPath(assetPath); - if (m_prefab == null) - { - var parent = UniGLTF.UnityPath.FromAsset(this).Parent; - var prefabPath = parent.Parent.Child(parent.FileNameWithoutExtension + ".prefab"); - m_prefab = UnityEditor.AssetDatabase.LoadAssetAtPath(prefabPath.Value); - } - } - } - return m_prefab; - } - } - - /// - /// Apply BlendShape for Preview - /// - /// - /// - public void Apply(Transform root, float value) - { - if (Values != null) - { - foreach (var x in Values) - { - var target = root.Find(x.RelativePath); - if (target != null) - { - var sr = target.GetComponent(); - if (sr != null) - { - sr.SetBlendShapeWeight(x.Index, x.Weight * value); - } - } - } - } - - /* - if (MaterialValues != null) - { - foreach (var x in MaterialValues) - { - var target = root.Find(x.RelativePath); - if (target != null) - { - var sr = target.GetComponent(); - if (sr != null) - { - var m = sr.sharedMaterials[x.Index]; - var color = x.BaseValue + (x.TargetValue - x.BaseValue) * value; - m.SetColor(x.ValueName, color); - } - } - } - } - */ - } -#endif - - /// - /// BlendShapePresetがUnknown場合の識別子 - /// - [SerializeField] - public string BlendShapeName = ""; - - /// - /// BlendShapePresetを識別する。Unknownの場合は、BlendShapeNameで識別する - /// - [SerializeField] - public BlendShapePreset Preset; - - /// - /// BlendShapeに対する参照(index ベース) - /// - /// - [SerializeField] - public BlendShapeBinding[] Values = new BlendShapeBinding[] { }; - - /// - /// マテリアルに対する参照(名前ベース) - /// - /// - [SerializeField] - public MaterialValueBinding[] MaterialValues = new MaterialValueBinding[] { }; - - /// - /// UniVRM-0.45: trueの場合、このBlendShapeClipは0と1の間の中間値を取らない。四捨五入する - /// - [SerializeField] - public bool IsBinary; - - // [SerializeField] - // public Texture2D Thumbnail; - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeClip.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeClip.cs.meta deleted file mode 100644 index cddffb5..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeClip.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 37562b39ff933b245ac2f35d87edbcd6 -timeCreated: 1517402750 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeClipHandler.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeClipHandler.cs deleted file mode 100644 index 46494ae..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeClipHandler.cs +++ /dev/null @@ -1,56 +0,0 @@ -using UnityEngine; -using System.Linq; -using System; - -namespace VRM -{ - [Obsolete("Use VRMBlendShapeProxy")] - public class BlendShapeClipHandler - { - BlendShapeClip m_clip; - public BlendShapeClip Cilp - { - get { return m_clip; } - } - SkinnedMeshRenderer[] m_renderers; - - public BlendShapeClipHandler(BlendShapeClip clip, Transform transform) - { - m_clip = clip; - - if (m_clip != null && m_clip.Values != null && transform != null) - { - m_renderers = m_clip.Values.Select(x => - { - var target = UniGLTF.UnityExtensions.GetFromPath(transform, x.RelativePath); - return target.GetComponent(); - }) - .ToArray(); - } - } - - public float LastValue - { - get; - private set; - } - - public void Apply(float value) - { - LastValue = value; - - if (m_clip == null) return; - if (m_renderers == null) return; - - for (int i = 0; i < m_clip.Values.Length; ++i) - { - var binding = m_clip.Values[i]; - var target = m_renderers[i]; - if (binding.Index >= 0 && binding.Index < target.sharedMesh.blendShapeCount) - { - target.SetBlendShapeWeight(binding.Index, binding.Weight * value); - } - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeClipHandler.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeClipHandler.cs.meta deleted file mode 100644 index 1b0a17f..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeClipHandler.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: b93cb40fe6ff9ec4a8dcac1686f90ce8 -timeCreated: 1519729616 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeKey.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeKey.cs deleted file mode 100644 index 7ef5554..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeKey.cs +++ /dev/null @@ -1,105 +0,0 @@ -using System; - - -namespace VRM -{ - [Serializable] - public struct BlendShapeKey : IEquatable, IComparable - { - public string Name; - public BlendShapePreset Preset; - - string m_id; - string ID - { - get - { - if (string.IsNullOrEmpty(m_id)) - { - if (Preset != BlendShapePreset.Unknown) - { - m_id = Preset.ToString().ToUpper(); - } - else - { - m_id = Name; - } - } - return m_id; - } - } - - public BlendShapeKey(string name) : this(name, BlendShapePreset.Unknown) - { - } - - public BlendShapeKey(BlendShapePreset preset) : this(preset.ToString(), BlendShapePreset.Unknown) - { - } - - public BlendShapeKey(string name, BlendShapePreset preset) - { - Name = name.ToUpper(); - Preset = preset; - if (Preset != BlendShapePreset.Unknown) - { - m_id = Preset.ToString().ToUpper(); - } - else - { - m_id = Name; - } - } - - public override string ToString() - { - return ID; - } - - public bool Equals(BlendShapeKey other) - { - return ID == other.ID; - } - - public override bool Equals(object obj) - { - if (obj is BlendShapeKey) - { - return Equals((BlendShapeKey)obj); - } - else - { - return false; - } - } - - public override int GetHashCode() - { - return ID.GetHashCode(); - } - - public static BlendShapeKey CreateFrom(BlendShapeClip clip) - { - if (clip == null) - { - return default(BlendShapeKey); - } - return new BlendShapeKey(clip.BlendShapeName, clip.Preset); - } - - public bool Match(BlendShapeClip clip) - { - return this.Equals(CreateFrom(clip)); - } - - public int CompareTo(BlendShapeKey other) - { - if (Preset != other.Preset) - { - return Preset - other.Preset; - } - - return 0; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeKey.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeKey.cs.meta deleted file mode 100644 index 83719f7..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeKey.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 273b1f57f417db8408c13673d45890ff -timeCreated: 1521727258 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeMerger.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeMerger.cs deleted file mode 100644 index 5cbd30c..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeMerger.cs +++ /dev/null @@ -1,149 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using UniGLTF; -using UnityEngine; - - -namespace VRM -{ - - /// - /// ブレンドシェイプを蓄えてまとめて適用するクラス - /// - class BlendShapeMerger - { - /// - /// Key からBlendShapeClipを得る - /// - Dictionary m_clipMap; - - /// - /// BlendShape のWeightを記録する - /// - Dictionary m_valueMap; - - BlendShapeBindingMerger m_blendShapeBindingMerger; - - MaterialValueBindingMerger m_materialValueBindingMerger; - - - public BlendShapeMerger(IEnumerable clips, Transform root) - { - m_clipMap = clips.ToDictionary(x => BlendShapeKey.CreateFrom(x), x => x); - - m_valueMap = new Dictionary(); - - m_blendShapeBindingMerger = new BlendShapeBindingMerger(m_clipMap, root); - m_materialValueBindingMerger = new MaterialValueBindingMerger(m_clipMap, root); - } - - /* - public void Clear() - { - foreach (var kv in m_valueMap.ToArray()) - { - SetValue(kv.Key, kv.Value, false); - } - Apply(); - } - */ - - /// - /// 蓄積した値を適用する - /// - public void Apply() - { - m_blendShapeBindingMerger.Apply(); - m_materialValueBindingMerger.Apply(); - } - - /// - /// まとめて反映する。1フレームに1回呼び出されることを想定 - /// - /// - public void SetValues(IEnumerable> values) - { - foreach (var kv in values) - { - AccumulateValue(kv.Key, kv.Value); - } - Apply(); - } - - /// - /// 即時に反映しない。後にApplyによって反映する - /// - /// - /// - public void AccumulateValue(BlendShapeKey key, float value) - { - m_valueMap[key] = value; - - BlendShapeClip clip; - if (!m_clipMap.TryGetValue(key, out clip)) - { - return; - } - - if (clip.IsBinary) - { - value = Mathf.Round(value); - } - - m_blendShapeBindingMerger.AccumulateValue(clip, value); - m_materialValueBindingMerger.AccumulateValue(clip, value); - } - - /// - /// 即時に反映する - /// - /// - /// - public void ImmediatelySetValue(BlendShapeKey key, float value) - { - m_valueMap[key] = value; - - BlendShapeClip clip; - if (!m_clipMap.TryGetValue(key, out clip)) - { - return; - } - - if (clip.IsBinary) - { - value = Mathf.Round(value); - } - - m_blendShapeBindingMerger.ImmediatelySetValue(clip, value); - m_materialValueBindingMerger.ImmediatelySetValue(clip, value); - } - - public void SetValue(BlendShapeKey key, float value, bool immediately) - { - if (immediately) - { - ImmediatelySetValue(key, value); - } - else - { - AccumulateValue(key, value); - } - } - - public float GetValue(BlendShapeKey key) - { - float value; - if (!m_valueMap.TryGetValue(key, out value)) - { - return 0; - } - return value; - } - - public void RestoreMaterialInitialValues(IEnumerable clips) - { - m_materialValueBindingMerger.RestoreMaterialInitialValues(clips); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeMerger.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeMerger.cs.meta deleted file mode 100644 index 18c37fa..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/BlendShapeMerger.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 08be778bf6b570847a9fb8dc57e29946 -timeCreated: 1524201297 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/Blinker.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/Blinker.cs deleted file mode 100644 index 45dd32f..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/Blinker.cs +++ /dev/null @@ -1,119 +0,0 @@ -using System.Collections; -using UnityEngine; - - -namespace VRM -{ - public class Blinker : MonoBehaviour - { - [SerializeField] - public VRMBlendShapeProxy BlendShapes; - private void Reset() - { - BlendShapes = GetComponent(); - } - - [SerializeField] - float m_interVal = 5.0f; - - [SerializeField] - float m_closingTime = 0.06f; - - [SerializeField] - float m_openingSeconds = 0.03f; - - [SerializeField] - float m_closeSeconds = 0.1f; - - protected Coroutine m_coroutine; - - //static readonly string BLINK_NAME = BlendShapePreset.Blink.ToString(); - - float m_nextRequest; - bool m_request; - public bool Request - { - get { return m_request; } - set - { - if (Time.time < m_nextRequest) - { - return; - } - m_request = value; - m_nextRequest = Time.time + 1.0f; - } - } - - protected IEnumerator BlinkRoutine() - { - while (true) - { - var waitTime = Time.time + Random.value * m_interVal; - while (waitTime > Time.time) - { - if (Request) - { - m_request = false; - break; - } - yield return null; - } - - // close - var value = 0.0f; - var closeSpeed = 1.0f / m_closeSeconds; - while (true) - { - value += Time.deltaTime * closeSpeed; - if (value >= 1.0f) - { - break; - } - - BlendShapes.ImmediatelySetValue(BlendShapePreset.Blink, value); - yield return null; - } - BlendShapes.ImmediatelySetValue(BlendShapePreset.Blink, 1.0f); - - // wait... - yield return new WaitForSeconds(m_closingTime); - - // open - value = 1.0f; - var openSpeed = 1.0f / m_openingSeconds; - while (true) - { - value -= Time.deltaTime * openSpeed; - if (value < 0) - { - break; - } - - BlendShapes.ImmediatelySetValue(BlendShapePreset.Blink, value); - yield return null; - } - BlendShapes.ImmediatelySetValue(BlendShapePreset.Blink, 0); - } - } - - private void Awake() - { - if (BlendShapes == null) BlendShapes = GetComponent(); - } - - private void OnEnable() - { - m_coroutine = StartCoroutine(BlinkRoutine()); - } - - private void OnDisable() - { - if (m_coroutine != null) - { - StopCoroutine(m_coroutine); - m_coroutine = null; - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/Blinker.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/Blinker.cs.meta deleted file mode 100644 index 73f197d..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/Blinker.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 69ea1f88e8d74e04e9341465573a4ef8 -timeCreated: 1517463794 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/MaterialValueBindingMerger.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/MaterialValueBindingMerger.cs deleted file mode 100644 index 0dcb380..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/MaterialValueBindingMerger.cs +++ /dev/null @@ -1,288 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using UnityEngine; -using UniGLTF; - -namespace VRM -{ - /// - /// Base + (A.Target - Base) * A.Weight + (B.Target - Base) * B.Weight ... - /// - class MaterialValueBindingMerger - { - - struct DictionaryKeyMaterialValueBindingComparer : IEqualityComparer - { - public bool Equals(MaterialValueBinding x, MaterialValueBinding y) - { - return x.TargetValue == y.TargetValue && x.BaseValue == y.BaseValue && x.MaterialName == y.MaterialName && x.ValueName == y.ValueName; - } - - public int GetHashCode(MaterialValueBinding obj) - { - return obj.GetHashCode(); - } - } - - static DictionaryKeyMaterialValueBindingComparer comparer = new DictionaryKeyMaterialValueBindingComparer(); - - /// - /// 名前とmaterialのマッピング - /// - Dictionary m_materialMap = new Dictionary(); - - delegate void Setter(float value, bool firstValue); - - /// - /// MaterialValueの適用値を蓄積する - /// - /// - /// - /// - Dictionary m_materialValueMap = new Dictionary(comparer); - - Dictionary m_materialSetterMap = new Dictionary(comparer); - - //BlendShapeClip[] m_clips; - - public MaterialValueBindingMerger(Dictionary clipMap, Transform root) - { - //m_clips = clipMap.Values.ToArray(); - - foreach (var x in root.Traverse()) - { - var renderer = x.GetComponent(); - if (renderer != null) - { - foreach (var y in renderer.sharedMaterials.Where(y => y != null)) - { - if (!string.IsNullOrEmpty(y.name)) - { - if (!m_materialMap.ContainsKey(y.name)) - { - m_materialMap.Add(y.name, y); - } - } - } - } - } - - foreach (var kv in clipMap) - { - foreach (var binding in kv.Value.MaterialValues) - { - if (!m_materialSetterMap.ContainsKey(binding)) - { - Material target; - if (m_materialMap.TryGetValue(binding.MaterialName, out target)) - { - if (binding.ValueName.EndsWith("_ST_S")) - { - var valueName = binding.ValueName.Substring(0, binding.ValueName.Length - 2); - Setter setter = (value, firstValue) => - { - var propValue = firstValue - ? (binding.BaseValue + (binding.TargetValue - binding.BaseValue) * value) - : (target.GetVector(valueName) + (binding.TargetValue - binding.BaseValue) * value) - ; - var src = target.GetVector(valueName); - src.x = propValue.x; // horizontal only - src.z = propValue.z; // horizontal only - target.SetVector(valueName, src); - }; - m_materialSetterMap.Add(binding, setter); - } - else if (binding.ValueName.EndsWith("_ST_T")) - { - var valueName = binding.ValueName.Substring(0, binding.ValueName.Length - 2); - Setter setter = (value, firstValue) => - { - var propValue = firstValue - ? (binding.BaseValue + (binding.TargetValue - binding.BaseValue) * value) - : (target.GetVector(valueName) + (binding.TargetValue - binding.BaseValue) * value) - ; - var src = target.GetVector(valueName); - src.y = propValue.y; // vertical only - src.w = propValue.w; // vertical only - target.SetVector(valueName, src); - }; - m_materialSetterMap.Add(binding, setter); - } - else - { - Setter vec4Setter = (value, firstValue) => - { - var propValue = firstValue - ? (binding.BaseValue + (binding.TargetValue - binding.BaseValue) * value) - : (target.GetVector(binding.ValueName) + (binding.TargetValue - binding.BaseValue) * value) - ; - target.SetColor(binding.ValueName, propValue); - }; - m_materialSetterMap.Add(binding, vec4Setter); - } - } - else - { - Debug.LogWarningFormat("material: {0} not found", binding.MaterialName); - } - } - } - } - } - - public void RestoreMaterialInitialValues(IEnumerable clips) - { - if (m_materialMap != null) - { - foreach (var x in clips) - { - foreach (var y in x.MaterialValues) - { - // restore values - Material material; - if (m_materialMap.TryGetValue(y.MaterialName, out material)) - { - var valueName = y.ValueName; - if (valueName.EndsWith("_ST_S") - || valueName.EndsWith("_ST_T")) - { - valueName = valueName.Substring(0, valueName.Length - 2); - } -#if UNITY_EDITOR - // restore only material with asset - if (!string.IsNullOrEmpty(UnityEditor.AssetDatabase.GetAssetPath(material))) - { - material.SetColor(valueName, y.BaseValue); - } -#endif - } - else - { - Debug.LogWarningFormat("{0} not found", y.MaterialName); - } - } - } - } - } - - public void ImmediatelySetValue(BlendShapeClip clip, float value) - { - foreach (var binding in clip.MaterialValues) - { - Setter setter; - if (m_materialSetterMap.TryGetValue(binding, out setter)) - { - setter(value, true); - } - } - } - - public void AccumulateValue(BlendShapeClip clip, float value) - { - foreach (var binding in clip.MaterialValues) - { - // 積算 - float acc; - if (m_materialValueMap.TryGetValue(binding, out acc)) - { - m_materialValueMap[binding] = acc + value; - } - else - { - m_materialValueMap[binding] = value; - } - } - } - - struct MaterialTarget : IEquatable - { - public string MaterialName; - public string ValueName; - - public bool Equals(MaterialTarget other) - { - return MaterialName == other.MaterialName - && ValueName == other.ValueName; - } - - public override bool Equals(object obj) - { - if (obj is MaterialTarget) - { - return Equals((MaterialTarget)obj); - } - else - { - return false; - } - } - - public override int GetHashCode() - { - if (MaterialName == null || ValueName == null) - { - return 0; - } - return MaterialName.GetHashCode() + ValueName.GetHashCode(); - } - - public static MaterialTarget Create(MaterialValueBinding binding) - { - return new MaterialTarget - { - MaterialName=binding.MaterialName, - ValueName=binding.ValueName - }; - } - } - - HashSet m_used = new HashSet(); - - public void Apply() - { - // clear - //RestoreMaterialInitialValues(m_clips); - m_used.Clear(); - - // (binding.Value-Base) * weight を足す - foreach (var kv in m_materialValueMap) - { - var key = MaterialTarget.Create(kv.Key); - if (!m_used.Contains(key)) - { - // restore value - Material material; - if (m_materialMap.TryGetValue(key.MaterialName, out material)) - { - var value = kv.Key.BaseValue; - var valueName = key.ValueName; - if (valueName.EndsWith("_ST_S")) - { - valueName = valueName.Substring(0, valueName.Length - 2); - var v=material.GetVector(valueName); - value.y = v.y; - value.w = v.w; - } - else if (valueName.EndsWith("_ST_T")) - { - valueName = valueName.Substring(0, valueName.Length - 2); - var v = material.GetVector(valueName); - value.x = v.x; - value.z = v.z; - } - material.SetColor(valueName, value); - } - m_used.Add(key); - } - - Setter setter; - if (m_materialSetterMap.TryGetValue(kv.Key, out setter)) - { - setter(kv.Value, false); - } - } - m_materialValueMap.Clear(); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/MaterialValueBindingMerger.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/MaterialValueBindingMerger.cs.meta deleted file mode 100644 index 53929f0..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/MaterialValueBindingMerger.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 4ccc88d77d5d1e74499d053083ade08d -timeCreated: 1541229189 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/MeshPreviewItem.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/MeshPreviewItem.cs deleted file mode 100644 index 54dfc18..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/MeshPreviewItem.cs +++ /dev/null @@ -1,236 +0,0 @@ -using System.Linq; -using UnityEngine; -using UniGLTF; -using System; -using System.Collections.Generic; -#if UNITY_EDITOR -using UnityEditor; -#endif - - -namespace VRM -{ -#if UNITY_EDITOR - [Serializable] - public struct PropItem - { - public ShaderUtil.ShaderPropertyType PropertyType; - public Vector4 DefaultValues; - } -#endif - - [Serializable] - public class MaterialItem - { - public Material Material { get; private set; } -#if UNITY_EDITOR - public Dictionary PropMap = new Dictionary(); - - public string[] PropNames - { - get; - private set; - } -#endif - - public static MaterialItem Create(Material material) - { - var item = new MaterialItem - { - Material = material - }; -#if UNITY_EDITOR - - var propNames = new List(); - for (int i = 0; i < ShaderUtil.GetPropertyCount(material.shader); ++i) - { - var propType = ShaderUtil.GetPropertyType(material.shader, i); - var name = ShaderUtil.GetPropertyName(material.shader, i); - - switch (propType) - { - case ShaderUtil.ShaderPropertyType.Color: - // 色 - item.PropMap.Add(name, new PropItem - { - PropertyType = propType, - DefaultValues = material.GetColor(name), - }); - propNames.Add(name); - break; - - case ShaderUtil.ShaderPropertyType.TexEnv: - // テクスチャ - { - name += "_ST"; - item.PropMap.Add(name, new PropItem - { - PropertyType = propType, - DefaultValues = material.GetVector(name), - }); - propNames.Add(name); - } - // 縦横分離用 - { - var st_name = name + "_S"; - item.PropMap.Add(st_name, new PropItem - { - PropertyType = propType, - DefaultValues = material.GetVector(name), - }); - propNames.Add(st_name); - } - { - var st_name = name + "_T"; - item.PropMap.Add(st_name, new PropItem - { - PropertyType = propType, - DefaultValues = material.GetVector(name), - }); - propNames.Add(st_name); - } - break; - } - } - item.PropNames = propNames.ToArray(); -#endif - return item; - } - } - - [Serializable] - public class MeshPreviewItem - { - public string Path - { - get; - private set; - } - - public SkinnedMeshRenderer SkinnedMeshRenderer - { - get; - private set; - } - - public Mesh Mesh - { - get; - private set; - } - - public string[] BlendShapeNames - { - get; - private set; - } - - public int BlendShapeCount - { - get { return BlendShapeNames.Length; } - } - - public Material[] Materials - { - get; - private set; - } - - Transform m_transform; - public Vector3 Position - { - get { return m_transform.position; } - } - public Quaternion Rotation - { - get { return m_transform.rotation; } - } - - MeshPreviewItem(string path, Transform transform, Material[] materials) - { - Path = path; - m_transform = transform; - Materials = materials; - } - - public void Bake(IEnumerable values, float weight) - { - if (SkinnedMeshRenderer == null) return; - - // Update baked mesh - if (values != null) - { - // clear - for (int i = 0; i < BlendShapeCount; ++i) - { - SkinnedMeshRenderer.SetBlendShapeWeight(i, 0); - } - - foreach (var x in values) - { - if (x.RelativePath == Path) - { - if (x.Index >= 0 && x.Index < SkinnedMeshRenderer.sharedMesh.blendShapeCount) - { - SkinnedMeshRenderer.SetBlendShapeWeight(x.Index, x.Weight * weight); - } - else - { - Debug.LogWarningFormat("Out of range {0}: 0 <= {1} < {2}", - SkinnedMeshRenderer.name, - x.Index, - SkinnedMeshRenderer.sharedMesh.blendShapeCount); - } - } - } - } - SkinnedMeshRenderer.BakeMesh(Mesh); - } - - public static MeshPreviewItem Create(Transform t, Transform root, - Func getOrCreateMaterial) - { - //Debug.Log("create"); - - var meshFilter = t.GetComponent(); - var meshRenderer = t.GetComponent(); - var skinnedMeshRenderer = t.GetComponent(); - if (meshFilter != null && meshRenderer != null) - { - // copy - meshRenderer.sharedMaterials = meshRenderer.sharedMaterials.Select(x => getOrCreateMaterial(x)).ToArray(); - return new MeshPreviewItem(t.RelativePathFrom(root), t, meshRenderer.sharedMaterials) - { - Mesh = meshFilter.sharedMesh - }; - } - else if (skinnedMeshRenderer != null) - { - // copy - skinnedMeshRenderer.sharedMaterials = skinnedMeshRenderer.sharedMaterials.Select(x => getOrCreateMaterial(x)).ToArray(); - if (skinnedMeshRenderer.sharedMesh.blendShapeCount > 0) - { - // bake required - var sharedMesh = skinnedMeshRenderer.sharedMesh; - return new MeshPreviewItem(t.RelativePathFrom(root), t, skinnedMeshRenderer.sharedMaterials) - { - SkinnedMeshRenderer = skinnedMeshRenderer, - Mesh = new Mesh(), // for bake - BlendShapeNames = Enumerable.Range(0, sharedMesh.blendShapeCount).Select(x => sharedMesh.GetBlendShapeName(x)).ToArray() - }; - } - else - { - return new MeshPreviewItem(t.RelativePathFrom(root), t, skinnedMeshRenderer.sharedMaterials) - { - Mesh = skinnedMeshRenderer.sharedMesh, - }; - } - } - else - { - return null; - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/MeshPreviewItem.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/MeshPreviewItem.cs.meta deleted file mode 100644 index fb8fb8d..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/MeshPreviewItem.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 7a8f34605a43f30459f50399149f5929 -timeCreated: 1523145842 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/PreviewSceneManager.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/PreviewSceneManager.cs deleted file mode 100644 index 1a74801..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/PreviewSceneManager.cs +++ /dev/null @@ -1,306 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using UnityEngine; -using System.Reflection; -using System; -#if UNITY_EDITOR -using UnityEditor; -#endif -using UniGLTF; - - -namespace VRM -{ - /// - /// プレビュー向けのシーンを管理する - /// - public class PreviewSceneManager : MonoBehaviour - { - public GameObject Prefab; - -#if UNITY_EDITOR - public static PreviewSceneManager GetOrCreate(GameObject prefab) - { - if (prefab == null) - { - return null; - } - - PreviewSceneManager manager = null; - - // if we already instantiated a PreviewInstance previously but just lost the reference, then use that same instance instead of making a new one - var managers = GameObject.FindObjectsOfType(); - foreach (var x in managers) - { - if (x.Prefab == prefab) - { - Debug.LogFormat("find {0}", manager); - return manager; - } - Debug.LogFormat("destroy {0}", x); - GameObject.DestroyImmediate(x.gameObject); - } - - //Debug.Log("new prefab. instanciate"); - // no previous instance detected, so now let's make a fresh one - // very important: this loads the PreviewInstance prefab and temporarily instantiates it into PreviewInstance - var go = GameObject.Instantiate(prefab, - prefab.transform.position, - prefab.transform.rotation - ); - go.name = "__PREVIEW_SCENE_MANGER__"; - manager = go.AddComponent(); - manager.Initialize(prefab); - - // HideFlags are special editor-only settings that let you have *secret* GameObjects in a scene, or to tell Unity not to save that temporary GameObject as part of the scene - foreach (var x in go.transform.Traverse()) - { - x.gameObject.hideFlags = HideFlags.None - | HideFlags.DontSave - //| HideFlags.DontSaveInBuild -#if VRM_DEVELOP -#else - | HideFlags.HideAndDontSave -#endif - ; - } - - return manager; - } -#endif - - public void Clean() - { - foreach (var kv in m_materialMap) - { - UnityEngine.Object.DestroyImmediate(kv.Value.Material); - } - } - - private void Initialize(GameObject prefab) - { - //Debug.LogFormat("[PreviewSceneManager.Initialize] {0}", prefab); - Prefab = prefab; - - var materialNames = new List(); - var map = new Dictionary(); - Func getOrCreateMaterial = src => - { - if (src == null) return null; - if (string.IsNullOrEmpty(src.name)) return null; // ! - - Material dst; - if (!map.TryGetValue(src, out dst)) - { - dst = new Material(src); - map.Add(src, dst); - - //Debug.LogFormat("add material {0}", src.name); - materialNames.Add(src.name); - m_materialMap.Add(src.name, MaterialItem.Create(dst)); - } - return dst; - }; - - m_meshes = transform.Traverse() - .Select(x => MeshPreviewItem.Create(x, transform, getOrCreateMaterial)) - .Where(x => x != null) - .ToArray() - ; - MaterialNames = materialNames.ToArray(); - - m_blendShapeMeshes = m_meshes - .Where(x => x.SkinnedMeshRenderer != null - && x.SkinnedMeshRenderer.sharedMesh.blendShapeCount > 0) - .ToArray(); - - //Bake(values, materialValues); - - m_rendererPathList = m_meshes.Select(x => x.Path).ToArray(); - m_skinnedMeshRendererPathList = m_meshes - .Where(x => x.SkinnedMeshRenderer != null) - .Select(x => x.Path) - .ToArray(); - - var animator = GetComponent(); - if (animator != null) - { - var head = animator.GetBoneTransform(HumanBodyBones.Head); - if (head != null) - { - m_target = head; - } - } - } - - MeshPreviewItem[] m_meshes; - MeshPreviewItem[] m_blendShapeMeshes; - public IEnumerable EnumRenderItems - { - get - { - if (m_meshes != null) - { - foreach (var x in m_meshes) - { - yield return x; - } - } - } - } - - public string[] MaterialNames - { - get; - private set; - } - - Dictionary m_materialMap = new Dictionary(); - - string[] m_rendererPathList; - public string[] RendererPathList - { - get { return m_rendererPathList; } - } - - string[] m_skinnedMeshRendererPathList; - public string[] SkinnedMeshRendererPathList - { - get { return m_skinnedMeshRendererPathList; } - } - - public string[] GetBlendShapeNames(int blendShapeMeshIndex) - { - if (blendShapeMeshIndex >= 0 && blendShapeMeshIndex < m_blendShapeMeshes.Length) - { - var item = m_blendShapeMeshes[blendShapeMeshIndex]; - return item.BlendShapeNames; - } - - return null; - } - - public MaterialItem GetMaterialItem(string materialName) - { - MaterialItem item; - if (!m_materialMap.TryGetValue(materialName, out item)) - { - return null; - } - - return item; - } - - public Transform m_target; - public Vector3 TargetPosition - { - get - { - if (m_target == null) - { - return new Vector3(0, 1.4f, 0); - } - return m_target.position + new Vector3(0, 0.1f, 0); - } - } - -#if UNITY_EDITOR - - public struct BakeValue - { - public IEnumerable BlendShapeBindings; - public IEnumerable MaterialValueBindings; - public float Weight; - } - - Bounds m_bounds; - public void Bake(BakeValue bake) - { - // - // Bake BlendShape - // - m_bounds = default(Bounds); - if (m_meshes != null) - { - foreach (var x in m_meshes) - { - x.Bake(bake.BlendShapeBindings, bake.Weight); - m_bounds.Expand(x.Mesh.bounds.size); - } - } - - // - // Update Material - // - if (bake.MaterialValueBindings != null && m_materialMap != null) - { - // clear - //Debug.LogFormat("clear material"); - foreach (var kv in m_materialMap) - { - foreach (var _kv in kv.Value.PropMap) - { - kv.Value.Material.SetColor(_kv.Key, _kv.Value.DefaultValues); - } - } - - foreach (var x in bake.MaterialValueBindings) - { - MaterialItem item; - if (m_materialMap.TryGetValue(x.MaterialName, out item)) - { - //Debug.Log("set material"); - PropItem prop; - if (item.PropMap.TryGetValue(x.ValueName, out prop)) - { - var valueName = x.ValueName; - if (valueName.EndsWith("_ST_S") - || valueName.EndsWith("_ST_T")) - { - valueName = valueName.Substring(0, valueName.Length - 2); - } - - var value = item.Material.GetVector(valueName); - //Debug.LogFormat("{0} => {1}", valueName, x.TargetValue); - value += ((x.TargetValue - x.BaseValue) * bake.Weight); - item.Material.SetColor(valueName, value); - } - } - } - } - } -#endif - - /// - /// カメラパラメーターを決める - /// - /// - public void SetupCamera(Camera camera, Vector3 target, float yaw, float pitch, Vector3 position) - { - camera.backgroundColor = Color.gray; - camera.clearFlags = CameraClearFlags.Color; - - // projection - //float magnitude = m_bounds.extents.magnitude * 0.5f; - //float distance = magnitude; - //var distance = target.magnitude; - - camera.fieldOfView = 27f; - camera.nearClipPlane = 0.3f; - camera.farClipPlane = -position.z /*+ magnitude*/ * 2.1f; - - var t = Matrix4x4.Translate(position); - var r = Matrix4x4.TRS(Vector3.zero, Quaternion.Euler(pitch, yaw, 0), Vector3.one); - // 回転してから移動 - var m = r * t; - - camera.transform.position = target + m.ExtractPosition(); - camera.transform.rotation = m.ExtractRotation(); - //camera.transform.LookAt(target); - - //previewLayer のみ表示する - //camera.cullingMask = 1 << PreviewLayer; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/PreviewSceneManager.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/PreviewSceneManager.cs.meta deleted file mode 100644 index 59d5963..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/PreviewSceneManager.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: f478195c182f6d344b5d30b4318321a4 -timeCreated: 1523096653 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/VRMBlendShapeProxy.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/VRMBlendShapeProxy.cs deleted file mode 100644 index 9b750cc..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/VRMBlendShapeProxy.cs +++ /dev/null @@ -1,201 +0,0 @@ -using System; -using System.Collections.Generic; -using UnityEngine; - - -namespace VRM -{ - [DisallowMultipleComponent] - public class VRMBlendShapeProxy : MonoBehaviour, IVRMComponent - { - [SerializeField] - public BlendShapeAvatar BlendShapeAvatar; - - public void OnImported(VRMImporterContext context) - { - throw new NotImplementedException(); - } - - BlendShapeMerger m_merger; - - private void OnDestroy() - { - if (m_merger != null) - { - m_merger.RestoreMaterialInitialValues(BlendShapeAvatar.Clips); - } - } - - private void Start() - { - if (BlendShapeAvatar != null) - { - if (m_merger == null) - { - m_merger = new BlendShapeMerger(BlendShapeAvatar.Clips, transform); - } - } - } - - /// - /// Immediately SetValue - /// - /// - /// - public void ImmediatelySetValue(BlendShapeKey key, float value) - { - if (m_merger != null) - { - m_merger.ImmediatelySetValue(key, value); - } - } - - /// - /// AccumulateValue. After, Should call Apply - /// - /// - /// - public void AccumulateValue(BlendShapeKey key, float value) - { - if (m_merger != null) - { - m_merger.AccumulateValue(key, value); - } - } - - /// - /// Get a blendShape value - /// - /// - /// - public float GetValue(BlendShapeKey key) - { - if (m_merger == null) - { - return 0; - } - return m_merger.GetValue(key); - } - - public IEnumerable> GetValues() - { - if (m_merger != null && BlendShapeAvatar != null) - { - foreach (var clip in BlendShapeAvatar.Clips) - { - var key = BlendShapeKey.CreateFrom(clip); - yield return new KeyValuePair(key, m_merger.GetValue(key)); - } - } - } - - /// - /// Set blendShape values immediate. - /// - /// - public void SetValues(IEnumerable> values) - { - if (m_merger != null) - { - m_merger.SetValues(values); - } - } - - /// - /// Apply blendShape values that use SetValue apply=false - /// - public void Apply() - { - if (m_merger != null) - { - m_merger.Apply(); - } - } - } - - public static class VRMBlendShapeProxyExtensions - { - public static float GetValue(this VRMBlendShapeProxy proxy, BlendShapePreset key) - { - return proxy.GetValue(new BlendShapeKey(key)); - } - - public static float GetValue(this VRMBlendShapeProxy proxy, String key) - { - return proxy.GetValue(new BlendShapeKey(key)); - } - - [Obsolete("Use ImmediatelySetValue")] - public static void SetValue(this VRMBlendShapeProxy proxy, BlendShapePreset key, float value) - { - proxy.ImmediatelySetValue(new BlendShapeKey(key), value); - } - public static void ImmediatelySetValue(this VRMBlendShapeProxy proxy, BlendShapePreset key, float value) - { - proxy.ImmediatelySetValue(new BlendShapeKey(key), value); - } - public static void AccumulateValue(this VRMBlendShapeProxy proxy, BlendShapePreset key, float value) - { - proxy.AccumulateValue(new BlendShapeKey(key), value); - } - - [Obsolete("Use ImmediatelySetValue")] - public static void SetValue(this VRMBlendShapeProxy proxy, String key, float value) - { - proxy.ImmediatelySetValue(new BlendShapeKey(key), value); - } - public static void ImmediatelySetValue(this VRMBlendShapeProxy proxy, String key, float value) - { - proxy.ImmediatelySetValue(new BlendShapeKey(key), value); - } - public static void AccumulateValue(this VRMBlendShapeProxy proxy, String key, float value) - { - proxy.AccumulateValue(new BlendShapeKey(key), value); - } - - [Obsolete("Use ImmediatelySetValue")] - public static void SetValue(this VRMBlendShapeProxy proxy, BlendShapeKey key, float value) - { - proxy.ImmediatelySetValue(key, value); - } - - [Obsolete("Use ImmediatelySetValue or AccumulateValue")] - public static void SetValue(this VRMBlendShapeProxy proxy, BlendShapePreset key, float value, bool apply) - { - if (apply) - { - proxy.ImmediatelySetValue(new BlendShapeKey(key), value); - } - else - { - proxy.AccumulateValue(new BlendShapeKey(key), value); - } - } - - [Obsolete("Use ImmediatelySetValue or AccumulateValue")] - public static void SetValue(this VRMBlendShapeProxy proxy, String key, float value, bool apply) - { - if (apply) - { - proxy.ImmediatelySetValue(new BlendShapeKey(key), value); - } - else - { - proxy.AccumulateValue(new BlendShapeKey(key), value); - } - } - - [Obsolete("Use ImmediatelySetValue or AccumulateValue")] - public static void SetValue(this VRMBlendShapeProxy proxy, BlendShapeKey key, float value, bool apply) - { - if (apply) - { - proxy.ImmediatelySetValue(key, value); - } - else - { - proxy.AccumulateValue(key, value); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/VRMBlendShapeProxy.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/VRMBlendShapeProxy.cs.meta deleted file mode 100644 index 9eaaa54..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/BlendShape/VRMBlendShapeProxy.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 5b678c1df50cfb547990db24a32856da -timeCreated: 1517467747 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/EnumUtil.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/EnumUtil.cs deleted file mode 100644 index 53cc505..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/EnumUtil.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; - - -namespace VRM -{ - public static class EnumUtil - { - public static T TryParseOrDefault(string src, T defaultValue=default(T)) where T : struct - { - try - { - return (T)Enum.Parse(typeof(T), src, true); - } - catch (Exception) - { - return defaultValue; - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/EnumUtil.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/EnumUtil.cs.meta deleted file mode 100644 index cc497ab..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/EnumUtil.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: da515e03d4b6ec244839077b79aad26a -timeCreated: 1523088440 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/FirstPerson.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/FirstPerson.meta deleted file mode 100644 index 3f25c34..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/FirstPerson.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 784e9db6c9884cf49aa1e617fef349dc -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/FirstPerson/VRMFirstPerson.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/FirstPerson/VRMFirstPerson.cs deleted file mode 100644 index ae6026b..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/FirstPerson/VRMFirstPerson.cs +++ /dev/null @@ -1,266 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using UniGLTF; -using UnityEngine; - - -namespace VRM -{ - public class VRMFirstPerson : MonoBehaviour - { - // If no layer names are set, use the default layer IDs. - // Otherwise use the two Unity layers called "VRMFirstPersonOnly" and "VRMThirdPersonOnly". - public static bool TriedSetupLayer = false; - public static int FIRSTPERSON_ONLY_LAYER = 9; - public static int THIRDPERSON_ONLY_LAYER = 10; - - [SerializeField] - public Transform FirstPersonBone; - - [SerializeField] - public Vector3 FirstPersonOffset; - - [Serializable] - public struct RendererFirstPersonFlags - { - public Renderer Renderer; - public FirstPersonFlag FirstPersonFlag; - public Mesh SharedMesh - { - get - { - var renderer = Renderer as SkinnedMeshRenderer; - if (renderer != null) - { - return renderer.sharedMesh; - } - - var filter = Renderer.GetComponent(); - if (filter != null) - { - return filter.sharedMesh; - } - - return null; - } - } - } - - [SerializeField] - public List Renderers = new List(); - - static IEnumerable Traverse(Transform parent) - { - yield return parent; - - foreach (Transform child in parent) - { - foreach (var x in Traverse(child)) - { - yield return x; - } - } - } - - public void CopyTo(GameObject _dst, Dictionary map) - { - var dst = _dst.AddComponent(); - dst.FirstPersonBone = FirstPersonBone; - dst.FirstPersonOffset = FirstPersonOffset; - dst.Renderers = Renderers.Select(x => - { - var renderer = map[x.Renderer.transform].GetComponent(); - return new VRMFirstPerson.RendererFirstPersonFlags - { - Renderer = renderer, - FirstPersonFlag = x.FirstPersonFlag, - }; - }).ToList(); - } - - public void SetDefault() - { - FirstPersonOffset = new Vector3(0, 0.06f, 0); - var animator = GetComponent(); - if (animator != null) - { - FirstPersonBone = animator.GetBoneTransform(HumanBodyBones.Head); - } - } - - private void Reset() - { - TraverseRenderers(); - } - - public void TraverseRenderers(VRMImporterContext context = null) - { - Renderers = Traverse(transform) - .Select(x => x.GetComponent()) - .Where(x => x != null) - .Select(x => new RendererFirstPersonFlags - { - Renderer = x, - FirstPersonFlag = context == null - ? FirstPersonFlag.Auto - : GetFirstPersonFlag(context, x) - }) - .ToList() - ; - } - - static FirstPersonFlag GetFirstPersonFlag(VRMImporterContext context, Renderer r) - { - var mesh = r.transform.GetSharedMesh(); - if (mesh == null) - { - return FirstPersonFlag.Auto; - } - - var index = context.Meshes.FindIndex(x => x.Mesh == mesh); - if (index == -1) - { - return FirstPersonFlag.Auto; - } - - foreach(var x in context.GLTF.extensions.VRM.firstPerson.meshAnnotations) - { - if (x.mesh == index) - { - return EnumUtil.TryParseOrDefault(x.firstPersonFlag); - } - } - - return FirstPersonFlag.Auto; - } - - void CreateHeadlessModel(Renderer _renderer, Transform EraseRoot) - { - { - var renderer = _renderer as SkinnedMeshRenderer; - if (renderer != null) - { - CreateHeadlessModelForSkinnedMeshRenderer(renderer, EraseRoot); - return; - } - } - - - { - var renderer = _renderer as MeshRenderer; - if (renderer != null) - { - CreateHeadlessModelForMeshRenderer(renderer, EraseRoot); - return; - } - } - - // ここには来ない - } - - public static void SetupLayers() - { - if (!TriedSetupLayer) { - TriedSetupLayer = true; - int layer = LayerMask.NameToLayer("VRMFirstPersonOnly"); - FIRSTPERSON_ONLY_LAYER = (layer == -1) ? FIRSTPERSON_ONLY_LAYER : layer; - layer = LayerMask.NameToLayer("VRMThirdPersonOnly"); - THIRDPERSON_ONLY_LAYER = (layer == -1) ? THIRDPERSON_ONLY_LAYER : layer; - } - } - - private static void CreateHeadlessModelForMeshRenderer(MeshRenderer renderer, Transform eraseRoot) - { - if (renderer.transform.Ancestors().Any(x => x == eraseRoot)) - { - // 祖先に削除ボーンが居る - SetupLayers(); - renderer.gameObject.layer = THIRDPERSON_ONLY_LAYER; - } - else - { - // 特に変更しない => 両方表示 - } - } - - private static void CreateHeadlessModelForSkinnedMeshRenderer(SkinnedMeshRenderer renderer, Transform eraseRoot) - { - SetupLayers(); - renderer.gameObject.layer = THIRDPERSON_ONLY_LAYER; - - var go = new GameObject("_headless_" + renderer.name); - go.layer = FIRSTPERSON_ONLY_LAYER; - go.transform.SetParent(renderer.transform, false); - - var m_eraseBones = renderer.bones.Select(x => - { - var eb = new BoneMeshEraser.EraseBone - { - Bone = x, - }; - - if (eraseRoot != null) - { - // 首の子孫を消去 - if (eb.Bone.Ancestor().Any(y => y == eraseRoot)) - { - //Debug.LogFormat("erase {0}", x); - eb.Erase = true; - } - } - - return eb; - }) - .ToArray(); - - var bones = renderer.bones; - var eraseBones = m_eraseBones - .Where(x => x.Erase) - .Select(x => bones.IndexOf(x.Bone)) - .ToArray(); - - var mesh = BoneMeshEraser.CreateErasedMesh(renderer.sharedMesh, eraseBones); - - var erased = go.AddComponent(); - erased.sharedMesh = mesh; - erased.sharedMaterials = renderer.sharedMaterials; - erased.bones = renderer.bones; - erased.rootBone = renderer.rootBone; - erased.updateWhenOffscreen = true; - } - - bool m_done; - - /// - /// 配下のモデルのレイヤー設定など - /// - public void Setup() - { - SetupLayers(); - if (m_done) return; - m_done = true; - foreach (var x in Renderers) - { - switch (x.FirstPersonFlag) - { - case FirstPersonFlag.Auto: - CreateHeadlessModel(x.Renderer, FirstPersonBone); - break; - - case FirstPersonFlag.FirstPersonOnly: - x.Renderer.gameObject.layer = FIRSTPERSON_ONLY_LAYER; - break; - - case FirstPersonFlag.ThirdPersonOnly: - x.Renderer.gameObject.layer = THIRDPERSON_ONLY_LAYER; - break; - - case FirstPersonFlag.Both: - //x.Renderer.gameObject.layer = 0; - break; - } - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/FirstPerson/VRMFirstPerson.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/FirstPerson/VRMFirstPerson.cs.meta deleted file mode 100644 index 0711249..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/FirstPerson/VRMFirstPerson.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: dedba1309bdf12b42af2362f52eea134 -timeCreated: 1519218333 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/FirstPerson/VRMFirstPersonCameraManager.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/FirstPerson/VRMFirstPersonCameraManager.cs deleted file mode 100644 index 9b69985..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/FirstPerson/VRMFirstPersonCameraManager.cs +++ /dev/null @@ -1,91 +0,0 @@ -#pragma warning disable 0414, 0649 -using UnityEngine; -using System.Linq; -using UnityEngine.UI; -using System; - -namespace VRM -{ - /// - /// ファーストパーソン向けLayer検討 - /// - /// * Deault LayerをFirstPersonレイヤーとして使う - /// * 9番にThirdPerson Layerを追加する - /// - /// * FirstPersonCameraはCullingMaskでThirdPerson Layerを除外 - /// * ThirdPersonCameraはCullingMaskでDefault Layerを除外 - /// - /// * それ以外のシーンオブジェクトはDefaultLayerとThirdPersonレイヤーの両方に所属するべし - /// * 首無しモデルはDefault Layerのみに所属するべし - /// * 首有りモデルはThirdPerson Layerのみに所属するべし - /// * コントローラーはDefault Layerがいいかも - /// * 鏡もDefault Layerがいいかも(カメラごとにRenderTargetを用意するのは煩雑) - /// - public class VRMFirstPersonCameraManager : MonoBehaviour - { - [Serializable] - class CameraWithRawImage - { - public Camera Camera; - public RenderTexture Texture; - public RawImage Image; - } - - /// - /// FirstPerson - /// - [SerializeField] - CameraWithRawImage m_topLeft; - - /// - /// ThirdPerson body - /// - [SerializeField] - CameraWithRawImage m_topRight; - - /// - /// ThirdPerson head - /// - [SerializeField] - CameraWithRawImage m_bottomRight; - - [SerializeField, Header("Cameras")] - Camera m_firstPersonCamera; - - [SerializeField] - Camera[] m_thirdPersonCameras; - - void Reset() - { - var cameras = GameObject.FindObjectsOfType(); - m_firstPersonCamera = Camera.main; - m_thirdPersonCameras = cameras.Where(x => x != m_firstPersonCamera).ToArray(); - } - - private void Update() - { - var halfWidth = Screen.width / 2; - var halfHeight = Screen.height / 2; - SetupRenderTarget(m_topLeft, halfWidth, halfHeight); - SetupRenderTarget(m_topRight, halfWidth, halfHeight); - SetupRenderTarget(m_bottomRight, halfWidth, halfHeight); - } - - void SetupRenderTarget(CameraWithRawImage cameraWithImage, int w, int h) - { - if (cameraWithImage.Camera == null) return; - if (cameraWithImage.Image == null) return; - - if (cameraWithImage.Texture == null - || cameraWithImage.Texture.width != w - || cameraWithImage.Texture.height != h - ) - { - var texture = new RenderTexture(w, h, 16); - cameraWithImage.Texture = texture; - cameraWithImage.Camera.targetTexture = texture; - cameraWithImage.Image.texture = texture; - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/FirstPerson/VRMFirstPersonCameraManager.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/FirstPerson/VRMFirstPersonCameraManager.cs.meta deleted file mode 100644 index c781b7c..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/FirstPerson/VRMFirstPersonCameraManager.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 6b34fb2c039c3ce4881f04e476a2128f -timeCreated: 1519220439 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format.meta deleted file mode 100644 index 927fc51..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a18e8fd8910ab46418c5e996089a4f8c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMException.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMException.cs deleted file mode 100644 index 7ed58e5..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMException.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; - - -namespace VRM -{ - class VRMException : Exception - { - public VRMException() - { } - public VRMException(string msg) : base(msg) - { } - public VRMException(string msg, params object[] args) : base(string.Format(msg, args)) - { } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMException.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMException.cs.meta deleted file mode 100644 index 1ce57a3..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMException.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: c34ca281dd113124cbe3d277d0955291 -timeCreated: 1519982614 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMExportObject.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMExportObject.cs deleted file mode 100644 index 360c475..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMExportObject.cs +++ /dev/null @@ -1,12 +0,0 @@ -using UnityEngine; - - -namespace VRM -{ - [CreateAssetMenu(menuName = "VRM/ExportObject")] - public class VRMExportObject : ScriptableObject - { - [SerializeField] - public VRMExportSettings Settings = new VRMExportSettings(); - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMExportObject.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMExportObject.cs.meta deleted file mode 100644 index 90b6df4..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMExportObject.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: f8ed5cb82dd13bf43a1556b24a6d13a0 -timeCreated: 1532063757 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMExportSettings.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMExportSettings.cs deleted file mode 100644 index 7f1b56d..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMExportSettings.cs +++ /dev/null @@ -1,285 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using UnityEngine; -using UniGLTF; -using System.IO; -#if UNITY_EDITOR -using UnityEditor; -#endif - - -namespace VRM -{ - [Serializable] - public class VRMExportSettings - { - public GameObject Source; - - public string Title; - - public string Author; - - public bool ForceTPose = true; - - public bool PoseFreeze = true; - - public bool UseExperimentalExporter = true; - - public IEnumerable CanExport() - { - if (Source == null) - { - yield return "Require source"; - yield break; - } - - var animator = Source.GetComponent(); - if (animator == null) - { - yield return "Require animator. "; - } - else if (animator.avatar == null) - { - yield return "Require animator.avatar. "; - } - else if (!animator.avatar.isValid) - { - yield return "Animator.avatar is not valid. "; - } - else if (!animator.avatar.isHuman) - { - yield return "Animator.avatar is not humanoid. Please change model's AnimationType to humanoid. "; - } - - if (string.IsNullOrEmpty(Title)) - { - yield return "Require Title. "; - } - - if (string.IsNullOrEmpty(Author)) - { - yield return "Require Author. "; - } - } - - public void InitializeFrom(GameObject go) - { - if (Source == go) return; - Source = go; - - var desc = Source == null ? null : go.GetComponent(); - if (desc == null) - { - ForceTPose = true; - PoseFreeze = true; - } - else - { - ForceTPose = false; - PoseFreeze = false; - } - - var meta = Source == null ? null : go.GetComponent(); - if (meta != null && meta.Meta != null) - { - Title = meta.Meta.Title; - Author = meta.Meta.Author; - } - else - { - Title = go.name; - //Author = ""; - } - } - - // - // トップレベルのMonoBehaviourを移植する - // - public static void CopyVRMComponents(GameObject go, GameObject root, - Dictionary map) - { - { - // blendshape - var src = go.GetComponent(); - if (src != null) - { - var dst = root.AddComponent(); - dst.BlendShapeAvatar = src.BlendShapeAvatar; - } - } - - { - var secondary = go.transform.Find("secondary"); - if (secondary == null) - { - secondary = go.transform; - } - - var dstSecondary = root.transform.Find("secondary"); - if (dstSecondary == null) - { - dstSecondary = new GameObject("secondary").transform; - dstSecondary.SetParent(root.transform, false); - } - - // 揺れモノ - foreach (var src in go.transform.Traverse().Select(x => x.GetComponent()).Where(x => x != null)) - { - var dst = map[src.transform]; - var dstColliderGroup = dst.gameObject.AddComponent(); - dstColliderGroup.Colliders = src.Colliders.Select(y => - { - var offset = dst.worldToLocalMatrix.MultiplyPoint(src.transform.localToWorldMatrix.MultiplyPoint(y.Offset)); - return new VRMSpringBoneColliderGroup.SphereCollider - { - Offset = offset, - Radius = y.Radius - }; - }).ToArray(); - } - - foreach (var src in go.transform.Traverse().SelectMany(x => x.GetComponents())) - { - // Copy VRMSprngBone - var dst = dstSecondary.gameObject.AddComponent(); - dst.m_comment = src.m_comment; - dst.m_stiffnessForce = src.m_stiffnessForce; - dst.m_gravityPower = src.m_gravityPower; - dst.m_gravityDir = src.m_gravityDir; - dst.m_dragForce = src.m_dragForce; - dst.RootBones = src.RootBones.Select(x => map[x]).ToList(); - if (src.ColliderGroups != null) - { - dst.ColliderGroups = src.ColliderGroups.Select(x => map[x.transform].GetComponent()).ToArray(); - } - } - } - -#pragma warning disable 0618 - { - // meta(obsolete) - var src = go.GetComponent(); - if (src != null) - { - src.CopyTo(root); - } - } -#pragma warning restore 0618 - - { - // meta - var src = go.GetComponent(); - if (src != null) - { - var dst = root.AddComponent(); - dst.Meta = src.Meta; - } - } - - { - // firstPerson - var src = go.GetComponent(); - if (src != null) - { - src.CopyTo(root, map); - } - } - - { - // humanoid - var dst = root.AddComponent(); - var src = go.GetComponent(); - if (src != null) - { - dst.Avatar = src.Avatar; - dst.Description = src.Description; - } - else - { - var animator = go.GetComponent(); - if (animator != null) - { - dst.Avatar = animator.avatar; - } - } - } - } - - public static bool IsPrefab(GameObject go) - { - return go.scene.name == null; - } - -#if UNITY_EDITOR - public struct RecordDisposer : IDisposable - { - public RecordDisposer(UnityEngine.Object[] objects, string msg) - { - Undo.RecordObjects(objects, msg); - } - - public void Dispose() - { - Undo.PerformUndo(); - } - } - - public void Export(string path) - { - List destroy = new List(); - try - { - Export(path, destroy); - } - finally - { - foreach (var x in destroy) - { - Debug.LogFormat("destroy: {0}", x.name); - GameObject.DestroyImmediate(x); - } - } - } - - void Export(string path, List destroy) - { - var target = Source; - if (IsPrefab(target)) - { - using (new RecordDisposer(Source.transform.Traverse().ToArray(), "before normalize")) - { - target = GameObject.Instantiate(target); - destroy.Add(target); - } - } - if (PoseFreeze) - { - using (new RecordDisposer(target.transform.Traverse().ToArray(), "before normalize")) - { - var normalized = BoneNormalizer.Execute(target, ForceTPose, false); - CopyVRMComponents(target, normalized.Root, normalized.BoneMap); - target = normalized.Root; - destroy.Add(target); - } - } - - { - var sw = System.Diagnostics.Stopwatch.StartNew(); - var vrm = VRMExporter.Export(target); - vrm.extensions.VRM.meta.title = Title; - vrm.extensions.VRM.meta.author = Author; - - var bytes = vrm.ToGlbBytes(UseExperimentalExporter); - File.WriteAllBytes(path, bytes); - Debug.LogFormat("Export elapsed {0}", sw.Elapsed); - } - - if (path.StartsWithUnityAssetPath()) - { - AssetDatabase.ImportAsset(path.ToUnityRelativePath()); - } - } -#endif - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMExportSettings.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMExportSettings.cs.meta deleted file mode 100644 index d80644a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMExportSettings.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: f1bcfcc2d4692ef41b0c8f0f9ec3df14 -timeCreated: 1532066746 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMExporter.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMExporter.cs deleted file mode 100644 index 85f763e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMExporter.cs +++ /dev/null @@ -1,209 +0,0 @@ -using System; -using System.Linq; -using UniGLTF; -using UnityEngine; - - -namespace VRM -{ - public class VRMExporter : gltfExporter - { - protected override IMaterialExporter CreateMaterialExporter() - { - return new VRMMaterialExporter(); - } - - public VRMExporter(glTF gltf) : base(gltf) - { - gltf.extensionsUsed.Add(glTF_VRM_extensions.ExtensionName); - } - - public new static glTF Export(GameObject go) - { - var gltf = new glTF(); - using (var exporter = new VRMExporter(gltf) - { -#if VRM_EXPORTER_USE_SPARSE - // experimental - UseSparseAccessorForBlendShape=true -#endif - }) - { - _Export(gltf, exporter, go); - } - return gltf; - } - - public static void _Export(glTF gltf, VRMExporter exporter, GameObject go) - { - exporter.Prepare(go); - exporter.Export(); - - // avatar - var animator = go.GetComponent(); - if (animator != null) - { - var humanoid = go.GetComponent(); - UniHumanoid.AvatarDescription description = null; - var nodes = go.transform.Traverse().Skip(1).ToList(); - { - var isCreated = false; - if (humanoid != null) - { - description = humanoid.GetDescription(out isCreated); - } - - if (description != null) - { - // use description - gltf.extensions.VRM.humanoid.Apply(description, nodes); - } - if (isCreated) - { - GameObject.DestroyImmediate(description); - } - } - - { - // set humanoid bone mapping - var avatar = animator.avatar; - foreach (HumanBodyBones key in Enum.GetValues(typeof(HumanBodyBones))) - { - if (key == HumanBodyBones.LastBone) - { - break; - } - - var transform = animator.GetBoneTransform(key); - if (transform != null) - { - gltf.extensions.VRM.humanoid.SetNodeIndex(key, nodes.IndexOf(transform)); - } - } - } - } - - // morph - var master = go.GetComponent(); - if (master != null) - { - var avatar = master.BlendShapeAvatar; - if (avatar != null) - { - var meshes = exporter.Meshes; - foreach (var x in avatar.Clips) - { - gltf.extensions.VRM.blendShapeMaster.Add(x, exporter.Copy.transform, meshes); - } - } - } - - // secondary - VRMSpringUtility.ExportSecondary(exporter.Copy.transform, exporter.Nodes, - x => gltf.extensions.VRM.secondaryAnimation.colliderGroups.Add(x), - x => gltf.extensions.VRM.secondaryAnimation.boneGroups.Add(x) - ); - -#pragma warning disable 0618 - // meta(obsolete) - { - var meta = exporter.Copy.GetComponent(); - if (meta != null) - { - gltf.extensions.VRM.meta.author = meta.Author; - gltf.extensions.VRM.meta.contactInformation = meta.ContactInformation; - gltf.extensions.VRM.meta.title = meta.Title; - if (meta.Thumbnail != null) - { - gltf.extensions.VRM.meta.texture = TextureIO.ExportTexture(gltf, gltf.buffers.Count - 1, meta.Thumbnail, glTFTextureTypes.Unknown); - } - gltf.extensions.VRM.meta.licenseType = meta.LicenseType; - gltf.extensions.VRM.meta.otherLicenseUrl = meta.OtherLicenseUrl; - gltf.extensions.VRM.meta.reference = meta.Reference; - } - } -#pragma warning restore 0618 - - // meta - { - var _meta = exporter.Copy.GetComponent(); - if (_meta != null && _meta.Meta != null) - { - var meta = _meta.Meta; - - // info - gltf.extensions.VRM.meta.version = meta.Version; - gltf.extensions.VRM.meta.author = meta.Author; - gltf.extensions.VRM.meta.contactInformation = meta.ContactInformation; - gltf.extensions.VRM.meta.reference = meta.Reference; - gltf.extensions.VRM.meta.title = meta.Title; - if (meta.Thumbnail != null) - { - gltf.extensions.VRM.meta.texture = TextureIO.ExportTexture(gltf, gltf.buffers.Count - 1, meta.Thumbnail, glTFTextureTypes.Unknown); - } - - // ussage pemission - gltf.extensions.VRM.meta.allowedUser = meta.AllowedUser; - gltf.extensions.VRM.meta.violentUssage = meta.ViolentUssage; - gltf.extensions.VRM.meta.sexualUssage = meta.SexualUssage; - gltf.extensions.VRM.meta.commercialUssage = meta.CommercialUssage; - gltf.extensions.VRM.meta.otherPermissionUrl = meta.OtherPermissionUrl; - - // distribution license - gltf.extensions.VRM.meta.licenseType = meta.LicenseType; - if (meta.LicenseType == LicenseType.Other) - { - gltf.extensions.VRM.meta.otherLicenseUrl = meta.OtherLicenseUrl; - } - } - } - - // firstPerson - var firstPerson = exporter.Copy.GetComponent(); - if (firstPerson != null) - { - if (firstPerson.FirstPersonBone != null) - { - gltf.extensions.VRM.firstPerson.firstPersonBone = exporter.Nodes.IndexOf(firstPerson.FirstPersonBone); - gltf.extensions.VRM.firstPerson.firstPersonBoneOffset = firstPerson.FirstPersonOffset; - gltf.extensions.VRM.firstPerson.meshAnnotations = firstPerson.Renderers.Select(x => new glTF_VRM_MeshAnnotation - { - mesh = exporter.Meshes.IndexOf(x.SharedMesh), - firstPersonFlag = x.FirstPersonFlag.ToString(), - }).ToList(); - } - - // lookAt - { - var lookAtHead = exporter.Copy.GetComponent(); - if (lookAtHead != null) - { - var boneApplyer = exporter.Copy.GetComponent(); - var blendShapeApplyer = exporter.Copy.GetComponent(); - if (boneApplyer != null) - { - gltf.extensions.VRM.firstPerson.lookAtType = LookAtType.Bone; - gltf.extensions.VRM.firstPerson.lookAtHorizontalInner.Apply(boneApplyer.HorizontalInner); - gltf.extensions.VRM.firstPerson.lookAtHorizontalOuter.Apply(boneApplyer.HorizontalOuter); - gltf.extensions.VRM.firstPerson.lookAtVerticalDown.Apply(boneApplyer.VerticalDown); - gltf.extensions.VRM.firstPerson.lookAtVerticalUp.Apply(boneApplyer.VerticalUp); - } - else if (blendShapeApplyer != null) - { - gltf.extensions.VRM.firstPerson.lookAtType = LookAtType.BlendShape; - gltf.extensions.VRM.firstPerson.lookAtHorizontalOuter.Apply(blendShapeApplyer.Horizontal); - gltf.extensions.VRM.firstPerson.lookAtVerticalDown.Apply(blendShapeApplyer.VerticalDown); - gltf.extensions.VRM.firstPerson.lookAtVerticalUp.Apply(blendShapeApplyer.VerticalUp); - } - } - } - } - - // materials - foreach (var m in exporter.Materials) - { - gltf.extensions.VRM.materialProperties.Add(glTF_VRM_Material.CreateFromMaterial(m, exporter.TextureManager.Textures)); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMExporter.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMExporter.cs.meta deleted file mode 100644 index f286ab3..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMExporter.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 73f9ea5f415aa1d449d6cd63aeaccb67 -timeCreated: 1516612766 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMFormat.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMFormat.cs deleted file mode 100644 index 501328e..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMFormat.cs +++ /dev/null @@ -1,62 +0,0 @@ -using System; -using System.Collections.Generic; -using UniGLTF; -using UniJSON; - -namespace UniGLTF -{ - public partial class glTF_extensions : ExtensionsBase - { - public VRM.glTF_VRM_extensions VRM = new VRM.glTF_VRM_extensions(); - - [JsonSerializeMembers] - void VRMSerializeMembers(GLTFJsonFormatter f) - { - f.Key("VRM"); f.GLTFValue(VRM); - } - } -} - - -namespace VRM -{ - [Serializable] - [JsonSchema(Title = "vrm", Description = @" -VRM extension is for 3d humanoid avatars (and models) in VR applications. -")] - public class glTF_VRM_extensions : JsonSerializableBase - { - public static string ExtensionName - { - get - { - return "VRM"; - } - } - - [JsonSchema(Description = @"Version of exporter that vrm created. " + VRMVersion.VRM_VERSION)] - public string exporterVersion = "UniVRM-" + VRMVersion.VERSION; - - [JsonSchema(Description = @"The VRM specification version that this extension uses")] - public string specVersion = VRMSpecVersion.Version; - - public glTF_VRM_Meta meta = new glTF_VRM_Meta(); - public glTF_VRM_Humanoid humanoid = new glTF_VRM_Humanoid(); - public glTF_VRM_Firstperson firstPerson = new glTF_VRM_Firstperson(); - public glTF_VRM_BlendShapeMaster blendShapeMaster = new glTF_VRM_BlendShapeMaster(); - public glTF_VRM_SecondaryAnimation secondaryAnimation = new glTF_VRM_SecondaryAnimation(); - public List materialProperties = new List(); - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - f.KeyValue(() => exporterVersion); - f.KeyValue(() => specVersion); - f.Key("meta"); f.GLTFValue(meta); - f.Key("humanoid"); f.GLTFValue(humanoid); - f.Key("firstPerson"); f.GLTFValue(firstPerson); - f.Key("blendShapeMaster"); f.GLTFValue(blendShapeMaster); - f.Key("secondaryAnimation"); f.GLTFValue(secondaryAnimation); - f.Key("materialProperties"); f.GLTFValue(materialProperties); - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMFormat.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMFormat.cs.meta deleted file mode 100644 index ae2eaf1..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMFormat.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 20eca00211c61d047b586f852b818b8f -timeCreated: 1517308526 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMImporter.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMImporter.cs deleted file mode 100644 index 3f5b781..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMImporter.cs +++ /dev/null @@ -1,116 +0,0 @@ -using System; -using System.IO; -using UniGLTF; -using UnityEngine; -#if ((NET_4_6 || NET_STANDARD_2_0) && UNITY_2017_1_OR_NEWER) -using System.Threading.Tasks; -#endif - - -namespace VRM -{ - public static class VRMImporter - { - [Obsolete("use VRMImporterContext.Load(path)")] - public static GameObject LoadFromPath(string path) - { - var context = new VRMImporterContext(); - context.Parse(path, File.ReadAllBytes(path)); - context.Load(); - context.ShowMeshes(); - context.EnableUpdateWhenOffscreen(); - return context.Root; - } - - [Obsolete("use VRMImporterContext.Load(bytes)")] - public static GameObject LoadFromBytes(Byte[] bytes) - { - var context = new VRMImporterContext(); - context.ParseGlb(bytes); - context.Load(); - context.ShowMeshes(); - context.EnableUpdateWhenOffscreen(); - return context.Root; - } - - [Obsolete("use VRMImporterContext.Load()")] - public static void LoadFromBytes(VRMImporterContext context) - { - context.Load(); - context.ShowMeshes(); - context.EnableUpdateWhenOffscreen(); - } - - #region LoadVrmAsync - [Obsolete("use VVRMImporterContext.LoadAsync")] - public static void LoadVrmAsync(string path, Action onLoaded, Action onError = null, bool show = true) - { - LoadVrmAsync(File.ReadAllBytes(path), onLoaded, onError, show); - } - - [Obsolete("use VVRMImporterContext.LoadAsync")] - public static void LoadVrmAsync(Byte[] bytes, Action onLoaded, Action onError = null, bool show = true) - { - var context = new VRMImporterContext(); - using (context.MeasureTime("ParseGlb")) - { - context.ParseGlb(bytes); - } - context.LoadAsync(_ => - { - if (show) - { - context.ShowMeshes(); - } - onLoaded(context.Root); - }, - onError); - } - - [Obsolete("use VVRMImporterContext.LoadAsync")] - public static void LoadVrmAsync(VRMImporterContext context, Action onLoaded, Action onError = null, bool show = true) - { - context.LoadAsync(_ => - { - if (show) - { - context.ShowMeshes(); - } - onLoaded(context.Root); - }, - onError); - } - #endregion - -#if ((NET_4_6 || NET_STANDARD_2_0) && UNITY_2017_1_OR_NEWER) - - [Obsolete("use VRMImporterContext.LoadAsync()")] - public static Task LoadVrmAsync(string path, bool show = true) - { - var context = new VRMImporterContext(); - context.ParseGlb(File.ReadAllBytes(path)); - return LoadVrmAsync(context, show); - } - - [Obsolete("use VRMImporterContext.LoadAsync()")] - public static Task LoadVrmAsync(Byte[] bytes, bool show = true) - { - var context = new VRMImporterContext(); - context.ParseGlb(bytes); - return LoadVrmAsync(context, show); - } - - [Obsolete("use VRMImporterContext.LoadAsync()")] - public async static Task LoadVrmAsync(VRMImporterContext ctx, bool show = true) - { - await ctx.LoadAsyncTask(); - if (show) - { - ctx.ShowMeshes(); - } - return ctx.Root; - } - -#endif - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMImporter.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMImporter.cs.meta deleted file mode 100644 index e6ca9d7..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMImporter.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 7ec67bcfca2bdcc4484bcbdd1efe52f9 -timeCreated: 1517153624 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMImporterContext.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMImporterContext.cs deleted file mode 100644 index e3b8d37..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMImporterContext.cs +++ /dev/null @@ -1,379 +0,0 @@ -using System; -using System.Linq; -using System.Collections.Generic; -using UniGLTF; -using UnityEngine; -using System.IO; - - -namespace VRM -{ - public class VRMImporterContext : ImporterContext - { - const string HUMANOID_KEY = "humanoid"; - const string MATERIAL_KEY = "materialProperties"; - - public VRMImporterContext() - { - } - - public override void Parse(string path, byte[] bytes) - { - var ext = Path.GetExtension(path).ToLower(); - switch (ext) - { - case ".vrm": - ParseGlb(bytes); - break; - - default: - base.Parse(path, bytes); - break; - } - } - - public override void ParseJson(string json, IStorage storage) - { - base.ParseJson(json, storage); - SetMaterialImporter(new VRMMaterialImporter(this, glTF_VRM_Material.Parse(Json))); - } - - #region OnLoad - protected override void OnLoadModel() - { - Root.name = "VRM"; - - using (MeasureTime("VRM LoadMeta")) - { - LoadMeta(); - } - - using (MeasureTime("VRM LoadHumanoid")) - { - LoadHumanoid(); - } - - using (MeasureTime("VRM LoadBlendShapeMaster")) - { - LoadBlendShapeMaster(); - } - using (MeasureTime("VRM LoadSecondary")) - { - VRMSpringUtility.LoadSecondary(Root.transform, Nodes, - GLTF.extensions.VRM.secondaryAnimation); - } - using (MeasureTime("VRM LoadFirstPerson")) - { - LoadFirstPerson(); - } - } - - void LoadMeta() - { - var meta = ReadMeta(); - if (meta.Thumbnail == null) - { - /* - // 作る - var lookAt = Root.GetComponent(); - var thumbnail = lookAt.CreateThumbnail(); - thumbnail.name = "thumbnail"; - meta.Thumbnail = thumbnail; - Textures.Add(new TextureItem(thumbnail)); - */ - } - var _meta = Root.AddComponent(); - _meta.Meta = meta; - Meta = meta; - } - - void LoadFirstPerson() - { - var firstPerson = Root.AddComponent(); - - var gltfFirstPerson = GLTF.extensions.VRM.firstPerson; - if (gltfFirstPerson.firstPersonBone != -1) - { - firstPerson.FirstPersonBone = Nodes[gltfFirstPerson.firstPersonBone]; - firstPerson.FirstPersonOffset = gltfFirstPerson.firstPersonBoneOffset; - } - else - { - // fallback - firstPerson.SetDefault(); - } - firstPerson.TraverseRenderers(this); - - // LookAt - var lookAtHead = Root.AddComponent(); - lookAtHead.OnImported(this); - } - - void LoadBlendShapeMaster() - { - BlendShapeAvatar = ScriptableObject.CreateInstance(); - BlendShapeAvatar.name = "BlendShape"; - - var transformMeshTable = new Dictionary(); - foreach (var transform in Root.transform.Traverse()) - { - if (transform.GetSharedMesh() != null) - { - transformMeshTable.Add(transform.GetSharedMesh(), transform); - } - } - - var blendShapeList = GLTF.extensions.VRM.blendShapeMaster.blendShapeGroups; - if (blendShapeList != null && blendShapeList.Count > 0) - { - foreach (var x in blendShapeList) - { - BlendShapeAvatar.Clips.Add(LoadBlendShapeBind(x, transformMeshTable)); - } - } - - var proxy = Root.AddComponent(); - BlendShapeAvatar.CreateDefaultPreset(); - proxy.BlendShapeAvatar = BlendShapeAvatar; - } - - BlendShapeClip LoadBlendShapeBind(glTF_VRM_BlendShapeGroup group, Dictionary transformMeshTable) - { - var asset = ScriptableObject.CreateInstance(); - var groupName = group.name; - var prefix = "BlendShape."; - while (groupName.StartsWith(prefix)) - { - groupName = groupName.Substring(prefix.Length); - } - asset.name = "BlendShape." + groupName; - - if (group != null) - { - asset.BlendShapeName = groupName; - asset.Preset = EnumUtil.TryParseOrDefault(group.presetName); - asset.IsBinary = group.isBinary; - if (asset.Preset == BlendShapePreset.Unknown) - { - // fallback - asset.Preset = EnumUtil.TryParseOrDefault(group.name); - } - asset.Values = group.binds.Select(x => - { - var mesh = Meshes[x.mesh].Mesh; - var node = transformMeshTable[mesh]; - var relativePath = UniGLTF.UnityExtensions.RelativePathFrom(node, Root.transform); - return new BlendShapeBinding - { - RelativePath = relativePath, - Index = x.index, - Weight = x.weight, - }; - }) - .ToArray(); - asset.MaterialValues = group.materialValues.Select(x => - { - var value = new Vector4(); - for (int i = 0; i < x.targetValue.Length; ++i) - { - switch (i) - { - case 0: value.x = x.targetValue[0]; break; - case 1: value.y = x.targetValue[1]; break; - case 2: value.z = x.targetValue[2]; break; - case 3: value.w = x.targetValue[3]; break; - } - } - - var material = GetMaterials().FirstOrDefault(y => y.name == x.materialName); - var propertyName = x.propertyName; - if (x.propertyName.EndsWith("_ST_S") - || x.propertyName.EndsWith("_ST_T")) - { - propertyName = x.propertyName.Substring(0, x.propertyName.Length - 2); - } - - var binding = default(MaterialValueBinding?); - - if (material != null) - { - try - { - binding = new MaterialValueBinding - { - MaterialName = x.materialName, - ValueName = x.propertyName, - TargetValue = value, - BaseValue = material.GetColor(propertyName), - }; - } - catch (Exception) - { - // do nothing - } - } - - return binding; - }) - .Where(x => x.HasValue) - .Select(x => x.Value) - .ToArray(); - } - - return asset; - } - - static String ToHumanBoneName(HumanBodyBones b) - { - foreach (var x in HumanTrait.BoneName) - { - if (x.Replace(" ", "") == b.ToString()) - { - return x; - } - } - - throw new KeyNotFoundException(); - } - - static SkeletonBone ToSkeletonBone(Transform t) - { - var sb = new SkeletonBone(); - sb.name = t.name; - sb.position = t.localPosition; - sb.rotation = t.localRotation; - sb.scale = t.localScale; - return sb; - } - - private void LoadHumanoid() - { - AvatarDescription = GLTF.extensions.VRM.humanoid.ToDescription(Nodes); - AvatarDescription.name = "AvatarDescription"; - HumanoidAvatar = AvatarDescription.CreateAvatar(Root.transform); - if (!HumanoidAvatar.isValid || !HumanoidAvatar.isHuman) - { - throw new Exception("fail to create avatar"); - } - - HumanoidAvatar.name = "VrmAvatar"; - - var humanoid = Root.AddComponent(); - humanoid.Avatar = HumanoidAvatar; - humanoid.Description = AvatarDescription; - - var animator = Root.GetComponent(); - if (animator == null) - { - animator = Root.AddComponent(); - } - animator.avatar = HumanoidAvatar; - } - #endregion - - public UniHumanoid.AvatarDescription AvatarDescription; - public Avatar HumanoidAvatar; - public BlendShapeAvatar BlendShapeAvatar; - public VRMMetaObject Meta; - - public VRMMetaObject ReadMeta(bool createThumbnail = false) - { - var meta = ScriptableObject.CreateInstance(); - meta.name = "Meta"; - meta.ExporterVersion = GLTF.extensions.VRM.exporterVersion; - - var gltfMeta = GLTF.extensions.VRM.meta; - meta.Version = gltfMeta.version; // model version - meta.Author = gltfMeta.author; - meta.ContactInformation = gltfMeta.contactInformation; - meta.Reference = gltfMeta.reference; - meta.Title = gltfMeta.title; - - var thumbnail = GetTexture(gltfMeta.texture); - if (thumbnail != null) - { - // ロード済み - meta.Thumbnail = thumbnail.Texture; - } - else if (createThumbnail) - { - // 作成する(先行ロード用) - if (gltfMeta.texture >= 0 && gltfMeta.texture < GLTF.textures.Count) - { - var t = new TextureItem(gltfMeta.texture); - t.Process(GLTF, Storage); - meta.Thumbnail = t.Texture; - } - } - - meta.AllowedUser = gltfMeta.allowedUser; - meta.ViolentUssage = gltfMeta.violentUssage; - meta.SexualUssage = gltfMeta.sexualUssage; - meta.CommercialUssage = gltfMeta.commercialUssage; - meta.OtherPermissionUrl = gltfMeta.otherPermissionUrl; - - meta.LicenseType = gltfMeta.licenseType; - meta.OtherLicenseUrl = gltfMeta.otherLicenseUrl; - - return meta; - } - - protected override IEnumerable ObjectsForSubAsset() - { - foreach (var x in base.ObjectsForSubAsset()) - { - yield return x; - } - - yield return AvatarDescription; - yield return HumanoidAvatar; - - if (BlendShapeAvatar != null && BlendShapeAvatar.Clips != null) - { - foreach (var x in BlendShapeAvatar.Clips) - { - yield return x; - } - } - yield return BlendShapeAvatar; - - yield return Meta; - } - -#if UNITY_EDITOR - public override bool AvoidOverwriteAndLoad(UnityPath assetPath, UnityEngine.Object o) - { - if (o is BlendShapeAvatar) - { - var loaded = assetPath.LoadAsset(); - var proxy = Root.GetComponent(); - proxy.BlendShapeAvatar = loaded; - - return true; - } - - if (o is BlendShapeClip) - { - return true; - } - - return base.AvoidOverwriteAndLoad(assetPath, o); - } - - protected override UnityPath GetAssetPath(UnityPath prefabPath, UnityEngine.Object o) - { - if (o is BlendShapeAvatar - || o is BlendShapeClip) - { - var dir = prefabPath.GetAssetFolder(".BlendShapes"); - var assetPath = dir.Child(o.name.EscapeFilePath() + ".asset"); - return assetPath; - } - else - { - return base.GetAssetPath(prefabPath, o); - } - } -#endif - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMImporterContext.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMImporterContext.cs.meta deleted file mode 100644 index d3dde76..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMImporterContext.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 3299c9bf57c48cc46a0bcd96b1394f18 -timeCreated: 1521446485 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMMaterialExporter.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMMaterialExporter.cs deleted file mode 100644 index ce1bbed..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMMaterialExporter.cs +++ /dev/null @@ -1,100 +0,0 @@ -using System; -using UniGLTF; -using UnityEngine; - - -namespace VRM -{ - public class VRMMaterialExporter : MaterialExporter - { - protected override glTFMaterial CreateMaterial(Material m) - { - switch (m.shader.name) - { - case "VRM/UnlitTexture": - return Export_VRMUnlitTexture(m); - - case "VRM/UnlitTransparent": - return Export_VRMUnlitTransparent(m); - - case "VRM/UnlitCutout": - return Export_VRMUnlitCutout(m); - - case "VRM/UnlitTransparentZWrite": - return Export_VRMUnlitTransparentZWrite(m); - - case "VRM/MToon": - return Export_VRMMToon(m); - - default: - return base.CreateMaterial(m); - } - } - - static glTFMaterial Export_VRMUnlitTexture(Material m) - { - var material = glTF_KHR_materials_unlit.CreateDefault(); - material.alphaMode = "OPAQUE"; - return material; - } - static glTFMaterial Export_VRMUnlitTransparent(Material m) - { - var material = glTF_KHR_materials_unlit.CreateDefault(); - material.alphaMode = "BLEND"; - return material; - } - static glTFMaterial Export_VRMUnlitCutout(Material m) - { - var material = glTF_KHR_materials_unlit.CreateDefault(); - material.alphaMode = "MASK"; - return material; - } - static glTFMaterial Export_VRMUnlitTransparentZWrite(Material m) - { - var material = glTF_KHR_materials_unlit.CreateDefault(); - material.alphaMode = "BLEND"; - return material; - } - - static glTFMaterial Export_VRMMToon(Material m) - { - var material = glTF_KHR_materials_unlit.CreateDefault(); - - switch (m.GetTag("RenderType", true)) - { - case "Transparent": - material.alphaMode = "BLEND"; - break; - - case "TransparentCutout": - material.alphaMode = "MASK"; - material.alphaCutoff = m.GetFloat("_Cutoff"); - break; - - default: - material.alphaMode = "OPAQUE"; - break; - } - - switch ((int)m.GetFloat("_CullMode")) - { - case 0: - material.doubleSided = true; - break; - - case 1: - Debug.LogWarning("ignore cull front"); - break; - - case 2: - // cull back - break; - - default: - throw new NotImplementedException(); - } - - return material; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMMaterialExporter.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMMaterialExporter.cs.meta deleted file mode 100644 index fda7bf8..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMMaterialExporter.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: d2c64f4ed81bb144b90cca5260272ecf -timeCreated: 1534510965 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMMaterialImporter.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMMaterialImporter.cs deleted file mode 100644 index dfb3db9..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMMaterialImporter.cs +++ /dev/null @@ -1,117 +0,0 @@ -using System.Collections.Generic; -using UniGLTF; -using UnityEngine; -using System.Linq; -using System; - -namespace VRM -{ - public class VRMMaterialImporter : MaterialImporter - { - List m_materials; - public VRMMaterialImporter(ImporterContext context, List materials) : base(new ShaderStore(context), context) - { - m_materials = materials; - } - - static string[] VRM_SHADER_NAMES = - { - "Standard", - "VRM/MToon", - "UniGLTF/UniUnlit", - - "VRM/UnlitTexture", - "VRM/UnlitCutout", - "VRM/UnlitTransparent", - "VRM/UnlitTransparentZWrite", - }; - - public override Material CreateMaterial(int i, glTFMaterial src) - { - if(i==0 && m_materials.Count == 0) - { - // dummy - return new Material(Shader.Find("Standard")); - } - - var item = m_materials[i]; - var shaderName = item.shader; - var shader = Shader.Find(shaderName); - if (shader == null) - { - // - // no shader - // - if (VRM_SHADER_NAMES.Contains(shaderName)) - { - Debug.LogErrorFormat("shader {0} not found. set Assets/VRM/Shaders/VRMShaders to Edit - project setting - Graphics - preloaded shaders", shaderName); - } - else - { - Debug.LogWarningFormat("unknown shader {0}.", shaderName); - } - return base.CreateMaterial(i, src); - } - - // - // restore VRM material - // - var material = new Material(shader); - material.name = item.name; - material.renderQueue = item.renderQueue; - - foreach (var kv in item.floatProperties) - { - material.SetFloat(kv.Key, kv.Value); - } - foreach (var kv in item.vectorProperties) - { - if (item.textureProperties.ContainsKey(kv.Key)) - { - // texture offset & scale - material.SetTextureOffset(kv.Key, new Vector2(kv.Value[0], kv.Value[1])); - material.SetTextureScale(kv.Key, new Vector2(kv.Value[2], kv.Value[3])); - } - else - { - // vector4 - var v = new Vector4(kv.Value[0], kv.Value[1], kv.Value[2], kv.Value[3]); - material.SetVector(kv.Key, v); - } - } - foreach (var kv in item.textureProperties) - { - var texture = Context.GetTexture(kv.Value); - if (texture != null) - { - var converted = texture.ConvertTexture(kv.Key); - if (converted != null) - { - material.SetTexture(kv.Key, converted); - } - else - { - material.SetTexture(kv.Key, texture.Texture); - } - } - } - foreach (var kv in item.keywordMap) - { - if (kv.Value) - { - material.EnableKeyword(kv.Key); - } - else - { - material.DisableKeyword(kv.Key); - } - } - foreach (var kv in item.tagMap) - { - material.SetOverrideTag(kv.Key, kv.Value); - } - - return material; - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMMaterialImporter.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMMaterialImporter.cs.meta deleted file mode 100644 index e5ff70b..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMMaterialImporter.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 77db57076c0650c469c3ff0d4853ce21 -timeCreated: 1533624711 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMPreShaderPropExporter.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMPreShaderPropExporter.cs deleted file mode 100644 index 9654a71..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMPreShaderPropExporter.cs +++ /dev/null @@ -1,16 +0,0 @@ -namespace UniGLTF.ShaderPropExporter -{ - public static partial class PreShaderPropExporter - { - const string VRM_TARGET_FOLDER = "VRM/Scripts"; - [PreExportShaders] - public static SupportedShader[] VRMSupportedShaders = new SupportedShader[] - { - new SupportedShader(VRM_TARGET_FOLDER, "VRM/MToon"), - new SupportedShader(VRM_TARGET_FOLDER, "VRM/UnlitTexture"), - new SupportedShader(VRM_TARGET_FOLDER, "VRM/UnlitCutout"), - new SupportedShader(VRM_TARGET_FOLDER, "VRM/UnlitTransparent"), - new SupportedShader(VRM_TARGET_FOLDER, "VRM/UnlitTransparentZWrite"), - }; - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMPreShaderPropExporter.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMPreShaderPropExporter.cs.meta deleted file mode 100644 index d0fd45c..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMPreShaderPropExporter.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 625b5ee8b5811dc4a915a2fbb2cb319d -timeCreated: 1533035131 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMSpecVersion.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMSpecVersion.cs deleted file mode 100644 index 98ece65..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMSpecVersion.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; - -namespace VRM -{ - public class VRMSpecVersion - { - public const int Major = 0; - public const int Minor = 0; - - public static string Version - { - get - { - return String.Format("{0}.{1}", Major, Minor); - } - } - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMSpecVersion.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMSpecVersion.cs.meta deleted file mode 100644 index 6e5da29..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMSpecVersion.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 3c5b8467d0154d6da78a74ecae5f85e7 -timeCreated: 1549016543 \ No newline at end of file diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMVersion.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMVersion.cs deleted file mode 100644 index b5e27b1..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMVersion.cs +++ /dev/null @@ -1,13 +0,0 @@ - -namespace VRM -{ - public static partial class VRMVersion - { - public const int MAJOR = 0; - public const int MINOR = 51; - public const int PATCH = 0; - public const string PRE_ID = ""; - - public const string VERSION = "0.51.0"; - } -} diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMVersion.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMVersion.cs.meta deleted file mode 100644 index b953c85..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMVersion.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 93c46c8b64555f14bada9f5bb0b7761a -timeCreated: 1522130257 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMVersionPartial.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMVersionPartial.cs deleted file mode 100644 index 2c2820a..0000000 --- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMVersionPartial.cs +++ /dev/null @@ -1,105 +0,0 @@ -using System; -using System.Text.RegularExpressions; - -namespace VRM -{ - public static partial class VRMVersion - { - /// - /// Returns true if a passed version is newer than current UniVRM. - /// - /// - /// - public static bool IsNewer(string version) - { - if (string.IsNullOrEmpty(version)) - { - return false; - } - - var prefix = "UniVRM-"; - if (version.StartsWith(prefix)) - { - version = version.Substring(prefix.Length); - } - - return IsNewer(version, VERSION); - } - - public static bool IsNewer(string newer, string older) - { - Version newerVersion; - if (!ParseVersion(newer, out newerVersion)) - { - return false; - } - - Version olderVersion; - if (!ParseVersion(older, out olderVersion)) - { - return false; - } - - if (newerVersion.Major > olderVersion.Major) - { - return true; - } - - if (newerVersion.Minor > olderVersion.Minor) - { - return true; - } - - if (newerVersion.Patch > olderVersion.Patch) - { - return true; - } - - if (String.Compare(newerVersion.Pre, olderVersion.Pre) > 0) - { - return true; - } - - return false; - } - - private static readonly Regex VersionSpec = - new Regex(@"(?\d+)\.(?\d+)(\.(?\d+))?(-(?
[0-9A-Za-z-]+))?");
-
-        public static bool ParseVersion(string version, out Version v)
-        {
-            var match = VersionSpec.Match(version);
-            if (!match.Success)
-            {
-                v = new Version();
-                return false;
-            }
-
-            v = new Version();
-            try
-            {
-                v.Major = int.Parse(match.Groups["major"].Value);
-                v.Minor = int.Parse(match.Groups["minor"].Value);
-                v.Patch = match.Groups["patch"].Success ? int.Parse(match.Groups["patch"].Value) : 0;
-                v.Pre = match.Groups["pre"].Success ? match.Groups["pre"].Value : "";
-
-                return true;
-            }
-            catch (Exception e)
-            {
-                return false;
-            }
-        }
-
-        public struct Version
-        {
-            public int Major;
-            public int Minor;
-            public int Patch;
-            public string Pre;
-        }
-
-        public const string VRM_VERSION = "UniVRM-" + VERSION;
-        public const string MENU = "VRM/" + VRM_VERSION;
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMVersionPartial.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMVersionPartial.cs.meta
deleted file mode 100644
index b505fdb..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/VRMVersionPartial.cs.meta
+++ /dev/null
@@ -1,13 +0,0 @@
-fileFormatVersion: 2
-guid: 4ab9ac9856a4d4c4aa652c07c5b496e6
-timeCreated: 1522130257
-licenseType: Free
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_BlendShape.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_BlendShape.cs
deleted file mode 100644
index 2e8cbbe..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_BlendShape.cs
+++ /dev/null
@@ -1,181 +0,0 @@
-using System;
-using System.Linq;
-using System.Collections.Generic;
-using UniGLTF;
-using UnityEngine;
-using UniJSON;
-
-namespace VRM
-{
-    [Serializable]
-    [JsonSchema(Title = "vrm.blendshape.materialbind")]
-    public class glTF_VRM_MaterialValueBind : UniGLTF.JsonSerializableBase
-    {
-        public string materialName;
-        public string propertyName;
-        public float[] targetValue;
-
-        protected override void SerializeMembers(GLTFJsonFormatter f)
-        {
-            f.KeyValue(() => materialName);
-            f.KeyValue(() => propertyName);
-            f.KeyValue(() => targetValue);
-        }
-    }
-
-    [Serializable]
-    [JsonSchema(Title = "vrm.blendshape.bind")]
-    public class glTF_VRM_BlendShapeBind : UniGLTF.JsonSerializableBase
-    {
-        [JsonSchema(Required = true, Minimum = 0)]
-        public int mesh = -1;
-
-        [JsonSchema(Required = true, Minimum = 0)]
-        public int index = -1;
-
-        [JsonSchema(Required =true, Minimum = 0, Maximum = 100, Description = @"SkinnedMeshRenderer.SetBlendShapeWeight")]
-        public float weight = 0;
-
-        protected override void SerializeMembers(GLTFJsonFormatter f)
-        {
-            f.KeyValue(() => mesh);
-            f.KeyValue(() => index);
-            f.KeyValue(() => weight);
-        }
-
-        public static glTF_VRM_BlendShapeBind Cerate(Transform root, List meshes, BlendShapeBinding binding)
-        {
-            var transform = UniGLTF.UnityExtensions.GetFromPath(root.transform, binding.RelativePath);
-            var renderer = transform.GetComponent();
-            var mesh = renderer.sharedMesh;
-            var meshIndex = meshes.IndexOf(mesh);
-
-            return new glTF_VRM_BlendShapeBind
-            {
-                mesh = meshIndex,
-                index = binding.Index,
-                weight = binding.Weight,
-            };
-        }
-    }
-
-    public enum BlendShapePreset
-    {
-        Unknown,
-
-        Neutral,
-
-        A,
-        I,
-        U,
-        E,
-        O,
-
-        Blink,
-
-        // 喜怒哀楽
-        Joy,
-        Angry,
-        Sorrow,
-        Fun,
-
-        // LookAt
-        LookUp,
-        LookDown,
-        LookLeft,
-        LookRight,
-
-        Blink_L,
-        Blink_R,
-    }
-
-    [Serializable]
-    [JsonSchema(Title = "vrm.blendshape.group", Description = "BlendShapeClip of UniVRM")]
-    public class glTF_VRM_BlendShapeGroup : UniGLTF.JsonSerializableBase
-    {
-        [JsonSchema(Description = "Expression name")]
-        public string name;
-
-        [JsonSchema(Description = "Predefined Expression name", EnumValues = new object[] {
-            "unknown",
-            "neutral",
-            "a",
-            "i",
-            "u",
-            "e",
-            "o",
-            "blink",
-            "joy",
-            "angry",
-            "sorrow",
-            "fun",
-            "lookup",
-            "lookdown",
-            "lookleft",
-            "lookright",
-            "blink_l",
-            "blink_r",
-        }, EnumSerializationType = EnumSerializationType.AsString)]
-        public string presetName;
-
-        [JsonSchema(Description = "Low level blendshape references. ")]
-        public List binds = new List();
-
-        [JsonSchema(Description = "Material animation references.")]
-        public List materialValues = new List();
-
-        [JsonSchema(Description = "0 or 1. Do not allow an intermediate value. Value should rounded")]
-        public bool isBinary;
-
-        protected override void SerializeMembers(GLTFJsonFormatter f)
-        {
-            f.KeyValue(() => name);
-            f.KeyValue(() => presetName);
-            f.KeyValue(() => isBinary);
-            f.Key("binds"); f.GLTFValue(binds);
-            f.Key("materialValues"); f.GLTFValue(materialValues);
-        }
-    }
-
-    [Serializable]
-    [JsonSchema(Title = "vrm.blendshape", Description = "BlendShapeAvatar of UniVRM")]
-    public class glTF_VRM_BlendShapeMaster : UniGLTF.JsonSerializableBase
-    {
-        public List blendShapeGroups = new List();
-
-        public void Add(BlendShapeClip clip, Transform transform, List meshes)
-        {
-            var list = new List();
-            if (clip.Values != null)
-            {
-                list.AddRange(clip.Values.Select(y => glTF_VRM_BlendShapeBind.Cerate(transform, meshes.ToList(), y)));
-            }
-
-            var materialList = new List();
-            if (clip.MaterialValues != null)
-            {
-                materialList.AddRange(clip.MaterialValues.Select(y => new glTF_VRM_MaterialValueBind
-                {
-                    materialName = y.MaterialName,
-                    propertyName = y.ValueName,
-                    targetValue = y.TargetValue.ToArray(),
-                }));
-            }
-
-            var group = new glTF_VRM_BlendShapeGroup
-            {
-                name = clip.BlendShapeName,
-                presetName = clip.Preset.ToString().ToLower(),
-                isBinary = clip.IsBinary,
-                binds = list,
-                materialValues = materialList,
-            };
-            blendShapeGroups.Add(group);
-        }
-
-        protected override void SerializeMembers(GLTFJsonFormatter f)
-        {
-            f.Key("blendShapeGroups"); f.GLTFValue(blendShapeGroups);
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_BlendShape.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_BlendShape.cs.meta
deleted file mode 100644
index 043c8ab..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_BlendShape.cs.meta
+++ /dev/null
@@ -1,13 +0,0 @@
-fileFormatVersion: 2
-guid: 73f7fb3db66d55b4684333583a685757
-timeCreated: 1517549334
-licenseType: Free
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_FirstPerson.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_FirstPerson.cs
deleted file mode 100644
index 2ed9cc4..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_FirstPerson.cs
+++ /dev/null
@@ -1,127 +0,0 @@
-using System;
-using System.Linq;
-using System.Collections.Generic;
-using UniGLTF;
-using UnityEngine;
-using UniJSON;
-
-namespace VRM
-{
-    [Serializable]
-    [JsonSchema(Title = "vrm.firstperson.degreemap")]
-    public class glTF_VRM_DegreeMap : UniGLTF.JsonSerializableBase
-    {
-        [JsonSchema(Description = "None linear mapping params. time, value, inTangent, outTangent")]
-        public float[] curve;
-
-        [JsonSchema(Description = "Look at input clamp range degree.")]
-        public float xRange = 90.0f;
-
-        [JsonSchema(Description = "Look at map range degree from xRange.")]
-        public float yRange = 10.0f;
-
-        protected override void SerializeMembers(GLTFJsonFormatter f)
-        {
-            if (curve != null)
-            {
-                f.KeyValue(() => curve);
-            }
-            f.KeyValue(() => xRange);
-            f.KeyValue(() => yRange);
-        }
-
-        public void Apply(CurveMapper mapper)
-        {
-            curve = mapper.Curve.keys.SelectMany(x => new float[] { x.time, x.value, x.inTangent, x.outTangent }).ToArray();
-            xRange = mapper.CurveXRangeDegree;
-            yRange = mapper.CurveYRangeDegree;
-        }
-    }
-
-    public enum FirstPersonFlag
-    {
-        Auto, // Create headlessModel
-        Both, // Default layer
-        ThirdPersonOnly,
-        FirstPersonOnly,
-    }
-
-    [Serializable]
-    [JsonSchema(Title = "vrm.firstperson.meshannotation")]
-    public class glTF_VRM_MeshAnnotation : JsonSerializableBase
-    {
-        // When the value is -1, it means that no target mesh is found.
-        [JsonSchema(Minimum = 0)]
-        public int mesh;
-
-        public string firstPersonFlag;
-
-        protected override void SerializeMembers(GLTFJsonFormatter f)
-        {
-            f.KeyValue(() => mesh);
-            f.KeyValue(() => firstPersonFlag);
-        }
-    }
-
-    public enum LookAtType
-    {
-        None,
-        Bone,
-        BlendShape,
-    }
-
-    [Serializable]
-    [JsonSchema(Title = "vrm.firstperson")]
-    public class glTF_VRM_Firstperson : UniGLTF.JsonSerializableBase
-    {
-        // When the value is -1, it means that no bone for first person is found.
-        [JsonSchema(Description = "The bone whose rendering should be turned off in first-person view. Usually Head is specified.", Minimum = 0, ExplicitIgnorableValue = -1)]
-        public int firstPersonBone = -1;
-
-        [JsonSchema(Description = @"The target position of the VR headset in first-person view. It is assumed that an offset from the head bone to the VR headset is added.")]
-        public Vector3 firstPersonBoneOffset;
-
-        [JsonSchema(Description = "Switch display / undisplay for each mesh in first-person view or the others.")]
-        public List meshAnnotations = new List();
-
-        // lookat
-        [JsonSchema(Description = "Eye controller mode.", EnumValues = new object[] {
-            "Bone",
-            "BlendShape",
-        }, EnumSerializationType = EnumSerializationType.AsString)]
-        public string lookAtTypeName = "Bone";
-        public LookAtType lookAtType
-        {
-            get
-            {
-                return EnumUtil.TryParseOrDefault(lookAtTypeName);
-            }
-            set { lookAtTypeName = value.ToString(); }
-        }
-
-        [JsonSchema(Description = "Eye controller setting.")]
-        public glTF_VRM_DegreeMap lookAtHorizontalInner = new glTF_VRM_DegreeMap();
-
-        [JsonSchema(Description = "Eye controller setting.")]
-        public glTF_VRM_DegreeMap lookAtHorizontalOuter = new glTF_VRM_DegreeMap();
-
-        [JsonSchema(Description = "Eye controller setting.")]
-        public glTF_VRM_DegreeMap lookAtVerticalDown = new glTF_VRM_DegreeMap();
-
-        [JsonSchema(Description = "Eye controller setting.")]
-        public glTF_VRM_DegreeMap lookAtVerticalUp = new glTF_VRM_DegreeMap();
-
-        protected override void SerializeMembers(GLTFJsonFormatter f)
-        {
-            f.KeyValue(() => firstPersonBone);
-            f.KeyValue(() => firstPersonBoneOffset);
-            f.Key("meshAnnotations"); f.GLTFValue(meshAnnotations);
-
-            f.KeyValue(() => lookAtTypeName);
-            f.Key("lookAtHorizontalInner"); f.GLTFValue(lookAtHorizontalInner);
-            f.Key("lookAtHorizontalOuter"); f.GLTFValue(lookAtHorizontalOuter);
-            f.Key("lookAtVerticalDown"); f.GLTFValue(lookAtVerticalDown);
-            f.Key("lookAtVerticalUp"); f.GLTFValue(lookAtVerticalUp);
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_FirstPerson.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_FirstPerson.cs.meta
deleted file mode 100644
index 615736d..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_FirstPerson.cs.meta
+++ /dev/null
@@ -1,13 +0,0 @@
-fileFormatVersion: 2
-guid: fe59508ed49a5db4287c74e0061799b3
-timeCreated: 1519282840
-licenseType: Free
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_Humanoid.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_Humanoid.cs
deleted file mode 100644
index ef1527b..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_Humanoid.cs
+++ /dev/null
@@ -1,321 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using UniGLTF;
-using UniJSON;
-using UnityEngine;
-
-
-namespace VRM
-{
-    public enum VRMBone
-    {
-        hips,
-        leftUpperLeg,
-        rightUpperLeg,
-        leftLowerLeg,
-        rightLowerLeg,
-        leftFoot,
-        rightFoot,
-        spine,
-        chest,
-        neck,
-        head,
-        leftShoulder,
-        rightShoulder,
-        leftUpperArm,
-        rightUpperArm,
-        leftLowerArm,
-        rightLowerArm,
-        leftHand,
-        rightHand,
-        leftToes,
-        rightToes,
-        leftEye,
-        rightEye,
-        jaw,
-        leftThumbProximal,
-        leftThumbIntermediate,
-        leftThumbDistal,
-        leftIndexProximal,
-        leftIndexIntermediate,
-        leftIndexDistal,
-        leftMiddleProximal,
-        leftMiddleIntermediate,
-        leftMiddleDistal,
-        leftRingProximal,
-        leftRingIntermediate,
-        leftRingDistal,
-        leftLittleProximal,
-        leftLittleIntermediate,
-        leftLittleDistal,
-        rightThumbProximal,
-        rightThumbIntermediate,
-        rightThumbDistal,
-        rightIndexProximal,
-        rightIndexIntermediate,
-        rightIndexDistal,
-        rightMiddleProximal,
-        rightMiddleIntermediate,
-        rightMiddleDistal,
-        rightRingProximal,
-        rightRingIntermediate,
-        rightRingDistal,
-        rightLittleProximal,
-        rightLittleIntermediate,
-        rightLittleDistal,
-        upperChest,
-
-        unknown,
-    }
-
-    public static class VRMBoneExtensions
-    {
-        public static VRMBone FromHumanBodyBone(this HumanBodyBones human)
-        {
-            return EnumUtil.TryParseOrDefault(human.ToString(), VRMBone.unknown);
-        }
-        public static HumanBodyBones ToHumanBodyBone(this VRMBone bone)
-        {
-#if UNITY_5_6_OR_NEWER
-#else
-            if (bone == VRMBone.upperChest)
-            {
-                return HumanBodyBones.LastBone;
-            }
-#endif
-            return EnumUtil.TryParseOrDefault(bone.ToString(), HumanBodyBones.LastBone);
-        }
-    }
-
-    [Serializable]
-    [JsonSchema(Title = "vrm.humanoid.bone")]
-    public class glTF_VRM_HumanoidBone : JsonSerializableBase
-    {
-        [JsonSchema(Description = "Human bone name.", EnumValues = new object[] {
-            "hips",
-            "leftUpperLeg",
-            "rightUpperLeg",
-            "leftLowerLeg",
-            "rightLowerLeg",
-            "leftFoot",
-            "rightFoot",
-            "spine",
-            "chest",
-            "neck",
-            "head",
-            "leftShoulder",
-            "rightShoulder",
-            "leftUpperArm",
-            "rightUpperArm",
-            "leftLowerArm",
-            "rightLowerArm",
-            "leftHand",
-            "rightHand",
-            "leftToes",
-            "rightToes",
-            "leftEye",
-            "rightEye",
-            "jaw",
-            "leftThumbProximal",
-            "leftThumbIntermediate",
-            "leftThumbDistal",
-            "leftIndexProximal",
-            "leftIndexIntermediate",
-            "leftIndexDistal",
-            "leftMiddleProximal",
-            "leftMiddleIntermediate",
-            "leftMiddleDistal",
-            "leftRingProximal",
-            "leftRingIntermediate",
-            "leftRingDistal",
-            "leftLittleProximal",
-            "leftLittleIntermediate",
-            "leftLittleDistal",
-            "rightThumbProximal",
-            "rightThumbIntermediate",
-            "rightThumbDistal",
-            "rightIndexProximal",
-            "rightIndexIntermediate",
-            "rightIndexDistal",
-            "rightMiddleProximal",
-            "rightMiddleIntermediate",
-            "rightMiddleDistal",
-            "rightRingProximal",
-            "rightRingIntermediate",
-            "rightRingDistal",
-            "rightLittleProximal",
-            "rightLittleIntermediate",
-            "rightLittleDistal",
-            "upperChest",
-        }, EnumSerializationType =EnumSerializationType.AsString)]
-        public string bone;
-        public VRMBone vrmBone
-        {
-            set
-            {
-                bone = value.ToString();
-            }
-            get
-            {
-                return EnumUtil.TryParseOrDefault(bone);
-            }
-        }
-
-        // When the value is -1, it means that no node is found.
-        [JsonSchema(Description = "Reference node index", Minimum = 0)]
-        public int node = -1;
-
-        [JsonSchema(Description = "Unity's HumanLimit.useDefaultValues")]
-        public bool useDefaultValues = true;
-
-        [JsonSchema(Description = "Unity's HumanLimit.min")]
-        public Vector3 min;
-
-        [JsonSchema(Description = "Unity's HumanLimit.max")]
-        public Vector3 max;
-
-        [JsonSchema(Description = "Unity's HumanLimit.center")]
-        public Vector3 center;
-
-        [JsonSchema(Description = "Unity's HumanLimit.axisLength")]
-        public float axisLength;
-
-        protected override void SerializeMembers(GLTFJsonFormatter f)
-        {
-            f.Key("bone"); f.Value((string)bone.ToString());
-            f.KeyValue(() => node);
-            f.KeyValue(() => useDefaultValues);
-            if (!useDefaultValues)
-            {
-                f.KeyValue(() => min);
-                f.KeyValue(() => max);
-                f.KeyValue(() => center);
-                f.KeyValue(() => axisLength);
-            }
-        }
-    }
-
-    [Serializable]
-    [JsonSchema(Title = "vrm.humanoid")]
-    public class glTF_VRM_Humanoid : JsonSerializableBase
-    {
-        public List humanBones = new List();
-
-        [JsonSchema(Description = "Unity's HumanDescription.armStretch")]
-        public float armStretch = 0.05f;
-
-        [JsonSchema(Description = "Unity's HumanDescription.legStretch")]
-        public float legStretch = 0.05f;
-
-        [JsonSchema(Description = "Unity's HumanDescription.upperArmTwist")]
-        public float upperArmTwist = 0.5f;
-
-        [JsonSchema(Description = "Unity's HumanDescription.lowerArmTwist")]
-        public float lowerArmTwist = 0.5f;
-
-        [JsonSchema(Description = "Unity's HumanDescription.upperLegTwist")]
-        public float upperLegTwist = 0.5f;
-
-        [JsonSchema(Description = "Unity's HumanDescription.lowerLegTwist")]
-        public float lowerLegTwist = 0.5f;
-
-        [JsonSchema(Description = "Unity's HumanDescription.feetSpacing")]
-        public float feetSpacing = 0;
-
-        [JsonSchema(Description = "Unity's HumanDescription.hasTranslationDoF")]
-        public bool hasTranslationDoF = false;
-
-        public void SetNodeIndex(HumanBodyBones _key, int node)
-        {
-            var key = _key.FromHumanBodyBone();
-            var index = humanBones.FindIndex(x => x.vrmBone == key);
-            if (index == -1 || humanBones[index] == null)
-            {
-                // not found
-                humanBones.Add(new glTF_VRM_HumanoidBone
-                {
-                    vrmBone = key,
-                    node = node
-                });
-            }
-            else
-            {
-                humanBones[index].node = node;
-            }
-        }
-
-        protected override void SerializeMembers(GLTFJsonFormatter f)
-        {
-            f.Key("humanBones"); f.GLTFValue(humanBones);
-            f.KeyValue(() => armStretch);
-            f.KeyValue(() => legStretch);
-            f.KeyValue(() => upperArmTwist);
-            f.KeyValue(() => lowerArmTwist);
-            f.KeyValue(() => upperLegTwist);
-            f.KeyValue(() => lowerLegTwist);
-            f.KeyValue(() => feetSpacing);
-            f.KeyValue(() => hasTranslationDoF);
-        }
-
-        public void Apply(UniHumanoid.AvatarDescription desc, List nodes)
-        {
-            armStretch = desc.armStretch;
-            legStretch = desc.legStretch;
-            upperArmTwist = desc.upperArmTwist;
-            lowerArmTwist = desc.lowerArmTwist;
-            upperLegTwist = desc.upperLegTwist;
-            lowerLegTwist = desc.lowerArmTwist;
-            feetSpacing = desc.feetSpacing;
-            hasTranslationDoF = desc.hasTranslationDoF;
-
-            foreach (var x in desc.human)
-            {
-                var key = x.humanBone.FromHumanBodyBone();
-                var found = humanBones.FirstOrDefault(y => y.vrmBone == key);
-                if (found == null)
-                {
-                    found = new glTF_VRM_HumanoidBone
-                    {
-                        vrmBone = key
-                    };
-                    humanBones.Add(found);
-                }
-                found.node = nodes.FindIndex(y => y.name == x.boneName);
-
-                found.useDefaultValues = x.useDefaultValues;
-                found.axisLength = x.axisLength;
-                found.center = x.center;
-                found.max = x.max;
-                found.min = x.min;
-            }
-        }
-
-        public UniHumanoid.AvatarDescription ToDescription(List nodes)
-        {
-            var description = ScriptableObject.CreateInstance();
-            description.upperLegTwist = upperLegTwist;
-            description.lowerLegTwist = lowerLegTwist;
-            description.upperArmTwist = upperArmTwist;
-            description.lowerArmTwist = lowerArmTwist;
-            description.armStretch = armStretch;
-            description.legStretch = legStretch;
-            description.hasTranslationDoF = hasTranslationDoF;
-            description.human = humanBones
-                .Where(x => x.node >= 0 && x.node < nodes.Count)
-                .Select(x => new UniHumanoid.BoneLimit
-                {
-                    boneName = nodes[x.node].name,
-                    useDefaultValues = x.useDefaultValues,
-                    axisLength = x.axisLength,
-                    center = x.center,
-                    min = x.min,
-                    max = x.max,
-                    humanBone = x.vrmBone.ToHumanBodyBone(),
-                })
-            .Where(x => x.humanBone != HumanBodyBones.LastBone)
-            .ToArray();
-            return description;
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_Humanoid.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_Humanoid.cs.meta
deleted file mode 100644
index 5b42308..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_Humanoid.cs.meta
+++ /dev/null
@@ -1,13 +0,0 @@
-fileFormatVersion: 2
-guid: 3f9f79a650473ec46b54bf693bd745d2
-timeCreated: 1517549206
-licenseType: Free
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_Material.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_Material.cs
deleted file mode 100644
index 35fed67..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_Material.cs
+++ /dev/null
@@ -1,217 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using UniGLTF;
-using UnityEngine;
-using UniJSON;
-using UniGLTF.ShaderPropExporter;
-
-namespace VRM
-{
-    [Serializable]
-    [JsonSchema(Title = "vrm.material")]
-    public class glTF_VRM_Material : JsonSerializableBase
-    {
-        public string name;
-        public string shader;
-        public int renderQueue = -1;
-
-        public Dictionary floatProperties = new Dictionary();
-        public Dictionary vectorProperties = new Dictionary();
-        public Dictionary textureProperties = new Dictionary();
-        public Dictionary keywordMap = new Dictionary();
-        public Dictionary tagMap = new Dictionary();
-
-        static readonly string[] TAGS = new string[]{
-            "RenderType",
-            // "Queue",
-        };
-
-        private static readonly string[] VRMExtensionShaders = new string[]
-        {
-            "VRM/UnlitTransparentZWrite",
-            "VRM/MToon"
-        };
-
-        private static readonly string VRM_USE_GLTFSHADER = "VRM_USE_GLTFSHADER";
-
-        protected override void SerializeMembers(GLTFJsonFormatter f)
-        {
-            f.KeyValue(() => name);
-            f.KeyValue(() => renderQueue);
-            f.KeyValue(() => shader);
-            {
-                f.Key("floatProperties"); f.BeginMap();
-                foreach (var kv in floatProperties)
-                {
-                    f.Key(kv.Key); f.Value(kv.Value);
-                }
-                f.EndMap();
-            }
-            {
-                f.Key("vectorProperties"); f.BeginMap();
-                foreach (var kv in vectorProperties)
-                {
-                    f.Key(kv.Key); f.Serialize(kv.Value.ToArray());
-                }
-                f.EndMap();
-            }
-            {
-                f.Key("textureProperties"); f.BeginMap();
-                foreach (var kv in textureProperties)
-                {
-                    f.Key(kv.Key); f.Value(kv.Value);
-                }
-                f.EndMap();
-            }
-            {
-                f.Key("keywordMap"); f.BeginMap();
-                foreach (var kv in keywordMap)
-                {
-                    f.Key(kv.Key); f.Value(kv.Value);
-                }
-                f.EndMap();
-            }
-            {
-                f.Key("tagMap"); f.BeginMap();
-                foreach (var kv in tagMap)
-                {
-                    f.Key(kv.Key); f.Value(kv.Value);
-                }
-                f.EndMap();
-            }
-        }
-
-        public static List Parse(string src)
-        {
-            var json = JsonParser.Parse(src)["extensions"]["VRM"]["materialProperties"];
-            return Parse(json);
-        }
-
-        static Utf8String s_floatProperties = Utf8String.From("floatProperties");
-        static Utf8String s_vectorProperties = Utf8String.From("vectorProperties");
-        static Utf8String s_keywordMap = Utf8String.From("keywordMap");
-        static Utf8String s_tagMap = Utf8String.From("tagMap");
-        static Utf8String s_textureProperties = Utf8String.From("textureProperties");
-
-        public static List Parse(ListTreeNode json)
-        {
-            var materials = json.DeserializeList();
-            var jsonItems = json.ArrayItems().ToArray();
-            for (int i = 0; i < materials.Count; ++i)
-            {
-                materials[i].floatProperties =
-                    jsonItems[i][s_floatProperties].ObjectItems().ToDictionary(x => x.Key.GetString(), x => x.Value.GetSingle());
-                materials[i].vectorProperties =
-                    jsonItems[i][s_vectorProperties].ObjectItems().ToDictionary(x => x.Key.GetString(), x =>
-                    {
-                        return x.Value.ArrayItems().Select(y => y.GetSingle()).ToArray();
-                    });
-                materials[i].keywordMap =
-                    jsonItems[i][s_keywordMap].ObjectItems().ToDictionary(x => x.Key.GetString(), x => x.Value.GetBoolean());
-                materials[i].tagMap =
-                    jsonItems[i][s_tagMap].ObjectItems().ToDictionary(x => x.Key.GetString(), x => x.Value.GetString());
-                materials[i].textureProperties =
-                    jsonItems[i][s_textureProperties].ObjectItems().ToDictionary(x => x.Key.GetString(), x => x.Value.GetInt32());
-            }
-            return materials;
-        }
-
-        public static glTF_VRM_Material CreateFromMaterial(Material m, List textures)
-        {
-            var material = new glTF_VRM_Material
-            {
-                name = m.name,
-                shader = m.shader.name,
-                renderQueue = m.renderQueue,
-            };
-
-            if (!VRMExtensionShaders.Contains(m.shader.name))
-            {
-                material.shader = VRM_USE_GLTFSHADER;
-                return material;
-            }
-
-            var prop = PreShaderPropExporter.GetPropsForSupportedShader(m.shader.name);
-            if (prop == null)
-            {
-                Debug.LogWarningFormat("Fail to export shader: {0}", m.shader.name);
-            }
-            else
-            {
-                foreach (var keyword in m.shaderKeywords)
-                {
-                    material.keywordMap.Add(keyword, m.IsKeywordEnabled(keyword));
-                }
-
-                // get properties
-                //material.SetProp(prop);
-                foreach (var kv in prop.Properties)
-                {
-                    switch (kv.ShaderPropertyType)
-                    {
-                        case ShaderPropertyType.Color:
-                            {
-                                var value = m.GetColor(kv.Key).ToArray();
-                                material.vectorProperties.Add(kv.Key, value);
-                            }
-                            break;
-
-                        case ShaderPropertyType.Range:
-                        case ShaderPropertyType.Float:
-                            {
-                                var value = m.GetFloat(kv.Key);
-                                material.floatProperties.Add(kv.Key, value);
-                            }
-                            break;
-
-                        case ShaderPropertyType.TexEnv:
-                            {
-                                var texture = m.GetTexture(kv.Key);
-                                if (texture != null)
-                                {
-                                    var value = textures.IndexOf(texture);
-                                    if (value == -1)
-                                    {
-                                        Debug.LogFormat("not found {0}", texture.name);
-                                    }
-                                    else
-                                    {
-                                        material.textureProperties.Add(kv.Key, value);
-                                    }
-                                }
-
-                                // offset & scaling
-                                var offset = m.GetTextureOffset(kv.Key);
-                                var scaling = m.GetTextureScale(kv.Key);
-                                material.vectorProperties.Add(kv.Key,
-                                    new float[] { offset.x, offset.y, scaling.x, scaling.y });
-                            }
-                            break;
-
-                        case ShaderPropertyType.Vector:
-                            {
-                                var value = m.GetVector(kv.Key).ToArray();
-                                material.vectorProperties.Add(kv.Key, value);
-                            }
-                            break;
-
-                        default:
-                            throw new NotImplementedException();
-                    }
-                }
-            }
-
-            foreach (var tag in TAGS)
-            {
-                var value = m.GetTag(tag, false);
-                if (!String.IsNullOrEmpty(value))
-                {
-                    material.tagMap.Add(tag, value);
-                }
-            }
-
-            return material;
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_Material.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_Material.cs.meta
deleted file mode 100644
index f333cb2..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_Material.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 130dbb872890027439584d752fe160ef
-timeCreated: 1519805969
-licenseType: Free
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_Meta.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_Meta.cs
deleted file mode 100644
index c88c22d..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_Meta.cs
+++ /dev/null
@@ -1,171 +0,0 @@
-using System;
-using UniGLTF;
-using UniJSON;
-
-namespace VRM
-{
-    public enum AllowedUser
-    {
-        OnlyAuthor,
-        ExplicitlyLicensedPerson,
-        Everyone,
-    }
-
-    public enum LicenseType
-    {
-        Redistribution_Prohibited,
-        CC0,
-        CC_BY,
-        CC_BY_NC,
-        CC_BY_SA,
-        CC_BY_NC_SA,
-        CC_BY_ND,
-        CC_BY_NC_ND,
-        Other
-    }
-
-    public enum UssageLicense
-    {
-        Disallow,
-        Allow,
-    }
-
-    [Serializable]
-    [JsonSchema(Title = "vrm.meta")]
-    public class glTF_VRM_Meta : JsonSerializableBase
-    {
-        static UssageLicense FromString(string src)
-        {
-            return EnumUtil.TryParseOrDefault(src);
-        }
-
-        [JsonSchema(Description = "Title of VRM model")]
-        public string title;
-
-        [JsonSchema(Description = "Version of VRM model")]
-        public string version;
-
-        [JsonSchema(Description = "Author of VRM model")]
-        public string author;
-
-        [JsonSchema(Description = "Contact Information of VRM model author")]
-        public string contactInformation;
-
-        [JsonSchema(Description = "Reference of VRM model")]
-        public string reference;
-
-        // When the value is -1, it means that texture is not specified.
-        [JsonSchema(Description = "Thumbnail of VRM model", Minimum = 0, ExplicitIgnorableValue = -1)]
-        public int texture = -1;
-
-        #region Ussage Permission
-        [JsonSchema(Required = true, Description = "A person who can perform with this avatar ", EnumValues = new object[] {
-            "OnlyAuthor",
-            "ExplicitlyLicensedPerson",
-            "Everyone",
-        }, EnumSerializationType = EnumSerializationType.AsString)]
-        public string allowedUserName = "OnlyAuthor";
-        public AllowedUser allowedUser
-        {
-            get
-            {
-                return EnumUtil.TryParseOrDefault(allowedUserName);
-            }
-            set
-            {
-                allowedUserName = value.ToString();
-            }
-        }
-
-        [JsonSchema(Required = true, Description = "Permission to perform violent acts with this avatar", EnumValues = new object[]
-        {
-        "Disallow",
-        "Allow",
-        }, EnumSerializationType = EnumSerializationType.AsString)]
-        public string violentUssageName = "Disallow";
-        public UssageLicense violentUssage
-        {
-            get { return FromString(violentUssageName); }
-            set { violentUssageName = value.ToString(); }
-        }
-
-        [JsonSchema(Required = true, Description = "Permission to perform sexual acts with this avatar", EnumValues = new object[]
-        {
-        "Disallow",
-        "Allow",
-        }, EnumSerializationType = EnumSerializationType.AsString)]
-        public string sexualUssageName = "Disallow";
-        public UssageLicense sexualUssage
-        {
-            get { return FromString(sexualUssageName); }
-            set { sexualUssageName = value.ToString(); }
-        }
-
-        [JsonSchema(Required = true, Description = "For commercial use", EnumValues = new object[]
-        {
-        "Disallow",
-        "Allow",
-        }, EnumSerializationType = EnumSerializationType.AsString)]
-        public string commercialUssageName = "Disallow";
-        public UssageLicense commercialUssage
-        {
-            get { return FromString(commercialUssageName); }
-            set { commercialUssageName = value.ToString(); }
-        }
-
-        [JsonSchema(Description = "If there are any conditions not mentioned above, put the URL link of the license document here.")]
-        public string otherPermissionUrl;
-        #endregion
-
-        #region Distribution License
-        [JsonSchema(Required = true, Description = "License type", EnumValues = new object[]
-        {
-            "Redistribution_Prohibited",
-            "CC0",
-            "CC_BY",
-            "CC_BY_NC",
-            "CC_BY_SA",
-            "CC_BY_NC_SA",
-            "CC_BY_ND",
-            "CC_BY_NC_ND",
-            "Other"
-        }, EnumSerializationType = EnumSerializationType.AsString)]
-        public string licenseName = "Redistribution_Prohibited";
-        public LicenseType licenseType
-        {
-            get
-            {
-                return EnumUtil.TryParseOrDefault(licenseName);
-            }
-            set
-            {
-                licenseName = value.ToString();
-            }
-        }
-
-        [JsonSchema(Description = "If “Other” is selected, put the URL link of the license document here.")]
-        public string otherLicenseUrl;
-        #endregion
-
-        protected override void SerializeMembers(GLTFJsonFormatter f)
-        {
-            f.KeyValue(() => version);
-
-            f.KeyValue(() => author);
-            f.KeyValue(() => contactInformation);
-            f.KeyValue(() => reference);
-
-            f.KeyValue(() => title);
-            f.KeyValue(() => texture);
-
-            f.KeyValue(() => allowedUserName);
-            f.KeyValue(() => violentUssageName);
-            f.KeyValue(() => sexualUssageName);
-            f.KeyValue(() => commercialUssageName);
-            f.KeyValue(() => otherPermissionUrl);
-
-            f.KeyValue(() => licenseName);
-            f.KeyValue(() => otherLicenseUrl);
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_Meta.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_Meta.cs.meta
deleted file mode 100644
index 5a8af48..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_Meta.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 06d4ab405dbbf9041b20a3b99f1cbe4f
-timeCreated: 1520237793
-licenseType: Free
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_SecondaryAnimation.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_SecondaryAnimation.cs
deleted file mode 100644
index 5d825b8..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_SecondaryAnimation.cs
+++ /dev/null
@@ -1,110 +0,0 @@
-using System;
-using System.Collections.Generic;
-using UniGLTF;
-using UniJSON;
-using UnityEngine;
-
-
-namespace VRM
-{
-    [Serializable]
-    public class glTF_VRM_SecondaryAnimationCollider : JsonSerializableBase
-    {
-        [JsonSchema(Description = "The local coordinate from the node of the collider group.")]
-        public Vector3 offset;
-
-        [JsonSchema(Description = "The radius of the collider.")]
-        public float radius;
-
-        protected override void SerializeMembers(GLTFJsonFormatter f)
-        {
-            f.KeyValue(() => offset);
-            f.KeyValue(() => radius);
-        }
-    }
-
-
-    [Serializable]
-    [JsonSchema(Title = "vrm.secondaryanimation.collidergroup", Description = @"Set sphere balls for colliders used for collision detections with swaying objects.")]
-    public class glTF_VRM_SecondaryAnimationColliderGroup : JsonSerializableBase
-    {
-        [JsonSchema(Description = "The node of the collider group for setting up collision detections.", Minimum = 0)]
-        public int node;
-
-        public List colliders = new List();
-
-        protected override void SerializeMembers(GLTFJsonFormatter f)
-        {
-            f.KeyValue(() => node);
-            f.Key("colliders"); f.GLTFValue(colliders);
-        }
-    }
-
-
-    [Serializable]
-    [JsonSchema(Title = "vrm.secondaryanimation.spring")]
-    public class glTF_VRM_SecondaryAnimationGroup : JsonSerializableBase
-    {
-        [JsonSchema(Description = "Annotation comment")]
-        public string comment;
-
-        [JsonSchema(Description = "The resilience of the swaying object (the power of returning to the initial pose).")]
-        public float stiffiness;
-
-        [JsonSchema(Description = "The strength of gravity.")]
-        public float gravityPower;
-
-        [JsonSchema(Description = "The direction of gravity. Set (0, -1, 0) for simulating the gravity. Set (1, 0, 0) for simulating the wind.")]
-        public Vector3 gravityDir;
-
-        [JsonSchema(Description = "The resistance (deceleration) of automatic animation.")]
-        public float dragForce;
-
-        // NOTE: This value denotes index but may contain -1 as a value.
-        // When the value is -1, it means that center node is not specified.
-        // This is a historical issue and a compromise for forward compatibility.
-        [JsonSchema(Description = @"The reference point of a swaying object can be set at any location except the origin. When implementing UI moving with warp, the parent node to move with warp can be specified if you don't want to make the object swaying with warp movement.")]
-        public int center;
-
-        [JsonSchema(Description = "The radius of the sphere used for the collision detection with colliders.")]
-        public float hitRadius;
-
-        [JsonSchema(Description = "Specify the node index of the root bone of the swaying object.")]
-        [ItemJsonSchema(Minimum = 0)]
-        public int[] bones = new int[] { };
-
-        [JsonSchema(Description = "Specify the index of the collider group for collisions with swaying objects.")]
-        [ItemJsonSchema(Minimum = 0)]
-        public int[] colliderGroups = new int[] { };
-
-        protected override void SerializeMembers(GLTFJsonFormatter f)
-        {
-            f.KeyValue(() => comment);
-            f.KeyValue(() => stiffiness);
-            f.KeyValue(() => gravityPower);
-            f.KeyValue(() => gravityDir);
-            f.KeyValue(() => dragForce);
-            f.KeyValue(() => center);
-            f.KeyValue(() => hitRadius);
-            f.KeyValue(() => bones);
-            f.KeyValue(() => colliderGroups);
-        }
-    }
-
-    [Serializable]
-    [JsonSchema(Title = "vrm.secondaryanimation", Description = "The setting of automatic animation of string-like objects such as tails and hairs.")]
-    public class glTF_VRM_SecondaryAnimation : JsonSerializableBase
-    {
-        [JsonSchema(ExplicitIgnorableItemLength = 0)]
-        public List boneGroups = new List();
-
-        [JsonSchema(ExplicitIgnorableItemLength = 0)]
-        public List colliderGroups = new List();
-
-        protected override void SerializeMembers(GLTFJsonFormatter f)
-        {
-            f.Key("boneGroups"); f.GLTFValue(boneGroups);
-            f.Key("colliderGroups"); f.GLTFValue(colliderGroups);
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_SecondaryAnimation.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_SecondaryAnimation.cs.meta
deleted file mode 100644
index 34daa1c..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Format/glTF_VRM_SecondaryAnimation.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 5fb9119ad9fa65849ad2379d4da417bd
-timeCreated: 1519653096
-licenseType: Free
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Humanoid.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Humanoid.meta
deleted file mode 100644
index 6291d03..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Humanoid.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: f02eb2ac11bb94e4984f2d3481abbe65
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Humanoid/VRMHumanoidDescription.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Humanoid/VRMHumanoidDescription.cs
deleted file mode 100644
index 5a177e5..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Humanoid/VRMHumanoidDescription.cs
+++ /dev/null
@@ -1,56 +0,0 @@
-using UnityEngine;
-
-
-namespace VRM
-{
-    public class VRMHumanoidDescription : MonoBehaviour
-    {
-        [SerializeField]
-        public Avatar Avatar;
-
-        [SerializeField]
-        public UniHumanoid.AvatarDescription Description;
-
-        public UniHumanoid.AvatarDescription GetDescription(out bool isCreated)
-        {
-            isCreated = false;
-            if (Description != null)
-            {
-                return Description;
-            }
-
-#if UNITY_EDITOR
-            if (Avatar != null)
-            {
-                isCreated = true;
-                return UniHumanoid.AvatarDescription.CreateFrom(Avatar);
-            }
-#endif
-
-            return null;
-        }
-
-        private void OnValidate()
-        {
-            if(Avatar!=null && (!Avatar.isValid || !Avatar.isHuman))
-            {
-                Avatar = null;
-            }
-        }
-
-        void Reset()
-        {
-            var animator = GetComponent();
-            if (animator == null)
-            {
-                return;
-            }
-
-            Avatar = animator.avatar;
-            if (Avatar == null)
-            {
-                return;
-            }
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Humanoid/VRMHumanoidDescription.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Humanoid/VRMHumanoidDescription.cs.meta
deleted file mode 100644
index a9bf036..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Humanoid/VRMHumanoidDescription.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 3869812175467a143ab9cd865752b4a9
-timeCreated: 1520410765
-licenseType: Free
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/IVRMComponent.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/IVRMComponent.cs
deleted file mode 100644
index 0eaa147..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/IVRMComponent.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-namespace VRM
-{
-    /// 
-    /// 
-    /// * OnImported(Serializableなメンバの初期化)とStart(ランタイムのメンバ初期化)で
-    /// セットアップが終わるように注意する。
-    /// 
-    /// * Reset, Awake, OnEnableには注意する(Editor時はAddComponentで呼ばれ、Runtimeでは開始時に呼ばれる)
-    /// 
-    /// 
-    public interface IVRMComponent
-    {
-        /// 
-        /// Serializableな値を初期化する
-        /// 
-        /// 
-        void OnImported(VRMImporterContext context);
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/IVRMComponent.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/IVRMComponent.cs.meta
deleted file mode 100644
index 17496a5..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/IVRMComponent.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 3edd6ae2fa8e64746b11daac1d1d9bad
-timeCreated: 1524053597
-licenseType: Free
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt.meta
deleted file mode 100644
index 951e0e7..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: f40724d130572ae47810ac549755bbf7
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/CurveMapper.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/CurveMapper.cs
deleted file mode 100644
index cbc750d..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/CurveMapper.cs
+++ /dev/null
@@ -1,75 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using UnityEngine;
-
-
-namespace VRM
-{
-    [Serializable]
-    public class CurveMapper
-    {
-        public AnimationCurve Curve = AnimationCurve.Linear(0, 0, 1.0f, 1.0f);
-
-        [Range(20.0f, 90.0f)]
-        public float CurveXRangeDegree;
-
-        [Range(0, 90.0f)]
-        public float CurveYRangeDegree;
-
-        /*
-        public CurveMapper() : this(90.0f, 10.0f)
-        {
-        }
-        */
-
-        public CurveMapper(float xRange, float yRange)
-        {
-            CurveXRangeDegree = xRange;
-            CurveYRangeDegree = yRange;
-        }
-
-        public void OnValidate()
-        {
-            if (CurveXRangeDegree == 0)
-            {
-                CurveXRangeDegree = 90.0f;
-            }
-        }
-
-        public void Apply(glTF_VRM_DegreeMap degreeMap)
-        {
-            CurveXRangeDegree = degreeMap.xRange;
-            CurveYRangeDegree = degreeMap.yRange;
-            if (degreeMap.curve != null)
-            {
-                Curve = new AnimationCurve(ToKeys(degreeMap.curve).ToArray());
-            }
-            else
-            {
-                Curve = AnimationCurve.Linear(0, 0, 1.0f, 1.0f);
-            }
-        }
-
-        IEnumerable ToKeys(float[] values)
-        {
-            for (int i = 0; i < values.Length; i += 4)
-            {
-                yield return new Keyframe(values[i], values[i + 1], values[i + 2], values[i + 3]);
-            }
-        }
-
-        public float Map(float src)
-        {
-            if (src < 0)
-            {
-                src = 0;
-            }
-            else if (src > CurveXRangeDegree)
-            {
-                src = CurveXRangeDegree;
-            }
-            return Curve.Evaluate(src / CurveXRangeDegree) * CurveYRangeDegree;
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/CurveMapper.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/CurveMapper.cs.meta
deleted file mode 100644
index 7e0fc4d..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/CurveMapper.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: baf8dab7dcbbb03429b01dfa7e2f65cd
-timeCreated: 1521805484
-licenseType: Free
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/LookAtTargetSwitcher.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/LookAtTargetSwitcher.cs
deleted file mode 100644
index c6bb6cc..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/LookAtTargetSwitcher.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-using System.Collections.Generic;
-using UnityEngine;
-
-
-namespace VRM
-{
-    public class LookAtTargetSwitcher : MonoBehaviour
-    {
-        [SerializeField]
-        List m_targets = new List();
-
-        [SerializeField, Range(0, 90.0f)]
-        float m_thresholdDegrees = 60.0f;
-
-        [SerializeField]
-        VRMLookAtHead m_lookAtHead;
-
-        [SerializeField]
-        Blinker m_blinker;
-
-        private void Reset()
-        {
-            m_lookAtHead = GameObject.FindObjectOfType();
-            m_blinker = GameObject.FindObjectOfType();
-        }
-
-        float CalcScore(Transform target)
-        {
-            return Vector3.Dot(m_lookAtHead.Head.forward, target.position - m_lookAtHead.Head.position);
-        }
-
-        Transform ChooseTarget()
-        {
-            Transform target = null;
-            float maxScore = 0;
-            var min = System.Math.Cos(m_thresholdDegrees * Mathf.Deg2Rad);
-            foreach (var x in m_targets)
-            {
-                var score = CalcScore(x);
-                if (score > min && score > maxScore)
-                {
-                    maxScore = score;
-                    target = x;
-                }
-            }
-            return target;
-        }
-
-        Transform m_lastTarget;
-
-        private void Update()
-        {
-            if (m_targets == null || m_targets.Count == 0) return;
-
-            var target = ChooseTarget();
-            if (target != m_lastTarget)
-            {
-                // blink
-                //Debug.Log("request");
-                m_lastTarget = target;
-                m_blinker.Request = true;
-            }
-
-            Vector3 targetPosition;
-            if (target == null)
-            {
-                // forward
-                targetPosition = m_lookAtHead.Head.position + m_lookAtHead.Head.forward * 20.0f;
-            }
-            else
-            {
-                targetPosition = target.position;
-            }
-            // half move
-            transform.position += (targetPosition - transform.position) * 0.5f;
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/LookAtTargetSwitcher.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/LookAtTargetSwitcher.cs.meta
deleted file mode 100644
index f02c2c7..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/LookAtTargetSwitcher.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: bcd30950d78a34d48a749efb962224e6
-timeCreated: 1522156957
-licenseType: Free
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/LookTarget.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/LookTarget.cs
deleted file mode 100644
index f6752b8..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/LookTarget.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using UnityEngine;
-using UniGLTF;
-
-
-namespace VRM
-{
-    public class LookTarget : MonoBehaviour
-    {
-        [SerializeField]
-        public Transform Target;
-
-        [SerializeField]
-        Vector3 m_offset = new Vector3(0, 0.05f, 0);
-
-        [SerializeField, Range(0, 3.0f)]
-        float m_distance = 0.7f;
-
-        public OffsetOnTransform m_offsetTransform;
-
-        void Update()
-        {
-            if (Target != m_offsetTransform.Transform)
-            {
-                m_offsetTransform = OffsetOnTransform.Create(Target);
-            }
-
-            var target = m_offsetTransform.Transform;
-            if (target != null)
-            {
-                var targetPosition = target.position + m_offset;
-                transform.position = targetPosition + (m_offsetTransform.WorldMatrix.ExtractRotation() * Vector3.forward) * m_distance;
-                transform.LookAt(targetPosition);
-            }
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/LookTarget.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/LookTarget.cs.meta
deleted file mode 100644
index 3c40d1c..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/LookTarget.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: d1cc319f70f55264eb38d1959c4222c6
-timeCreated: 1519912723
-licenseType: Free
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/Matrix4x4Extensions.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/Matrix4x4Extensions.cs
deleted file mode 100644
index 89b4352..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/Matrix4x4Extensions.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-using System;
-using UniGLTF;
-using UnityEngine;
-
-
-namespace VRM
-{
-    public static class Matrix4x4Extensions
-    {
-        public static void CalcYawPitch(this Matrix4x4 m, Vector3 target, out float yaw, out float pitch)
-        {
-            var zaxis = Vector3.Project(target, m.GetColumn(2));
-            var yaxis = Vector3.Project(target, m.GetColumn(1));
-            var xaxis = Vector3.Project(target, m.GetColumn(0));
-
-            var yawPlusMinus = Vector3.Dot(xaxis, m.GetColumn(0)) > 0 ? 1.0f : -1.0f;
-            yaw = (float)Math.Atan2(xaxis.magnitude, zaxis.magnitude) * yawPlusMinus * Mathf.Rad2Deg;
-
-            var pitchPlusMinus = Vector3.Dot(yaxis, m.GetColumn(1)) > 0 ? 1.0f : -1.0f;
-            pitch = (float)Math.Atan2(yaxis.magnitude, (xaxis + zaxis).magnitude) * pitchPlusMinus * Mathf.Rad2Deg;
-        }
-
-        public static Quaternion YawPitchRotation(this Matrix4x4 m, float yaw, float pitch)
-        {
-            return Quaternion.AngleAxis(yaw, m.GetColumn(1)) * Quaternion.AngleAxis(-pitch, m.GetColumn(0));
-        }
-
-        public static Matrix4x4 RotationToWorldAxis(this Matrix4x4 m)
-        {
-            return UnityExtensions.Matrix4x4FromColumns(
-                m.MultiplyVector(Vector3.right),
-                m.MultiplyVector(Vector3.up),
-                m.MultiplyVector(Vector3.forward),
-                new Vector4(0, 0, 0, 1)
-                );
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/Matrix4x4Extensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/Matrix4x4Extensions.cs.meta
deleted file mode 100644
index 85d92bc..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/Matrix4x4Extensions.cs.meta
+++ /dev/null
@@ -1,13 +0,0 @@
-fileFormatVersion: 2
-guid: ab9df13cea6667a4bbf488fc297bd014
-timeCreated: 1518347175
-licenseType: Free
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/OffsetOnTransform.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/OffsetOnTransform.cs
deleted file mode 100644
index a559f44..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/OffsetOnTransform.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-using System;
-using UnityEngine;
-
-
-namespace VRM
-{
-    [Serializable]
-    public struct OffsetOnTransform
-    {
-        public Transform Transform;
-        public Matrix4x4 OffsetRotation;
-
-        public Matrix4x4 WorldMatrix
-        {
-            get
-            {
-                if (Transform == null) return Matrix4x4.identity;
-                return Transform.localToWorldMatrix * OffsetRotation;
-            }
-        }
-
-        public Vector3 WorldForward
-        {
-            get
-            {
-                var m = WorldMatrix;
-                return m.GetColumn(2); // zaxis
-            }
-        }
-
-        Matrix4x4 m_initialLocalMatrix;
-        public void Setup()
-        {
-            if (Transform == null) return;
-            m_initialLocalMatrix = Transform.parent.worldToLocalMatrix * Transform.localToWorldMatrix;
-        }
-
-        public Matrix4x4 InitialWorldMatrix
-        {
-            get
-            {
-                return Transform.parent.localToWorldMatrix * m_initialLocalMatrix;
-            }
-        }
-
-        public static OffsetOnTransform Create(Transform transform)
-        {
-            var coordinate = new OffsetOnTransform
-            {
-                Transform = transform
-            };
-
-            if (transform != null)
-            {
-                coordinate.OffsetRotation = transform.worldToLocalMatrix.RotationToWorldAxis();
-            }
-
-            return coordinate;
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/OffsetOnTransform.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/OffsetOnTransform.cs.meta
deleted file mode 100644
index 3a8c67c..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/OffsetOnTransform.cs.meta
+++ /dev/null
@@ -1,13 +0,0 @@
-fileFormatVersion: 2
-guid: e8e294185b0b06148a057dc3a21cc55f
-timeCreated: 1518347841
-licenseType: Free
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/VRMLookAt.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/VRMLookAt.cs
deleted file mode 100644
index 419a0f7..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/VRMLookAt.cs
+++ /dev/null
@@ -1,253 +0,0 @@
-#pragma warning disable 0414, 0649
-using System;
-using System.Linq;
-using System.Collections.Generic;
-using UniGLTF;
-using UnityEngine;
-
-
-namespace VRM
-{
-    [Obsolete("Use VRMLookAtHead")]
-    public class VRMLookAt : MonoBehaviour
-    {
-        public bool DrawGizmo = true;
-
-        [SerializeField]
-        public bool UseUpdate = true;
-
-        [SerializeField]
-        public Transform Target;
-
-        [SerializeField]
-        public OffsetOnTransform LeftEye;
-
-        [SerializeField]
-        public OffsetOnTransform RightEye;
-
-        [SerializeField]
-        public OffsetOnTransform Head;
-
-        [SerializeField, Header("Degree Mapping")]
-        public CurveMapper HorizontalOuter = new CurveMapper(90.0f, 10.0f);
-
-        [SerializeField]
-        public CurveMapper HorizontalInner = new CurveMapper(90.0f, 10.0f);
-
-        [SerializeField]
-        public CurveMapper VerticalDown = new CurveMapper(90.0f, 10.0f);
-
-        [SerializeField]
-        public CurveMapper VerticalUp = new CurveMapper(90.0f, 10.0f);
-
-        public Texture2D CreateThumbnail()
-        {
-            var texture = new Texture2D(2048, 2048);
-            {
-                var go = new GameObject("ThumbCamera");
-                var camera = go.AddComponent();
-                CreateThumbnail(camera, texture);
-                if (Application.isPlaying) { GameObject.Destroy(go); } else { GameObject.DestroyImmediate(go); }
-            }
-            return texture;
-        }
-        void CreateThumbnail(Camera camera, Texture2D dst)
-        {
-            RenderTexture currentRT = RenderTexture.active;
-            {
-                var renderTexture = new RenderTexture(dst.width, dst.height, 24);
-                camera.targetTexture = renderTexture;
-                RenderTexture.active = renderTexture;
-                LookFace(camera.transform);
-                camera.Render();
-                dst.ReadPixels(new Rect(0, 0, dst.width, dst.height), 0, 0);
-
-                RenderTexture.active = currentRT;
-                camera.targetTexture = null;
-                if (Application.isPlaying)
-                {
-                    UnityEngine.Object.Destroy(renderTexture);
-                }
-                else
-                {
-                    UnityEngine.Object.DestroyImmediate(renderTexture);
-                }
-            }
-        }
-
-        public void LookFace(Transform t)
-        {
-            if (Head.Transform == null) return;
-            var head = Head.Transform;
-            var headPosition = head.position + new Vector3(0, 0.05f, 0);
-            t.position = headPosition + Head.WorldMatrix.ExtractRotation() * new Vector3(0, 0, 0.7f);
-            t.LookAt(headPosition);
-        }
-
-        public void CopyTo(GameObject _dst, Dictionary map)
-        {
-            var dst = _dst.AddComponent();
-            dst.Target = Target;
-            dst.Head = OffsetOnTransform.Create(map[Head.Transform]);
-            dst.RightEye = OffsetOnTransform.Create(map[RightEye.Transform]);
-            dst.LeftEye = OffsetOnTransform.Create(map[LeftEye.Transform]);
-
-            dst.HorizontalOuter = HorizontalOuter;
-            dst.HorizontalInner = HorizontalInner;
-            dst.VerticalDown = VerticalDown;
-            dst.VerticalUp = VerticalUp;
-        }
-
-        private void Reset()
-        {
-            Target = Camera.main.transform;
-
-            GetBones();
-        }
-
-        private void OnValidate()
-        {
-            HorizontalInner.OnValidate();
-            HorizontalOuter.OnValidate();
-            VerticalUp.OnValidate();
-            VerticalDown.OnValidate();
-        }
-
-        public void GetBones()
-        {
-            var animator = GetComponent();
-            if (animator != null)
-            {
-                LeftEye = OffsetOnTransform.Create(animator.GetBoneTransform(HumanBodyBones.LeftEye));
-                RightEye = OffsetOnTransform.Create(animator.GetBoneTransform(HumanBodyBones.RightEye));
-                Head = OffsetOnTransform.Create(animator.GetBoneTransform(HumanBodyBones.Head));
-            }
-        }
-
-        private void Awake()
-        {
-            Head.Setup();
-            LeftEye.Setup();
-            RightEye.Setup();
-        }
-
-        #region Gizmo
-        static void DrawMatrix(Matrix4x4 m, float size)
-        {
-            Gizmos.matrix = m;
-            Gizmos.color = Color.red;
-            Gizmos.DrawLine(Vector3.zero, Vector3.right * size);
-            Gizmos.color = Color.green;
-            Gizmos.DrawLine(Vector3.zero, Vector3.up * size);
-            Gizmos.color = Color.blue;
-            Gizmos.DrawLine(Vector3.zero, Vector3.forward * size);
-        }
-
-        const float SIZE = 0.5f;
-
-        private void OnDrawGizmos()
-        {
-            if (!DrawGizmo) return;
-
-            if (LeftEye.Transform != null & RightEye.Transform != null)
-            {
-                DrawMatrix(LeftEye.WorldMatrix, SIZE);
-                DrawMatrix(RightEye.WorldMatrix, SIZE);
-
-            }
-            else
-            {
-                DrawMatrix(Head.WorldMatrix, SIZE);
-            }
-        }
-        #endregion
-
-        static Matrix4x4 LookAtMatrixFromWorld(Vector3 from, Vector3 target)
-        {
-            var pos = new Vector4(from.x, from.y, from.z, 1);
-            return LookAtMatrix(UnityExtensions.Matrix4x4FromColumns(Vector3.right, Vector3.up, Vector3.forward, pos), target);
-        }
-
-        static Matrix4x4 LookAtMatrix(Vector3 up_vector, Vector3 localPosition)
-        {
-            var z_axis = localPosition.normalized;
-            var x_axis = Vector3.Cross(up_vector, z_axis).normalized;
-            var y_axis = Vector3.Cross(z_axis, x_axis).normalized;
-            return UnityExtensions.Matrix4x4FromColumns(x_axis, y_axis, z_axis, new Vector4(0, 0, 0, 1));
-        }
-
-        static Matrix4x4 LookAtMatrix(Matrix4x4 m, Vector3 target)
-        {
-            return LookAtMatrix(Vector3.up, m.inverse.MultiplyPoint(target));
-        }
-
-        public Matrix4x4 YawMatrix
-        {
-            get
-            {
-                var yaw = Quaternion.AngleAxis(Yaw, Head.OffsetRotation.GetColumn(1));
-                var m = default(Matrix4x4);
-                m.SetTRS(Vector3.zero, yaw, Vector3.one);
-                return m;
-            }
-        }
-
-        [SerializeField, Header("Debug")]
-        public float Yaw;
-        public float Pitch;
-        private void LateUpdate()
-        {
-            if (!UseUpdate) return;
-            if (Target == null) return;
-
-            LookWorldPosition(Target.position);
-        }
-
-        public void LookWorldPosition(Vector3 targetPosition)
-        {
-            var localPosition = Head.InitialWorldMatrix.inverse.MultiplyPoint(targetPosition);
-            Head.OffsetRotation.CalcYawPitch(localPosition, out Yaw, out Pitch);
-
-            ApplyRotations(Yaw, Pitch);
-        }
-
-        void ApplyRotations(float yaw, float pitch)
-        {
-            // horizontal
-            float leftYaw, rightYaw;
-            if (yaw < 0)
-            {
-                leftYaw = -HorizontalOuter.Map(-yaw);
-                rightYaw = -HorizontalInner.Map(-yaw);
-            }
-            else
-            {
-                rightYaw = HorizontalOuter.Map(yaw);
-                leftYaw = HorizontalInner.Map(yaw);
-            }
-
-            // vertical
-            if (pitch < 0)
-            {
-                pitch = -VerticalDown.Map(-pitch);
-            }
-            else
-            {
-                pitch = VerticalUp.Map(pitch);
-            }
-
-            // Apply
-            if (LeftEye.Transform != null && RightEye.Transform != null)
-            {
-                // 目に値を適用する
-                LeftEye.Transform.rotation = LeftEye.InitialWorldMatrix.ExtractRotation() * Head.OffsetRotation.YawPitchRotation(leftYaw, pitch);
-                RightEye.Transform.rotation = RightEye.InitialWorldMatrix.ExtractRotation() * Head.OffsetRotation.YawPitchRotation(rightYaw, pitch);
-            }
-            else if (Head.Transform != null)
-            {
-                // 頭に値を適用する
-                Head.Transform.rotation = Head.InitialWorldMatrix.ExtractRotation() * Head.OffsetRotation.YawPitchRotation(yaw, pitch);
-            }
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/VRMLookAt.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/VRMLookAt.cs.meta
deleted file mode 100644
index 132208d..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/VRMLookAt.cs.meta
+++ /dev/null
@@ -1,13 +0,0 @@
-fileFormatVersion: 2
-guid: 04a3e59a0190f1647892e3709c075845
-timeCreated: 1517991576
-licenseType: Free
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/VRMLookAtBlendShapeApplyer.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/VRMLookAtBlendShapeApplyer.cs
deleted file mode 100644
index c45af32..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/VRMLookAtBlendShapeApplyer.cs
+++ /dev/null
@@ -1,77 +0,0 @@
-#pragma warning disable 0414, 0649
-using UnityEngine;
-
-
-namespace VRM
-{
-    public class VRMLookAtBlendShapeApplyer : MonoBehaviour, IVRMComponent
-    {
-        public bool DrawGizmo = true;
-
-        [SerializeField, Header("Degree Mapping")]
-        public CurveMapper Horizontal = new CurveMapper(90.0f, 1.0f);
-
-        [SerializeField]
-        public CurveMapper VerticalDown = new CurveMapper(90.0f, 1.0f);
-
-        [SerializeField]
-        public CurveMapper VerticalUp = new CurveMapper(90.0f, 1.0f);
-
-        [SerializeField]
-        public bool m_notSetValueApply;
-
-        public void OnImported(VRMImporterContext context)
-        {
-            var gltfFirstPerson = context.GLTF.extensions.VRM.firstPerson;
-            Horizontal.Apply(gltfFirstPerson.lookAtHorizontalOuter);
-            VerticalDown.Apply(gltfFirstPerson.lookAtVerticalDown);
-            VerticalUp.Apply(gltfFirstPerson.lookAtVerticalUp);
-        }
-
-        VRMLookAtHead m_head;
-        VRMBlendShapeProxy m_propxy;
-
-        private void Start()
-        {
-            m_head = GetComponent();
-            m_propxy = GetComponent();
-            if (m_head == null)
-            {
-                enabled = false;
-                return;
-            }
-            m_head.YawPitchChanged += ApplyRotations;
-        }
-
-        void ApplyRotations(float yaw, float pitch)
-        {
-#pragma warning disable 0618
-            if (yaw < 0)
-            {
-                // Left
-                m_propxy.SetValue(BlendShapePreset.LookRight, 0, !m_notSetValueApply); // clear first
-                m_propxy.SetValue(BlendShapePreset.LookLeft, Mathf.Clamp(Horizontal.Map(-yaw), 0, 1.0f), !m_notSetValueApply);
-            }
-            else
-            {
-                // Right
-                m_propxy.SetValue(BlendShapePreset.LookLeft, 0, !m_notSetValueApply); // clear first
-                m_propxy.SetValue(BlendShapePreset.LookRight, Mathf.Clamp(Horizontal.Map(yaw), 0, 1.0f), !m_notSetValueApply);
-            }
-
-            if (pitch < 0)
-            {
-                // Down
-                m_propxy.SetValue(BlendShapePreset.LookUp, 0, !m_notSetValueApply); // clear first
-                m_propxy.SetValue(BlendShapePreset.LookDown, Mathf.Clamp(VerticalDown.Map(-pitch), 0, 1.0f), !m_notSetValueApply);
-            }
-            else
-            {
-                // Up
-                m_propxy.SetValue(BlendShapePreset.LookDown, 0, !m_notSetValueApply); // clear first
-                m_propxy.SetValue(BlendShapePreset.LookUp, Mathf.Clamp(VerticalUp.Map(pitch), 0, 1.0f), !m_notSetValueApply);
-            }
-#pragma warning restore 0618
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/VRMLookAtBlendShapeApplyer.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/VRMLookAtBlendShapeApplyer.cs.meta
deleted file mode 100644
index eff87ca..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/VRMLookAtBlendShapeApplyer.cs.meta
+++ /dev/null
@@ -1,13 +0,0 @@
-fileFormatVersion: 2
-guid: 845471fb50db3cd4aa2f7a3fae3cc3a4
-timeCreated: 1517991576
-licenseType: Free
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/VRMLookAtBoneApplyer.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/VRMLookAtBoneApplyer.cs
deleted file mode 100644
index 5475dd4..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/VRMLookAtBoneApplyer.cs
+++ /dev/null
@@ -1,131 +0,0 @@
-#pragma warning disable 0414, 0649
-using UniGLTF;
-using UnityEngine;
-
-
-namespace VRM
-{
-    public class VRMLookAtBoneApplyer : MonoBehaviour, IVRMComponent
-    {
-        public bool DrawGizmo = false;
-
-        [SerializeField]
-        public OffsetOnTransform LeftEye;
-
-        [SerializeField]
-        public OffsetOnTransform RightEye;
-
-        [SerializeField, Header("Degree Mapping")]
-        public CurveMapper HorizontalOuter = new CurveMapper(90.0f, 10.0f);
-
-        [SerializeField]
-        public CurveMapper HorizontalInner = new CurveMapper(90.0f, 10.0f);
-
-        [SerializeField]
-        public CurveMapper VerticalDown = new CurveMapper(90.0f, 10.0f);
-
-        [SerializeField]
-        public CurveMapper VerticalUp = new CurveMapper(90.0f, 10.0f);
-
-        public void OnImported(VRMImporterContext context)
-        {
-            var animator = GetComponent();
-            if (animator != null)
-            {
-                LeftEye = OffsetOnTransform.Create(animator.GetBoneTransform(HumanBodyBones.LeftEye));
-                RightEye = OffsetOnTransform.Create(animator.GetBoneTransform(HumanBodyBones.RightEye));
-            }
-
-            var gltfFirstPerson = context.GLTF.extensions.VRM.firstPerson;
-            HorizontalInner.Apply(gltfFirstPerson.lookAtHorizontalInner);
-            HorizontalOuter.Apply(gltfFirstPerson.lookAtHorizontalOuter);
-            VerticalDown.Apply(gltfFirstPerson.lookAtVerticalDown);
-            VerticalUp.Apply(gltfFirstPerson.lookAtVerticalUp);
-        }
-
-        private void OnValidate()
-        {
-            HorizontalInner.OnValidate();
-            HorizontalOuter.OnValidate();
-            VerticalUp.OnValidate();
-            VerticalDown.OnValidate();
-        }
-
-        VRMLookAtHead m_head;
-
-        void Start()
-        {
-            m_head = GetComponent();
-            if (m_head == null)
-            {
-                enabled = false;
-                Debug.LogError("[VRMLookAtBoneApplyer]VRMLookAtHead not found");
-                return;
-            }
-            m_head.YawPitchChanged += ApplyRotations;
-            LeftEye.Setup();
-            RightEye.Setup();
-        }
-
-        #region Gizmo
-        static void DrawMatrix(Matrix4x4 m, float size)
-        {
-            Gizmos.matrix = m;
-            Gizmos.color = Color.red;
-            Gizmos.DrawLine(Vector3.zero, Vector3.right * size);
-            Gizmos.color = Color.green;
-            Gizmos.DrawLine(Vector3.zero, Vector3.up * size);
-            Gizmos.color = Color.blue;
-            Gizmos.DrawLine(Vector3.zero, Vector3.forward * size);
-        }
-
-        const float SIZE = 0.5f;
-
-        private void OnDrawGizmos()
-        {
-            if (DrawGizmo)
-            {
-                if (LeftEye.Transform != null & RightEye.Transform != null)
-                {
-                    DrawMatrix(LeftEye.WorldMatrix, SIZE);
-                    DrawMatrix(RightEye.WorldMatrix, SIZE);
-                }
-            }
-        }
-        #endregion
-
-        void ApplyRotations(float yaw, float pitch)
-        {
-            // horizontal
-            float leftYaw, rightYaw;
-            if (yaw < 0)
-            {
-                leftYaw = -HorizontalOuter.Map(-yaw);
-                rightYaw = -HorizontalInner.Map(-yaw);
-            }
-            else
-            {
-                rightYaw = HorizontalOuter.Map(yaw);
-                leftYaw = HorizontalInner.Map(yaw);
-            }
-
-            // vertical
-            if (pitch < 0)
-            {
-                pitch = -VerticalDown.Map(-pitch);
-            }
-            else
-            {
-                pitch = VerticalUp.Map(pitch);
-            }
-
-            // Apply
-            if (LeftEye.Transform != null && RightEye.Transform != null)
-            {
-                // 目に値を適用する
-                LeftEye.Transform.rotation = LeftEye.InitialWorldMatrix.ExtractRotation() * Matrix4x4.identity.YawPitchRotation(leftYaw, pitch);
-                RightEye.Transform.rotation = RightEye.InitialWorldMatrix.ExtractRotation() * Matrix4x4.identity.YawPitchRotation(rightYaw, pitch);
-            }
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/VRMLookAtBoneApplyer.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/VRMLookAtBoneApplyer.cs.meta
deleted file mode 100644
index 4b6f662..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/VRMLookAtBoneApplyer.cs.meta
+++ /dev/null
@@ -1,13 +0,0 @@
-fileFormatVersion: 2
-guid: a8b72334adf6f7948bd98b4f0a873949
-timeCreated: 1517991576
-licenseType: Free
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/VRMLookAtHead.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/VRMLookAtHead.cs
deleted file mode 100644
index e93b8ac..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/VRMLookAtHead.cs
+++ /dev/null
@@ -1,220 +0,0 @@
-#pragma warning disable 0414, 0649
-using System;
-using UniGLTF;
-using UnityEngine;
-
-
-namespace VRM
-{
-    public enum UpdateType
-    {
-        None,
-        Update,
-        LateUpdate,
-    }
-
-    /// 
-    /// Headボーンローカルで目標物のYaw, Pitchを求めて目線に適用する
-    /// 
-    /// * VRMLookAtBoneApplyer
-    /// * VRMLookAtBlendShapeApplyer
-    /// 
-    /// 
-    public class VRMLookAtHead : MonoBehaviour, IVRMComponent
-    {
-        public bool DrawGizmo = true;
-
-        [SerializeField]
-        public UpdateType UpdateType = UpdateType.Update;
-
-        [SerializeField]
-        public Transform Target;
-
-        [SerializeField]
-        public Transform Head;
-
-        #region Thumbnail
-        public Texture2D CreateThumbnail()
-        {
-            var texture = new Texture2D(2048, 2048);
-            {
-                var go = new GameObject("ThumbCamera");
-                var camera = go.AddComponent();
-                CreateThumbnail(camera, texture);
-                if (Application.isPlaying) { GameObject.Destroy(go); } else { GameObject.DestroyImmediate(go); }
-            }
-            return texture;
-        }
-        void CreateThumbnail(Camera camera, Texture2D dst)
-        {
-            RenderTexture currentRT = RenderTexture.active;
-            {
-                var renderTexture = new RenderTexture(dst.width, dst.height, 24);
-                camera.targetTexture = renderTexture;
-                RenderTexture.active = renderTexture;
-                LookFace(camera.transform);
-                camera.Render();
-                dst.ReadPixels(new Rect(0, 0, dst.width, dst.height), 0, 0);
-
-                RenderTexture.active = currentRT;
-                camera.targetTexture = null;
-                if (Application.isPlaying)
-                {
-                    UnityEngine.Object.Destroy(renderTexture);
-                }
-                else
-                {
-                    UnityEngine.Object.DestroyImmediate(renderTexture);
-                }
-            }
-        }
-
-        public void LookFace(Transform t)
-        {
-            if (Head == null) return;
-            var headPosition = Head.position + new Vector3(0, 0.05f, 0);
-            t.position = headPosition + Head.localToWorldMatrix.ExtractRotation() * new Vector3(0, 0, 0.7f);
-            t.LookAt(headPosition);
-        }
-        #endregion
-
-        void Awake()
-        {
-            var animator = GetComponent();
-            if (animator == null)
-            {
-                Debug.LogWarning("animator is not found");
-                return;
-            }
-
-            var head = animator.GetBoneTransform(HumanBodyBones.Head);
-            if (head == null)
-            {
-                Debug.LogWarning("head is not found");
-                return;
-            }
-
-            Head = head;
-        }
-
-        public void OnImported(VRMImporterContext context)
-        { 
-            var gltfFirstPerson = context.GLTF.extensions.VRM.firstPerson;
-            switch (gltfFirstPerson.lookAtType)
-            {
-                case LookAtType.Bone:
-                    {
-                        var applyer = gameObject.AddComponent();
-                        applyer.OnImported(context);
-                    }
-                    break;
-
-                case LookAtType.BlendShape:
-                    {
-                        var applyer = gameObject.AddComponent();
-                        applyer.OnImported(context);
-                    }
-                    break;
-            }
-        }
-
-        static Matrix4x4 LookAtMatrixFromWorld(Vector3 from, Vector3 target)
-        {
-            var pos = new Vector4(from.x, from.y, from.z, 1);
-            return LookAtMatrix(UnityExtensions.Matrix4x4FromColumns(Vector3.right, Vector3.up, Vector3.forward, pos), target);
-        }
-
-        static Matrix4x4 LookAtMatrix(Vector3 up_vector, Vector3 localPosition)
-        {
-            var z_axis = localPosition.normalized;
-            var x_axis = Vector3.Cross(up_vector, z_axis).normalized;
-            var y_axis = Vector3.Cross(z_axis, x_axis).normalized;
-            return UnityExtensions.Matrix4x4FromColumns(x_axis, y_axis, z_axis, new Vector4(0, 0, 0, 1));
-        }
-
-        static Matrix4x4 LookAtMatrix(Matrix4x4 m, Vector3 target)
-        {
-            return LookAtMatrix(Vector3.up, m.inverse.MultiplyPoint(target));
-        }
-
-        public Matrix4x4 YawMatrix
-        {
-            get
-            {
-                var yaw = Quaternion.AngleAxis(m_yaw, Vector3.up);
-                var m = default(Matrix4x4);
-                m.SetTRS(Vector3.zero, yaw, Vector3.one);
-                return m;
-            }
-        }
-
-        [SerializeField, Header("Debug")]
-        float m_yaw;
-        public float Yaw
-        {
-            get { return m_yaw; }
-        }
-
-        [SerializeField]
-        float m_pitch;
-        public float Pitch
-        {
-            get { return m_pitch; }
-        }
-
-        public event Action YawPitchChanged;
-        public void RaiseYawPitchChanged(float yaw, float pitch)
-        {
-            m_yaw = yaw;
-            m_pitch = pitch;
-            var handle = YawPitchChanged;
-            if (handle != null)
-            {
-                handle(yaw, pitch);
-            }
-        }
-
-        private void Update()
-        {
-            if (Head == null)
-            {
-                enabled = false;
-                return;
-            }
-
-            if (UpdateType == UpdateType.Update)
-            {
-                LookWorldPosition();
-            }
-        }
-
-        private void LateUpdate()
-        {
-            if (Head == null)
-            {
-                enabled = false;
-                return;
-            }
-
-            if (UpdateType == UpdateType.LateUpdate)
-            {
-                LookWorldPosition();
-            }
-        }
-
-        public void LookWorldPosition()
-        {
-            if (Target == null) return;
-            float yaw;
-            float pitch;
-            LookWorldPosition(Target.position, out yaw, out pitch);
-        }
-
-        public void LookWorldPosition(Vector3 targetPosition, out float yaw, out float pitch)
-        {
-            var localPosition = Head.worldToLocalMatrix.MultiplyPoint(targetPosition);
-            Matrix4x4.identity.CalcYawPitch(localPosition, out yaw, out pitch);
-            RaiseYawPitchChanged(yaw, pitch);
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/VRMLookAtHead.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/VRMLookAtHead.cs.meta
deleted file mode 100644
index feb7b04..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/LookAt/VRMLookAtHead.cs.meta
+++ /dev/null
@@ -1,13 +0,0 @@
-fileFormatVersion: 2
-guid: e0a1a470564f16f4f94acb4b9ef56367
-timeCreated: 1517991576
-licenseType: Free
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Meta.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Meta.meta
deleted file mode 100644
index 2e39ac4..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Meta.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 30a80bcceff281c4597b0e0971eca451
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Meta/VRMMeta.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Meta/VRMMeta.cs
deleted file mode 100644
index 04c9a7a..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Meta/VRMMeta.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using UnityEngine;
-
-
-namespace VRM
-{
-    public class VRMMeta : MonoBehaviour
-    {
-        [SerializeField]
-        public VRMMetaObject Meta;
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Meta/VRMMeta.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Meta/VRMMeta.cs.meta
deleted file mode 100644
index 0b7d246..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Meta/VRMMeta.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 690ea0146224b8b4694a1925dddeb352
-timeCreated: 1522391118
-licenseType: Free
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Meta/VRMMetaInformation.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Meta/VRMMetaInformation.cs
deleted file mode 100644
index 8eaca37..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Meta/VRMMetaInformation.cs
+++ /dev/null
@@ -1,107 +0,0 @@
-using System;
-using System.IO;
-using UnityEngine;
-using UniGLTF;
-
-
-namespace VRM
-{
-    [Obsolete("reimport, use VRMMeta. Please reimport")]
-    [Serializable]
-    [DisallowMultipleComponent]
-    public class VRMMetaInformation : MonoBehaviour, IEquatable
-    {
-        #region Info
-        [SerializeField, Header("Information")]
-        public string Title;
-
-        [SerializeField]
-        public string Author;
-
-        [SerializeField]
-        public string ContactInformation;
-
-        [SerializeField]
-        public Texture2D Thumbnail;
-
-        [SerializeField]
-        public string Reference;
-        #endregion
-
-        #region License
-        [SerializeField, Header("License")]
-        public LicenseType LicenseType;
-
-        [SerializeField]
-        public string OtherLicenseUrl;
-        #endregion
-
-        public bool Equals(VRMMetaInformation other)
-        {
-            return
-            Author == other.Author
-            && Title == other.Title
-            && UniGLTF.MonoBehaviourComparator.AssetAreEquals(Thumbnail, other.Thumbnail)
-            ;
-        }
-
-        private void Reset()
-        {
-            Title = name;
-        }
-
-#if UNITY_EDITOR
-        [ContextMenu("CreateThumbnail")]
-        void CreateThumbnailMenu()
-        {
-            var lookAt = GetComponent();
-            if (lookAt != null)
-            {
-                var texture = lookAt.CreateThumbnail();
-
-#if false
-                var assetPath = string.Format("Assets/{0}.thumbnail.asset", name);
-                assetPath = UnityEditor.AssetDatabase.GenerateUniqueAssetPath(assetPath);
-                UnityEditor.AssetDatabase.CreateAsset(texture, assetPath);
-#else
-                var assetPath = string.Format("Assets/{0}.thumbnail.jpg", name);
-                assetPath = UnityEditor.AssetDatabase.GenerateUniqueAssetPath(assetPath);
-                File.WriteAllBytes(assetPath.AssetPathToFullPath(), texture.EncodeToJPG());
-
-                if (Application.isPlaying)
-                {
-                    UnityEngine.Object.Destroy(texture);
-                }
-                else
-                {
-                    UnityEngine.Object.DestroyImmediate(texture);
-                }
-
-                UnityEditor.AssetDatabase.ImportAsset(assetPath);
-                Thumbnail = UnityEditor.AssetDatabase.LoadAssetAtPath(assetPath);
-#endif
-            }
-        }
-#endif
-
-                public void CopyTo(GameObject _dst)
-        {
-            var dst = _dst.AddComponent();
-            dst.Title = Title;
-            dst.Author = Author;
-            dst.Thumbnail = Thumbnail;
-        }
-
-        public void OnValidate()
-        {
-            if (Thumbnail != null)
-            {
-                if (Thumbnail.width != 2048 || Thumbnail.height != 2048)
-                {
-                    Thumbnail = null;
-                    Debug.LogError("Thumbnail must 2048 x 2048");
-                }
-            }
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Meta/VRMMetaInformation.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Meta/VRMMetaInformation.cs.meta
deleted file mode 100644
index 6cc9fc5..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Meta/VRMMetaInformation.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 8ea874a3d9d53e54a86ff1724ede087f
-timeCreated: 1520239812
-licenseType: Free
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Meta/VRMMetaObject.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Meta/VRMMetaObject.cs
deleted file mode 100644
index cff8d80..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Meta/VRMMetaObject.cs
+++ /dev/null
@@ -1,67 +0,0 @@
-using UnityEngine;
-
-
-namespace VRM
-{
-    public class VRMMetaObject : ScriptableObject
-    {
-        [SerializeField]
-        public string ExporterVersion;
-
-        #region Info
-        [SerializeField]
-        public string Title;
-
-        [SerializeField]
-        public string Version;
-
-        [SerializeField]
-        public string Author;
-
-        [SerializeField]
-        public string ContactInformation;
-
-        [SerializeField]
-        public string Reference;
-
-        [SerializeField]
-        public Texture2D Thumbnail;
-        #endregion
-
-        #region Permission
-        [SerializeField, Tooltip("A person who can perform with this avatar")]
-        public AllowedUser AllowedUser;
-
-        [SerializeField, Tooltip("Violent acts using this avatar")]
-        public UssageLicense ViolentUssage;
-
-        [SerializeField, Tooltip("Sexuality acts using this avatar")]
-        public UssageLicense SexualUssage;
-
-        [SerializeField, Tooltip("For commercial use")]
-        public UssageLicense CommercialUssage;
-
-        [SerializeField, Tooltip("Other License Url")]
-        public string OtherPermissionUrl;
-        #endregion
-
-        #region Distribution License
-        [SerializeField]
-        public LicenseType LicenseType;
-
-        [SerializeField]
-        public string OtherLicenseUrl;
-        #endregion
-
-        /*
-        public bool Equals(VRMMetaObject other)
-        {
-            return
-            Author == other.Author
-            && Title == other.Title
-            && UniGLTF.MonoBehaviourComparator.AssetAreEquals(Thumbnail, other.Thumbnail)
-            ;
-        }
-        */
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Meta/VRMMetaObject.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Meta/VRMMetaObject.cs.meta
deleted file mode 100644
index 7ed6699..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/Meta/VRMMetaObject.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 63b589176a34b344b9ccbee2b7e7114a
-timeCreated: 1522391129
-licenseType: Free
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps.meta
deleted file mode 100644
index be6fb1a..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: cf75c1aa5683d2b45bcbfc0805cd79d5
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_MToon.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_MToon.cs
deleted file mode 100644
index aa9162c..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_MToon.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-using System.Collections.Generic;
-
-
-namespace UniGLTF.ShaderPropExporter
-{
-    public static partial class PreShaderPropExporter
-    {
-        [PreExportShader]
-        static KeyValuePair VRM_MToon 
-        {
-            get 
-            {
-                return new KeyValuePair(
-                    "VRM/MToon",
-                    new ShaderProps
-                    {
-                        Properties = new ShaderProperty[]{
-new ShaderProperty("_Cutoff", ShaderPropertyType.Range)
-,new ShaderProperty("_Color", ShaderPropertyType.Color)
-,new ShaderProperty("_ShadeColor", ShaderPropertyType.Color)
-,new ShaderProperty("_MainTex", ShaderPropertyType.TexEnv)
-,new ShaderProperty("_ShadeTexture", ShaderPropertyType.TexEnv)
-,new ShaderProperty("_BumpScale", ShaderPropertyType.Float)
-,new ShaderProperty("_BumpMap", ShaderPropertyType.TexEnv)
-,new ShaderProperty("_ReceiveShadowRate", ShaderPropertyType.Range)
-,new ShaderProperty("_ReceiveShadowTexture", ShaderPropertyType.TexEnv)
-,new ShaderProperty("_ShadingGradeRate", ShaderPropertyType.Range)
-,new ShaderProperty("_ShadingGradeTexture", ShaderPropertyType.TexEnv)
-,new ShaderProperty("_ShadeShift", ShaderPropertyType.Range)
-,new ShaderProperty("_ShadeToony", ShaderPropertyType.Range)
-,new ShaderProperty("_LightColorAttenuation", ShaderPropertyType.Range)
-,new ShaderProperty("_IndirectLightIntensity", ShaderPropertyType.Range)
-,new ShaderProperty("_SphereAdd", ShaderPropertyType.TexEnv)
-,new ShaderProperty("_EmissionColor", ShaderPropertyType.Color)
-,new ShaderProperty("_EmissionMap", ShaderPropertyType.TexEnv)
-,new ShaderProperty("_OutlineWidthTexture", ShaderPropertyType.TexEnv)
-,new ShaderProperty("_OutlineWidth", ShaderPropertyType.Range)
-,new ShaderProperty("_OutlineScaledMaxDistance", ShaderPropertyType.Range)
-,new ShaderProperty("_OutlineColor", ShaderPropertyType.Color)
-,new ShaderProperty("_OutlineLightingMix", ShaderPropertyType.Range)
-,new ShaderProperty("_DebugMode", ShaderPropertyType.Float)
-,new ShaderProperty("_BlendMode", ShaderPropertyType.Float)
-,new ShaderProperty("_OutlineWidthMode", ShaderPropertyType.Float)
-,new ShaderProperty("_OutlineColorMode", ShaderPropertyType.Float)
-,new ShaderProperty("_CullMode", ShaderPropertyType.Float)
-,new ShaderProperty("_OutlineCullMode", ShaderPropertyType.Float)
-,new ShaderProperty("_SrcBlend", ShaderPropertyType.Float)
-,new ShaderProperty("_DstBlend", ShaderPropertyType.Float)
-,new ShaderProperty("_ZWrite", ShaderPropertyType.Float)
-
-                        }
-                    }
-                );
-            }
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_MToon.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_MToon.cs.meta
deleted file mode 100644
index 26afcbf..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_MToon.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 4629d794c8969c141a4724e182af082e
-timeCreated: 1533542890
-licenseType: Free
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_UnlitCutout.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_UnlitCutout.cs
deleted file mode 100644
index 8695f72..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_UnlitCutout.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using System.Collections.Generic;
-
-
-namespace UniGLTF.ShaderPropExporter
-{
-    public static partial class PreShaderPropExporter
-    {
-        [PreExportShader]
-        static KeyValuePair VRM_UnlitCutout 
-        {
-            get 
-            {
-                return new KeyValuePair(
-                    "VRM/UnlitCutout",
-                    new ShaderProps
-                    {
-                        Properties = new ShaderProperty[]{
-new ShaderProperty("_MainTex", ShaderPropertyType.TexEnv)
-,new ShaderProperty("_Cutoff", ShaderPropertyType.Range)
-
-                        }
-                    }
-                );
-            }
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_UnlitCutout.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_UnlitCutout.cs.meta
deleted file mode 100644
index 3f6607d..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_UnlitCutout.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 611b546ea471ad34cb7d94740c63b558
-timeCreated: 1533542890
-licenseType: Free
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_UnlitTexture.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_UnlitTexture.cs
deleted file mode 100644
index 6a0ab5b..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_UnlitTexture.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using System.Collections.Generic;
-
-
-namespace UniGLTF.ShaderPropExporter
-{
-    public static partial class PreShaderPropExporter
-    {
-        [PreExportShader]
-        static KeyValuePair VRM_UnlitTexture 
-        {
-            get 
-            {
-                return new KeyValuePair(
-                    "VRM/UnlitTexture",
-                    new ShaderProps
-                    {
-                        Properties = new ShaderProperty[]{
-new ShaderProperty("_MainTex", ShaderPropertyType.TexEnv)
-
-                        }
-                    }
-                );
-            }
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_UnlitTexture.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_UnlitTexture.cs.meta
deleted file mode 100644
index 181adad..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_UnlitTexture.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 22a8083880389b3498f421e6a5c340d5
-timeCreated: 1533542890
-licenseType: Free
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_UnlitTransparent.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_UnlitTransparent.cs
deleted file mode 100644
index 2c75038..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_UnlitTransparent.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using System.Collections.Generic;
-
-
-namespace UniGLTF.ShaderPropExporter
-{
-    public static partial class PreShaderPropExporter
-    {
-        [PreExportShader]
-        static KeyValuePair VRM_UnlitTransparent 
-        {
-            get 
-            {
-                return new KeyValuePair(
-                    "VRM/UnlitTransparent",
-                    new ShaderProps
-                    {
-                        Properties = new ShaderProperty[]{
-new ShaderProperty("_MainTex", ShaderPropertyType.TexEnv)
-
-                        }
-                    }
-                );
-            }
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_UnlitTransparent.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_UnlitTransparent.cs.meta
deleted file mode 100644
index eeaf3b8..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_UnlitTransparent.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 140d6538826e0eb448929d3e4bb2f1cd
-timeCreated: 1533542890
-licenseType: Free
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_UnlitTransparentZWrite.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_UnlitTransparentZWrite.cs
deleted file mode 100644
index 8d03c4e..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_UnlitTransparentZWrite.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using System.Collections.Generic;
-
-
-namespace UniGLTF.ShaderPropExporter
-{
-    public static partial class PreShaderPropExporter
-    {
-        [PreExportShader]
-        static KeyValuePair VRM_UnlitTransparentZWrite 
-        {
-            get 
-            {
-                return new KeyValuePair(
-                    "VRM/UnlitTransparentZWrite",
-                    new ShaderProps
-                    {
-                        Properties = new ShaderProperty[]{
-new ShaderProperty("_MainTex", ShaderPropertyType.TexEnv)
-
-                        }
-                    }
-                );
-            }
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_UnlitTransparentZWrite.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_UnlitTransparentZWrite.cs.meta
deleted file mode 100644
index 6efeb43..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/PreExportShaderProps/VRM_UnlitTransparentZWrite.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 165ec79b7aac1564a850fb3d3d19396e
-timeCreated: 1533542890
-licenseType: Free
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility.meta
deleted file mode 100644
index b4c14cb..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 16e4781e660408844b8fd0c48c3960d7
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility/BoneMeshEraser.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility/BoneMeshEraser.cs
deleted file mode 100644
index 4a1015f..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility/BoneMeshEraser.cs
+++ /dev/null
@@ -1,123 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using UnityEngine;
-
-
-namespace VRM
-{
-    public static class BoneMeshEraser
-    {
-        [Serializable]
-        public struct EraseBone
-        {
-            public Transform Bone;
-            public bool Erase;
-
-            public override string ToString()
-            {
-                return Bone.name + ":" + Erase;
-            }
-        }
-
-        static int ExcludeTriangles(int[] triangles, BoneWeight[] bws, int[] exclude)
-        {
-            int count = 0;
-            if (bws != null && bws.Length>0)
-            {
-                for (int i = 0; i < triangles.Length; i += 3)
-                {
-                    var a = triangles[i];
-                    var b = triangles[i + 1];
-                    var c = triangles[i + 2];
-
-                    {
-                        var bw = bws[a];
-                        if (bw.weight0 > 0 && exclude.Contains(bw.boneIndex0)) continue;
-                        if (bw.weight1 > 0 && exclude.Contains(bw.boneIndex1)) continue;
-                        if (bw.weight2 > 0 && exclude.Contains(bw.boneIndex2)) continue;
-                        if (bw.weight3 > 0 && exclude.Contains(bw.boneIndex3)) continue;
-                    }
-                    {
-                        var bw = bws[b];
-                        if (bw.weight0 > 0 && exclude.Contains(bw.boneIndex0)) continue;
-                        if (bw.weight1 > 0 && exclude.Contains(bw.boneIndex1)) continue;
-                        if (bw.weight2 > 0 && exclude.Contains(bw.boneIndex2)) continue;
-                        if (bw.weight3 > 0 && exclude.Contains(bw.boneIndex3)) continue;
-                    }
-                    {
-                        var bw = bws[c];
-                        if (bw.weight0 > 0 && exclude.Contains(bw.boneIndex0)) continue;
-                        if (bw.weight1 > 0 && exclude.Contains(bw.boneIndex1)) continue;
-                        if (bw.weight2 > 0 && exclude.Contains(bw.boneIndex2)) continue;
-                        if (bw.weight3 > 0 && exclude.Contains(bw.boneIndex3)) continue;
-                    }
-
-                    triangles[count++] = a;
-                    triangles[count++] = b;
-                    triangles[count++] = c;
-                }
-            }
-            return count;
-        }
-
-        public static Mesh CreateErasedMesh(Mesh src, int[] eraseBoneIndices)
-        {
-            /*
-            Debug.LogFormat("{0} exclude: {1}", 
-                src.name,
-                String.Join(", ", eraseBoneIndices.Select(x => x.ToString()).ToArray())
-                );
-            */
-            var mesh = new Mesh();
-            mesh.name = src.name + "(erased)";
-
-#if UNITY_2017_3_OR_NEWER
-            mesh.indexFormat = src.indexFormat;
-#endif
-
-            mesh.vertices = src.vertices;
-            mesh.normals = src.normals;
-            mesh.uv = src.uv;
-            mesh.tangents = src.tangents;
-            mesh.boneWeights = src.boneWeights;
-            mesh.bindposes = src.bindposes;
-            mesh.subMeshCount = src.subMeshCount;
-            for (int i = 0; i < src.subMeshCount; ++i)
-            {
-                var indices = src.GetIndices(i);
-                var count = ExcludeTriangles(indices, mesh.boneWeights, eraseBoneIndices);
-                var dst = new int[count];
-                Array.Copy(indices, 0, dst, 0, count);
-                mesh.SetIndices(dst, MeshTopology.Triangles, i);
-            }
-
-            return mesh;
-        }
-
-        public static int IndexOf(this Transform[] list, Transform target)
-        {
-            for (int i = 0; i < list.Length; ++i)
-            {
-                if (list[i] == target)
-                {
-                    return i;
-                }
-            }
-            return -1;
-        }
-
-        public static IEnumerable Ancestor(this Transform t)
-        {
-            yield return t;
-
-            if (t.parent != null)
-            {
-                foreach (var x in Ancestor(t.parent))
-                {
-                    yield return x;
-                }
-            }
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility/BoneMeshEraser.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility/BoneMeshEraser.cs.meta
deleted file mode 100644
index db633e8..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility/BoneMeshEraser.cs.meta
+++ /dev/null
@@ -1,13 +0,0 @@
-fileFormatVersion: 2
-guid: 270bf7461f6f8d546ae540cb7d5fc6f3
-timeCreated: 1519018975
-licenseType: Free
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility/BoneNormalizer.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility/BoneNormalizer.cs
deleted file mode 100644
index 7c09cf8..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility/BoneNormalizer.cs
+++ /dev/null
@@ -1,558 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using UniHumanoid;
-using UnityEngine;
-
-
-namespace VRM
-{
-    public static class BoneNormalizer
-    {
-        /// 
-        /// 回転とスケールを除去したヒエラルキーをコピーする
-        /// 
-        /// 
-        /// 
-        static void CopyAndBuild(Transform src, Transform dst, Dictionary boneMap)
-        {
-            boneMap[src] = dst;
-
-            foreach (Transform child in src)
-            {
-                if (child.gameObject.activeSelf)
-                {
-                    var dstChild = new GameObject(child.name);
-                    dstChild.transform.SetParent(dst);
-                    dstChild.transform.position = child.position; // copy position only
-
-                    CopyAndBuild(child, dstChild.transform, boneMap);
-                }
-            }
-        }
-
-        static IEnumerable Traverse(this Transform t)
-        {
-            yield return t;
-            foreach (Transform child in t)
-            {
-                foreach (var x in child.Traverse())
-                {
-                    yield return x;
-                }
-            }
-        }
-
-        static void EnforceTPose(GameObject go)
-        {
-            var animator = go.GetComponent();
-            if (animator == null)
-            {
-                throw new ArgumentException("Animator with avatar is required");
-            }
-
-            var avatar = animator.avatar;
-            if (avatar == null)
-            {
-                throw new ArgumentException("avatar is required");
-            }
-
-            if (!avatar.isValid)
-            {
-                throw new ArgumentException("invalid avatar");
-            }
-
-            if (!avatar.isHuman)
-            {
-                throw new ArgumentException("avatar is not human");
-            }
-
-            HumanPoseTransfer.SetTPose(avatar, go.transform);
-        }
-
-        static GameObject NormalizeHierarchy(GameObject go, Dictionary boneMap)
-        {
-            //
-            // 回転・スケールの無いヒエラルキーをコピーする
-            //
-            var normalized = new GameObject(go.name + "(normalized)");
-            normalized.transform.position = go.transform.position;
-            CopyAndBuild(go.transform, normalized.transform, boneMap);
-
-            //
-            // 新しいヒエラルキーからAvatarを作る
-            //
-            {
-                var src = go.GetComponent();
-
-                var srcHumanBones = Enum.GetValues(typeof(HumanBodyBones))
-                    .Cast()
-                    .Where(x => x != HumanBodyBones.LastBone)
-                    .Select(x => new { Key = x, Value = src.GetBoneTransform(x) })
-                    .Where(x => x.Value != null)
-                    ;
-
-                var map =
-                       srcHumanBones
-                       .Where(x => boneMap.ContainsKey(x.Value))
-                       .ToDictionary(x => x.Key, x => boneMap[x.Value])
-                       ;
-
-                var animator = normalized.AddComponent();
-                var vrmHuman = go.GetComponent();
-                var avatarDescription = AvatarDescription.Create();
-                if (vrmHuman != null && vrmHuman.Description != null)
-                {
-                    avatarDescription.armStretch = vrmHuman.Description.armStretch;
-                    avatarDescription.legStretch = vrmHuman.Description.legStretch;
-                    avatarDescription.upperArmTwist = vrmHuman.Description.upperArmTwist;
-                    avatarDescription.lowerArmTwist = vrmHuman.Description.lowerArmTwist;
-                    avatarDescription.upperLegTwist = vrmHuman.Description.upperLegTwist;
-                    avatarDescription.lowerLegTwist = vrmHuman.Description.lowerLegTwist;
-                    avatarDescription.feetSpacing = vrmHuman.Description.feetSpacing;
-                    avatarDescription.hasTranslationDoF = vrmHuman.Description.hasTranslationDoF;
-                }
-                avatarDescription.SetHumanBones(map);
-                var avatar = avatarDescription.CreateAvatar(normalized.transform);
-
-                avatar.name = go.name + ".normalized";
-                animator.avatar = avatar;
-
-                var humanPoseTransfer = normalized.AddComponent();
-                humanPoseTransfer.Avatar = avatar;
-            }
-
-            return normalized;
-        }
-
-        class BlendShapeReport
-        {
-            string m_name;
-            int m_count;
-            struct BlendShapeStat
-            {
-                public int Index;
-                public string Name;
-                public int VertexCount;
-                public int NormalCount;
-                public int TangentCount;
-
-                public override string ToString()
-                {
-                    return string.Format("[{0}]{1}: {2}, {3}, {4}\n", Index, Name, VertexCount, NormalCount, TangentCount);
-                }
-            }
-            List m_stats = new List();
-            public int Count
-            {
-                get { return m_stats.Count; }
-            }
-            public BlendShapeReport(Mesh mesh)
-            {
-                m_name = mesh.name;
-                m_count = mesh.vertexCount;
-            }
-            public void SetCount(int index, string name, int v, int n, int t)
-            {
-                m_stats.Add(new BlendShapeStat
-                {
-                    Index = index,
-                    Name = name,
-                    VertexCount = v,
-                    NormalCount = n,
-                    TangentCount = t,
-                });
-            }
-            public override string ToString()
-            {
-                return String.Format("NormalizeSkinnedMesh: {0}({1}verts)\n{2}",
-                    m_name,
-                    m_count,
-                    String.Join("", m_stats.Select(x => x.ToString()).ToArray()));
-            }
-        }
-
-        static BoneWeight[] MapBoneWeight(BoneWeight[] src,
-            Dictionary boneMap,
-            Transform[] srcBones,
-            Transform[] dstBones
-            )
-        {
-            var indexMap =
-            srcBones
-                .Select((x, i) => new { i, x })
-                .Select(x => {
-                    Transform dstBone;
-                    if(boneMap.TryGetValue(x.x, out dstBone))
-                    {
-                        return dstBones.IndexOf(dstBone);
-                    }
-                    else
-                    {
-                        return -1;
-                    }
-                 })
-                .ToArray();
-
-            for (int i = 0; i < srcBones.Length; ++i)
-            {
-                if (indexMap[i] < 0)
-                {
-                    Debug.LogWarningFormat("{0} is removed", srcBones[i].name);
-                }
-            }
-
-            var dst = new BoneWeight[src.Length];
-            Array.Copy(src, dst, src.Length);
-
-            for (int i = 0; i < src.Length; ++i)
-            {
-                var x = src[i];
-
-                if (indexMap[x.boneIndex0] != -1)
-                {
-                    dst[i].boneIndex0 = indexMap[x.boneIndex0];
-                    dst[i].weight0 = x.weight0;
-                }
-                else if (x.weight0 > 0)
-                {
-                    Debug.LogWarningFormat("{0} weight0 to {1} is lost", i, srcBones[x.boneIndex0].name);
-                    dst[i].weight0 = 0;
-                }
-
-                if (indexMap[x.boneIndex1] != -1)
-                {
-                    dst[i].boneIndex1 = indexMap[x.boneIndex1];
-                    dst[i].weight1 = x.weight1;
-                }
-                else if (x.weight1 > 0)
-                {
-                    Debug.LogWarningFormat("{0} weight0 to {1} is lost", i, srcBones[x.boneIndex1].name);
-                    dst[i].weight1 = 0;
-                }
-
-                if (indexMap[x.boneIndex2] != -1)
-                {
-                    dst[i].boneIndex2 = indexMap[x.boneIndex2];
-                    dst[i].weight2 = x.weight2;
-                }
-                else if (x.weight2 > 0)
-                {
-                    Debug.LogWarningFormat("{0} weight0 to {1} is lost", i, srcBones[x.boneIndex2].name);
-                    dst[i].weight2 = 0;
-                }
-
-                if (indexMap[x.boneIndex3] != -1)
-                {
-                    dst[i].boneIndex3 = indexMap[x.boneIndex3];
-                    dst[i].weight3 = x.weight3;
-                }
-                else if (x.weight3 > 0)
-                {
-                    Debug.LogWarningFormat("{0} weight0 to {1} is lost", i, srcBones[x.boneIndex3].name);
-                    dst[i].weight3 = 0;
-                }
-            }
-
-            return dst;
-        }
-
-        /// 
-        /// srcのSkinnedMeshRendererを正規化して、dstにアタッチする
-        /// 
-        /// 正規化前のSkinnedMeshRendererのTransform
-        /// 正規化後のSkinnedMeshRendererのTransform
-        /// 正規化前のボーンから正規化後のボーンを得る
-        static void NormalizeSkinnedMesh(Transform src, Transform dst, Dictionary boneMap, bool clearBlendShape)
-        {
-            var srcRenderer = src.GetComponent();
-            if (srcRenderer == null
-                || !srcRenderer.enabled
-                || srcRenderer.sharedMesh == null
-                || srcRenderer.sharedMesh.vertexCount == 0)
-            {
-                // 有効なSkinnedMeshRendererが無かった
-                return;
-            }
-
-            var srcMesh = srcRenderer.sharedMesh;
-            var originalSrcMesh = srcMesh;
-
-            // clear blendShape
-            if (clearBlendShape)
-            {
-                for (int i = 0; i < srcMesh.blendShapeCount; ++i)
-                {
-                    srcRenderer.SetBlendShapeWeight(i, 0);
-                }
-            }
-
-            var dstBones = srcRenderer.bones
-                .Where(x => boneMap.ContainsKey(x))
-                .Select(x => boneMap[x])
-                .ToArray();
-            var hasBoneWeight = srcRenderer.bones != null && srcRenderer.bones.Length > 0;
-            if (!hasBoneWeight)
-            {
-                // Before bake, bind no weight bones
-                //Debug.LogFormat("no weight: {0}", srcMesh.name);
-
-                srcMesh = srcMesh.Copy(true);
-                var bw = new BoneWeight
-                {
-                    boneIndex0 = 0,
-                    boneIndex1 = 0,
-                    boneIndex2 = 0,
-                    boneIndex3 = 0,
-                    weight0 = 1.0f,
-                    weight1 = 0.0f,
-                    weight2 = 0.0f,
-                    weight3 = 0.0f,
-                };
-                srcMesh.boneWeights = Enumerable.Range(0, srcMesh.vertexCount).Select(x => bw).ToArray();
-                srcMesh.bindposes = new Matrix4x4[] { Matrix4x4.identity };
-
-                srcRenderer.rootBone = srcRenderer.transform;
-                dstBones = new[] { boneMap[srcRenderer.transform] };
-                srcRenderer.bones = new[] { srcRenderer.transform };
-                srcRenderer.sharedMesh = srcMesh;
-            }
-
-            // BakeMesh
-            var mesh = srcMesh.Copy(false);
-            mesh.name = srcMesh.name + ".baked";
-            srcRenderer.BakeMesh(mesh);
-
-            mesh.boneWeights = MapBoneWeight(srcMesh.boneWeights, boneMap, srcRenderer.bones, dstBones); // restore weights. clear when BakeMesh
-
-            // recalc bindposes
-            mesh.bindposes = dstBones.Select(x => x.worldToLocalMatrix * dst.transform.localToWorldMatrix).ToArray();
-
-            //var m = src.localToWorldMatrix; // include scaling
-            var m = default(Matrix4x4);
-            m.SetTRS(Vector3.zero, src.rotation, Vector3.one); // rotation only
-            mesh.ApplyMatrix(m);
-
-            //
-            // BlendShapes
-            //
-            var meshVertices = mesh.vertices;
-            var meshNormals = mesh.normals;
-#if VRM_NORMALIZE_BLENDSHAPE_TANGENT
-            var meshTangents = mesh.tangents.Select(x => (Vector3)x).ToArray();
-#endif
-
-            var originalBlendShapePositions = new Vector3[meshVertices.Length];
-            var originalBlendShapeNormals = new Vector3[meshVertices.Length];
-            var originalBlendShapeTangents = new Vector3[meshVertices.Length];
-
-            var report = new BlendShapeReport(srcMesh);
-            var blendShapeMesh = new Mesh();
-            for (int i = 0; i < srcMesh.blendShapeCount; ++i)
-            {
-                // check blendShape
-                srcRenderer.sharedMesh.GetBlendShapeFrameVertices(i, 0, originalBlendShapePositions, originalBlendShapeNormals, originalBlendShapeTangents);
-                var hasVertices = originalBlendShapePositions.Count(x => x != Vector3.zero);
-                var hasNormals = originalBlendShapeNormals.Count(x => x != Vector3.zero);
-#if VRM_NORMALIZE_BLENDSHAPE_TANGENT
-                var hasTangents = originalBlendShapeTangents.Count(x => x != Vector3.zero);
-#else
-                var hasTangents = 0;
-#endif
-                var name = srcMesh.GetBlendShapeName(i);
-                if (string.IsNullOrEmpty(name))
-                {
-                    name = String.Format("{0}", i);
-                }
-
-                report.SetCount(i, name, hasVertices, hasNormals, hasTangents);
-
-                srcRenderer.SetBlendShapeWeight(i, 100.0f);
-                srcRenderer.BakeMesh(blendShapeMesh);
-                if (blendShapeMesh.vertices.Length != mesh.vertices.Length)
-                {
-                    throw new Exception("diffrent vertex count");
-                }
-                srcRenderer.SetBlendShapeWeight(i, 0);
-
-                Vector3[] vertices = blendShapeMesh.vertices;
-                for (int j = 0; j < vertices.Length; ++j)
-                {
-                    if (originalBlendShapePositions[j] == Vector3.zero)
-                    {
-                        vertices[j] = Vector3.zero;
-                    }
-                    else
-                    {
-                        vertices[j] = m.MultiplyPoint(vertices[j]) - meshVertices[j];
-                    }
-                }
-
-                Vector3[] normals = blendShapeMesh.normals;
-                for (int j = 0; j < normals.Length; ++j)
-                {
-                    if (originalBlendShapeNormals[j] == Vector3.zero)
-                    {
-                        normals[j] = Vector3.zero;
-                    }
-                    else
-                    {
-                        normals[j] = m.MultiplyVector(normals[j]) - meshNormals[j];
-                    }
-                }
-
-                Vector3[] tangents = blendShapeMesh.tangents.Select(x => (Vector3)x).ToArray();
-#if VRM_NORMALIZE_BLENDSHAPE_TANGENT
-                for (int j = 0; j < tangents.Length; ++j)
-                {
-                    if (originalBlendShapeTangents[j] == Vector3.zero)
-                    {
-                        tangents[j] = Vector3.zero;
-                    }
-                    else
-                    {
-                        tangents[j] = m.MultiplyVector(tangents[j]) - meshTangents[j];
-                    }
-                }
-#endif
-
-                var weight = srcMesh.GetBlendShapeFrameWeight(i, 0);
-
-                try
-                {
-                    mesh.AddBlendShapeFrame(name,
-                        weight,
-                        vertices,
-                        hasNormals > 0 ? normals : null,
-                        hasTangents > 0 ? tangents : null
-                        );
-                }
-                catch (Exception)
-                {
-                    Debug.LogErrorFormat("fail to mesh.AddBlendShapeFrame {0}.{1}",
-                        mesh.name,
-                        srcMesh.GetBlendShapeName(i)
-                        );
-                    throw;
-                }
-            }
-
-            if (report.Count > 0)
-            {
-                Debug.LogFormat("{0}", report.ToString());
-            }
-
-            var dstRenderer = dst.gameObject.AddComponent();
-            dstRenderer.sharedMaterials = srcRenderer.sharedMaterials;
-            if (srcRenderer.rootBone != null)
-            {
-                dstRenderer.rootBone = boneMap[srcRenderer.rootBone];
-            }
-            dstRenderer.bones = dstBones;
-            dstRenderer.sharedMesh = mesh;
-
-            if (!hasBoneWeight)
-            {
-                // restore bones
-                srcRenderer.bones = new Transform[] { };
-                srcRenderer.sharedMesh = originalSrcMesh;
-            }
-        }
-
-        /// 
-        /// 
-        /// 
-        /// 
-        /// 
-        static void NormalizeNoneSkinnedMesh(Transform src, Transform dst)
-        {
-            var srcFilter = src.GetComponent();
-            if (srcFilter == null
-                || srcFilter.sharedMesh == null
-                || srcFilter.sharedMesh.vertexCount == 0)
-            {
-                return;
-            }
-
-            var srcRenderer = src.GetComponent();
-            if (srcRenderer == null || !srcRenderer.enabled)
-            {
-                return;
-            }
-
-            // Meshに乗っているボーンの姿勢を適用する
-            var dstFilter = dst.gameObject.AddComponent();
-
-            var dstMesh = srcFilter.sharedMesh.Copy(false);
-            dstMesh.ApplyRotationAndScale(src.localToWorldMatrix);
-            dstFilter.sharedMesh = dstMesh;
-
-            // Materialをコピー
-            var dstRenderer = dst.gameObject.AddComponent();
-            dstRenderer.sharedMaterials = srcRenderer.sharedMaterials;
-        }
-
-        public struct NormalizedResult
-        {
-            public GameObject Root;
-            public Dictionary BoneMap;
-        }
-
-        /// 
-        /// モデルの正規化を実行する
-        /// 
-        /// 対象モデルのルート
-        /// 強制的にT-Pose化するか
-        /// 正規化済みのモデル
-        public static NormalizedResult Execute(GameObject go, bool forceTPose, bool clearBlendShapeBeforeNormalize)
-        {
-            Dictionary boneMap = new Dictionary();
-
-            //
-            // T-Poseにする
-            //
-            if (forceTPose)
-            {
-                var hips = go.GetComponent().GetBoneTransform(HumanBodyBones.Hips);
-                var hipsPosition = hips.position;
-                var hipsRotation = hips.rotation;
-                try
-                {
-                    EnforceTPose(go);
-                }
-                finally
-                {
-                    hips.position = hipsPosition; // restore hipsPosition
-                    hips.rotation = hipsRotation;
-                }
-            }
-
-            //
-            // 正規化されたヒエラルキーを作る
-            //
-            var normalized = NormalizeHierarchy(go, boneMap);
-
-            //
-            // 各メッシュから回転・スケールを取り除いてBinding行列を再計算する
-            //
-            foreach (var src in go.transform.Traverse())
-            {
-                Transform dst;
-                if (!boneMap.TryGetValue(src, out dst))
-                {
-                    continue;
-                }
-
-                NormalizeSkinnedMesh(src, dst, boneMap, clearBlendShapeBeforeNormalize);
-
-                NormalizeNoneSkinnedMesh(src, dst);
-            }
-
-            return new NormalizedResult
-            {
-                Root = normalized,
-                BoneMap = boneMap
-            };
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility/BoneNormalizer.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility/BoneNormalizer.cs.meta
deleted file mode 100644
index 4663d26..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility/BoneNormalizer.cs.meta
+++ /dev/null
@@ -1,13 +0,0 @@
-fileFormatVersion: 2
-guid: b330ec419f98af14687c302638922ab0
-timeCreated: 1519379418
-licenseType: Free
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility/MeshExtensions.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility/MeshExtensions.cs
deleted file mode 100644
index d2f0791..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility/MeshExtensions.cs
+++ /dev/null
@@ -1,85 +0,0 @@
-using UnityEngine;
-using System.Linq;
-
-
-namespace VRM
-{
-    public static class MeshExtensions
-    {
-        public static Mesh Copy(this Mesh src, bool copyBlendShape)
-        {
-            var dst = new Mesh();
-            dst.name = src.name + "(copy)";
-#if UNITY_2017_3_OR_NEWER
-            dst.indexFormat = src.indexFormat;
-#endif
-
-            dst.vertices = src.vertices;
-            dst.normals = src.normals;
-            dst.tangents = src.tangents;
-            dst.colors = src.colors;
-            dst.uv = src.uv;
-            dst.uv2 = src.uv2;
-            dst.uv3 = src.uv3;
-            dst.uv4 = src.uv4;
-            dst.boneWeights = src.boneWeights;
-            dst.bindposes = src.bindposes;
-
-            dst.subMeshCount = src.subMeshCount;
-            for (int i = 0; i < dst.subMeshCount; ++i)
-            {
-                dst.SetIndices(src.GetIndices(i), src.GetTopology(i), i);
-            }
-
-            dst.RecalculateBounds();
-
-            if (copyBlendShape)
-            {
-                var vertices = src.vertices;
-                var normals = src.normals;
-#if VRM_NORMALIZE_BLENDSHAPE_TANGENT
-                var tangents = src.tangents.Select(x => (Vector3)x).ToArray();
-#else
-                Vector3[] tangents = null;
-#endif
-
-                for (int i = 0; i < src.blendShapeCount; ++i)
-                {
-                    src.GetBlendShapeFrameVertices(i, 0, vertices, normals, tangents);
-                    dst.AddBlendShapeFrame(
-                        src.GetBlendShapeName(i),
-                        src.GetBlendShapeFrameWeight(i, 0),
-                        vertices,
-                        normals,
-                        tangents
-                        );
-                }
-            }
-
-            return dst;
-        }
-
-        public static void ApplyRotationAndScale(this Mesh src, Matrix4x4 m)
-        {
-            m.SetColumn(3, new Vector4(0, 0, 0, 1)); // remove translation
-            src.ApplyMatrix(m);
-        }
-
-        public static void ApplyMatrix(this Mesh src, Matrix4x4 m)
-        {
-            src.vertices = src.vertices.Select(x => m.MultiplyPoint(x)).ToArray();
-            if (src.normals != null && src.normals.Length > 0)
-            {
-                src.normals = src.normals.Select(x => m.MultiplyVector(x)).ToArray();
-            }
-            if (src.tangents != null && src.tangents.Length > 0)
-            {
-                src.tangents = src.tangents.Select(x =>
-                {
-                    var t = m.MultiplyVector((Vector3)x);
-                    return new Vector4(t.x, t.y, t.z, x.w);
-                }).ToArray();
-            }
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility/MeshExtensions.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility/MeshExtensions.cs.meta
deleted file mode 100644
index 7485178..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility/MeshExtensions.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 4181f0b5e9a271b45b3e995a38202780
-timeCreated: 1532506262
-licenseType: Free
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility/VRMBindposeGizmo.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility/VRMBindposeGizmo.cs
deleted file mode 100644
index e882d73..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility/VRMBindposeGizmo.cs
+++ /dev/null
@@ -1,158 +0,0 @@
-using System.Collections.Generic;
-using System.Linq;
-using UnityEngine;
-using UniGLTF;
-#if UNITY_EDITOR
-using UnityEditor;
-#endif
-
-
-namespace VRM
-{
-    [DisallowMultipleComponent]
-    public class VRMBindposeGizmo : MonoBehaviour
-    {
-        [SerializeField]
-        Mesh m_target;
-
-        [SerializeField]
-        float[] m_boneWeights;
-
-        [SerializeField, Range(0.1f, 1.0f)]
-        float m_gizmoSize = 0.02f;
-
-        [SerializeField]
-        Color m_meshGizmoColor = Color.yellow;
-
-        [SerializeField]
-        Color m_bindGizmoColor = Color.red;
-
-        private void Reset()
-        {
-            var renderer = GetComponent();
-            if (renderer == null) return;
-            m_target = renderer.sharedMesh;
-        }
-
-#if UNITY_EDITOR
-        #region ToBindpose
-        [ContextMenu("ToBindpose")]
-        void ToBindpose()
-        {
-            var renderer = GetComponent();
-
-            var root =
-            renderer.bones
-                .Select(x => Ancestors(x).Reverse().ToArray())
-                .Aggregate((a, b) =>
-                {
-                    int i = 0;
-                    for (; i < a.Length && i < b.Length; ++i)
-                    {
-                        if (a[i] != b[i])
-                        {
-                            break;
-                        }
-                    }
-                    return a.Take(i).ToArray();
-                })
-                .Last()
-                ;
-
-            var map = new Dictionary();
-            for (int i = 0; i < renderer.bones.Length; ++i)
-            {
-                map[renderer.bones[i]] = m_target.bindposes[i];
-            }
-
-            {
-                var bones = Traverse(root);
-                Undo.RecordObjects(bones.ToArray(), "toBindpose");
-
-                foreach (var x in bones)
-                {
-                    var bind = default(Matrix4x4);
-                    if (map.TryGetValue(x, out bind))
-                    {
-                        var toWorld = renderer.transform.localToWorldMatrix * bind.inverse;
-                        x.position = toWorld.GetColumn(3);
-                        x.rotation = toWorld.ExtractRotation();
-                    }
-                }
-
-                //EditorUtility.SetDirty(transform);
-            }
-        }
-
-        IEnumerable Traverse(Transform self)
-        {
-            yield return self;
-
-            foreach (Transform child in self)
-            {
-                foreach (var x in Traverse(child))
-                {
-                    yield return x;
-                }
-            }
-        }
-
-        IEnumerable Ancestors(Transform self)
-        {
-            yield return self;
-
-            if (self.parent != null)
-            {
-                foreach (var x in Ancestors(self.parent))
-                {
-                    yield return x;
-                }
-            }
-        }
-        #endregion
-#endif
-
-        private void OnDrawGizmos()
-        {
-            if (m_target == null)
-            {
-                return;
-            }
-
-            Gizmos.matrix = transform.localToWorldMatrix;
-
-            if (m_target.bindposes != null && m_target.bindposes.Length > 0)
-            {
-                if (m_boneWeights == null || m_boneWeights.Length != m_target.bindposes.Length)
-                {
-                    m_boneWeights = new float[m_target.bindposes.Length];
-                    foreach (var bw in m_target.boneWeights)
-                    {
-                        if (bw.weight0 > 0) m_boneWeights[bw.boneIndex0] += bw.weight0;
-                        if (bw.weight1 > 0) m_boneWeights[bw.boneIndex1] += bw.weight1;
-                        if (bw.weight2 > 0) m_boneWeights[bw.boneIndex2] += bw.weight2;
-                        if (bw.weight3 > 0) m_boneWeights[bw.boneIndex3] += bw.weight3;
-                    }
-                }
-
-                Gizmos.color = m_meshGizmoColor;
-                Gizmos.DrawWireMesh(m_target);
-
-                for (var i = 0; i < m_target.bindposes.Length; ++i)
-                {
-                    var color = m_bindGizmoColor * m_boneWeights[i];
-                    color.a = 1.0f;
-                    Gizmos.color = color;
-
-                    Gizmos.matrix = transform.localToWorldMatrix * m_target.bindposes[i].inverse;
-                    Gizmos.DrawWireCube(Vector3.zero, Vector3.one * m_gizmoSize);
-                }
-            }
-            else
-            {
-                Gizmos.color = Color.gray;
-                Gizmos.DrawWireMesh(m_target);
-            }
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility/VRMBindposeGizmo.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility/VRMBindposeGizmo.cs.meta
deleted file mode 100644
index 1567b1e..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SkinnedMeshUtility/VRMBindposeGizmo.cs.meta
+++ /dev/null
@@ -1,13 +0,0 @@
-fileFormatVersion: 2
-guid: 3ada4f7077a352343aed57e71a58885d
-timeCreated: 1518245944
-licenseType: Free
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SpringBone.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SpringBone.meta
deleted file mode 100644
index 8205925..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SpringBone.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 8c7025aacc274644eb333d545933a263
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SpringBone/VRMSpringBone.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SpringBone/VRMSpringBone.cs
deleted file mode 100644
index 8a5c010..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SpringBone/VRMSpringBone.cs
+++ /dev/null
@@ -1,333 +0,0 @@
-using System.Collections.Generic;
-using System.Linq;
-using UnityEngine;
-using UniGLTF;
-
-namespace VRM
-{
-    /// 
-    /// The base algorithm is http://rocketjump.skr.jp/unity3d/109/ of @ricopin416
-    /// DefaultExecutionOrder(11000) means calclate springbone after FinaiIK( VRIK )
-    /// 
-    #if UNITY_5_5_OR_NEWER
-    [DefaultExecutionOrder(11000)]
-    #endif
-    public class VRMSpringBone : MonoBehaviour
-    {
-        [SerializeField]
-        public string m_comment;
-
-        [SerializeField, Header("Gizmo")]
-        bool m_drawGizmo;
-
-        [SerializeField]
-        Color m_gizmoColor = Color.yellow;
-
-        [SerializeField, Range(0, 4), Header("Settings")]
-        public float m_stiffnessForce = 1.0f;
-
-        [SerializeField, Range(0, 2)]
-        public float m_gravityPower = 0;
-
-        [SerializeField]
-        public Vector3 m_gravityDir = new Vector3(0, -1.0f, 0);
-
-        [SerializeField, Range(0, 1)]
-        public float m_dragForce = 0.4f;
-
-        [SerializeField]
-        public Transform m_center;
-
-        [SerializeField]
-        public List RootBones = new List();
-        Dictionary m_initialLocalRotationMap;
-
-        [SerializeField, Range(0, 0.5f), Header("Collider")]
-        public float m_hitRadius = 0.02f;
-
-        [SerializeField]
-        public VRMSpringBoneColliderGroup[] ColliderGroups;
-
-        /// 
-        /// 
-        /// original from
-        /// 
-        /// http://rocketjump.skr.jp/unity3d/109/
-        /// 
-        /// 
-        public class VRMSpringBoneLogic
-        {
-            Transform m_transform;
-            public Transform Head
-            {
-                get { return m_transform; }
-            }
-
-            public Vector3 Tail
-            {
-                get { return m_transform.localToWorldMatrix.MultiplyPoint(m_boneAxis * m_length); }
-            }
-
-            float m_length;
-            Vector3 m_currentTail;
-            Vector3 m_prevTail;
-            Vector3 m_localDir;
-            Quaternion m_localRotation;
-            public Quaternion LocalRotation
-            {
-                get { return m_localRotation; }
-            }
-            public Vector3 m_boneAxis;
-
-            public float Radius { get; set; }
-
-            public VRMSpringBoneLogic(Transform center, Transform transform, Vector3 localChildPosition)
-            {
-                m_transform = transform;
-                var worldChildPosition = m_transform.TransformPoint(localChildPosition);
-                m_currentTail = center!= null
-                    ? center.InverseTransformPoint(worldChildPosition)
-                    : worldChildPosition
-                    ;
-                m_prevTail = m_currentTail;
-                m_localRotation = transform.localRotation;
-                m_boneAxis = localChildPosition.normalized;
-                m_length = localChildPosition.magnitude;
-            }
-
-            Quaternion ParentRotation
-            {
-                get
-                {
-                    return m_transform.parent != null
-                        ? m_transform.parent.rotation
-                        : Quaternion.identity
-                        ;
-                }
-            }
-
-            public void Update(Transform center,
-                float stiffnessForce, float dragForce, Vector3 external,
-                List colliders)
-            {
-                var currentTail = center!=null
-                    ? center.TransformPoint(m_currentTail)
-                    : m_currentTail
-                    ;
-                var prevTail = center!=null
-                    ? center.TransformPoint(m_prevTail)
-                    : m_prevTail
-                    ;
-
-                // verlet積分で次の位置を計算
-                var nextTail = currentTail
-                    + (currentTail - prevTail) * (1.0f - dragForce) // 前フレームの移動を継続する(減衰もあるよ)
-                    + ParentRotation * m_localRotation * m_boneAxis * stiffnessForce // 親の回転による子ボーンの移動目標
-                    + external // 外力による移動量
-                    ;
-
-                // 長さをboneLengthに強制
-                nextTail = m_transform.position + (nextTail - m_transform.position).normalized * m_length;
-
-                // Collisionで移動
-                nextTail = Collision(colliders, nextTail);
-
-                m_prevTail = center!=null
-                    ? center.InverseTransformPoint(currentTail)
-                    : currentTail
-                    ;
-                m_currentTail = center!=null
-                    ? center.InverseTransformPoint(nextTail)
-                    : nextTail
-                    ;
-
-                //回転を適用
-                Head.rotation = ApplyRotation(nextTail);
-            }
-
-            protected virtual Quaternion ApplyRotation(Vector3 nextTail)
-            {
-                var rotation = ParentRotation * m_localRotation;
-                return Quaternion.FromToRotation(rotation * m_boneAxis, 
-                    nextTail - m_transform.position) * rotation;
-            }
-
-            protected virtual Vector3 Collision(List colliders, Vector3 nextTail)
-            {
-                foreach (var collider in colliders)
-                {
-                    var r = Radius + collider.Radius;
-                    if (Vector3.SqrMagnitude(nextTail - collider.Position) <= (r * r))
-                    {
-                        // ヒット。Colliderの半径方向に押し出す
-                        var normal = (nextTail - collider.Position).normalized;
-                        var posFromCollider = collider.Position + normal * (Radius + collider.Radius);
-                        // 長さをboneLengthに強制
-                        nextTail = m_transform.position + (posFromCollider - m_transform.position).normalized * m_length;
-                    }
-                }
-                return nextTail;
-            }
-
-            public void DrawGizmo(Transform center, float radius, Color color)
-            {
-                var currentTail = center!=null
-                    ? center.TransformPoint(m_currentTail)
-                    : m_currentTail
-                    ;
-                var prevTail = center != null
-                    ? center.TransformPoint(m_prevTail)
-                    : m_prevTail
-                    ;
-
-                Gizmos.color = Color.gray;
-                Gizmos.DrawLine(currentTail, prevTail);
-                Gizmos.DrawWireSphere(prevTail, radius);
-
-                Gizmos.color = color;
-                Gizmos.DrawLine(currentTail, m_transform.position);
-                Gizmos.DrawWireSphere(currentTail, radius);
-            }
-        }
-        List m_verlet = new List();
-
-        void Awake()
-        {
-            Setup();
-        }
-
-        [ContextMenu("Reset bones")]
-        public void Setup(bool force=false)
-        {
-            if (RootBones != null)
-            {
-                if (force || m_initialLocalRotationMap == null)
-                {
-                    m_initialLocalRotationMap = new Dictionary();
-                }
-                else
-                {
-                    foreach(var kv in m_initialLocalRotationMap)
-                    {
-                        kv.Key.localRotation = kv.Value;
-                    }
-                    m_initialLocalRotationMap.Clear();
-                }
-                m_verlet.Clear();
-
-                foreach (var go in RootBones)
-                {
-                    if (go != null)
-                    {
-                        foreach(var x in go.transform.Traverse())
-                        {
-                            m_initialLocalRotationMap[x] = x.localRotation;
-                        }
-
-                        SetupRecursive(m_center, go);
-                    }
-                }
-            }
-        }
-
-        static IEnumerable GetChildren(Transform parent)
-        {
-            for(int i=0; i m_colliderList = new List();
-        void LateUpdate()
-        {
-            if (m_verlet == null || m_verlet.Count == 0)
-            {
-                if (RootBones == null)
-                {
-                    return;
-                }
-
-                Setup();
-            }
-
-            m_colliderList.Clear();
-            if (ColliderGroups != null)
-            {
-                foreach (var group in ColliderGroups)
-                {
-                    if (group != null)
-                    {
-                        foreach (var collider in group.Colliders)
-                        {
-                            m_colliderList.Add(new SphereCollider
-                            {
-                                Position = group.transform.TransformPoint(collider.Offset),
-                                Radius = collider.Radius,
-                            });
-                        }
-                    }
-                }
-            }
-
-            var stiffness = m_stiffnessForce * Time.deltaTime;
-            var external = m_gravityDir * (m_gravityPower * Time.deltaTime);
-
-            foreach (var verlet in m_verlet)
-            {
-                verlet.Radius = m_hitRadius;
-                verlet.Update(m_center,
-                    stiffness,
-                    m_dragForce,
-                    external,
-                    m_colliderList
-                    );
-            }
-        }
-
-        private void OnDrawGizmos()
-        {
-            if (m_drawGizmo)
-            {
-                foreach (var verlet in m_verlet)
-                {
-                    verlet.DrawGizmo(m_center, m_hitRadius, m_gizmoColor);
-                }
-            }
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SpringBone/VRMSpringBone.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SpringBone/VRMSpringBone.cs.meta
deleted file mode 100644
index 0efb4cc..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SpringBone/VRMSpringBone.cs.meta
+++ /dev/null
@@ -1,13 +0,0 @@
-fileFormatVersion: 2
-guid: 00ea06e1753e16f4ca870c39c067c86b
-timeCreated: 1517224588
-licenseType: Free
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SpringBone/VRMSpringBoneColliderGroup.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SpringBone/VRMSpringBoneColliderGroup.cs
deleted file mode 100644
index 27145ce..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SpringBone/VRMSpringBoneColliderGroup.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-using System;
-using UnityEngine;
-
-
-namespace VRM
-{
-    #if UNITY_5_5_OR_NEWER
-    [DefaultExecutionOrder(11001)]
-    #endif
-    public class VRMSpringBoneColliderGroup : MonoBehaviour
-    {
-        [Serializable]
-        public class SphereCollider
-        {
-            public Vector3 Offset;
-
-            [Range(0, 1.0f)]
-            public float Radius;
-        }
-
-        [SerializeField]
-        public SphereCollider[] Colliders = new SphereCollider[]{
-            new SphereCollider
-            {
-                Radius=0.1f
-            }
-        };
-
-        [SerializeField]
-        Color m_gizmoColor = Color.magenta;
-
-        private void OnDrawGizmosSelected()
-        {
-            Gizmos.color = m_gizmoColor;
-            Matrix4x4 mat = transform.localToWorldMatrix;
-            Gizmos.matrix = mat * Matrix4x4.Scale(new Vector3(
-                1.0f / transform.lossyScale.x,
-                1.0f / transform.lossyScale.y,
-                1.0f / transform.lossyScale.z
-                ));
-            foreach (var y in Colliders)
-            {
-                Gizmos.DrawWireSphere(y.Offset, y.Radius);
-            }
-        }
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SpringBone/VRMSpringBoneColliderGroup.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SpringBone/VRMSpringBoneColliderGroup.cs.meta
deleted file mode 100644
index eeb0dfe..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SpringBone/VRMSpringBoneColliderGroup.cs.meta
+++ /dev/null
@@ -1,13 +0,0 @@
-fileFormatVersion: 2
-guid: 646b65a4a57afd34d8c4ed557efb46a5
-timeCreated: 1517984922
-licenseType: Free
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SpringBone/VRMSpringUtility.cs b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SpringBone/VRMSpringUtility.cs
deleted file mode 100644
index 25a9d1b..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SpringBone/VRMSpringUtility.cs
+++ /dev/null
@@ -1,230 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using UniGLTF;
-using UnityEngine;
-using System.IO;
-using System.Text;
-#if UNITY_EDITOR
-using UnityEditor;
-#endif
-
-
-namespace VRM
-{
-    public static class VRMSpringUtility
-    {
-#if UNITY_EDITOR
-        #region save
-        [MenuItem(VRMVersion.MENU + "/SaveSpringBoneToJSON", validate = true)]
-        static bool SaveSpringBoneToJSONIsEnable()
-        {
-            var root = Selection.activeObject as GameObject;
-            if (root == null)
-            {
-                return false;
-            }
-
-            var animator = root.GetComponent();
-            if (animator == null)
-            {
-                return false;
-            }
-
-            return true;
-        }
-
-        [MenuItem(VRMVersion.MENU + "/SaveSpringBoneToJSON")]
-        static void SaveSpringBoneToJSON()
-        {
-            var path = EditorUtility.SaveFilePanel(
-                    "Save spring to json",
-                    null,
-                    "VRMSpring.json",
-                    "json");
-            if (string.IsNullOrEmpty(path))
-            {
-                return;
-            }
-
-            var go = Selection.activeObject as GameObject;
-            var root = go.transform;
-            var nodes = root.Traverse().Skip(1).ToList();
-            var spring = new glTF_VRM_SecondaryAnimation();
-            ExportSecondary(root, nodes,
-                spring.colliderGroups.Add,
-                spring.boneGroups.Add
-                );
-
-            File.WriteAllText(path, spring.ToJson());
-        }
-
-        #endregion
-
-        #region load
-        [MenuItem(VRMVersion.MENU + "/LoadSpringBoneFromJSON", true)]
-        static bool LoadSpringBoneFromJSONIsEnable()
-        {
-            var root = Selection.activeObject as GameObject;
-            if (root == null)
-            {
-                return false;
-            }
-
-            var animator = root.GetComponent();
-            if (animator == null)
-            {
-                return false;
-            }
-
-            return true;
-        }
-
-        [MenuItem(VRMVersion.MENU + "/LoadSpringBoneFromJSON")]
-        static void LoadSpringBoneFromJSON()
-        {
-            var path = EditorUtility.OpenFilePanel(
-                    "Load spring from json",
-                    null,
-                    "json");
-            if (string.IsNullOrEmpty(path))
-            {
-                return;
-            }
-
-            var json = File.ReadAllText(path, Encoding.UTF8);
-            var spring = JsonUtility.FromJson(json);
-
-            var go = Selection.activeObject as GameObject;
-            var root = go.transform;
-            var nodes = root.Traverse().Skip(1).ToList();
-
-            LoadSecondary(root, nodes, spring);
-        }
-        #endregion
-#endif
-
-        public static void ExportSecondary(Transform root, List nodes,
-            Action addSecondaryColliderGroup,
-            Action addSecondaryGroup)
-        {
-            var colliders = new List();
-            foreach (var vrmColliderGroup in root.Traverse()
-                .Select(x => x.GetComponent())
-                .Where(x => x != null))
-            {
-                colliders.Add(vrmColliderGroup);
-
-                var colliderGroup = new glTF_VRM_SecondaryAnimationColliderGroup
-                {
-                    node = nodes.IndexOf(vrmColliderGroup.transform)
-                };
-
-                colliderGroup.colliders = vrmColliderGroup.Colliders.Select(x =>
-                {
-                    return new glTF_VRM_SecondaryAnimationCollider
-                    {
-                        offset = x.Offset,
-                        radius = x.Radius,
-                    };
-
-                }).ToList();
-
-                addSecondaryColliderGroup(colliderGroup);
-            }
-
-            foreach (var spring in root.Traverse()
-                .SelectMany(x => x.GetComponents())
-                .Where(x => x != null))
-            {
-                addSecondaryGroup(new glTF_VRM_SecondaryAnimationGroup
-                {
-                    comment = spring.m_comment,
-                    center = nodes.IndexOf(spring.m_center),
-                    dragForce = spring.m_dragForce,
-                    gravityDir = spring.m_gravityDir,
-                    gravityPower = spring.m_gravityPower,
-                    stiffiness = spring.m_stiffnessForce,
-                    hitRadius = spring.m_hitRadius,
-                    colliderGroups = spring.ColliderGroups
-                        .Select(x => colliders.IndexOf(x))
-                        .Where(x => x != -1)
-                        .ToArray(),
-                    bones = spring.RootBones.Select(x => nodes.IndexOf(x)).ToArray(),
-                });
-            }
-        }
-
-        public static void LoadSecondary(Transform root, List nodes,
-            glTF_VRM_SecondaryAnimation secondaryAnimation)
-        {
-            var secondary = root.Find("secondary");
-            if (secondary == null)
-            {
-                secondary = new GameObject("secondary").transform;
-                secondary.SetParent(root, false);
-            }
-
-            // clear components
-            var remove = root.Traverse()
-                .SelectMany(x => x.GetComponents())
-                .Where(x => x is VRMSpringBone || x is VRMSpringBoneColliderGroup)
-                .ToArray();
-            foreach (var x in remove)
-            {
-                if (Application.isPlaying)
-                {
-                    GameObject.Destroy(x);
-                }
-                else
-                {
-                    GameObject.DestroyImmediate(x);
-                }
-            }
-
-            //var secondaryAnimation = context.VRM.extensions.VRM.secondaryAnimation;
-            var colliders = new List();
-            foreach (var colliderGroup in secondaryAnimation.colliderGroups)
-            {
-                var vrmGroup = nodes[colliderGroup.node].gameObject.AddComponent();
-                vrmGroup.Colliders = colliderGroup.colliders.Select(x =>
-                {
-                    return new VRMSpringBoneColliderGroup.SphereCollider
-                    {
-                        Offset = x.offset,
-                        Radius = x.radius
-                    };
-                }).ToArray();
-                colliders.Add(vrmGroup);
-            }
-
-            if (secondaryAnimation.boneGroups.Count > 0)
-            {
-                foreach (var boneGroup in secondaryAnimation.boneGroups)
-                {
-                    var vrmBoneGroup = secondary.gameObject.AddComponent();
-                    if (boneGroup.center != -1)
-                    {
-                        vrmBoneGroup.m_center = nodes[boneGroup.center];
-                    }
-                    vrmBoneGroup.m_comment = boneGroup.comment;
-                    vrmBoneGroup.m_dragForce = boneGroup.dragForce;
-                    vrmBoneGroup.m_gravityDir = boneGroup.gravityDir;
-                    vrmBoneGroup.m_gravityPower = boneGroup.gravityPower;
-                    vrmBoneGroup.m_hitRadius = boneGroup.hitRadius;
-                    vrmBoneGroup.m_stiffnessForce = boneGroup.stiffiness;
-                    if (boneGroup.colliderGroups != null && boneGroup.colliderGroups.Any())
-                    {
-                        vrmBoneGroup.ColliderGroups = boneGroup.colliderGroups.Select(x => colliders[x]).ToArray();
-                    }
-                    vrmBoneGroup.RootBones = boneGroup.bones.Select(x => nodes[x]).ToList();
-                }
-            }
-            else
-            {
-                secondary.gameObject.AddComponent();
-            }
-        }
-
-    }
-}
diff --git a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SpringBone/VRMSpringUtility.cs.meta b/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SpringBone/VRMSpringUtility.cs.meta
deleted file mode 100644
index 773a15d..0000000
--- a/Assets/ProjectBlue/Packages/VRM/UniVRM/Scripts/SpringBone/VRMSpringUtility.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 42564d357aca11d4882ab504d7f99166
-timeCreated: 1528358605
-licenseType: Pro
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Sctipts.meta b/Assets/ProjectBlue/Sctipts.meta
deleted file mode 100644
index 370a5a3..0000000
--- a/Assets/ProjectBlue/Sctipts.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 26eaf5c01b30edc4596b85a3280c863f
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/ProjectBlue/Sctipts/Controllers.meta b/Assets/ProjectBlue/Sctipts/Controllers.meta
deleted file mode 100644
index 40b74b3..0000000
--- a/Assets/ProjectBlue/Sctipts/Controllers.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 1ad68850909e5454ebafb22c776bc167
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/Scripts.meta b/Assets/Scripts.meta
deleted file mode 100644
index 0995a85..0000000
--- a/Assets/Scripts.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 2d03ce8e078569d47bb63cca02705720
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/Scripts/FaceRecordDataReader.cs b/Assets/Scripts/FaceRecordDataReader.cs
deleted file mode 100644
index e12c7d9..0000000
--- a/Assets/Scripts/FaceRecordDataReader.cs
+++ /dev/null
@@ -1,83 +0,0 @@
-using ProjectBlue.FacialCapture;
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.IO;
-using UnityEngine;
-using UnityEngine.Timeline;
-using ZeroFormatter;
-
-using Debug = UnityEngine.Debug;
-
-public class FaceRecordDataReader : MonoBehaviour, ITimeControl
-{
-
-    static readonly int bufferLength = 436;
-
-    [SerializeField]
-    ZigSimFacialControl facialControl;
-
-    [SerializeField]
-    TextAsset asset;
-
-    public void OnControlTimeStart()
-    {
-        //throw new NotImplementedException();
-
-        ZeroFormatterInitializer.Register();
-    }
-
-    public void OnControlTimeStop()
-    {
-        //throw new NotImplementedException();
-    }
-
-    public void SetTime(double time)
-    {
-        //throw new NotImplementedException();
-
-
-        if (!asset) return;
-
-
-
-        var bytes = asset.bytes;
-        int totalFrames = bytes.Length / bufferLength;
-
-        ARKitFacialValues value = null;
-
-        for (int i = 0; i < totalFrames; i++)
-        {
-
-            var buffer = new byte[bufferLength];
-
-            Buffer.BlockCopy(bytes, i * bufferLength, buffer, 0, buffer.Length);
-
-            value = ZeroFormatterSerializer.Deserialize(buffer);
-
-            double sec = (double) value.elapsedTicks / Stopwatch.Frequency;
-
-            if(sec >= time)
-            {
-                break;
-            }
-
-
-        }
-
-        if (value != null)
-        {
-            facialControl.ApplyExternal(value);
-        }
-        else
-        {
-
-        }
-        
-    }
-
-
-
-
-}
diff --git a/Assets/Scripts/Logger.cs b/Assets/Scripts/Logger.cs
deleted file mode 100644
index 36642d1..0000000
--- a/Assets/Scripts/Logger.cs
+++ /dev/null
@@ -1,77 +0,0 @@
-using System.Collections;
-using System.Collections.Concurrent;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.UI;
-
-public class Logger : MonoBehaviour
-{
-
-    [SerializeField]
-    Text logText;
-
-    [SerializeField]
-    int numHoldLines = 5;
-
-    FixedSizedQueue queue;
-
-
-    private void Awake()
-    {
-        Application.logMessageReceived += OnLogMessage;
-
-
-        queue = new FixedSizedQueue();
-        queue.Limit = numHoldLines;
-
-
-    }
-
-    private void OnDestroy()
-    {
-        Application.logMessageReceived += OnLogMessage;
-    }
-
-
-    private void OnLogMessage(string i_logText, string i_stackTrace, LogType i_type)
-    {
-        if (string.IsNullOrEmpty(i_logText))
-        {
-            return;
-        }
-
-
-        queue.Enqueue(i_logText);
-
-        string str = "";
-        foreach(var elem in queue.Get())
-        {
-            str += elem + "\n";
-        }
-
-        logText.text = str;
-    }
-}
-
-
-public class FixedSizedQueue
-{
-    ConcurrentQueue q = new ConcurrentQueue();
-    private object lockObject = new object();
-
-    public int Limit { get; set; }
-    public void Enqueue(T obj)
-    {
-        q.Enqueue(obj);
-        lock (lockObject)
-        {
-            T overflow;
-            while (q.Count > Limit && q.TryDequeue(out overflow)) ;
-        }
-    }
-
-    public IEnumerable Get()
-    {
-        return q;
-    }
-}
\ No newline at end of file
diff --git a/Assets/Scripts/RecorderUI.cs b/Assets/Scripts/RecorderUI.cs
deleted file mode 100644
index 0e0d4dc..0000000
--- a/Assets/Scripts/RecorderUI.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-using UnityEngine.UI;
-
-using UniRx;
-using ProjectBlue.FacialCapture;
-
-public class RecorderUI : MonoBehaviour
-{
-
-    [SerializeField]
-    Button recordButton;
-
-    [SerializeField]
-    Button stopButton;
-
-    [SerializeField]
-    ZigSimFacialControl zigSimFacialControl;
-
-    // Start is called before the first frame update
-    void Start()
-    {
-
-
-        recordButton.OnClickAsObservable().Subscribe(_ =>
-        {
-
-            zigSimFacialControl.StartRecording();
-
-        }).AddTo(this);
-
-
-        stopButton.OnClickAsObservable().Subscribe(_ =>
-        {
-
-            zigSimFacialControl.StopRecording();
-
-        }).AddTo(this);
-
-    }
-
-}
diff --git a/Assets/ZigSimFacialControl/Scripts/ARKitBlendshapeApplier.cs b/Assets/ZigSimFacialControl/Scripts/ARKitBlendshapeApplier.cs
deleted file mode 100644
index 4775540..0000000
--- a/Assets/ZigSimFacialControl/Scripts/ARKitBlendshapeApplier.cs
+++ /dev/null
@@ -1,122 +0,0 @@
-using ProjectBlue.FacialCapture;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public class ARKitToBlendshapeRemapper
-{
-
-    SkinnedMeshRenderer skin;
-
-    List blendShapeList;
-    int[] indexList;
-    float[] strengthMultiplierList;
-
-    public ARKitToBlendshapeRemapper(SkinnedMeshRenderer skinnedMeshRenderer, List blendShapeList, int[] indexList, float[] strengthMultiplierList)
-    {
-
-        this.skin = skinnedMeshRenderer;
-
-        this.blendShapeList = blendShapeList;
-        this.indexList = indexList;
-        this.strengthMultiplierList = strengthMultiplierList;
-
-    }
-
-    public void Apply(ARKitFacialValues arkitFacialValues)
-    {
-
-        SetWithShapeTypeWith(ARKitBlendShape.noseSneer_R, arkitFacialValues.noseSneer_R);
-        SetWithShapeTypeWith(ARKitBlendShape.noseSneer_L, arkitFacialValues.noseSneer_L);
-
-        SetWithShapeTypeWith(ARKitBlendShape.mouthUpperUp_R, arkitFacialValues.mouthUpperUp_R);
-        SetWithShapeTypeWith(ARKitBlendShape.mouthUpperUp_L, arkitFacialValues.mouthUpperUp_L);
-
-        SetWithShapeTypeWith(ARKitBlendShape.mouthLowerDown_R, arkitFacialValues.mouthLowerDown_R);
-        SetWithShapeTypeWith(ARKitBlendShape.mouthLowerDown_L, arkitFacialValues.mouthLowerDown_L);
-
-        SetWithShapeTypeWith(ARKitBlendShape.mouthPress_R, arkitFacialValues.mouthPress_R);
-        SetWithShapeTypeWith(ARKitBlendShape.mouthPress_L, arkitFacialValues.mouthPress_L);
-
-        SetWithShapeTypeWith(ARKitBlendShape.mouthStretch_R, arkitFacialValues.mouthStretch_R);
-        SetWithShapeTypeWith(ARKitBlendShape.mouthStretch_L, arkitFacialValues.mouthStretch_L);
-
-        SetWithShapeTypeWith(ARKitBlendShape.mouth_R, arkitFacialValues.mouth_R);
-        SetWithShapeTypeWith(ARKitBlendShape.mouth_L, arkitFacialValues.mouth_L);
-
-        SetWithShapeTypeWith(ARKitBlendShape.mouthDimple_R, arkitFacialValues.mouthDimple_R);
-        SetWithShapeTypeWith(ARKitBlendShape.mouthDimple_L, arkitFacialValues.mouthDimple_L);
-
-        SetWithShapeTypeWith(ARKitBlendShape.mouthFrown_R, arkitFacialValues.mouthFrown_R);
-        SetWithShapeTypeWith(ARKitBlendShape.mouthFrown_L, arkitFacialValues.mouthFrown_L);
-
-        SetWithShapeTypeWith(ARKitBlendShape.mouthFunnel, arkitFacialValues.mouthFunnel);
-        SetWithShapeTypeWith(ARKitBlendShape.mouthPucker, arkitFacialValues.mouthPucker);
-
-        SetWithShapeTypeWith(ARKitBlendShape.mouthSmile_R, arkitFacialValues.mouthSmile_R);
-        SetWithShapeTypeWith(ARKitBlendShape.mouthSmile_L, arkitFacialValues.mouthSmile_L);
-
-        SetWithShapeTypeWith(ARKitBlendShape.mouthClose, arkitFacialValues.mouthClose);
-
-        SetWithShapeTypeWith(ARKitBlendShape.jaw_R, arkitFacialValues.jaw_R);
-        SetWithShapeTypeWith(ARKitBlendShape.jaw_L, arkitFacialValues.jaw_L);
-
-        SetWithShapeTypeWith(ARKitBlendShape.jawOpen, arkitFacialValues.jawOpen);
-        SetWithShapeTypeWith(ARKitBlendShape.jawForward, arkitFacialValues.jawForward);
-
-        SetWithShapeTypeWith(ARKitBlendShape.eyeLookUp_R, arkitFacialValues.eyeLookUp_R);
-        SetWithShapeTypeWith(ARKitBlendShape.eyeLookUp_L, arkitFacialValues.eyeLookUp_L);
-
-        SetWithShapeTypeWith(ARKitBlendShape.eyeLookOut_R, arkitFacialValues.eyeLookOut_R);
-        SetWithShapeTypeWith(ARKitBlendShape.eyeLookOut_L, arkitFacialValues.eyeLookOut_L);
-
-        SetWithShapeTypeWith(ARKitBlendShape.eyeLookIn_R, arkitFacialValues.eyeLookIn_R);
-        SetWithShapeTypeWith(ARKitBlendShape.eyeLookIn_L, arkitFacialValues.eyeLookIn_L);
-
-        SetWithShapeTypeWith(ARKitBlendShape.eyeLookDown_R, arkitFacialValues.eyeLookDown_R);
-        SetWithShapeTypeWith(ARKitBlendShape.eyeLookDown_L, arkitFacialValues.eyeLookDown_L);
-
-        SetWithShapeTypeWith(ARKitBlendShape.eyeSquint_R, arkitFacialValues.eyeSquint_R);
-        SetWithShapeTypeWith(ARKitBlendShape.eyeSquint_L, arkitFacialValues.eyeSquint_L);
-
-        SetWithShapeTypeWith(ARKitBlendShape.eyeWide_R, arkitFacialValues.eyeWide_R);
-        SetWithShapeTypeWith(ARKitBlendShape.eyeWide_L, arkitFacialValues.eyeWide_L);
-
-        SetWithShapeTypeWith(ARKitBlendShape.eyeBlink_R, arkitFacialValues.eyeBlink_R);
-        SetWithShapeTypeWith(ARKitBlendShape.eyeBlink_L, arkitFacialValues.eyeBlink_L);
-
-        SetWithShapeTypeWith(ARKitBlendShape.cheekSquint_R, arkitFacialValues.cheekSquint_R);
-        SetWithShapeTypeWith(ARKitBlendShape.cheekSquint_L, arkitFacialValues.cheekSquint_L);
-
-        SetWithShapeTypeWith(ARKitBlendShape.cheekPuff, arkitFacialValues.cheekPuff);
-
-        SetWithShapeTypeWith(ARKitBlendShape.browOuterUp_R, arkitFacialValues.browOuterUp_R);
-        SetWithShapeTypeWith(ARKitBlendShape.browOuterUp_L, arkitFacialValues.browOuterUp_L);
-
-        SetWithShapeTypeWith(ARKitBlendShape.browDown_R, arkitFacialValues.browDown_R);
-        SetWithShapeTypeWith(ARKitBlendShape.browDown_L, arkitFacialValues.browDown_L);
-
-        SetWithShapeTypeWith(ARKitBlendShape.browInnerUp, arkitFacialValues.browInnerUp);
-
-        SetWithShapeTypeWith(ARKitBlendShape.tongueOut, arkitFacialValues.tongueOut);
-        SetWithShapeTypeWith(ARKitBlendShape.mouthRollLower, arkitFacialValues.mouthRollLower);
-        SetWithShapeTypeWith(ARKitBlendShape.mouthRollUpper, arkitFacialValues.mouthRollUpper);
-        SetWithShapeTypeWith(ARKitBlendShape.mouthShrugLower, arkitFacialValues.mouthShrugLower);
-        SetWithShapeTypeWith(ARKitBlendShape.mouthShrugUpper, arkitFacialValues.mouthShrugUpper);
-
-    }
-
-    void SetWithShapeTypeWith(ARKitBlendShape shapeType, float value)
-    {
-        int targetBlendShapeIndex = indexList[(int)shapeType];
-        string targetBlendShapeName = blendShapeList[targetBlendShapeIndex];
-        var index = skin.sharedMesh.GetBlendShapeIndex(targetBlendShapeName);
-
-        if (index > 0)
-        {
-            skin.SetBlendShapeWeight(index, value);
-        }
-
-    }
-
-}
diff --git a/Assets/ZigSimFacialControl/Scripts/ARKitFacialValues.cs b/Assets/ZigSimFacialControl/Scripts/ARKitFacialValues.cs
deleted file mode 100644
index 0144280..0000000
--- a/Assets/ZigSimFacialControl/Scripts/ARKitFacialValues.cs
+++ /dev/null
@@ -1,420 +0,0 @@
-using ProjectBlue.FacialCapture;
-using System;
-using System.Text;
-using ZeroFormatter;
-
-[ZeroFormattable]
-public class ARKitFacialValues
-{
-    [Index(0)]
-    public virtual Single noseSneer_R { get; set; }
-    [Index(1)]
-    public virtual Single noseSneer_L { get; set; }
-    [Index(2)]
-    public virtual Single mouthUpperUp_R { get; set; }
-    [Index(3)]
-    public virtual Single mouthUpperUp_L { get; set; }
-    [Index(4)]
-    public virtual Single mouthLowerDown_R { get; set; }
-    [Index(5)]
-    public virtual Single mouthLowerDown_L { get; set; }
-    [Index(6)]
-    public virtual Single mouthPress_R { get; set; }
-    [Index(7)]
-    public virtual Single mouthPress_L { get; set; }
-    [Index(8)]
-    public virtual Single mouthStretch_R { get; set; }
-    [Index(9)]
-    public virtual Single mouthStretch_L { get; set; }
-    [Index(10)]
-    public virtual Single mouth_R { get; set; }
-    [Index(11)]
-    public virtual Single mouth_L { get; set; }
-    [Index(12)]
-    public virtual Single mouthDimple_R { get; set; }
-    [Index(13)]
-    public virtual Single mouthDimple_L { get; set; }
-    [Index(14)]
-    public virtual Single mouthFrown_R { get; set; }
-    [Index(15)]
-    public virtual Single mouthFrown_L { get; set; }
-    [Index(16)]
-    public virtual Single mouthFunnel { get; set; }
-    [Index(17)]
-    public virtual Single mouthPucker { get; set; }
-    [Index(18)]
-    public virtual Single mouthSmile_R { get; set; }
-    [Index(19)]
-    public virtual Single mouthSmile_L { get; set; }
-    [Index(20)]
-    public virtual Single mouthClose { get; set; }
-    [Index(21)]
-    public virtual Single jaw_R { get; set; }
-    [Index(22)]
-    public virtual Single jaw_L { get; set; }
-    [Index(23)]
-    public virtual Single jawOpen { get; set; }
-    [Index(24)]
-    public virtual Single jawForward { get; set; }
-    [Index(25)]
-    public virtual Single eyeLookUp_R { get; set; }
-    [Index(26)]
-    public virtual Single eyeLookUp_L { get; set; }
-    [Index(27)]
-    public virtual Single eyeLookOut_R { get; set; }
-    [Index(28)]
-    public virtual Single eyeLookOut_L { get; set; }
-    [Index(29)]
-    public virtual Single eyeLookIn_R { get; set; }
-    [Index(30)]
-    public virtual Single eyeLookIn_L { get; set; }
-    [Index(31)]
-    public virtual Single eyeLookDown_R { get; set; }
-    [Index(32)]
-    public virtual Single eyeLookDown_L { get; set; }
-    [Index(33)]
-    public virtual Single eyeSquint_R { get; set; }
-    [Index(34)]
-    public virtual Single eyeSquint_L { get; set; }
-    [Index(35)]
-    public virtual Single eyeWide_R { get; set; }
-    [Index(36)]
-    public virtual Single eyeWide_L { get; set; }
-    [Index(37)]
-    public virtual Single eyeBlink_R { get; set; }
-    [Index(38)]
-    public virtual Single eyeBlink_L { get; set; }
-    [Index(39)]
-    public virtual Single cheekSquint_R { get; set; }
-    [Index(40)]
-    public virtual Single cheekSquint_L { get; set; }
-    [Index(41)]
-    public virtual Single cheekPuff { get; set; }
-    [Index(42)]
-    public virtual Single browOuterUp_R { get; set; }
-    [Index(43)]
-    public virtual Single browOuterUp_L { get; set; }
-    [Index(44)]
-    public virtual Single browDown_R { get; set; }
-    [Index(45)]
-    public virtual Single browDown_L { get; set; }
-    [Index(46)]
-    public virtual Single browInnerUp { get; set; }
-    [Index(47)]
-    public virtual Single tongueOut { get; set; }
-    [Index(48)]
-    public virtual Single mouthRollLower { get; set; }
-    [Index(49)]
-    public virtual Single mouthRollUpper { get; set; }
-    [Index(50)]
-    public virtual Single mouthShrugLower { get; set; }
-    [Index(51)]
-    public virtual Single mouthShrugUpper { get; set; }
-
-    [Index(52)]
-    public virtual Int64 elapsedTicks { get; set; }
-
-
-    public void SetValueFromIndex(int index, float value)
-    {
-
-        switch (index)
-        {
-            case 0:
-                noseSneer_R = value;
-                break;
-            case 1:
-                noseSneer_L = value;
-                break;
-            case 2:
-                mouthUpperUp_R = value;
-                break;
-            case 3:
-                mouthUpperUp_L = value;
-                break;
-            case 4:
-                mouthLowerDown_R = value;
-                break;
-            case 5:
-                mouthLowerDown_L = value;
-                break;
-            case 6:
-                mouthPress_R = value;
-                break;
-            case 7:
-                mouthPress_L = value;
-                break;
-            case 8:
-                mouthStretch_R = value;
-                break;
-            case 9:
-                mouthStretch_L = value;
-                break;
-            case 10:
-                mouth_R = value;
-                break;
-            case 11:
-                mouth_L = value;
-                break;
-            case 12:
-                mouthDimple_R = value;
-                break;
-            case 13:
-                mouthDimple_L = value;
-                break;
-            case 14:
-                mouthFrown_R = value;
-                break;
-            case 15:
-                mouthFrown_L = value;
-                break;
-            case 16:
-                mouthFunnel = value;
-                break;
-            case 17:
-                mouthPucker = value;
-                break;
-            case 18:
-                mouthSmile_R = value;
-                break;
-            case 19:
-                mouthSmile_L = value;
-                break;
-            case 20:
-                mouthClose = value;
-                break;
-            case 21:
-                jaw_R = value;
-                break;
-            case 22:
-                jaw_L = value;
-                break;
-            case 23:
-                jawOpen = value;
-                break;
-            case 24:
-                jawForward = value;
-                break;
-            case 25:
-                eyeLookUp_R = value;
-                break;
-            case 26:
-                eyeLookUp_L = value;
-                break;
-            case 27:
-                eyeLookOut_R = value;
-                break;
-            case 28:
-                eyeLookOut_L = value;
-                break;
-            case 29:
-                eyeLookIn_R = value;
-                break;
-            case 30:
-                eyeLookIn_L = value;
-                break;
-            case 31:
-                eyeLookDown_R = value;
-                break;
-            case 32:
-                eyeLookDown_L = value;
-                break;
-            case 33:
-                eyeSquint_R = value;
-                break;
-            case 34:
-                eyeSquint_L = value;
-                break;
-            case 35:
-                eyeWide_R = value;
-                break;
-            case 36:
-                eyeWide_L = value;
-                break;
-            case 37:
-                eyeBlink_R = value;
-                break;
-            case 38:
-                eyeBlink_L = value;
-                break;
-            case 39:
-                cheekSquint_R = value;
-                break;
-            case 40:
-                cheekSquint_L = value;
-                break;
-            case 41:
-                cheekPuff = value;
-                break;
-            case 42:
-                browOuterUp_R = value;
-                break;
-            case 43:
-                browOuterUp_L = value;
-                break;
-            case 44:
-                browDown_R = value;
-                break;
-            case 45:
-                browDown_L = value;
-                break;
-            case 46:
-                browInnerUp = value;
-                break;
-            case 47:
-                tongueOut = value;
-                break;
-            case 48:
-                mouthRollLower = value;
-                break;
-            case 49:
-                mouthRollUpper = value;
-                break;
-            case 50:
-                mouthShrugLower = value;
-                break;
-            case 51:
-                mouthShrugUpper = value;
-                break;
-        }
-
-
-    }
-
-    public float GetValueFromIndex(int index)
-    {
-
-        switch (index)
-        {
-            case 0:
-                return noseSneer_R;
-            case 1:
-                return noseSneer_L;
-            case 2:
-                return mouthUpperUp_R;
-            case 3:
-                return mouthUpperUp_L;
-            case 4:
-                return mouthLowerDown_R;
-            case 5:
-                return mouthLowerDown_L;
-            case 6:
-                return mouthPress_R;
-            case 7:
-                return mouthPress_L;
-            case 8:
-                return mouthStretch_R;
-            case 9:
-                return mouthStretch_L;
-            case 10:
-                return mouth_R;
-            case 11:
-                return mouth_L;
-            case 12:
-                return mouthDimple_R;
-            case 13:
-                return mouthDimple_L;
-            case 14:
-                return mouthFrown_R;
-            case 15:
-                return mouthFrown_L;
-            case 16:
-                return mouthFunnel;
-            case 17:
-                return mouthPucker;
-            case 18:
-                return mouthSmile_R;
-            case 19:
-                return mouthSmile_L;
-            case 20:
-                return mouthClose;
-            case 21:
-                return jaw_R;
-            case 22:
-                return jaw_L;
-            case 23:
-                return jawOpen;
-            case 24:
-                return jawForward;
-            case 25:
-                return eyeLookUp_R;
-            case 26:
-                return eyeLookUp_L;
-            case 27:
-                return eyeLookOut_R;
-            case 28:
-                return eyeLookOut_L;
-            case 29:
-                return eyeLookIn_R;
-            case 30:
-                return eyeLookIn_L;
-            case 31:
-                return eyeLookDown_R;
-            case 32:
-                return eyeLookDown_L;
-            case 33:
-                return eyeSquint_R;
-            case 34:
-                return eyeSquint_L;
-            case 35:
-                return eyeWide_R;
-            case 36:
-                return eyeWide_L;
-            case 37:
-                return eyeBlink_R;
-            case 38:
-                return eyeBlink_L;
-            case 39:
-                return cheekSquint_R;
-            case 40:
-                return cheekSquint_L;
-            case 41:
-                return cheekPuff;
-            case 42:
-                return browOuterUp_R;
-            case 43:
-                return browOuterUp_L;
-            case 44:
-                return browDown_R;
-            case 45:
-                return browDown_L;
-            case 46:
-                return browInnerUp;
-            case 47:
-                return tongueOut;
-            case 48:
-                return mouthRollLower;
-            case 49:
-                return mouthRollUpper;
-            case 50:
-                return mouthShrugLower;
-            case 51:
-                return mouthShrugUpper;
-            default:
-                return 0;
-        }
-
-    }
-
-
-    public string ToString()
-    {
-
-        StringBuilder builder = new StringBuilder();
-
-        foreach (ARKitBlendShape blendShapeType in Enum.GetValues(typeof(ARKitBlendShape)))
-        {
-            int index = (int)blendShapeType;
-            float value = GetValueFromIndex(index);
-
-            string name = Enum.GetName(typeof(ARKitBlendShape), blendShapeType);
-
-            builder.Append($"{name} : {value.ToString()}\n");
-
-        }
-
-        return builder.ToString();
-    }
-
-
-}
diff --git a/Assets/ZigSimFacialControl/Scripts/ZigSimFacialControlUtility.cs b/Assets/ZigSimFacialControl/Scripts/ZigSimFacialControlUtility.cs
deleted file mode 100644
index 559f2a4..0000000
--- a/Assets/ZigSimFacialControl/Scripts/ZigSimFacialControlUtility.cs
+++ /dev/null
@@ -1,100 +0,0 @@
-using System;
-using System.Diagnostics;
-using System.IO;
-using UniRx;
-using ZeroFormatter;
-
-using Debug = UnityEngine.Debug;
-
-public class ARKitFacialRecorder : IDisposable
-{
-
-    
-    bool record = false;
-
-    Stopwatch stopwatch;
-
-    SingleAssignmentDisposable disposable = new SingleAssignmentDisposable();
-
-    public ARKitFacialRecorder()
-    {
-
-        stopwatch = new Stopwatch();
-
-        // disposable.Disposable = Observable.EveryUpdate().Subscribe(_ => RecordUpdate());
-
-        Observable
-                .OnceApplicationQuit()
-                .Subscribe(_ => Dispose());
-    }
-
-    MemoryStream memoryStream;
-
-    public void RecordUpdate(ARKitFacialValues arkitFacialValues)
-    {
-
-        if (!record) return;
-
-        var elapsedTicks = stopwatch.ElapsedTicks;
-
-        arkitFacialValues.elapsedTicks = elapsedTicks;
-
-        var bytes = ZeroFormatterSerializer.Serialize(arkitFacialValues);
-
-        memoryStream.Write(bytes, 0, bytes.Length);
-    }
-
-    public void StartRecording()
-    {
-
-        Debug.Log("Start");
-
-        if (!record)
-        {
-
-            record = true;
-
-            memoryStream = new MemoryStream();
-
-            stopwatch.Reset();
-            stopwatch.Start();
-        }
-
-    }
-
-    public void StopRecording()
-    {
-        if (!record) return;
-
-        record = false;
-
-        string savePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), $"record_{DateTime.Now.ToString("yyyy-dd-M--HH-mm-ss")}.bytes");
-
-        using (var fileStream = new FileStream(savePath, FileMode.CreateNew, FileAccess.ReadWrite))
-        {
-
-            if (memoryStream != null)
-            {
-
-                memoryStream.Position = 0;
-                memoryStream.CopyTo(fileStream);
-
-                Debug.Log($"File : {fileStream.Length}");
-
-                memoryStream.Close();
-                memoryStream = null;
-            }
-            
-        }
-
-        stopwatch.Stop();
-
-        Debug.Log("Stopped");
-    }
-
-    public void Dispose()
-    {
-        StopRecording();
-    }
-
-}
diff --git a/Assets/ZigSimFacialControl/Scripts/ZigSimFacialParameter.cs b/Assets/ZigSimFacialControl/Scripts/ZigSimFacialParameter.cs
deleted file mode 100644
index a3bf6b7..0000000
--- a/Assets/ZigSimFacialControl/Scripts/ZigSimFacialParameter.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-
-public enum ZigSimFacialBlendShapeType
-{
-
-
-    
-
-
-
-}
-
-
-
-
-public class ZigSimOsc
-{
-
-    public static readonly string ZigSimOscPath = "ZIGSIM";
-
-}
\ No newline at end of file
diff --git a/Assets/ZigSimFacialControl/Scripts/ZigSimFacialParameter.cs.meta b/Assets/ZigSimFacialControl/Scripts/ZigSimFacialParameter.cs.meta
deleted file mode 100644
index a2d7a15..0000000
--- a/Assets/ZigSimFacialControl/Scripts/ZigSimFacialParameter.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 52a7897395b4a0047ae4a327c92f1731
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/record_2020-17-7--06-12-25.bytes b/Assets/record_2020-17-7--06-12-25.bytes
deleted file mode 100644
index 87aa1d0..0000000
Binary files a/Assets/record_2020-17-7--06-12-25.bytes and /dev/null differ
diff --git a/Assets/record_2020-17-7--23-17-10.bytes b/Assets/record_2020-17-7--23-17-10.bytes
deleted file mode 100644
index ea6f5a9..0000000
Binary files a/Assets/record_2020-17-7--23-17-10.bytes and /dev/null differ
diff --git a/Assets/record_2020-18-7--02-38-07.bytes b/Assets/record_2020-18-7--02-38-07.bytes
deleted file mode 100644
index 55faed9..0000000
Binary files a/Assets/record_2020-18-7--02-38-07.bytes and /dev/null differ
diff --git a/LICENSE.md b/LICENSE.md
new file mode 100644
index 0000000..80e0109
--- /dev/null
+++ b/LICENSE.md
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2020 Kodai Takao - ProjectBLUE
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
\ No newline at end of file
diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset
index ad1d5cc..57a47cd 100644
--- a/ProjectSettings/EditorBuildSettings.asset
+++ b/ProjectSettings/EditorBuildSettings.asset
@@ -6,6 +6,6 @@ EditorBuildSettings:
   serializedVersion: 2
   m_Scenes:
   - enabled: 1
-    path: Assets/Scenes/RecorderScene.unity
+    path: Assets/Packages/ARKitFacialControl/Scenes/RecorderScene.unity
     guid: f3f94e97f5bc495478b71e8cc9fbf96a
   m_configObjects: {}
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..6623d85
--- /dev/null
+++ b/README.md
@@ -0,0 +1,60 @@
+# ARKit Facial Controller / Recorder
+
+![thumbnail](https://github.com/ProjectBLUE-000/Unity_ARKitFacialCapture/blob/master/Thumbnails/thumbnail.gif)
+
+## ZigSim Controller
+We can control character's blendshape with [ZigSim](https://zig-project.com/) OSC signals.
+
+### ARKit Facial Control script
+First, we have to register mappings between ARKit's blendshape and Character's blendshapes.
+Attatch a ARKitFacialControl.cs to arbitrary object.
+
+![ARKitFacialControl](https://github.com/ProjectBLUE-000/Unity_ARKitFacialCapture/blob/master/Thumbnails/ARKitFacialControl.png)
+
+And next, set a SkinnedMeshRenderer component you want to drive with ARKit and push update button.
+Then in the Blend Shape Mappting folding field, you should set all blendshape mappings and strength with each pulldown and float field.
+
+### ZigSim Facial Control script
+Second, we have to attatch a ZigSimFacialControl.cs to arbitrary object to communicate with ZigSim using OSC.
+
+![ZigSimFacialControl](https://github.com/ProjectBLUE-000/Unity_ARKitFacialCapture/blob/master/Thumbnails/ZigSimFacialControl.png)
+
+Set a open port number and ARKit Facial Control created in previous section.
+Text is for debbung use.
+
+Finally we can drive with character's blendshape with ZigSim.
+More information must be found in RecorderScene.unity.
+
+## Recorder
+ZigSimFacialControl.cs has a recording functionality.
+To record your facial expression, simply call Record Start/Stop function externally.
+
+In the sample scene, I called these functions with uGUI button components.
+![Record](https://github.com/ProjectBLUE-000/Unity_ARKitFacialCapture/blob/master/Thumbnails/Record.png)
+
+Recorded file (.byte) will be generated in user's Desktop when stop recording.
+
+## Player
+We can drive facial expression with recorded data.
+
+First, we need ARKitFacialControl component described in [ARKit Facial Control script section](# ARKit Facial Control script).
+
+![Player](https://github.com/ProjectBLUE-000/Unity_ARKitFacialCapture/blob/master/Thumbnails/Player.png)
+
+Attatch a FaceRecordDataReader.cs and fill Facial Control field with ARKitFacialControl component we created.
+And add recorded bytes files to your unity project, we can put these asset in Asset field.
+
+Once you chosed bytes file you want to playback, drag drop this GameObject to your timeline.
+Control Track will be automatically created and we can playback with moving timeline cursor.
+
+![Timeline](https://github.com/ProjectBLUE-000/Unity_ARKitFacialCapture/blob/master/Thumbnails/Timeline.png)
+
+# LICENSE
+This project is distributed as [MIT License](https://github.com/ProjectBLUE-000/Unity_ARKitFacialCapture/blob/master/LICENSE.md).
+
+But we use some package in this project, so please see each licence.md files.
+
+* OSC : [https://github.com/nobnak/unity-osc](https://github.com/nobnak/unity-osc)
+* UniRx : [https://github.com/neuecc/UniRx](https://github.com/neuecc/UniRx)
+* ZeroFormatter : [https://github.com/neuecc/ZeroFormatter](https://github.com/neuecc/ZeroFormatter)
+* Sloth Model : [https://github.com/Unity-Technologies/arfoundation-samples](https://github.com/Unity-Technologies/arfoundation-samples)
\ No newline at end of file
diff --git a/Thumbnails/ARKitFacialControl.png b/Thumbnails/ARKitFacialControl.png
new file mode 100644
index 0000000..db1ab89
--- /dev/null
+++ b/Thumbnails/ARKitFacialControl.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e748fc8b09e05dca58e4fcf93b02ded9c6c1385180f1471be17e5f2ffa64bc27
+size 145935
diff --git a/Thumbnails/Player.png b/Thumbnails/Player.png
new file mode 100644
index 0000000..cb46a33
--- /dev/null
+++ b/Thumbnails/Player.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:47725f2aa2e45a2cddc3472afb04cb0f3f6d761ecc2e38188400d88d5072d4bd
+size 16049
diff --git a/Thumbnails/Record.png b/Thumbnails/Record.png
new file mode 100644
index 0000000..a0001db
--- /dev/null
+++ b/Thumbnails/Record.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6905d16ca0154c854db03f2d60044e737abb95ccbec1f89cecbdb111a186a10b
+size 316197
diff --git a/Thumbnails/Timeline.png b/Thumbnails/Timeline.png
new file mode 100644
index 0000000..0ccc39c
--- /dev/null
+++ b/Thumbnails/Timeline.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0cfdc4cb550ede30e32be38559d570b5af3ae113ec828110a8f5aab1b81e2013
+size 152547
diff --git a/Thumbnails/ZigSimFacialControl.png b/Thumbnails/ZigSimFacialControl.png
new file mode 100644
index 0000000..86b8430
--- /dev/null
+++ b/Thumbnails/ZigSimFacialControl.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1c7c49a476bcde06170f9d04527bcc6a5e36f917f3f38702ca32dcc127788596
+size 9986
diff --git a/Thumbnails/thumbnail.gif b/Thumbnails/thumbnail.gif
new file mode 100644
index 0000000..58ca077
--- /dev/null
+++ b/Thumbnails/thumbnail.gif
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f2554beac572dc1590c2432183628b6bfd1e00d5b36144d7ad250840b12d264f
+size 3766116