summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-05-10 18:13:47 +0800
committerchai <chaifix@163.com>2021-05-10 18:13:47 +0800
commit8e9c0c1c401dede5f65dc9dc882044da171c3c62 (patch)
tree1b00e9ca72a8ca20080a8dbf55a8ff01f1ee5de1
parentdbbc74505e49659bae5b3125874125cd256f9c17 (diff)
+ BoundViewer
+ ModelUVViewer
-rw-r--r--CollectionProj/Assets/BoundViewer.meta (renamed from CollectionProj/Assets/Scenes.meta)2
-rw-r--r--CollectionProj/Assets/BoundViewer/BoundViewer.cs34
-rw-r--r--CollectionProj/Assets/BoundViewer/BoundViewer.cs.meta11
-rw-r--r--CollectionProj/Assets/BoundViewer/BoundViewer_Test.unity (renamed from CollectionProj/Assets/Scenes/SampleScene.unity)632
-rw-r--r--CollectionProj/Assets/BoundViewer/BoundViewer_Test.unity.meta (renamed from CollectionProj/Assets/Scenes/SampleScene.unity.meta)2
-rw-r--r--CollectionProj/Assets/ModelUVViewer.meta8
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Editor.meta8
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Editor/ModelUVViewer.cs421
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Editor/ModelUVViewer.cs.meta11
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09.meta8
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube.fbxbin0 -> 14300 bytes
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube.fbx.meta97
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube2.fbxbin0 -> 15340 bytes
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube2.fbx.meta97
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube2_02.fbxbin0 -> 15340 bytes
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube2_02.fbx.meta97
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube2_13.fbxbin0 -> 15340 bytes
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube2_13.fbx.meta97
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube3.fbxbin0 -> 15900 bytes
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube3.fbx.meta97
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Materials.meta8
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Materials/oil_refinery_09_diff.mat34
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Materials/oil_refinery_09_diff.mat.meta8
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Prefabs.meta8
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Prefabs/oil_refinery_09.prefab114
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Prefabs/oil_refinery_09.prefab.meta8
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures.meta8
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures/oil_refinery_09_diff.tgabin0 -> 16777260 bytes
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures/oil_refinery_09_diff.tga.meta88
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures/oil_refinery_09_nrm.tgabin0 -> 12582956 bytes
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures/oil_refinery_09_nrm.tga.meta88
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures/oil_refinery_09_spec.tgabin0 -> 12582956 bytes
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures/oil_refinery_09_spec.tga.meta88
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/oil_refinery_09.fbxbin0 -> 580336 bytes
-rw-r--r--CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/oil_refinery_09.fbx.meta126
-rw-r--r--Documents/代码列表.xlsxbin0 -> 10959 bytes
36 files changed, 1939 insertions, 261 deletions
diff --git a/CollectionProj/Assets/Scenes.meta b/CollectionProj/Assets/BoundViewer.meta
index 6d8dceb..0b2f517 100644
--- a/CollectionProj/Assets/Scenes.meta
+++ b/CollectionProj/Assets/BoundViewer.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 983745d960d27874098fe7fae0586b1d
+guid: a7b3c5b2ae15176449d39af2e2211607
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/CollectionProj/Assets/BoundViewer/BoundViewer.cs b/CollectionProj/Assets/BoundViewer/BoundViewer.cs
new file mode 100644
index 0000000..e883ba8
--- /dev/null
+++ b/CollectionProj/Assets/BoundViewer/BoundViewer.cs
@@ -0,0 +1,34 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class BoundViewer : MonoBehaviour
+{
+
+ private Mesh m_Mesh;
+
+ private void OnEnable()
+ {
+ if (m_Mesh != null)
+ return;
+ MeshFilter renderer = GetComponentInChildren<MeshFilter>();
+ if(renderer)
+ {
+ m_Mesh = renderer.sharedMesh;
+ }
+ }
+
+ public void OnDrawGizmos()
+ {
+ OnEnable();
+ if (m_Mesh != null)
+ {
+ Bounds bound = m_Mesh.bounds;
+ bound.center = Vector3.Scale(bound.center, transform.localScale) + transform.position;
+ bound.size = Vector3.Scale(bound.size, transform.localScale);
+ Gizmos.DrawWireCube(bound.center, bound.size);
+ UnityEditor.Handles.Label(transform.position, bound.size.ToString());
+ }
+ }
+
+}
diff --git a/CollectionProj/Assets/BoundViewer/BoundViewer.cs.meta b/CollectionProj/Assets/BoundViewer/BoundViewer.cs.meta
new file mode 100644
index 0000000..4a13821
--- /dev/null
+++ b/CollectionProj/Assets/BoundViewer/BoundViewer.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: df642a63a3dc3554896b906373599a7b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/CollectionProj/Assets/Scenes/SampleScene.unity b/CollectionProj/Assets/BoundViewer/BoundViewer_Test.unity
index 73f837d..77ce938 100644
--- a/CollectionProj/Assets/Scenes/SampleScene.unity
+++ b/CollectionProj/Assets/BoundViewer/BoundViewer_Test.unity
@@ -1,259 +1,373 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!29 &1
-OcclusionCullingSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_OcclusionBakeSettings:
- smallestOccluder: 5
- smallestHole: 0.25
- backfaceThreshold: 100
- m_SceneGUID: 00000000000000000000000000000000
- m_OcclusionCullingData: {fileID: 0}
---- !u!104 &2
-RenderSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 9
- m_Fog: 0
- m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
- m_FogMode: 3
- m_FogDensity: 0.01
- m_LinearFogStart: 0
- m_LinearFogEnd: 300
- m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
- m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
- m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
- m_AmbientIntensity: 1
- m_AmbientMode: 0
- m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
- m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
- m_HaloStrength: 0.5
- m_FlareStrength: 1
- m_FlareFadeSpeed: 3
- m_HaloTexture: {fileID: 0}
- m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
- m_DefaultReflectionMode: 0
- m_DefaultReflectionResolution: 128
- m_ReflectionBounces: 1
- m_ReflectionIntensity: 1
- m_CustomReflection: {fileID: 0}
- m_Sun: {fileID: 705507994}
- m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1}
- m_UseRadianceAmbientProbe: 0
---- !u!157 &3
-LightmapSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 11
- m_GIWorkflowMode: 1
- m_GISettings:
- serializedVersion: 2
- m_BounceScale: 1
- m_IndirectOutputScale: 1
- m_AlbedoBoost: 1
- m_TemporalCoherenceThreshold: 1
- m_EnvironmentLightingMode: 0
- m_EnableBakedLightmaps: 1
- m_EnableRealtimeLightmaps: 0
- m_LightmapEditorSettings:
- serializedVersion: 10
- m_Resolution: 2
- m_BakeResolution: 40
- m_AtlasSize: 1024
- m_AO: 0
- m_AOMaxDistance: 1
- m_CompAOExponent: 1
- m_CompAOExponentDirect: 0
- m_Padding: 2
- m_LightmapParameters: {fileID: 0}
- m_LightmapsBakeMode: 1
- m_TextureCompression: 1
- m_FinalGather: 0
- m_FinalGatherFiltering: 1
- m_FinalGatherRayCount: 256
- m_ReflectionCompression: 2
- m_MixedBakeMode: 2
- m_BakeBackend: 1
- m_PVRSampling: 1
- m_PVRDirectSampleCount: 32
- m_PVRSampleCount: 500
- m_PVRBounces: 2
- m_PVRFilterTypeDirect: 0
- m_PVRFilterTypeIndirect: 0
- m_PVRFilterTypeAO: 0
- m_PVRFilteringMode: 1
- m_PVRCulling: 1
- m_PVRFilteringGaussRadiusDirect: 1
- m_PVRFilteringGaussRadiusIndirect: 5
- m_PVRFilteringGaussRadiusAO: 2
- m_PVRFilteringAtrousPositionSigmaDirect: 0.5
- m_PVRFilteringAtrousPositionSigmaIndirect: 2
- m_PVRFilteringAtrousPositionSigmaAO: 1
- m_ShowResolutionOverlay: 1
- m_LightingDataAsset: {fileID: 0}
- m_UseShadowmask: 1
---- !u!196 &4
-NavMeshSettings:
- serializedVersion: 2
- m_ObjectHideFlags: 0
- m_BuildSettings:
- serializedVersion: 2
- agentTypeID: 0
- agentRadius: 0.5
- agentHeight: 2
- agentSlope: 45
- agentClimb: 0.4
- ledgeDropHeight: 0
- maxJumpAcrossDistance: 0
- minRegionArea: 2
- manualCellSize: 0
- cellSize: 0.16666667
- manualTileSize: 0
- tileSize: 256
- accuratePlacement: 0
- debug:
- m_Flags: 0
- m_NavMeshData: {fileID: 0}
---- !u!1 &705507993
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 705507995}
- - component: {fileID: 705507994}
- 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 &705507994
-Light:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
- m_GameObject: {fileID: 705507993}
- m_Enabled: 1
- serializedVersion: 8
- m_Type: 1
- m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
- m_Intensity: 1
- m_Range: 10
- m_SpotAngle: 30
- 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_Cookie: {fileID: 0}
- m_DrawHalo: 0
- m_Flare: {fileID: 0}
- m_RenderMode: 0
- m_CullingMask:
- serializedVersion: 2
- m_Bits: 4294967295
- m_Lightmapping: 1
- m_LightShadowCasterMode: 0
- m_AreaSize: {x: 1, y: 1}
- m_BounceIntensity: 1
- m_ColorTemperature: 6570
- m_UseColorTemperature: 0
- m_ShadowRadius: 0
- m_ShadowAngle: 0
---- !u!4 &705507995
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
- m_GameObject: {fileID: 705507993}
- 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!1 &963194225
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 963194228}
- - component: {fileID: 963194227}
- - component: {fileID: 963194226}
- 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 &963194226
-AudioListener:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
- m_GameObject: {fileID: 963194225}
- m_Enabled: 1
---- !u!20 &963194227
-Camera:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
- m_GameObject: {fileID: 963194225}
- m_Enabled: 1
- serializedVersion: 2
- m_ClearFlags: 1
- m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
- m_projectionMatrixMode: 1
- m_SensorSize: {x: 36, y: 24}
- m_LensShift: {x: 0, y: 0}
- m_GateFitMode: 2
- m_FocalLength: 50
- m_NormalizedViewPortRect:
- serializedVersion: 2
- x: 0
- y: 0
- width: 1
- height: 1
- near clip plane: 0.3
- far clip plane: 1000
- field of view: 60
- orthographic: 0
- orthographic size: 5
- m_Depth: -1
- m_CullingMask:
- serializedVersion: 2
- m_Bits: 4294967295
- m_RenderingPath: -1
- m_TargetTexture: {fileID: 0}
- m_TargetDisplay: 0
- m_TargetEye: 3
- m_HDR: 1
- m_AllowMSAA: 1
- m_AllowDynamicResolution: 0
- m_ForceIntoRT: 0
- m_OcclusionCulling: 1
- m_StereoConvergence: 10
- m_StereoSeparation: 0.022
---- !u!4 &963194228
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
- m_GameObject: {fileID: 963194225}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 1, z: -10}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_Children: []
- m_Father: {fileID: 0}
- m_RootOrder: 0
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 9
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.01
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+ m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+ m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 0
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+ m_HaloStrength: 0.5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 11
+ m_GIWorkflowMode: 1
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 1
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 12
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_AtlasSize: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_ExtractAmbientOcclusion: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 1
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 512
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 256
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 1
+ m_PVRDenoiserTypeDirect: 1
+ m_PVRDenoiserTypeIndirect: 1
+ m_PVRDenoiserTypeAO: 1
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
+ m_LightingDataAsset: {fileID: 0}
+ m_UseShadowmask: 1
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 2
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.4
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ minRegionArea: 2
+ manualCellSize: 0
+ cellSize: 0.16666667
+ manualTileSize: 0
+ tileSize: 256
+ accuratePlacement: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &577176758
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 577176761}
+ - component: {fileID: 577176760}
+ - component: {fileID: 577176759}
+ 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 &577176759
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 577176758}
+ m_Enabled: 1
+--- !u!20 &577176760
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 577176758}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 1
+ m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+ m_projectionMatrixMode: 1
+ m_GateFitMode: 2
+ m_FOVAxisMode: 0
+ m_SensorSize: {x: 36, y: 24}
+ m_LensShift: {x: 0, y: 0}
+ m_FocalLength: 50
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.3
+ far clip plane: 1000
+ field of view: 60
+ orthographic: 0
+ orthographic size: 5
+ m_Depth: -1
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingPath: -1
+ m_TargetTexture: {fileID: 0}
+ m_TargetDisplay: 0
+ m_TargetEye: 3
+ m_HDR: 1
+ m_AllowMSAA: 1
+ m_AllowDynamicResolution: 0
+ m_ForceIntoRT: 0
+ m_OcclusionCulling: 1
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+--- !u!4 &577176761
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 577176758}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 1, z: -10}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &672262070
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 672262072}
+ - component: {fileID: 672262071}
+ 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 &672262071
+Light:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 672262070}
+ 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 &672262072
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 672262070}
+ 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 &1449717241
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 100000, guid: 139350fa370c32f418d8eb7bae022427, type: 3}
+ propertyPath: m_Name
+ value: oil_refinery_09
+ objectReference: {fileID: 0}
+ - target: {fileID: 400000, guid: 139350fa370c32f418d8eb7bae022427, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 26.133648
+ objectReference: {fileID: 0}
+ - target: {fileID: 400000, guid: 139350fa370c32f418d8eb7bae022427, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 12.686165
+ objectReference: {fileID: 0}
+ - target: {fileID: 400000, guid: 139350fa370c32f418d8eb7bae022427, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 16.838438
+ objectReference: {fileID: 0}
+ - target: {fileID: 400000, guid: 139350fa370c32f418d8eb7bae022427, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 400000, guid: 139350fa370c32f418d8eb7bae022427, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 400000, guid: 139350fa370c32f418d8eb7bae022427, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 400000, guid: 139350fa370c32f418d8eb7bae022427, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 400000, guid: 139350fa370c32f418d8eb7bae022427, type: 3}
+ propertyPath: m_RootOrder
+ value: 2
+ objectReference: {fileID: 0}
+ - target: {fileID: 400000, guid: 139350fa370c32f418d8eb7bae022427, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 400000, guid: 139350fa370c32f418d8eb7bae022427, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 400000, guid: 139350fa370c32f418d8eb7bae022427, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 139350fa370c32f418d8eb7bae022427, type: 3}
+--- !u!1 &1449717242 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 100000, guid: 139350fa370c32f418d8eb7bae022427,
+ type: 3}
+ m_PrefabInstance: {fileID: 1449717241}
+ m_PrefabAsset: {fileID: 0}
+--- !u!114 &1449717243
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1449717242}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: df642a63a3dc3554896b906373599a7b, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
diff --git a/CollectionProj/Assets/Scenes/SampleScene.unity.meta b/CollectionProj/Assets/BoundViewer/BoundViewer_Test.unity.meta
index 952bd1e..da19b75 100644
--- a/CollectionProj/Assets/Scenes/SampleScene.unity.meta
+++ b/CollectionProj/Assets/BoundViewer/BoundViewer_Test.unity.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 9fc0d4010bbf28b4594072e72b8655ab
+guid: bb3324efa8e9c144181d01ce11e61e2a
DefaultImporter:
externalObjects: {}
userData:
diff --git a/CollectionProj/Assets/ModelUVViewer.meta b/CollectionProj/Assets/ModelUVViewer.meta
new file mode 100644
index 0000000..f2ac988
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 70d9af33df72f6a4da701a0ae2313e24
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/CollectionProj/Assets/ModelUVViewer/Editor.meta b/CollectionProj/Assets/ModelUVViewer/Editor.meta
new file mode 100644
index 0000000..3291e9f
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a0a2833964678d745b75abcd1f64bd44
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/CollectionProj/Assets/ModelUVViewer/Editor/ModelUVViewer.cs b/CollectionProj/Assets/ModelUVViewer/Editor/ModelUVViewer.cs
new file mode 100644
index 0000000..3e95eac
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Editor/ModelUVViewer.cs
@@ -0,0 +1,421 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEditor;
+using System.IO;
+
+
+namespace UVViwer
+{
+ internal class PostProcessingMesh : AssetPostprocessor
+ {
+ void OnPreprocessModel()
+ {
+ if (ModelUVViewer.s_Editor == null)
+ return;
+ ModelImporter modelImporter = assetImporter as ModelImporter;
+ string path = modelImporter.assetPath;
+ string GUID = AssetDatabase.AssetPathToGUID(path);
+ if (ModelUVViewer.s_Guid == GUID)
+ {
+ ModelUVViewer.ForceRepaint();
+ }
+ }
+
+ void OnPostprocessModel(GameObject go)
+ {
+ //return;
+ Mesh mesh = go.GetComponent<MeshFilter>().sharedMesh;
+ if (mesh)
+ {
+ Vector2[] uvs = mesh.uv2;
+ for (int i = 0; i < uvs.Length; ++i)
+ {
+ Vector2 uv = uvs[i];
+ uv.x = Mathf.Clamp(uv.x, 0, 1);
+ uv.y = Mathf.Clamp(uv.y, 0, 1);
+ uvs[i] = uv;
+ }
+ mesh.uv2 = uvs;
+ }
+ }
+
+ }
+
+ public class ModelUVViewer : EditorWindow
+ {
+ [MenuItem("Assets/Model UV Viewer", true)]
+ static bool TryOpenModelUVViewer()
+ {
+ string[] guids = Selection.assetGUIDs;
+ if (guids == null || guids.Length == 0)
+ return false;
+ for (int i = 0; i < guids.Length; ++i)
+ {
+ string guid = guids[i];
+ string path = AssetDatabase.GUIDToAssetPath(guid);
+ string extension = Path.GetExtension(path).ToLower();
+ if (extension != ".fbx")
+ return false;
+ }
+ return true;
+ }
+
+ [MenuItem("Assets/Model UV Viewer", false)]
+ static void OpenModelUVViewer()
+ {
+ string[] guids = Selection.assetGUIDs;
+ s_Mesh.Clear();
+ s_MeshToAsset = new Dictionary<int, string>();
+ foreach (string guid in guids)
+ {
+ string path = AssetDatabase.GUIDToAssetPath(guid);
+ Mesh mesh = AssetDatabase.LoadAssetAtPath(path, typeof(Mesh)) as Mesh;
+ if (mesh != null)
+ {
+ s_Mesh.Add(mesh);
+ s_MeshToAsset.Add(mesh.GetHashCode(), guid);
+ }
+ }
+
+#if UNITY_2020 || UNITY_2021 || UNITY_2019
+ if (!HasOpenInstances<ModelUVViewer>() || s_Editor == null)
+#else
+ if (s_Editor == null)
+#endif
+ {
+ s_Editor = GetWindow<ModelUVViewer>();
+ s_Editor.titleContent = new GUIContent("Model UV Viewer");
+ s_Editor.Show();
+ }
+
+ s_Editor.Focus();
+ s_Selcted = string.Empty;
+ s_TargetTexture = null;
+ if (s_Mat == null)
+ {
+ s_Mat = new Material(Shader.Find("UI/Default"));
+ }
+ if (s_UVMesh == null)
+ {
+ s_UVMesh = new Mesh();
+ }
+ s_HashCode = 0;
+ s_TillingOffset = new Rect(0, 0, 1, 1);
+ }
+
+ public static ModelUVViewer s_Editor;
+ static List<Mesh> s_Mesh = new List<Mesh>();
+
+ static string s_Selcted;
+ static int s_HashCode;
+
+ public static string s_Guid
+ {
+ get
+ {
+ if (s_HashCode == 0)
+ return string.Empty;
+ string guid;
+ if (s_MeshToAsset.TryGetValue(s_HashCode, out guid))
+ return guid;
+ return string.Empty;
+ }
+ }
+
+ static Texture2D s_TargetTexture;
+
+ static int s_Size = 500;
+
+ static Vector2[] s_UV;
+
+ // 性能太低
+ //static Vector2[] s_UV
+ //{
+ // get
+ // {
+ // Mesh mesh = GetMeshByHashCode(s_HashCode);
+ // if (mesh == null)
+ // return null;
+ // return GetMeshUV(mesh, s_UVIndex);
+ // }
+ //}
+
+ static int s_UVIndex;
+
+ static Material s_Mat;
+
+ static Mesh s_UVMesh;
+
+ static Rect s_TillingOffset;
+
+ static GUIStyle s_SelectStyle;
+ static GUIStyle s_AlignRightText;
+
+ public static Dictionary<int, string> s_MeshToAsset = new Dictionary<int, string>();
+
+ static IEnumerator s_ReloadUV;
+
+ static bool s_HasWarning
+ {
+ get
+ {
+ return s_Warning != null && s_Warning != string.Empty && s_Warning.Length > 0;
+ }
+ }
+ static string s_Warning;
+
+ private void OnGUI()
+ {
+ if (s_Editor == null)
+ return;
+ if (s_Mesh == null || s_Mesh.Count == 0)
+ return;
+
+ if (s_SelectStyle == null)
+ {
+ s_SelectStyle = new GUIStyle(EditorStyles.miniButtonMid);
+ s_SelectStyle.normal.background = EditorStyles.miniButtonMid.active.background;
+ s_SelectStyle.normal.scaledBackgrounds = EditorStyles.miniButtonMid.active.scaledBackgrounds;
+ }
+
+ if(s_AlignRightText == null)
+ {
+ s_AlignRightText = new GUIStyle(EditorStyles.label);
+ s_AlignRightText.alignment = TextAnchor.MiddleRight;
+ }
+
+ if (Event.current.isScrollWheel)
+ {
+ Vector2 delta = Event.current.delta;
+ float dy = delta.y;
+ s_Size -= (int)dy * 10;
+ s_Size = Mathf.Clamp(s_Size, 350, 1000);
+ this.Repaint();
+ }
+
+ int xOff = 10;
+ int yOff = 10;
+ EditorGUILayout.Space();
+ EditorGUILayout.HelpBox("查看模型的UV", MessageType.Info);
+ EditorGUILayout.Space();
+ if(s_HasWarning)
+ {
+ EditorGUILayout.HelpBox(s_Warning, MessageType.Warning);
+ EditorGUILayout.Space();
+ }
+ yOff = (int)EditorGUILayout.GetControlRect().y;
+
+ for (int i = 0; i < s_Mesh.Count; ++i)
+ {
+ Mesh mesh = s_Mesh[i];
+ if (mesh == null)
+ continue;
+ s_Mesh[i] = ShowMeshItem(mesh, i, new Rect(xOff, yOff, 200, 16));
+ yOff += 25;
+ }
+
+ GUI.Label(new Rect(xOff, yOff, 100, 20), "选择贴图:");
+ yOff += 5;
+ s_TargetTexture = EditorGUI.ObjectField(new Rect(xOff + 100, yOff, 60, 60), s_TargetTexture, typeof(Texture2D), false) as Texture2D;
+
+ Vector2 tilling = new Vector2(s_TillingOffset.width, s_TillingOffset.height);
+ Vector2 offset = new Vector2(s_TillingOffset.x, s_TillingOffset.y);
+ tilling = EditorGUI.Vector2Field(new Rect(xOff + 170, yOff - 5, 200, 20), "Tilling", tilling);
+ offset = EditorGUI.Vector2Field(new Rect(xOff + 170, yOff + 30, 200, 20), "Offset", offset);
+ s_TillingOffset.x = offset.x;
+ s_TillingOffset.y = offset.y;
+ s_TillingOffset.width = tilling.x;
+ s_TillingOffset.height = tilling.y;
+
+ yOff += 75;
+
+ s_Size = EditorGUI.IntSlider(new Rect(xOff, yOff, 200, 20), s_Size, 350, 1000);
+ EditorGUI.LabelField(new Rect(xOff + 203, yOff, 50, 20), "texels");
+
+ yOff += 25;
+
+ int previewYOff = yOff;
+
+ if (s_TargetTexture != null)
+ GUI.DrawTextureWithTexCoords(new Rect(xOff, yOff, s_Size, s_Size), s_TargetTexture, s_TillingOffset, false);
+ // EditorGUI.DrawPreviewTexture(new Rect(xOff, yOff, s_Size, s_Size), s_TargetTexture/*, s_TillingOffset, false*/);
+ else
+ GUI.DrawTextureWithTexCoords(new Rect(xOff, yOff, s_Size, s_Size), Texture2D.blackTexture, s_TillingOffset, false);
+
+ if (s_Selcted != string.Empty && s_Selcted != "")
+ {
+ int hashCode = int.Parse(s_Selcted.Substring(0, s_Selcted.LastIndexOf("_")));
+ Mesh mesh = GetMeshByHashCode(hashCode);
+ if (mesh != null)
+ {
+ string uvi = s_Selcted.Substring(s_Selcted.LastIndexOf("_") + 1, s_Selcted.Length - s_Selcted.LastIndexOf("_") - 1);
+
+ GUI.Label(new Rect(xOff + s_Size - 200, yOff - 25, 200, 20), mesh.name + "." + uvi, s_AlignRightText);
+
+ yOff += 25;
+
+ if (s_UV != null && s_UV.Length > 0 && s_Mat != null)
+ {
+
+ if (s_UVMesh == null)
+ s_UVMesh = new Mesh();
+ if (s_UVMesh.vertices == null || s_UVMesh.vertices.Length == 0)
+ {
+ Vector3[] vertices = new Vector3[mesh.vertices.Length];
+ for (int i = 0; i < vertices.Length; ++i)
+ {
+ Vector2 uv = s_UV[i];
+ if ((uv.x > 1 || uv.y > 1 || uv.x < 0 || uv.y < 0) && !s_HasWarning)
+ s_Warning = "这套UV有超过[0,1]范围的值";
+ vertices[i] = new Vector3(uv.x, 1 - uv.y, 0);
+ }
+ s_UVMesh.vertices = vertices;
+ s_UVMesh.triangles = mesh.triangles;
+ s_UVMesh.UploadMeshData(true);
+ }
+ s_Mat.SetPass(0);
+ s_Mat.SetColor("_Color", Color.yellow);
+ GL.wireframe = true;
+ Graphics.DrawMeshNow(s_UVMesh, Matrix4x4.TRS(new Vector3(xOff, previewYOff, 0), Quaternion.identity, new Vector3(s_Size, s_Size, 1)));
+ GL.wireframe = false;
+ }
+ }
+ }
+ if (s_ReloadUV != null)
+ {
+ if (!s_ReloadUV.MoveNext())
+ {
+ s_ReloadUV = null;
+ }
+ }
+ }
+
+ private Mesh ShowMeshItem(Mesh mesh, int index, Rect rect)
+ {
+ Mesh newMesh = EditorGUI.ObjectField(rect, mesh, typeof(Mesh), false) as Mesh;
+ if (newMesh != mesh)
+ return newMesh;
+
+ float xOff = rect.x + rect.width + 10;
+ float yOff = rect.y;
+
+ int hashCode = mesh.GetHashCode();
+
+ xOff = ShowUVButton(1, hashCode, "uv", mesh.uv, new Rect(xOff, yOff, 50, 16));
+ xOff = ShowUVButton(2, hashCode, "uv2", mesh.uv2, new Rect(xOff, yOff, 50, 16));
+ xOff = ShowUVButton(3, hashCode, "uv3", mesh.uv3, new Rect(xOff, yOff, 50, 16));
+ xOff = ShowUVButton(4, hashCode, "uv4", mesh.uv4, new Rect(xOff, yOff, 50, 16));
+#if UNITY_2020 || UNITY_2021 || UNITY_2019
+ xOff = ShowUVButton(5,hashCode, "uv5", mesh.uv5, new Rect(xOff, yOff, 50, 20));
+ xOff = ShowUVButton(6,hashCode, "uv6", mesh.uv6, new Rect(xOff, yOff, 50, 20));
+ xOff = ShowUVButton(7,hashCode, "uv7", mesh.uv7, new Rect(xOff, yOff, 50, 20));
+ xOff = ShowUVButton(8,hashCode, "uv8", mesh.uv8, new Rect(xOff, yOff, 50, 20));
+#endif
+
+ return mesh;
+ }
+
+ private float ShowUVButton(int index, int hashCode, string name, Vector2[] uv, Rect rect)
+ {
+ if (uv == null || uv.Length == 0)
+ {
+ rect.x += 50;
+ return rect.x;
+ }
+
+ bool isThis = s_Selcted == hashCode + "_" + name;
+#if UNITY_2020 || UNITY_2021 || UNITY_2019
+ Color c = GUI.color;
+ if(isThis) GUI.color = Color.gray;
+ if (GUI.Button(rect, name, EditorStyles.miniButtonMid))
+#else
+ if (GUI.Button(rect, name, isThis ? s_SelectStyle : EditorStyles.miniButtonMid))
+#endif
+ {
+ if (isThis)
+ {
+ s_UV = null;
+ s_UVIndex = 0;
+ s_Selcted = string.Empty;
+ s_HashCode = 0;
+ s_UVMesh = null;
+ s_Warning = "";
+ }
+ else
+ {
+ s_UV = uv;
+ s_UVIndex = index;
+ s_HashCode = hashCode;
+ s_Selcted = hashCode + "_" + name;
+ s_UVMesh = null;
+ s_Warning = "";
+ }
+ }
+#if UNITY_2020 || UNITY_2021 || UNITY_2019
+ GUI.color = c;
+#endif
+
+ rect.x += 50;
+ return rect.x;
+ }
+
+ static Vector2[] GetMeshUV(Mesh mesh, int i)
+ {
+ switch (i)
+ {
+ case 1: return mesh.uv;
+ case 2: return mesh.uv2;
+ case 3: return mesh.uv3;
+ case 4: return mesh.uv4;
+#if UNITY_2020 || UNITY_2021 || UNITY_2019
+ case 5: return mesh.uv5;
+ case 6: return mesh.uv6;
+ case 7: return mesh.uv7;
+ case 8: return mesh.uv8;
+#endif
+ default:
+ Debug.LogError("InValid uv index");
+ return null;
+ }
+
+ }
+
+ static Mesh GetMeshByHashCode(int hashCode)
+ {
+ foreach (var mesh in s_Mesh)
+ {
+ if (mesh.GetHashCode() == hashCode)
+ {
+ return mesh;
+ }
+ }
+ return null;
+ }
+
+ public static void ForceRepaint()
+ {
+ if (s_Editor != null)
+ {
+ s_Editor.Repaint();
+ s_ReloadUV = ReloadUVNextFrame();
+ s_ReloadUV.MoveNext();
+ }
+ }
+
+ // 需要等到导入mesh之后的下一帧才能得到最新的UV数据
+ static IEnumerator ReloadUVNextFrame()
+ {
+ yield return null;
+ Mesh mesh = GetMeshByHashCode(s_HashCode);
+ if (mesh != null)
+ {
+ s_UVMesh = null;
+ s_UV = GetMeshUV(mesh, s_UVIndex);
+ s_Warning = "";
+ }
+ }
+
+ }
+
+} \ No newline at end of file
diff --git a/CollectionProj/Assets/ModelUVViewer/Editor/ModelUVViewer.cs.meta b/CollectionProj/Assets/ModelUVViewer/Editor/ModelUVViewer.cs.meta
new file mode 100644
index 0000000..f3823e9
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Editor/ModelUVViewer.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e4acb38020275944bb75a749ee8eb429
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09.meta b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09.meta
new file mode 100644
index 0000000..0e330df
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: cf4084126ae057341b5667eb7adc826d
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube.fbx b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube.fbx
new file mode 100644
index 0000000..a25c921
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube.fbx
Binary files differ
diff --git a/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube.fbx.meta b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube.fbx.meta
new file mode 100644
index 0000000..7dac44a
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube.fbx.meta
@@ -0,0 +1,97 @@
+fileFormatVersion: 2
+guid: e844836f25841324dac8c89a76c7aaca
+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: 1
+ useFileUnits: 1
+ keepQuads: 0
+ weldVertices: 1
+ preserveHierarchy: 0
+ skinWeightsMode: 0
+ maxBonesPerVertex: 4
+ minBoneWeight: 0.001
+ meshOptimizationFlags: -1
+ indexFormat: 0
+ secondaryUVAngleDistortion: 8
+ secondaryUVAreaDistortion: 15
+ secondaryUVHardAngle: 67
+ secondaryUVPackMargin: 14
+ 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/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube2.fbx b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube2.fbx
new file mode 100644
index 0000000..8d8dbd5
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube2.fbx
Binary files differ
diff --git a/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube2.fbx.meta b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube2.fbx.meta
new file mode 100644
index 0000000..a3e73ae
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube2.fbx.meta
@@ -0,0 +1,97 @@
+fileFormatVersion: 2
+guid: 329a01ba2216d8f42bf307b7d05a2394
+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: 1
+ 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/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube2_02.fbx b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube2_02.fbx
new file mode 100644
index 0000000..f71a839
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube2_02.fbx
Binary files differ
diff --git a/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube2_02.fbx.meta b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube2_02.fbx.meta
new file mode 100644
index 0000000..88cc8a3
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube2_02.fbx.meta
@@ -0,0 +1,97 @@
+fileFormatVersion: 2
+guid: fb04d4635683a0848ab3a99029b0cc94
+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/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube2_13.fbx b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube2_13.fbx
new file mode 100644
index 0000000..98b16cb
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube2_13.fbx
Binary files differ
diff --git a/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube2_13.fbx.meta b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube2_13.fbx.meta
new file mode 100644
index 0000000..f7273d1
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube2_13.fbx.meta
@@ -0,0 +1,97 @@
+fileFormatVersion: 2
+guid: a0f366de3bb69e74899ef23b449b5b20
+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/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube3.fbx b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube3.fbx
new file mode 100644
index 0000000..db58e6e
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube3.fbx
Binary files differ
diff --git a/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube3.fbx.meta b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube3.fbx.meta
new file mode 100644
index 0000000..1c021f7
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Cube3.fbx.meta
@@ -0,0 +1,97 @@
+fileFormatVersion: 2
+guid: 6fcff11a7e131804c958d9bd8173f2ed
+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: 1
+ useFileUnits: 1
+ keepQuads: 0
+ weldVertices: 1
+ preserveHierarchy: 0
+ skinWeightsMode: 0
+ maxBonesPerVertex: 4
+ minBoneWeight: 0.001
+ meshOptimizationFlags: -1
+ indexFormat: 0
+ secondaryUVAngleDistortion: 8
+ secondaryUVAreaDistortion: 15
+ secondaryUVHardAngle: 50
+ secondaryUVPackMargin: 14
+ 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/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Materials.meta b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Materials.meta
new file mode 100644
index 0000000..0c98c7f
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Materials.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a067855c81d613d4c8c5ba5a37d4e42a
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Materials/oil_refinery_09_diff.mat b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Materials/oil_refinery_09_diff.mat
new file mode 100644
index 0000000..e2bcc9e
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Materials/oil_refinery_09_diff.mat
@@ -0,0 +1,34 @@
+%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: oil_refinery_09_diff
+ m_Shader: {fileID: 4, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 2800000, guid: 6b4cc5c7898088a419e0e7849b296642, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 2800000, guid: 4dc74c74c3fc3e742973e051645df04e, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _Shininess: 0.078125
+ m_Colors:
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _SpecColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
diff --git a/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Materials/oil_refinery_09_diff.mat.meta b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Materials/oil_refinery_09_diff.mat.meta
new file mode 100644
index 0000000..c31bef9
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Materials/oil_refinery_09_diff.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 69bb0fd7fafac5940a9d6e5199a0af46
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Prefabs.meta b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Prefabs.meta
new file mode 100644
index 0000000..47c7d76
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Prefabs.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: cf0ab6828ff77f34cb94ace8034c1fe0
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Prefabs/oil_refinery_09.prefab b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Prefabs/oil_refinery_09.prefab
new file mode 100644
index 0000000..4340ff1
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Prefabs/oil_refinery_09.prefab
@@ -0,0 +1,114 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &100000
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 400000}
+ - component: {fileID: 3300000}
+ - component: {fileID: 2300000}
+ - component: {fileID: 6400000}
+ - component: {fileID: 9500000}
+ m_Layer: 0
+ m_Name: oil_refinery_09
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &400000
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 100000}
+ m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: -0.054035187, y: -4.2674198e-16, z: -0.040786743}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &3300000
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 100000}
+ m_Mesh: {fileID: 4300002, guid: 139350fa370c32f418d8eb7bae022427, type: 3}
+--- !u!23 &2300000
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 100000}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 0
+ m_ReflectionProbeUsage: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 69bb0fd7fafac5940a9d6e5199a0af46, 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
+--- !u!64 &6400000
+MeshCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 100000}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Convex: 0
+ m_CookingOptions: 14
+ m_Mesh: {fileID: 4300002, guid: 139350fa370c32f418d8eb7bae022427, type: 3}
+--- !u!95 &9500000
+Animator:
+ serializedVersion: 3
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 100000}
+ m_Enabled: 1
+ m_Avatar: {fileID: 9000000, guid: 139350fa370c32f418d8eb7bae022427, type: 3}
+ m_Controller: {fileID: 0}
+ m_CullingMode: 0
+ m_UpdateMode: 0
+ m_ApplyRootMotion: 1
+ m_LinearVelocityBlending: 0
+ m_WarningMessage:
+ m_HasTransformHierarchy: 1
+ m_AllowConstantClipSamplingOptimization: 1
+ m_KeepAnimatorControllerStateOnDisable: 0
diff --git a/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Prefabs/oil_refinery_09.prefab.meta b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Prefabs/oil_refinery_09.prefab.meta
new file mode 100644
index 0000000..82ee56a
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Prefabs/oil_refinery_09.prefab.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6802f619d761cb24daeb8575283fad6d
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures.meta b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures.meta
new file mode 100644
index 0000000..70708dc
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0854c2a1a768bd64aa43e3bf2a27fb5d
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures/oil_refinery_09_diff.tga b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures/oil_refinery_09_diff.tga
new file mode 100644
index 0000000..a25c92e
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures/oil_refinery_09_diff.tga
Binary files differ
diff --git a/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures/oil_refinery_09_diff.tga.meta b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures/oil_refinery_09_diff.tga.meta
new file mode 100644
index 0000000..852d67f
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures/oil_refinery_09_diff.tga.meta
@@ -0,0 +1,88 @@
+fileFormatVersion: 2
+guid: 4dc74c74c3fc3e742973e051645df04e
+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: 1024
+ 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: 1024
+ 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/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures/oil_refinery_09_nrm.tga b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures/oil_refinery_09_nrm.tga
new file mode 100644
index 0000000..c477bcb
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures/oil_refinery_09_nrm.tga
Binary files differ
diff --git a/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures/oil_refinery_09_nrm.tga.meta b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures/oil_refinery_09_nrm.tga.meta
new file mode 100644
index 0000000..a7aa065
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures/oil_refinery_09_nrm.tga.meta
@@ -0,0 +1,88 @@
+fileFormatVersion: 2
+guid: 6b4cc5c7898088a419e0e7849b296642
+TextureImporter:
+ fileIDToRecycleName: {}
+ externalObjects: {}
+ serializedVersion: 9
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 0
+ linearTexture: 1
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 1
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: -1
+ maxTextureSize: 1024
+ 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: 1024
+ 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/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures/oil_refinery_09_spec.tga b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures/oil_refinery_09_spec.tga
new file mode 100644
index 0000000..8d9a6bd
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures/oil_refinery_09_spec.tga
Binary files differ
diff --git a/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures/oil_refinery_09_spec.tga.meta b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures/oil_refinery_09_spec.tga.meta
new file mode 100644
index 0000000..14c6416
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/Textures/oil_refinery_09_spec.tga.meta
@@ -0,0 +1,88 @@
+fileFormatVersion: 2
+guid: f490189485fe4c54c9552a31183d49e1
+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: 1024
+ 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: 1024
+ 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/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/oil_refinery_09.fbx b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/oil_refinery_09.fbx
new file mode 100644
index 0000000..5b33078
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/oil_refinery_09.fbx
Binary files differ
diff --git a/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/oil_refinery_09.fbx.meta b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/oil_refinery_09.fbx.meta
new file mode 100644
index 0000000..6a1ad94
--- /dev/null
+++ b/CollectionProj/Assets/ModelUVViewer/Oil_Refinery_09/oil_refinery_09.fbx.meta
@@ -0,0 +1,126 @@
+fileFormatVersion: 2
+guid: 139350fa370c32f418d8eb7bae022427
+ModelImporter:
+ serializedVersion: 19301
+ internalIDToNameTable:
+ - first:
+ 1: 100000
+ second: //RootNode
+ - first:
+ 4: 400000
+ second: //RootNode
+ - first:
+ 23: 2300000
+ second: //RootNode
+ - first:
+ 33: 3300000
+ second: //RootNode
+ - first:
+ 43: 4300000
+ second: Refinery_part_09
+ - first:
+ 43: 4300002
+ second: oil_refinery_09
+ - first:
+ 64: 6400000
+ second: //RootNode
+ - first:
+ 95: 9500000
+ second: //RootNode
+ externalObjects:
+ - first:
+ type: UnityEngine:Material
+ assembly: UnityEngine.CoreModule
+ name: oil_refinery_09_mat
+ second: {fileID: 2100000, guid: 69bb0fd7fafac5940a9d6e5199a0af46, type: 2}
+ materials:
+ materialImportMode: 1
+ materialName: 0
+ materialSearch: 1
+ materialLocation: 0
+ 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: 1
+ meshes:
+ lODScreenPercentages: []
+ globalScale: 1
+ meshCompression: 0
+ addColliders: 1
+ useSRGBMaterialColor: 1
+ sortHierarchyByName: 1
+ importVisibility: 0
+ importBlendShapes: 1
+ importCameras: 0
+ importLights: 0
+ fileIdsGeneration: 1
+ swapUVChannels: 0
+ generateSecondaryUV: 0
+ useFileUnits: 1
+ keepQuads: 0
+ weldVertices: 1
+ preserveHierarchy: 0
+ skinWeightsMode: 0
+ maxBonesPerVertex: 4
+ minBoneWeight: 0.001
+ meshOptimizationFlags: -1
+ indexFormat: 1
+ secondaryUVAngleDistortion: 8
+ secondaryUVAreaDistortion: 15
+ secondaryUVHardAngle: 88
+ secondaryUVPackMargin: 39
+ useFileScale: 0
+ tangentSpace:
+ normalSmoothAngle: 60
+ normalImportMode: 0
+ tangentImportMode: 4
+ normalCalculationMode: 0
+ legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 1
+ 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: 0
+ lastHumanDescriptionAvatarSource: {instanceID: 0}
+ autoGenerateAvatarMappingIfUnspecified: 1
+ animationType: 2
+ humanoidOversampling: 1
+ avatarSetup: 1
+ additionalBone: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Documents/代码列表.xlsx b/Documents/代码列表.xlsx
new file mode 100644
index 0000000..126da54
--- /dev/null
+++ b/Documents/代码列表.xlsx
Binary files differ