Merge branch 'SnowShow'

This commit is contained in:
SnowShow 2025-04-14 09:02:38 +08:00
commit 36aa972e20
696 changed files with 61285 additions and 383 deletions

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d4f06a65f4371a6468d0a3994e3df282
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,120 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &5825493374121924674
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7837201218611749806}
- component: {fileID: 4516147190531908526}
- component: {fileID: 4871405263683518281}
m_Layer: 0
m_Name: "\u67F1\u4F53"
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7837201218611749806
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5825493374121924674}
serializedVersion: 2
m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071067}
m_LocalPosition: {x: -0, y: 2.406042, z: 0}
m_LocalScale: {x: 100, y: 100, z: 100}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6456499079075761599}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &4516147190531908526
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5825493374121924674}
m_Mesh: {fileID: 760207555604313364, guid: b6a9ca197bd536e48b223204cef3fab3, type: 3}
--- !u!23 &4871405263683518281
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5825493374121924674}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 37ba1d75d4d618c45a1a6664b2b3ce17, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &6060163519736243487
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6456499079075761599}
m_Layer: 0
m_Name: prefab_scan
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6456499079075761599
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6060163519736243487}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 7837201218611749806}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: bb23eeb1e40fdf34f99d97c5eb98992b
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,107 @@
fileFormatVersion: 2
guid: b6a9ca197bd536e48b223204cef3fab3
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 1
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
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
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
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
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,85 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: scan_pointer
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _EMISSION
m_InvalidKeywords: []
m_LightmapFlags: 2
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 37ba1d75d4d618c45a1a6664b2b3ce17
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 843ac077b828fdd41aa963569f535378
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

@ -0,0 +1,169 @@
fileFormatVersion: 2
guid: 90ed75d1e348d5e42b59bd035386b250
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Win64
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

View File

@ -0,0 +1,169 @@
fileFormatVersion: 2
guid: 327b7d988a1399740bbb83f6c518ad91
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Win64
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

View File

@ -0,0 +1,169 @@
fileFormatVersion: 2
guid: 1b12b5409f8b5c548b1cf0575cf93a7e
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Win64
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

View File

@ -0,0 +1,169 @@
fileFormatVersion: 2
guid: 97cbc051f8728ea4e8b33eddc8baafe1
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Win64
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

View File

@ -0,0 +1,169 @@
fileFormatVersion: 2
guid: 1ba04139b81d0e845ab3a081fb1245cb
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Win64
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

View File

@ -0,0 +1,169 @@
fileFormatVersion: 2
guid: 13d4b0bd8039ec04b859058ac6a4d18a
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Win64
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -72,6 +72,7 @@ SpriteAtlas:
variantMultiplier: 1
packables:
- {fileID: 21300000, guid: c6ae450af289acf41a6ea985ddd901d9, type: 3}
- {fileID: 21300000, guid: 84b45ca19ba8fb540bb67a0f03879742, type: 3}
- {fileID: 21300000, guid: 481392fa15fa9e14fb6c5140d51bbd24, type: 3}
- {fileID: 21300000, guid: 648319b08ac2ce240a0fe0b5f4a5f96c, type: 3}
- {fileID: 21300000, guid: c8ee2b48bb71e944887ebe8d647d8f96, type: 3}
@ -80,17 +81,20 @@ SpriteAtlas:
cachedData: {fileID: 0}
packedSpriteRenderDataKeys:
- 648319b08ac2ce240a0fe0b5f4a5f96c: 21300000
- 84b45ca19ba8fb540bb67a0f03879742: 21300000
- c8ee2b48bb71e944887ebe8d647d8f96: 21300000
- c6ae450af289acf41a6ea985ddd901d9: 21300000
- 481392fa15fa9e14fb6c5140d51bbd24: 21300000
m_MasterAtlas: {fileID: 0}
m_PackedSprites:
- {fileID: 21300000, guid: 648319b08ac2ce240a0fe0b5f4a5f96c, type: 3}
- {fileID: 21300000, guid: 84b45ca19ba8fb540bb67a0f03879742, type: 3}
- {fileID: 21300000, guid: c8ee2b48bb71e944887ebe8d647d8f96, type: 3}
- {fileID: 21300000, guid: c6ae450af289acf41a6ea985ddd901d9, type: 3}
- {fileID: 21300000, guid: 481392fa15fa9e14fb6c5140d51bbd24, type: 3}
m_PackedSpriteNamesToIndex:
- ARPlace_img_scan
- ARPlace_img_guide
- ARPlace_img_scanImages
- ARPlace_img_effect
- ARPlace_img_return

View File

@ -30,6 +30,7 @@ Transform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 5007686194303763349}
- {fileID: 7630352270617044748}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &5062691657246686508
@ -48,7 +49,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!4 &5007686194303763349
Transform:
m_ObjectHideFlags: 0
@ -87,7 +88,7 @@ SpriteRenderer:
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 2100000, guid: 37ba1d75d4d618c45a1a6664b2b3ce17, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
@ -119,3 +120,81 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1001 &3494339496773413555
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 3658316081284083478}
m_Modifications:
- target: {fileID: 6060163519736243487, guid: bb23eeb1e40fdf34f99d97c5eb98992b, type: 3}
propertyPath: m_Name
value: prefab_scan
objectReference: {fileID: 0}
- target: {fileID: 6456499079075761599, guid: bb23eeb1e40fdf34f99d97c5eb98992b, type: 3}
propertyPath: m_LocalScale.x
value: 0.05
objectReference: {fileID: 0}
- target: {fileID: 6456499079075761599, guid: bb23eeb1e40fdf34f99d97c5eb98992b, type: 3}
propertyPath: m_LocalScale.y
value: 0.05
objectReference: {fileID: 0}
- target: {fileID: 6456499079075761599, guid: bb23eeb1e40fdf34f99d97c5eb98992b, type: 3}
propertyPath: m_LocalScale.z
value: 0.05
objectReference: {fileID: 0}
- target: {fileID: 6456499079075761599, guid: bb23eeb1e40fdf34f99d97c5eb98992b, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6456499079075761599, guid: bb23eeb1e40fdf34f99d97c5eb98992b, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6456499079075761599, guid: bb23eeb1e40fdf34f99d97c5eb98992b, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6456499079075761599, guid: bb23eeb1e40fdf34f99d97c5eb98992b, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6456499079075761599, guid: bb23eeb1e40fdf34f99d97c5eb98992b, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6456499079075761599, guid: bb23eeb1e40fdf34f99d97c5eb98992b, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6456499079075761599, guid: bb23eeb1e40fdf34f99d97c5eb98992b, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6456499079075761599, guid: bb23eeb1e40fdf34f99d97c5eb98992b, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6456499079075761599, guid: bb23eeb1e40fdf34f99d97c5eb98992b, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6456499079075761599, guid: bb23eeb1e40fdf34f99d97c5eb98992b, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6456499079075761599, guid: bb23eeb1e40fdf34f99d97c5eb98992b, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: bb23eeb1e40fdf34f99d97c5eb98992b, type: 3}
--- !u!4 &7630352270617044748 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 6456499079075761599, guid: bb23eeb1e40fdf34f99d97c5eb98992b, type: 3}
m_PrefabInstance: {fileID: 3494339496773413555}
m_PrefabAsset: {fileID: 0}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e0823ff4cb3d0284a991dcf9e6e22685
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,90 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!74 &7400000
AnimationClip:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Animal_ModelPlaceScan
serializedVersion: 7
m_Legacy: 0
m_Compressed: 0
m_UseHighQualityCurve: 1
m_RotationCurves: []
m_CompressedRotationCurves: []
m_EulerCurves: []
m_PositionCurves: []
m_ScaleCurves: []
m_FloatCurves: []
m_PPtrCurves:
- serializedVersion: 2
curve:
- time: 0
value: {fileID: 21300000, guid: 90ed75d1e348d5e42b59bd035386b250, type: 3}
- time: 0.2
value: {fileID: 21300000, guid: 327b7d988a1399740bbb83f6c518ad91, type: 3}
- time: 0.4
value: {fileID: 21300000, guid: 1b12b5409f8b5c548b1cf0575cf93a7e, type: 3}
- time: 0.6
value: {fileID: 21300000, guid: 97cbc051f8728ea4e8b33eddc8baafe1, type: 3}
- time: 0.8
value: {fileID: 21300000, guid: 1ba04139b81d0e845ab3a081fb1245cb, type: 3}
- time: 1
value: {fileID: 21300000, guid: 13d4b0bd8039ec04b859058ac6a4d18a, type: 3}
- time: 1.2
value: {fileID: 21300000, guid: 13d4b0bd8039ec04b859058ac6a4d18a, type: 3}
attribute: m_Sprite
path:
classID: 114
script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
flags: 2
m_SampleRate: 5
m_WrapMode: 0
m_Bounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 0, y: 0, z: 0}
m_ClipBindingConstant:
genericBindings:
- serializedVersion: 2
path: 0
attribute: 2015549526
script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
typeID: 114
customType: 0
isPPtrCurve: 1
isIntCurve: 0
isSerializeReferenceCurve: 0
pptrCurveMapping:
- {fileID: 21300000, guid: 90ed75d1e348d5e42b59bd035386b250, type: 3}
- {fileID: 21300000, guid: 327b7d988a1399740bbb83f6c518ad91, type: 3}
- {fileID: 21300000, guid: 1b12b5409f8b5c548b1cf0575cf93a7e, type: 3}
- {fileID: 21300000, guid: 97cbc051f8728ea4e8b33eddc8baafe1, type: 3}
- {fileID: 21300000, guid: 1ba04139b81d0e845ab3a081fb1245cb, type: 3}
- {fileID: 21300000, guid: 13d4b0bd8039ec04b859058ac6a4d18a, type: 3}
- {fileID: 21300000, guid: 13d4b0bd8039ec04b859058ac6a4d18a, type: 3}
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 1.4000001
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
m_LoopTime: 1
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
m_LoopBlendPositionXZ: 0
m_KeepOriginalOrientation: 0
m_KeepOriginalPositionY: 1
m_KeepOriginalPositionXZ: 0
m_HeightFromFeet: 0
m_Mirror: 0
m_EditorCurves: []
m_EulerEditorCurves: []
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events: []

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 70a1a870c2041334d942925cc552e80c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,374 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &161118058648637348
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5075940589679030000}
- component: {fileID: 4995343198571068173}
- component: {fileID: 9018645092004835606}
m_Layer: 0
m_Name: Text (TMP)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5075940589679030000
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 161118058648637348}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 469882886491789253}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: 0, y: 25}
m_SizeDelta: {x: 0, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4995343198571068173
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 161118058648637348}
m_CullTransparentMesh: 1
--- !u!114 &9018645092004835606
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 161118058648637348}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u8BF7\u5BF9\u51C6\u5730\u9762"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: b2a4cf98a3bf3af45a21517ae28c2f60, type: 2}
m_sharedMaterial: {fileID: -2154976526923410665, guid: b2a4cf98a3bf3af45a21517ae28c2f60, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 36
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 256
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 0
m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &6367116149362762471
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 469882886491789253}
- component: {fileID: 2896811724658620213}
- component: {fileID: 4206563091019554314}
- component: {fileID: 7057301851540243872}
- component: {fileID: 3042134716590970924}
m_Layer: 0
m_Name: m_tfAnimation
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &469882886491789253
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6367116149362762471}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 5075940589679030000}
m_Father: {fileID: 2214337270412714071}
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: -412}
m_SizeDelta: {x: -118.3024, y: 500}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2896811724658620213
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6367116149362762471}
m_CullTransparentMesh: 1
--- !u!114 &4206563091019554314
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6367116149362762471}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 90ed75d1e348d5e42b59bd035386b250, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &7057301851540243872
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6367116149362762471}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0ad50f81b1d25c441943c37a89ba23f6, type: 3}
m_Name:
m_EditorClassIdentifier:
_Animator: {fileID: 3042134716590970924}
_Transitions: {fileID: 0}
_ActionOnDisable: 0
--- !u!95 &3042134716590970924
Animator:
serializedVersion: 7
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6367116149362762471}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 0}
m_CullingMode: 0
m_UpdateMode: 0
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_StabilizeFeet: 0
m_AnimatePhysics: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0
m_WriteDefaultValuesOnDisable: 0
--- !u!1 &7131334087351678744
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2787800560172438103}
- component: {fileID: 1417462279453716724}
- component: {fileID: 5026267841601336637}
m_Layer: 5
m_Name: Image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2787800560172438103
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7131334087351678744}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2214337270412714071}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1417462279453716724
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7131334087351678744}
m_CullTransparentMesh: 1
--- !u!114 &5026267841601336637
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7131334087351678744}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.003921569}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &7141845134748742421
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2214337270412714071}
- component: {fileID: 2786307791214379913}
m_Layer: 5
m_Name: UIWidgetPlaceGuide
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2214337270412714071
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7141845134748742421}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 2787800560172438103}
- {fileID: 469882886491789253}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2786307791214379913
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7141845134748742421}
m_CullTransparentMesh: 1

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 5d485ed2ff5f692408f299869ff41d20
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ffdf011dbf9158a478523f12c3787854
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,669 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1959443609353654442
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6791686967327468234}
- component: {fileID: 6101597055851176834}
- component: {fileID: 5895811787456453331}
m_Layer: 5
m_Name: Text (TMP) (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6791686967327468234
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1959443609353654442}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4291460302023417814}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6101597055851176834
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1959443609353654442}
m_CullTransparentMesh: 1
--- !u!114 &5895811787456453331
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1959443609353654442}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u77E5\u9053\u4E86"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: b2a4cf98a3bf3af45a21517ae28c2f60, type: 2}
m_sharedMaterial: {fileID: -2154976526923410665, guid: b2a4cf98a3bf3af45a21517ae28c2f60, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 28
m_fontSizeBase: 28
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 0
m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &2219692975211567502
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7754641404200978003}
- component: {fileID: 3664490936073640535}
- component: {fileID: 2439127666065704530}
- component: {fileID: 2159525948311505307}
m_Layer: 5
m_Name: m_btnGuide
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7754641404200978003
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2219692975211567502}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1854838494946940247}
- {fileID: 2136713646727932444}
- {fileID: 4291460302023417814}
m_Father: {fileID: 6540581416444488629}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3664490936073640535
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2219692975211567502}
m_CullTransparentMesh: 1
--- !u!114 &2439127666065704530
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2219692975211567502}
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.5882353}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &2159525948311505307
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2219692975211567502}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 2439127666065704530}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &2838066463701907703
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6540581416444488629}
- component: {fileID: 7121541256556497003}
m_Layer: 5
m_Name: UIWidgetGuide
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6540581416444488629
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2838066463701907703}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 7754641404200978003}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7121541256556497003
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2838066463701907703}
m_CullTransparentMesh: 1
--- !u!1 &2992843057709654258
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1854838494946940247}
- component: {fileID: 1719980751357956628}
- component: {fileID: 4706772546773167853}
m_Layer: 5
m_Name: Image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1854838494946940247
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2992843057709654258}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 7754641404200978003}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 75}
m_SizeDelta: {x: 180, y: 150}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1719980751357956628
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2992843057709654258}
m_CullTransparentMesh: 1
--- !u!114 &4706772546773167853
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2992843057709654258}
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: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 84b45ca19ba8fb540bb67a0f03879742, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &5663886660016329318
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4291460302023417814}
- component: {fileID: 1629207211968043464}
- component: {fileID: 6574499891436599491}
m_Layer: 0
m_Name: MPImage
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4291460302023417814
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5663886660016329318}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.79, y: 0.79, z: 0.79}
m_ConstrainProportionsScale: 1
m_Children:
- {fileID: 6791686967327468234}
m_Father: {fileID: 7754641404200978003}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0.0000076294, y: -126}
m_SizeDelta: {x: 213.1305, y: 78.937}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1629207211968043464
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5663886660016329318}
m_CullTransparentMesh: 1
--- !u!114 &6574499891436599491
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5663886660016329318}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 141109fb25f0083469e71ce8cb3e75c8, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
m_DrawShape: 3
m_ImageType: 0
m_MaterialMode: 0
m_StrokeWidth: 2.68
m_OutlineWidth: 0
m_OutlineColor: {r: 0, g: 0, b: 0, a: 1}
m_FalloffDistance: 0
m_ConstrainRotation: 1
m_ShapeRotation: 0
m_FlipHorizontal: 0
m_FlipVertical: 0
m_Triangle:
m_CornerRadius: {x: 0, y: 0, z: 0}
m_UniformCornerRadius: 0
m_Rectangle:
m_CornerRadius: {x: 23.83, y: 23.83, z: 23.83, w: 23.83}
m_UniformCornerRadius: 1
m_Circle:
m_Radius: 0
m_FitRadius: 0
m_Pentagon:
m_CornerRadius: {x: 0, y: 0, z: 0, w: 0}
m_UniformCornerRadius: 0
m_TipRadius: 0.001
m_TipSize: 1
m_Hexagon:
m_CornerRadius: {x: 1, y: 1, z: 1, w: 1}
m_UniformCornerRadius: 0
m_TipSize: {x: 1, y: 1}
m_UniformTipSize: 0
m_TipRadius: {x: 1, y: 1}
m_UniformTipRadius: 0
m_NStarPolygon:
m_SideCount: 3
m_Inset: 2
m_CornerRadius: 0
m_Offset: {x: 0, y: 0}
m_GradientEffect:
m_Enabled: 0
m_GradientType: 0
m_Gradient:
serializedVersion: 2
key0: {r: 1, g: 1, b: 1, a: 1}
key1: {r: 1, g: 1, b: 1, a: 1}
key2: {r: 0, g: 0, b: 0, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 65535
ctime2: 0
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_ColorSpace: -1
m_NumColorKeys: 2
m_NumAlphaKeys: 2
m_CornerGradientColors:
- {r: 0, g: 0, b: 0, a: 0}
- {r: 0, g: 0, b: 0, a: 0}
- {r: 0, g: 0, b: 0, a: 0}
- {r: 0, g: 0, b: 0, a: 0}
m_Rotation: 0
--- !u!1 &6590425165421974917
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2136713646727932444}
- component: {fileID: 238771960044954699}
- component: {fileID: 6685217720670445594}
m_Layer: 5
m_Name: Text (TMP)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2136713646727932444
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6590425165421974917}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 7754641404200978003}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: -46.933}
m_SizeDelta: {x: 750, y: 93.8656}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &238771960044954699
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6590425165421974917}
m_CullTransparentMesh: 1
--- !u!114 &6685217720670445594
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6590425165421974917}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u53CC\u6307\u7F29\u653E\u53EF\u4EE5\u8C03\u8282\u6A21\u578B\u5927\u5C0F"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: b2a4cf98a3bf3af45a21517ae28c2f60, type: 2}
m_sharedMaterial: {fileID: -2154976526923410665, guid: b2a4cf98a3bf3af45a21517ae28c2f60, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 36
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 256
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 0
m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: c7e6c7104f2fdfe46ada477a037811b2
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

@ -0,0 +1,169 @@
fileFormatVersion: 2
guid: 84b45ca19ba8fb540bb67a0f03879742
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Win64
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8b98230a9a5524547bd27e723277ee8f
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c5d4ab1d202d4084c9281b4fb3992a86
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,38 @@
using Cysharp.Threading.Tasks;
using UnityEngine;
using UnityEngine.UI;
using TEngine;
using System;
namespace GameLogic
{
[Window(UILayer.UI)]
class UIWidgetGuide : UIWidget
{
#region
private Button m_btnGuide;
public Action DestroyEvent;
protected override void ScriptGenerator()
{
m_btnGuide = FindChildComponent<Button>("m_btnGuide");
m_btnGuide.onClick.AddListener(UniTask.UnityAction(OnClickGuideBtn));
}
#endregion
#region
private async UniTaskVoid OnClickGuideBtn()
{
Destroy();
await UniTask.Yield();
}
#endregion
protected override void OnDestroy()
{
base.OnDestroy();
DestroyEvent?.Invoke();
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 5ccf9ab43c51d1e42ac2626486b6837c

View File

@ -0,0 +1,11 @@
using TEngine;
namespace GameLogic
{
[EventInterface(EEventGroup.GroupUI)]
public interface IEventUIClosePlaceGuide
{
void OnClosePlaceGuide();
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: ddcb20c62c16f584eab17881cd02c74a

View File

@ -15,7 +15,8 @@ namespace GameLogic
//[RequireComponent(typeof(PlayerController))]
public class ARPlacedManager : MonoBehaviorSingleton<ARPlacedManager>, IPlayerController
{
[Title("AR组件")] [ShowInInspector, Sirenix.OdinInspector.ReadOnly]
[Title("AR组件")]
[ShowInInspector, Sirenix.OdinInspector.ReadOnly]
private ARRaycastManager m_arRaycastManager;
[ShowInInspector, Sirenix.OdinInspector.ReadOnly]
@ -26,7 +27,7 @@ namespace GameLogic
[ShowInInspector, Sirenix.OdinInspector.ReadOnly]
private ARTouchHandlerManager m_artouchManager;
[ShowInInspector, Sirenix.OdinInspector.ReadOnly,LabelText("旋转控制脚本")]
[ShowInInspector, Sirenix.OdinInspector.ReadOnly, LabelText("旋转控制脚本")]
private ARModelScaleRotateManager m_modelScaleRotateManager;
[ShowInInspector, Sirenix.OdinInspector.ReadOnly]
@ -35,9 +36,10 @@ namespace GameLogic
[ShowInInspector, Sirenix.OdinInspector.ReadOnly]
private List<ARRaycastHit> m_raycastHits = new List<ARRaycastHit>();
[Title("AR模型")] [ShowInInspector] public GameObject placedModelGo;
[Title("AR模型")][ShowInInspector] public GameObject placedModelGo;
[Title("AR状态")] [ShowInInspector, Sirenix.OdinInspector.ReadOnly]
[Title("AR状态")]
[ShowInInspector, Sirenix.OdinInspector.ReadOnly]
private bool canBePlaced = false;
[ShowInInspector, Sirenix.OdinInspector.ReadOnly]
@ -111,7 +113,8 @@ namespace GameLogic
private float m_speedSmoothRotation = 5f;
[FormerlySerializedAs("speed")] public float m_speed = 100f;
public bool m_isPlaceGuide = true;
public override void InitComponents()
{
@ -123,14 +126,14 @@ namespace GameLogic
arSessionOrigin = GameObject.Find("XR Session Manager AR").GetComponentInChildren<XROrigin>(true);
m_artouchManager = new GameObject("AR Touch Manager").transform.GetOrAddComponent<ARTouchHandlerManager>();
m_modelScaleRotateManager = new GameObject("ARModelScaleRotateManager").transform.GetOrAddComponent<ARModelScaleRotateManager>();
m_artouchManager.transform.parent = sessionGo;
m_modelScaleRotateManager.transform.parent = sessionGo;
m_arCamera = Camera.main;
m_arPlaneManager.planePrefab = GameModule.Resource.LoadGameObject("AR_FeaturedPlane");
//m_arPlaneManager.planePrefab = GameModule.Resource.LoadGameObject("AR_FeaturedPlane");
m_pointGo = GameModule.Resource.LoadGameObject("AR_Pointer");
m_arRaycastManager.raycastPrefab = m_pointGo;
@ -187,6 +190,8 @@ namespace GameLogic
{
if (!m_artouchManager.IsTouchedObject)
{
Vector3 rayEmitPosition = new Vector3(Screen.width / 2, Screen.height / 2, 0);
if (m_arRaycastManager.Raycast(rayEmitPosition, m_raycastHits, TrackableType.PlaneWithinPolygon))
{
@ -199,7 +204,12 @@ namespace GameLogic
if (m_pointGo.activeSelf == false && !m_isHidePoint)
{
m_pointGo.SetActive(true);
if (m_isPlaceGuide)
{
GameEvent.Get<IEventUIClosePlaceGuide>().OnClosePlaceGuide();
}
Log.Debug("Show m_pointGo");
}
@ -218,6 +228,7 @@ namespace GameLogic
}
else
{
m_pointGo.SetActive(false);
m_isCanToSpawn = false;
}
@ -259,14 +270,14 @@ namespace GameLogic
public void UpdateObjectPosition()
{
if (m_artouchManager.IsTouchedObject && (Input.touchCount < 2) && !m_gotMultipleTouchs)
{
if (!TryGetTouchPosition(out Vector2 touchPosition))
return;
if (m_arRaycastManager.Raycast(touchPosition, m_raycastHits, TrackableType.PlaneWithinPolygon))
{
if (m_isPositioning)
@ -536,12 +547,12 @@ namespace GameLogic
var placedModel = Instantiate(m_gltfImporterController.GetGlbPlace(modelName));
m_spawnedObject = placedModel;
var entityARModel = m_spawnedObject.GetComponent<EntityARModel>();
var modelPlaneDetectionMode = entityARModel.PlaneDetectionMode.ToString();
m_placedModelList.Add(m_spawnedObject);
if (m_raycastHits.Count> 0 && PlaneRecognizor(m_raycastHits[0].trackable.transform) == modelPlaneDetectionMode || modelPlaneDetectionMode == "Everything")
if (m_raycastHits.Count > 0 && PlaneRecognizor(m_raycastHits[0].trackable.transform) == modelPlaneDetectionMode || modelPlaneDetectionMode == "Everything")
{
m_isObjectPlaced = true;
m_spawnedObject.SetActive(true);
@ -557,7 +568,7 @@ namespace GameLogic
m_spawnedObject.transform.rotation = m_pointGo.transform.rotation;
}
entityARModel.InitialPlacedRotation = m_spawnedObject.transform.rotation;
m_previousRotation = m_pointGo.transform.rotation;
m_previousPosition = m_pointGo.transform.position;
@ -565,7 +576,7 @@ namespace GameLogic
entityARModel.InitialScale = m_spawnedObject.transform.localScale;
m_spawnedObject.transform.localPosition = m_previousPosition;
//放置物体面向摄像头
m_spawnedObject.transform.LookAt(m_arCamera.transform);
@ -574,12 +585,12 @@ namespace GameLogic
//rotate = true;
m_wentToScale = true;
m_isCanToSpawn = false;
}
// Show notification if user trying to place gameobject wrong direction
// for example try to place wall art(vertical placement object) on floor(horizontal surface)
if (m_isCanToSpawn && m_raycastHits.Count >0 && (PlaneRecognizor(m_raycastHits[0].trackable.transform) != modelPlaneDetectionMode))
if (m_isCanToSpawn && m_raycastHits.Count > 0 && (PlaneRecognizor(m_raycastHits[0].trackable.transform) != modelPlaneDetectionMode))
{
m_isCanToSpawn = false;
m_spawnedObject = null;

View File

@ -49,26 +49,6 @@ namespace GameLogic
}
public List<JsonData.QueryCompanyData> GetCompanyListFromIndustry(int industryid)
{
if (m_dataQueryAllCompany != null)
{
// Log.Warning(m_dataQueryAllCompany.data.Count);
var list = m_dataQueryAllCompany.data.FindAll(x => x.industry == industryid);
return list;
}
return null;
}
public List<JsonData.QueryCompanyData> GetAllCompanyListData()
{
if (m_dataQueryAllCompany != null)
{
var list = m_dataQueryAllCompany.data;
return list;
}
return null;
}
}
}

View File

@ -4,6 +4,7 @@ using Cysharp.Threading.Tasks;
using UnityEngine;
using UnityEngine.UI;
using TEngine;
using System;
namespace GameLogic
{
@ -20,6 +21,7 @@ namespace GameLogic
private List<UIWidget> m_btnlistWidget = new List<UIWidget>();
private AnimancerComponent m_uianimancer;
protected override void ScriptGenerator()
{
m_tfscanTip = FindChild("m_tfscanTip");
@ -28,11 +30,14 @@ namespace GameLogic
m_scrollRectModel = FindChildComponent<ScrollRect>("BottomGroup/m_scrollRectModel");
m_btnreturn = FindChildComponent<Button>("m_btnreturn");
m_uianimancer = m_tfscanTip.GetComponentInChildren<AnimancerComponent>();
m_btnPlace.onClick.AddListener(UniTask.UnityAction(OnClickPlaceBtn));
m_btnReset.onClick.AddListener(UniTask.UnityAction(OnClickResetBtn));
m_btnreturn.onClick.AddListener(UniTask.UnityAction(OnClickreturnBtn));
}
#endregion
#region
@ -108,13 +113,17 @@ namespace GameLogic
protected override void OnCreate()
{
base.OnCreate();
TransitionAsset uiscantran = GameModule.Resource.LoadAsset<TransitionAsset>("so_UIScanTransitionClip");
m_uianimancer.Play(uiscantran);
GameModule.Timer.AddTimer((datas) =>
{
},3000);
//TransitionAsset uiscantran = GameModule.Resource.LoadAsset<TransitionAsset>("so_UIScanTransitionClip");
// m_uianimancer.Play(uiscantran);
var widget = CreateWidgetByPath<UIWidgetGuide>(transform, "UIWidgetGuide");
widget.DestroyEvent += OnDestroyWidgetGuide;
}
private void OnDestroyWidgetGuide()
{
var widget = CreateWidgetByPath<UIWidgetPlaceGuide>(transform, "UIWidgetPlaceGuide");
}
}
}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5c7a495ecddcbe04cbc3a034c2a7dbb9
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,46 @@
using Cysharp.Threading.Tasks;
using UnityEngine;
using UnityEngine.UI;
using TEngine;
using Animancer;
namespace GameLogic
{
[Window(UILayer.UI)]
class UIWidgetPlaceGuide : UIWidget, IEventUIClosePlaceGuide
{
#region
private Transform m_tfAnimation;
protected override void ScriptGenerator()
{
m_tfAnimation = FindChild("m_tfAnimation");
}
#endregion
#region
protected override void OnCreate()
{
base.OnCreate();
AnimationClip animationClip = GameModule.Resource.LoadAsset<AnimationClip>("Animal_ModelPlaceScan");
var animancer = m_tfAnimation.GetComponent<AnimancerComponent>();
var state = animancer.Play(animationClip);
state.Speed = 0.5f;
GameEvent.AddEventListener(IEventUIClosePlaceGuide_Event.OnClosePlaceGuide,OnClosePlaceGuide);
}
public void OnClosePlaceGuide()
{
Destroy();
}
protected override void OnDestroy()
{
base.OnDestroy();
GameEvent.RemoveEventListener(IEventUIClosePlaceGuide_Event.OnClosePlaceGuide,OnClosePlaceGuide);
}
#endregion
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: e26682f57697fa0428395c5f46906a36

View File

@ -34,6 +34,7 @@ using frame8.Logic.Misc.Other.Extensions;
using Com.ForbiddenByte.OSA.Core;
using Com.ForbiddenByte.OSA.CustomParams;
using Com.ForbiddenByte.OSA.DataHelpers;
using Cysharp.Threading.Tasks;
using DG.Tweening;
using GameLogic;
using Sirenix.OdinInspector;
@ -62,7 +63,7 @@ namespace Your.Namespace.Here.UniqueStringHereToAvoidNamespaceConflicts.Lists
public ScrollRect m_topscroll;
public Transform m_moveIcon;
public Dictionary<int,List<ProjectData>> m_projectDataDic = new Dictionary<int, List<ProjectData>>();
public Dictionary<int,List<CompanyData>> m_projectDataDic = new Dictionary<int, List<CompanyData>>();
#region OSA implementation
protected override void Start()
{
@ -114,6 +115,11 @@ namespace Your.Namespace.Here.UniqueStringHereToAvoidNamespaceConflicts.Lists
GetCompanyProjectData();
}
public async UniTaskVoid ConfigAsync()
{
//await
}
#region
protected override void OnEnable()
@ -336,74 +342,11 @@ namespace Your.Namespace.Here.UniqueStringHereToAvoidNamespaceConflicts.Lists
public void GetCompanyProjectData()
{
//所有
List<ProjectData> projectDataListAll = new List<ProjectData>();
for (int i = 0; i < DataConfigSystem.Instance.GetAllCompanyListData().Count; i++)
var industryIndex = new int[]
{
var companyData = DataConfigSystem.Instance.GetAllCompanyListData()[i];
var projectData = DataConfigSystem.Instance.GetProjectData(companyData.companyName);
if (projectData != null)
{
projectDataListAll.Add(projectData);
}
}
m_projectDataDic.Add(0, projectDataListAll);
List<ProjectData> projectDataListxiaofei = new List<ProjectData>();
for (int i = 0; i < DataConfigSystem.Instance.GetCompanyListFromIndustry(2).Count; i++)
{
var companyData = DataConfigSystem.Instance.GetCompanyListFromIndustry(2)[i];
var projectData = DataConfigSystem.Instance.GetProjectData(companyData.companyName);
if (projectData != null)
{
projectDataListxiaofei.Add(projectData);
}
}
m_projectDataDic.Add(1, projectDataListxiaofei);
//智能
List<ProjectData> projectDataListzhineng = new List<ProjectData>();
for (int i = 0; i < DataConfigSystem.Instance.GetCompanyListFromIndustry(3).Count; i++)
{
var companyData = DataConfigSystem.Instance.GetCompanyListFromIndustry(3)[i];
var projectData = DataConfigSystem.Instance.GetProjectData(companyData.companyName);
if(projectData != null)
{
projectDataListzhineng.Add(projectData);
}
}
m_projectDataDic.Add(2, projectDataListzhineng);
//公关服务
List<ProjectData> projectDataListGonggguan = new List<ProjectData>();
for (int i = 0; i < DataConfigSystem.Instance.GetCompanyListFromIndustry(1).Count; i++)
{
var companyData = DataConfigSystem.Instance.GetCompanyListFromIndustry(1)[i];
var projectData = DataConfigSystem.Instance.GetProjectData(companyData.companyName);
if (projectData != null)
{
projectDataListGonggguan.Add(projectData);
}
}
m_projectDataDic.Add(3, projectDataListGonggguan);
//其他
List<ProjectData> projectDataListqita = new List<ProjectData>();
for (int i = 0; i < DataConfigSystem.Instance.GetCompanyListFromIndustry(4).Count; i++)
{
var companyData = DataConfigSystem.Instance.GetCompanyListFromIndustry(4)[i];
var projectData = DataConfigSystem.Instance.GetProjectData(companyData.companyName);
if(projectData != null)
{
projectDataListqita.Add(projectData);
}
}
m_projectDataDic.Add(4, projectDataListqita);
2, 3,1,4
};
}

View File

@ -72,7 +72,7 @@ namespace GameLogic
{
base.OnCreate();
m_uiCollectWinScrollListAdapter.SetUp(m_scrollRectTopGroup, m_tfShowMoveIcon);
Log.Debug("所有公司的数量" + DataConfigSystem.Instance.GetAllCompanyListData().Count);
//Log.Debug("所有公司的数量" + DataConfigSystem.Instance.GetAllCompanyListData().Count);
AddUIEvent<string>(UIEventCollect_Event.CollectCompany, CollectCompany);
}

View File

@ -64,9 +64,10 @@ namespace GameLogic
public async UniTask Test()
{
var response = await m_gameSession.Call(new C2Chat_TestRequest()
Log.Info("Love");
var response = await m_gameSession.Call( new C2Chat_BoardMessageRequest()
{
Message = "Love"
});
}
@ -185,7 +186,6 @@ namespace GameLogic
{
Log.Debug("连接成功");
m_gameSession?.AddComponent<SessionHeartbeatComponent>().Start(2000);
}

View File

@ -0,0 +1,16 @@
using Fantasy;
using Fantasy.Async;
using Fantasy.Network;
using Fantasy.Network.Interface;
namespace GameLogic
{
public class Chat2C_BoardMessageHandler : Message<Chat2C_BoardMessage>
{
protected override async FTask Run(Session session, Chat2C_BoardMessage message)
{
Log.Debug($"Chat2C_BoardMessage: {message.Message}");
await FTask.CompletedTask;
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: cfdf917f7c55d5c468c94f87ae5f5ca0

View File

@ -319,16 +319,36 @@ namespace Fantasy
public override void Dispose()
{
ErrorCode = default;
Message = default;
#if FANTASY_NET || FANTASY_UNITY
GetScene().MessagePoolComponent.Return<Chat2C_BoardMessageResponse>(this);
#endif
}
public uint OpCode() { return OuterOpcode.Chat2C_BoardMessageResponse; }
///<summary>
/// string Message = 2;
///</summary>
[ProtoMember(1)]
public uint ErrorCode { get; set; }
}
[ProtoContract]
public partial class Chat2C_BoardMessage : AMessage, ICustomRouteMessage, IProto
{
public static Chat2C_BoardMessage Create(Scene scene)
{
return scene.MessagePoolComponent.Rent<Chat2C_BoardMessage>();
}
public override void Dispose()
{
Message = default;
#if FANTASY_NET || FANTASY_UNITY
GetScene().MessagePoolComponent.Return<Chat2C_BoardMessage>(this);
#endif
}
public uint OpCode() { return OuterOpcode.Chat2C_BoardMessage; }
[ProtoIgnore]
public int RouteType => Fantasy.RouteType.ChatRoute;
[ProtoMember(1)]
public string Message { get; set; }
[ProtoMember(2)]
public uint ErrorCode { get; set; }
}
[ProtoContract]
public partial class C2Chat_TestRequest : AMessage, ICustomRouteRequest, IProto

View File

@ -16,6 +16,7 @@ namespace Fantasy
public const uint G2C_UpdateAndSaveGameNameResponse = 402663189;
public const uint C2Chat_BoardMessageRequest = 2281711377;
public const uint Chat2C_BoardMessageResponse = 2415929105;
public const uint Chat2C_BoardMessage = 2147493649;
public const uint C2Chat_TestRequest = 2281711378;
public const uint Chat2C_TestResponse = 2415929106;
public const uint C2G_TestMessage = 134227731;
@ -30,14 +31,14 @@ namespace Fantasy
public const uint M2C_TestResponse = 1610622737;
public const uint C2G_CreateChatRouteRequest = 268445464;
public const uint G2C_CreateChatRouteResponse = 402663192;
public const uint C2Chat_TestMessage = 2147493649;
public const uint C2Chat_TestMessage = 2147493650;
public const uint C2Chat_TestMessageRequest = 2281711379;
public const uint Chat2C_TestMessageResponse = 2415929107;
public const uint C2M_MoveToMapRequest = 1476405010;
public const uint M2C_MoveToMapResponse = 1610622738;
public const uint C2G_SendAddressableToMap = 134227734;
public const uint C2Chat_TestRequestPushMessage = 2147493650;
public const uint Chat2C_PushMessage = 2147493651;
public const uint C2Chat_TestRequestPushMessage = 2147493651;
public const uint Chat2C_PushMessage = 2147493652;
public const uint C2G_CreateSubSceneRequest = 268445465;
public const uint G2C_CreateSubSceneResponse = 402663193;
public const uint C2G_SendToSubSceneMessage = 134227735;

View File

@ -33,6 +33,11 @@ MonoBehaviour:
referenceMode: 2
serializationDepthLimit: 64
assemblyNames:
- ARFoundationRemote.Meshing
- ARFoundationRemote.Runtime
- ARFoundationRemote.Runtime.BugReports
- ARFoundationRemote.RuntimeEditor
- ARFoundationRemote.Singleton
- Assembly-CSharp
- Assembly-CSharp-firstpass
- Boxophobic.AtmosphericHeightFog.Runtime

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 04d1643c29ddd448e9860922e98d6a29
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,119 @@
Shader "ARFoundationRemote/ARCoreBackgroundEditor" {
Properties {
_MainTex("Texture", 2D) = "white" {}
_EnvironmentDepth("Texture", 2D) = "black" {}
}
SubShader {
Tags {
"Queue" = "Background"
"RenderType" = "Background"
"ForceNoShadowCasting" = "True"
}
Pass {
Cull Off
ZTest Always
ZWrite On
Lighting Off
LOD 100
Tags
{
"LightMode" = "Always"
}
CGPROGRAM
#include "UnityCG.cginc"
#pragma multi_compile_local __ ARCORE_ENVIRONMENT_DEPTH_ENABLED
#pragma multi_compile_local __ AR_FOUNDATION_6_0_OR_NEWER
uniform float4x4 _UnityDisplayTransform;
uniform float _UnityCameraForwardScale;
struct appdata {
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f {
float4 vertex : SV_POSITION;
float2 remapped_uv : TEXCOORD1;
};
struct fragmentOutput {
float4 color : SV_Target;
float depth : SV_Depth;
};
#pragma vertex vert
v2f vert (appdata v) {
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
float2 uv = v.uv;
#ifdef AR_FOUNDATION_6_0_OR_NEWER
o.remapped_uv = mul(float3(uv, 1.0f), _UnityDisplayTransform).xy;
#else
o.remapped_uv = mul(_UnityDisplayTransform, float4(uv.x, 1.0f - uv.y, 1.0f, 0.0f)).xy;
#endif
return o;
}
float ConvertDistanceToDepth(float d) {
d = _UnityCameraForwardScale > 0.0 ? _UnityCameraForwardScale * d : d;
// https://docs.unity3d.com/2022.1/Documentation/Manual/SL-PlatformDifferences.html
#if UNITY_REVERSED_Z
return (d < _ProjectionParams.y) ? 0.0f : ((1.0f / _ZBufferParams.z) * ((1.0f / d) - _ZBufferParams.w));
#else
// from ARCoreBackground.shader
float zBufferParamsW = 1.0 / _ProjectionParams.y;
float zBufferParamsY = _ProjectionParams.z * zBufferParamsW;
float zBufferParamsX = 1.0 - zBufferParamsY;
float zBufferParamsZ = zBufferParamsX * _ProjectionParams.w;
return (d < _ProjectionParams.y) ? 1.0f : ((1.0 / zBufferParamsZ) * ((1.0 / d) - zBufferParamsW));
#endif
}
sampler2D _MainTex;
#ifdef ARCORE_ENVIRONMENT_DEPTH_ENABLED
sampler2D _EnvironmentDepth;
#endif
#pragma fragment frag
fragmentOutput frag (v2f i) {
fragmentOutput o;
float4 color = tex2D(_MainTex, i.remapped_uv);
color.a = 1.0;
o.color = color;
#if UNITY_REVERSED_Z
float depth = 0.0;
#else
float depth = 1.0;
#endif
#ifdef ARCORE_ENVIRONMENT_DEPTH_ENABLED
float envDistance = tex2D(_EnvironmentDepth, i.remapped_uv).x;
depth = ConvertDistanceToDepth(envDistance);
// uncomment to visualize depth
/*float4 black = float4(0,0,0,1);
float4 white = float4(1,1,1,1);
float _MinDistance = 0.5;
float _MaxDistance = 4;
float lerpFactor = (envDistance - _MinDistance) / (_MaxDistance - _MinDistance);
float4 lerpedColor = lerp(black, white, lerpFactor);
o.color = lerpedColor;*/
#endif
o.depth = depth;
return o;
}
ENDCG
}
}
FallBack Off
}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 0bf743b450c87453a88073a57d4b452b
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,24 @@
%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: ARCoreBackgroundOriginalUVs
m_Shader: {fileID: 4800000, guid: fe3d86a4cdbfb41b5a3157c60c10b118, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs: []
m_Floats: []
m_Colors: []
m_BuildTextureStacks: []

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 21fc87d96e869410a908bf9c35423c9e
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,130 @@
Shader "Unlit/ARCoreBackgroundOriginalUVs"
{
Properties
{
_MainTex("Texture", 2D) = "white" {}
_EnvironmentDepth("Texture", 2D) = "black" {}
}
SubShader
{
Tags
{
"Queue" = "Background"
"RenderType" = "Background"
"ForceNoShadowCasting" = "True"
}
Pass
{
Cull Off
ZTest Always
ZWrite On
Lighting Off
LOD 100
Tags
{
"LightMode" = "Always"
}
GLSLPROGRAM
#pragma multi_compile_local __ ARCORE_ENVIRONMENT_DEPTH_ENABLED
#pragma only_renderers gles3
#include "UnityCG.glslinc"
#ifdef SHADER_API_GLES3
#extension GL_OES_EGL_image_external_essl3 : require
#endif // SHADER_API_GLES3
// Device display transform is provided by the AR Foundation camera background renderer.
uniform mat4 _UnityDisplayTransform;
#ifdef VERTEX
varying vec2 textureCoord;
void main()
{
#ifdef SHADER_API_GLES3
// Transform the position from object space to clip space.
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// leave UVs unchanged
textureCoord = gl_MultiTexCoord0.xy;
#endif // SHADER_API_GLES3
}
#endif // VERTEX
#ifdef FRAGMENT
varying vec2 textureCoord;
uniform samplerExternalOES _MainTex;
uniform float _UnityCameraForwardScale;
#ifdef ARCORE_ENVIRONMENT_DEPTH_ENABLED
uniform sampler2D _EnvironmentDepth;
#endif // ARCORE_ENVIRONMENT_DEPTH_ENABLED
#if defined(SHADER_API_GLES3) && !defined(UNITY_COLORSPACE_GAMMA)
float GammaToLinearSpaceExact (float value)
{
if (value <= 0.04045F)
return value / 12.92F;
else if (value < 1.0F)
return pow((value + 0.055F)/1.055F, 2.4F);
else
return pow(value, 2.2F);
}
vec3 GammaToLinearSpace (vec3 sRGB)
{
// Approximate version from http://chilliant.blogspot.com.au/2012/08/srgb-approximations-for-hlsl.html?m=1
return sRGB * (sRGB * (sRGB * 0.305306011F + 0.682171111F) + 0.012522878F);
// Precise version, useful for debugging, but the pow() function is too slow.
// return vec3(GammaToLinearSpaceExact(sRGB.r), GammaToLinearSpaceExact(sRGB.g), GammaToLinearSpaceExact(sRGB.b));
}
#endif // SHADER_API_GLES3 && !UNITY_COLORSPACE_GAMMA
float ConvertDistanceToDepth(float d)
{
d = _UnityCameraForwardScale > 0.0 ? _UnityCameraForwardScale * d : d;
float zBufferParamsW = 1.0 / _ProjectionParams.y;
float zBufferParamsY = _ProjectionParams.z * zBufferParamsW;
float zBufferParamsX = 1.0 - zBufferParamsY;
float zBufferParamsZ = zBufferParamsX * _ProjectionParams.w;
// Clip any distances smaller than the near clip plane, and compute the depth value from the distance.
return (d < _ProjectionParams.y) ? 1.0f : ((1.0 / zBufferParamsZ) * ((1.0 / d) - zBufferParamsW));
}
void main()
{
#ifdef SHADER_API_GLES3
vec3 result = texture(_MainTex, textureCoord).xyz;
float depth = 1.0;
#ifdef ARCORE_ENVIRONMENT_DEPTH_ENABLED
float distance = texture(_EnvironmentDepth, textureCoord).x;
depth = ConvertDistanceToDepth(distance);
#endif // ARCORE_ENVIRONMENT_DEPTH_ENABLED
#ifndef UNITY_COLORSPACE_GAMMA
result = GammaToLinearSpace(result);
#endif // !UNITY_COLORSPACE_GAMMA
gl_FragColor = vec4(result, 1.0);
gl_FragDepth = depth;
#endif // SHADER_API_GLES3
}
#endif // FRAGMENT
ENDGLSL
}
}
FallBack Off
}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: fe3d86a4cdbfb41b5a3157c60c10b118
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,218 @@
Shader "Unlit/ARKitBackgroundEditor"
{
Properties
{
_textureY ("TextureY", 2D) = "white" {}
_textureCbCr ("TextureCbCr", 2D) = "black" {}
_HumanStencil ("HumanStencil", 2D) = "black" {}
_HumanDepth ("HumanDepth", 2D) = "black" {}
_EnvironmentDepth ("EnvironmentDepth", 2D) = "black" {}
}
SubShader
{
Tags
{
"Queue" = "Background"
"RenderType" = "Background"
"ForceNoShadowCasting" = "True"
}
Pass
{
Cull Off
ZTest Always
ZWrite On
Lighting Off
LOD 100
Tags
{
"LightMode" = "Always"
}
HLSLPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile_local __ ARKIT_BACKGROUND_URP ARKIT_BACKGROUND_LWRP
#pragma multi_compile_local __ ARKIT_HUMAN_SEGMENTATION_ENABLED ARKIT_ENVIRONMENT_DEPTH_ENABLED
#if ARKIT_BACKGROUND_URP
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#define ARKIT_TEXTURE2D_HALF(texture) TEXTURE2D(texture)
#define ARKIT_SAMPLER_HALF(sampler) SAMPLER(sampler)
#define ARKIT_TEXTURE2D_FLOAT(texture) TEXTURE2D(texture)
#define ARKIT_SAMPLER_FLOAT(sampler) SAMPLER(sampler)
#define ARKIT_SAMPLE_TEXTURE2D(texture,sampler,texcoord) SAMPLE_TEXTURE2D(texture,sampler,texcoord)
#elif ARKIT_BACKGROUND_LWRP
#include "Packages/com.unity.render-pipelines.lightweight/ShaderLibrary/Core.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#define ARKIT_TEXTURE2D_HALF(texture) TEXTURE2D(texture)
#define ARKIT_SAMPLER_HALF(sampler) SAMPLER(sampler)
#define ARKIT_TEXTURE2D_FLOAT(texture) TEXTURE2D(texture)
#define ARKIT_SAMPLER_FLOAT(sampler) SAMPLER(sampler)
#define ARKIT_SAMPLE_TEXTURE2D(texture,sampler,texcoord) SAMPLE_TEXTURE2D(texture,sampler,texcoord)
#else // Legacy RP
#include "UnityCG.cginc"
#define real4 half4
#define real4x4 half4x4
#define TransformObjectToHClip UnityObjectToClipPos
#define FastSRGBToLinear GammaToLinearSpace
#define ARKIT_TEXTURE2D_HALF(texture) UNITY_DECLARE_TEX2D_HALF(texture)
#define ARKIT_SAMPLER_HALF(sampler)
#define ARKIT_TEXTURE2D_FLOAT(texture) UNITY_DECLARE_TEX2D_FLOAT(texture)
#define ARKIT_SAMPLER_FLOAT(sampler)
#define ARKIT_SAMPLE_TEXTURE2D(texture,sampler,texcoord) UNITY_SAMPLE_TEX2D(texture,texcoord)
#endif
struct appdata
{
float3 position : POSITION;
float2 texcoord : TEXCOORD0;
};
struct v2f
{
float4 position : SV_POSITION;
float2 texcoord : TEXCOORD0;
};
struct fragment_output
{
real4 color : SV_Target;
float depth : SV_Depth;
};
// CBUFFER_START(UnityPerFrame) causes these error in Windows Editor in some versions of AR Foundation (works in 3.0.1 and 4.0.8):
// - Shader error in 'Unlit/ARKitBackgroundCustom': Duplicate constant buffer declaration: UnityPerFrame
// - Assertion failed on expression: 'm_BuffersToBind[shaderType][bind].buffer == NULL'
//CBUFFER_START(UnityARFoundationPerFrame)
// Device display transform is provided by the AR Foundation camera background renderer.
float4x4 _UnityDisplayTransform;
float _UnityCameraForwardScale;
//CBUFFER_END
v2f vert (appdata v)
{
// Transform the position from object space to clip space.
float4 position = TransformObjectToHClip(v.position);
// Remap the texture coordinates based on the device rotation.
float2 texcoord = mul(float3(v.texcoord, 1.0f), _UnityDisplayTransform).xy;
v2f o;
o.position = position;
o.texcoord = texcoord;
return o;
}
CBUFFER_START(ARKitColorTransformations)
static const real4x4 s_YCbCrToSRGB = real4x4(
real4(1.0h, 0.0000h, 1.4020h, -0.7010h),
real4(1.0h, -0.3441h, -0.7141h, 0.5291h),
real4(1.0h, 1.7720h, 0.0000h, -0.8860h),
real4(0.0h, 0.0000h, 0.0000h, 1.0000h)
);
CBUFFER_END
inline float ConvertDistanceToDepth(float d)
{
// Account for scale
d = _UnityCameraForwardScale > 0.0 ? _UnityCameraForwardScale * d : d;
// Clip any distances smaller than the near clip plane, and compute the depth value from the distance.
#if UNITY_REVERSED_Z
return (d < _ProjectionParams.y) ? 0.0f : ((1.0f / _ZBufferParams.z) * ((1.0f / d) - _ZBufferParams.w));
#else
// from ARCoreBackground.shader
float zBufferParamsW = 1.0 / _ProjectionParams.y;
float zBufferParamsY = _ProjectionParams.z * zBufferParamsW;
float zBufferParamsX = 1.0 - zBufferParamsY;
float zBufferParamsZ = zBufferParamsX * _ProjectionParams.w;
return (d < _ProjectionParams.y) ? 1.0f : ((1.0 / zBufferParamsZ) * ((1.0 / d) - zBufferParamsW));
#endif
}
ARKIT_TEXTURE2D_HALF(_textureY);
ARKIT_SAMPLER_HALF(sampler_textureY);
ARKIT_TEXTURE2D_HALF(_textureCbCr);
ARKIT_SAMPLER_HALF(sampler_textureCbCr);
#if ARKIT_ENVIRONMENT_DEPTH_ENABLED
ARKIT_TEXTURE2D_FLOAT(_EnvironmentDepth);
ARKIT_SAMPLER_FLOAT(sampler_EnvironmentDepth);
#elif ARKIT_HUMAN_SEGMENTATION_ENABLED
ARKIT_TEXTURE2D_HALF(_HumanStencil);
ARKIT_SAMPLER_HALF(sampler_HumanStencil);
ARKIT_TEXTURE2D_FLOAT(_HumanDepth);
ARKIT_SAMPLER_FLOAT(sampler_HumanDepth);
#endif // ARKIT_HUMAN_SEGMENTATION_ENABLED
fragment_output frag (v2f i)
{
// Sample the video textures (in YCbCr).
real4 ycbcr = real4(ARKIT_SAMPLE_TEXTURE2D(_textureY, sampler_textureY, i.texcoord).r,
ARKIT_SAMPLE_TEXTURE2D(_textureCbCr, sampler_textureCbCr, i.texcoord).rg,
1.0h);
// Convert from YCbCr to sRGB.
real4 videoColor = mul(s_YCbCrToSRGB, ycbcr);
#if !UNITY_COLORSPACE_GAMMA
// If rendering in linear color space, convert from sRGB to RGB.
videoColor.xyz = FastSRGBToLinear(videoColor.xyz);
#endif // !UNITY_COLORSPACE_GAMMA
// Assume the background depth is the back of the depth clipping volume.
#if UNITY_REVERSED_Z
float depthValue = 0.0;
#else
float depthValue = 1.0;
#endif
#if ARKIT_ENVIRONMENT_DEPTH_ENABLED
// Sample the environment depth (in meters).
float envDistance = ARKIT_SAMPLE_TEXTURE2D(_EnvironmentDepth, sampler_EnvironmentDepth, i.texcoord).r;
// Convert the distance to depth.
depthValue = ConvertDistanceToDepth(envDistance);
#elif ARKIT_HUMAN_SEGMENTATION_ENABLED
// Check the human stencil, and skip non-human pixels.
if (ARKIT_SAMPLE_TEXTURE2D(_HumanStencil, sampler_HumanStencil, i.texcoord).r > 0.5h)
{
// Sample the human depth (in meters).
float humanDistance = ARKIT_SAMPLE_TEXTURE2D(_HumanDepth, sampler_HumanDepth, i.texcoord).r;
// Convert the distance to depth.
depthValue = ConvertDistanceToDepth(humanDistance);
}
#endif // ARKIT_HUMAN_SEGMENTATION_ENABLED
fragment_output o;
o.color = videoColor;
o.depth = depthValue;
return o;
}
ENDHLSL
}
}
}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 0a57efbb998174b2cbca48c7e9fa8089
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 79f9e7a01e7bf4b48a880ea82b02acf0
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c6cabdd5bd5994e07996879ab6a96f0b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,77 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: sloth_all_1001_AlbedoTransparency
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 0}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 2d54635df6d4d460db7ed5b8b181328b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,252 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1217920764520308
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4447038815701200}
- component: {fileID: 95365403429265904}
- component: {fileID: 114957203121655242}
- component: {fileID: 1516717333875874835}
m_Layer: 0
m_Name: SlothHead
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4447038815701200
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1217920764520308}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4090201786607310}
- {fileID: 4272230514208426}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!95 &95365403429265904
Animator:
serializedVersion: 5
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1217920764520308}
m_Enabled: 1
m_Avatar: {fileID: 9000000, guid: 2a2c529d354c94d468992560adf807ab, type: 3}
m_Controller: {fileID: 0}
m_CullingMode: 1
m_UpdateMode: 0
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_StabilizeFeet: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0
m_WriteDefaultValuesOnDisable: 0
--- !u!114 &114957203121655242
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1217920764520308}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5d87bd45cfc214ce48ce8b882225dd11, type: 3}
m_Name:
m_EditorClassIdentifier:
m_DestroyOnRemoval: 1
--- !u!114 &1516717333875874835
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1217920764520308}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dfd4ced504c8a44768f1c5c9b71b9fc7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_CoefficientScale: 100
m_SkinnedMeshRenderer: {fileID: 137740007780104604}
--- !u!1 &1342913298729328
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4272230514208426}
- component: {fileID: 137740007780104604}
m_Layer: 0
m_Name: Sloth_Head2
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4272230514208426
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1342913298729328}
m_LocalRotation: {x: 0, y: 1, z: 0, w: 0}
m_LocalPosition: {x: -0.000000017881392, y: 0.010724431, z: 0.0066379486}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4447038815701200}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}
--- !u!137 &137740007780104604
SkinnedMeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1342913298729328}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 4294967295
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 2d54635df6d4d460db7ed5b8b181328b, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 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: 1
m_SkinnedMotionVectors: 1
m_Mesh: {fileID: 4300000, guid: 2a2c529d354c94d468992560adf807ab, type: 3}
m_Bones: []
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
m_RootBone: {fileID: 0}
m_AABB:
m_Center: {x: 0, y: -0.015557218, z: 0}
m_Extent: {x: 0.113363, y: 0.13194084, z: 0.13394047}
m_DirtyAABB: 0
--- !u!1 &1775342627339584
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4090201786607310}
m_Layer: 0
m_Name: blendshapes3
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4090201786607310
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1775342627339584}
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4447038815701200}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e5e1e942e6a0b412d8236bc067c2c9bc
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,3 @@
Sloth model is taken from here:
https://github.com/Unity-Technologies/arfoundation-samples
You can find textures there too, I removed them to reduce plugin size.

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 4e01f0f4410414e8280501aba5d27ddd
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,131 @@
fileFormatVersion: 2
guid: 2a2c529d354c94d468992560adf807ab
ModelImporter:
serializedVersion: 19300
internalIDToNameTable:
- first:
1: 100000
second: blendshapes3
- first:
1: 100002
second: Sloth_Head2
- first:
1: 100004
second: //RootNode
- first:
4: 400000
second: blendshapes3
- first:
4: 400002
second: Sloth_Head2
- first:
4: 400004
second: //RootNode
- first:
43: 4300000
second: Sloth_Head2
- first:
95: 9500000
second: //RootNode
- first:
137: 13700000
second: Sloth_Head2
- first:
41386430: 2186277476908879412
second: ImportLogs
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: blinn2
second: {fileID: 2100000, guid: d488a5f6b8f9e4c2787ac2d15af48a91, type: 2}
materials:
materialImportMode: 0
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: 10
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 0
importBlendShapes: 1
importCameras: 0
importLights: 0
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.000001
secondaryUVHardAngle: 88
secondaryUVPackMargin: 4
useFileScale: 1
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 0
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: 10
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4008ea57d8a35460e9f848672dcf1bfb
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,118 @@
{
"name": "ARFoundationRemote.Editor",
"rootNamespace": "",
"references": [
"GUID:92703082f92b41ba80f0d6912de66115",
"GUID:a9420e37d7990b54abdef6688edbe313",
"GUID:e40ba710768534012815d3193fa296cb",
"GUID:f9fe0089ec81f4079af78eb2287a6163",
"GUID:df053a1a69e8040ee88d52204e1cd5b9",
"GUID:dfd0ce20189d48e5b22bb4134b558f5a",
"GUID:9e6bdf94fcb245c585c26819fa23a202",
"GUID:6a539ac6c932246bd946aa409b684bb2",
"GUID:c77df3f6cd8734067ac677825ace9000",
"GUID:9feb8a99f0127464688af163f1886764",
"Unity.RenderPipelines.Lightweight.Runtime",
"Unity.RenderPipelines.Universal.Runtime",
"GUID:dc960734dc080426fa6612f1c5fe95f3",
"GUID:74ae8fbf15c4945d183687caf4abe3bf",
"GUID:75469ad4d38634e559750d17036d5f7c"
],
"includePlatforms": [
"Editor"
],
"excludePlatforms": [],
"allowUnsafeCode": true,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [
{
"name": "com.unity.xr.arfoundation",
"expression": "4.0.0-preview.1",
"define": "ARFOUNDATION_4_0_OR_NEWER"
},
{
"name": "com.unity.xr.arfoundation",
"expression": "4.0.2",
"define": "ARFOUNDATION_4_0_2_OR_NEWER"
},
{
"name": "com.unity.xr.management",
"expression": "3.2.10",
"define": "XR_MANAGEMENT_3_2_10_OR_NEWER"
},
{
"name": "com.unity.xr.arkit",
"expression": "1.0.0",
"define": "ARKIT_INSTALLED"
},
{
"name": "com.unity.xr.arcore",
"expression": "1.0.0",
"define": "ARCORE_INSTALLED"
},
{
"name": "com.unity.render-pipelines.universal",
"expression": "7.0.0",
"define": "MODULE_URP_ENABLED"
},
{
"name": "com.unity.xr.arsubsystems",
"expression": "3.1.3",
"define": "AR_SUBSYSTEMS_3_1_3_OR_NEWER"
},
{
"name": "com.unity.render-pipelines.lightweight",
"expression": "[5.7.2,7.0.0)",
"define": "MODULE_LWRP_ENABLED"
},
{
"name": "com.unity.xr.arfoundation",
"expression": "4.1.0-preview.1",
"define": "ARFOUNDATION_4_1_OR_NEWER"
},
{
"name": "com.unity.xr.arsubsystems",
"expression": "4.2.0",
"define": "AR_SUBSYSTEMS_4_2_OR_NEWER"
},
{
"name": "com.unity.xr.arsubsystems",
"expression": "4.0.1",
"define": "AR_SUBSYSTEMS_4_0_1_OR_NEWER"
},
{
"name": "com.kyrylokuzyk.arfoundationremote",
"expression": "2.0.0",
"define": "AR_FOUNDATION_REMOTE_2_0_OR_NEWER"
},
{
"name": "com.unity.xr.arfoundation",
"expression": "4.2.0-pre.12",
"define": "AR_FOUNDATION_4_2_OR_NEWER"
},
{
"name": "com.unity.xr.arfoundation",
"expression": "5.0.0-pre.12",
"define": "AR_FOUNDATION_5_0_OR_NEWER"
},
{
"name": "com.unity.xr.arsubsystems",
"expression": "4.1.1",
"define": "AR_SUBSYSTEMS_4_1_1_OR_NEWER"
},
{
"name": "com.unity.inputsystem",
"expression": "1.0.0",
"define": "INPUT_SYSTEM_INSTALLED"
},
{
"name": "com.unity.xr.arfoundation",
"expression": "6.0.0-pre.6",
"define": "AR_FOUNDATION_6_0_OR_NEWER"
}
],
"noEngineReferences": false
}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 7c7bd0e05e85b48f38983cf34da6878c
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,185 @@
#if AR_FOUNDATION_5_0_OR_NEWER
using XRDepthSubsystem = UnityEngine.XR.ARSubsystems.XRPointCloudSubsystem;
using XRDepthSubsystemDescriptor = UnityEngine.XR.ARSubsystems.XRPointCloudSubsystemDescriptor;
#endif
#if !UNITY_2019_3_OR_NEWER
using MeshId = UnityEngine.Experimental.XR.TrackableId;
using XRMeshSubsystem = UnityEngine.Experimental.XR.XRMeshSubsystem;
using XRMeshSubsystemDescriptor = UnityEngine.Experimental.XR.XRMeshSubsystemDescriptor;
#endif
using ARFoundationRemote.RuntimeEditor;
using System.Collections.Generic;
using ARFoundationRemote.Runtime;
using UnityEditor;
using UnityEngine;
using UnityEngine.XR;
using UnityEngine.XR.ARSubsystems;
using UnityEngine.XR.Management;
namespace ARFoundationRemote.Editor {
internal class ARFoundationRemoteLoader: XRLoaderHelper {
/// Calling <see cref="createInputSubsystem"/> with Input System package installed will add a new <see cref="InputDevice"/>.
/// Adding an <see cref="InputDevice"/> without registering a layout will lead to this issue: https://github.com/KirillKuzyk/AR-Foundation-Remote-support/issues/4
/// To prevent the issue:
/// - Register layout in <see cref="RuntimeInitializeLoadType.SubsystemRegistration"/> because Unity 2019.4.39 adds an Input Device from a native plugin (UnitySubsystemsManifest.json) even if a loader is not enabled.
/// - Register layout also in AR Foundation Remote 1.0.
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)]
static void registerInputSystemLayout() {
#if INPUT_SYSTEM_INSTALLED
UnityEngine.InputSystem.InputSystem.RegisterLayout<HandheldARInputDevice>(
matches: new UnityEngine.InputSystem.Layouts.InputDeviceMatcher()
.WithInterface(UnityEngine.InputSystem.XR.XRUtilities.InterfaceMatchAnyVersion)
.WithProduct("ARFoundationRemoteInputDevice", false)
);
#endif
}
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
static void initOnLoad() {
if (Settings.Instance.logStartupErrors) {
if (!Global.isPluginEnabledInXRManagementWindow()) {
Debug.LogError("Please enable \"" + Constants.packageName + $"\" provider in Project Settings -> XR Plug-in Management -> PC, Mac & Linux Standalone. {Constants.silentStartupErrorsMessage}\n");
if (Defines.isUnity2019_2) {
Debug.LogError("And enable the 'Initialize on Startup' setting");
}
}
if (!Global.ShouldRunWithCurrentBuildTarget()) {
Debug.LogError($"{Constants.packageName}: please switch Unity Editor build target to the build target of your AR Companion app (iOS/Android). {Constants.silentStartupErrorsMessage}\n");
}
}
}
public override bool Initialize() {
if (!Global.IsPluginEnabled()) {
return false;
}
Receiver.logDestruction("ARFoundationRemoteLoader.Initialize()");
Connection.Send(EditorToPlayerMessageType.InitializeLoader);
if (isNativeInputSubsystemSupported()) {
createInputSubsystem();
}
CreateSubsystem<XRMeshSubsystemDescriptor, XRMeshSubsystem>(new List<XRMeshSubsystemDescriptor>(), "ARFoundationRemote-Meshing");
#if ARFOUNDATION_4_0_OR_NEWER
CreateSubsystem<XRObjectTrackingSubsystemDescriptor, XRObjectTrackingSubsystem>(new List<XRObjectTrackingSubsystemDescriptor>(), nameof(ObjectTrackingSubsystem));
#endif
#if ARFOUNDATION_4_0_2_OR_NEWER
CreateSubsystem<XRHumanBodySubsystemDescriptor, XRHumanBodySubsystem>(new List<XRHumanBodySubsystemDescriptor>(), nameof(HumanBodySubsystem));
CreateSubsystem<XROcclusionSubsystemDescriptor, XROcclusionSubsystem>(new List<XROcclusionSubsystemDescriptor>(), nameof(OcclusionSubsystem));
#endif
CreateSubsystem<XRSessionSubsystemDescriptor, XRSessionSubsystem>(new List<XRSessionSubsystemDescriptor>(), nameof(SessionSubsystem));
CreateSubsystem<XRPlaneSubsystemDescriptor, XRPlaneSubsystem>(new List<XRPlaneSubsystemDescriptor>(), nameof(PlaneSubsystem));
CreateSubsystem<XRDepthSubsystemDescriptor, XRDepthSubsystem>(new List<XRDepthSubsystemDescriptor>(), nameof(DepthSubsystem));
CreateSubsystem<XRFaceSubsystemDescriptor, XRFaceSubsystem>(new List<XRFaceSubsystemDescriptor>(), nameof(FaceSubsystem));
if (shouldCreateCameraSubsystem()) {
CreateSubsystem<XRCameraSubsystemDescriptor, XRCameraSubsystem>(new List<XRCameraSubsystemDescriptor>(), nameof(CameraSubsystem));
}
CreateSubsystem<XRImageTrackingSubsystemDescriptor, XRImageTrackingSubsystem>(new List<XRImageTrackingSubsystemDescriptor>(), nameof(ImageTrackingSubsystem));
CreateSubsystem<XRRaycastSubsystemDescriptor, XRRaycastSubsystem>(new List<XRRaycastSubsystemDescriptor>(), nameof(RaycastSubsystem));
CreateSubsystem<XRAnchorSubsystemDescriptor, XRAnchorSubsystem>(new List<XRAnchorSubsystemDescriptor>(), nameof(AnchorSubsystem));
Global.IsInitialized = true;
return base.Initialize();
}
void createInputSubsystem() {
CreateSubsystem<XRInputSubsystemDescriptor, XRInputSubsystem>(new List<XRInputSubsystemDescriptor>(), "ARFoundationRemote-Input");
}
public override bool Start() {
if (isNativeInputSubsystemSupported()) {
StartSubsystem<XRInputSubsystem>();
}
return base.Start();
}
public override bool Stop() {
if (isNativeInputSubsystemSupported()) {
StopSubsystem<XRInputSubsystem>();
}
return base.Stop();
}
public override bool Deinitialize() {
Receiver.logDestruction("ARFoundationRemoteLoader.Deinitialize()");
if (!Global.IsPluginEnabled()) {
return false;
}
Global.IsInitialized = false;
Connection.Send(EditorToPlayerMessageType.BeforeDeinitializeLoader);
MeshingReceiverNative.OnDeinitialize();
DestroySubsystem<XRMeshSubsystem>();
if (isNativeInputSubsystemSupported()) {
DestroySubsystem<XRInputSubsystem>();
}
DestroySubsystem<XRSessionSubsystem>();
DestroySubsystem<XRPlaneSubsystem>();
DestroySubsystem<XRDepthSubsystem>();
DestroySubsystem<XRFaceSubsystem>();
if (shouldCreateCameraSubsystem()) {
DestroySubsystem<XRCameraSubsystem>();
}
DestroySubsystem<XRImageTrackingSubsystem>();
DestroySubsystem<XRRaycastSubsystem>();
DestroySubsystem<XRAnchorSubsystem>();
#if ARFOUNDATION_4_0_OR_NEWER
DestroySubsystem<XROcclusionSubsystem>();
DestroySubsystem<XRHumanBodySubsystem>();
#endif
#if ARFOUNDATION_4_0_OR_NEWER
DestroySubsystem<XRObjectTrackingSubsystem>();
#endif
Connection.Send(EditorToPlayerMessageType.DeinitializeLoader);
return base.Deinitialize();
}
static bool shouldCreateCameraSubsystem() {
// plane tracking doesn't work if XRCameraSubsystem is not created, don't know why
/*if (!Settings.cameraVideoSettings.enableVideo) {
return false;
}*/
return Defines.isAndroid || Defines.isIOS;
}
static bool isNativeInputSubsystemSupported() {
return CameraPoseReceiver.IsNativeImplSupported();
}
public override T GetLoadedSubsystem<T>() {
var t = typeof(T);
if (Global.IsInitialized == true) {
// Debug.Log($"GetLoadedSubsystem {typeof(T)}");
if (t == typeof(XRMeshSubsystem)) {
var fixer = new ARMeshManagerFixer();
if (!fixer.IsFixApplied()) {
Debug.LogError($"{Constants.packageName}: native libARFRemote library wasn't loaded correctly.\n" +
"Please contact support and include this info: Unity Editor version, Operating System version, CPU architecture.\n" +
$"Temporary workaround: {Constants.embedArf}");
EditorApplication.isPlaying = false;
}
} else if (t == typeof(XRFaceSubsystem)) {
IEditorSupportFixer fixer = new ARFaceEditorMemorySafetyErrorFixer();
if (!fixer.IsFixApplied()) {
Debug.LogError($"{Constants.packageName}: ARFace.GetUndisposable() has a bug that prevents it from working correctly inside Unity Editor.\n" +
"Possible solutions:\n" +
"- If you can, please update to AR Foundation version that fixes this bug (for example: 4.1.9+/4.2.0+).\n" +
$"- OR {Constants.embedArf}\n");
EditorApplication.isPlaying = false;
}
}
}
if (t == typeof(IXRMeshSubsystem)) {
return XRGeneralSettingsRemote.GetMeshSubsystem() as T;
}
return base.GetLoadedSubsystem<T>();
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 8c4e3dc40d5094db9a4a9407fa08e6a8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,12 @@
using System;
using ARFoundationRemote.Runtime;
using UnityEngine;
using UnityEngine.XR.Management;
namespace ARFoundationRemote.Editor {
[Serializable]
[XRConfigurationData(Constants.packageName, Constants.packageName + nameof(ARFoundationRemoteLoaderSettings))]
internal class ARFoundationRemoteLoaderSettings: ScriptableObject {
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 3b4b8a381ea5244b2830a839f609b829
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,47 @@
using System.Collections.Generic;
using ARFoundationRemote.Runtime;
using UnityEditor;
using UnityEngine;
namespace ARFoundationRemote.Editor {
[CustomEditor(typeof(ARFoundationRemoteLoaderSettings))]
internal class ARFoundationRemoteLoaderSettingsInspector : UnityEditor.Editor {
List<UnityEditor.Editor> editors;
void OnEnable() {
editors = new List<UnityEditor.Editor> {CreateEditor(Settings.Instance)};
if (Defines.ARFOUNDATION_4_0_OR_NEWER) {
editors.Add(CreateEditor(ObjectTrackingLibraries.Instance));
}
}
public override void OnInspectorGUI() {
foreach (var _ in editors) {
_.OnInspectorGUI();
}
TryDrawVersionUpgrade();
}
public static void TryDrawVersionUpgrade() {
#if AR_FOUNDATION_REMOTE_2_0_OR_NEWER
return;
#endif
#pragma warning disable 162
GUILayout.Space(32);
GUILayout.Label("New version available!", EditorStyles.boldLabel);
GUILayout.Space(8);
GUILayout.Label("Want even more awesome features?\n" +
"Upgrade to <b>AR Foundation Remote 2.0</b> with a <color=#E24747><b>discount</b></color>.",
new GUIStyle(GUI.skin.label) {wordWrap = true, richText = true, margin = new RectOffset(4, 4, 4, 4)});
GUILayout.Space(8);
if (GUILayout.Button("View on Asset Store", GUI.skin.button)) {
Application.OpenURL("https://assetstore.unity.com/packages/slug/201106");
}
#pragma warning restore 162
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 410775890f454dd6a9f3111db13333ff
timeCreated: 1627290332

View File

@ -0,0 +1,3 @@
using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("ARFoundationRemote.Installer.Editor")]

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 11585de177444a67966fae8ef435c26b
timeCreated: 1654592583

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 544a3518e8c214cfd9e70ac5dedf14cb
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,49 @@
using System.IO;
using ARFoundationRemote.Runtime;
using UnityEditor;
using UnityEngine.Assertions;
namespace ARFoundationRemote.Editor {
internal class ARBackgroundRendererFeatureFixer : IEditorSupportFixer {
const string fix = @"#undef UNITY_EDITOR
";
string IEditorSupportFixer.GetCriticalFixExplanationOrNull() {
if (Defines.isUrpOrIsLwrpEnabled) {
return $"ARBackgroundRendererFeature.cs is not designed to work in the Editor. Please {Constants.embedArf}\n" +
"More info: https://github.com/Unity-Technologies/arfoundation-samples/issues/961\n\n";
}
return null;
}
bool IEditorSupportFixer.IsFixApplied() {
return isFixApplied_internal();
}
static bool isFixApplied_internal() {
if (!Defines.isUrpOrIsLwrpEnabled) {
return true;
}
var text = loadScript().text;
var isFixedByUnity = !text.Contains("#if !UNITY_EDITOR");
return isFixedByUnity || text.Contains(fix);
}
bool IEditorSupportFixer.Apply() {
Assert.IsFalse(isFixApplied_internal());
var script = loadScript();
var withFix = script.text.Insert(0, fix);
File.WriteAllText(AssetDatabase.GetAssetPath(script), withFix);
return true;
}
static MonoScript loadScript() {
var path = FixesForEditorSupport.GetARFoundationRuntimeScriptPath<UnityEngine.XR.ARFoundation.ARBackgroundRendererFeature>();
var script = AssetDatabase.LoadAssetAtPath<MonoScript>(path);
return script;
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 4ca8c26b782c94fdd95f54107ac63a59
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,44 @@
using System;
using System.IO;
using UnityEditor;
using UnityEngine.Assertions;
using UnityEngine.XR.ARFoundation;
namespace ARFoundationRemote.Editor {
internal class ARCameraBackgroundFixer : IEditorSupportFixer {
bool IEditorSupportFixer.IsFixApplied() => isFixApplied_internal();
static bool isFixApplied_internal() => true;
bool IEditorSupportFixer.Apply() {
Assert.IsFalse(isFixApplied_internal());
var script = loadScript();
var text = script.text;
FixesForEditorSupport.log("ARCameraBackgroundFixer");
var index = text.IndexOf("commandBuffer.IssuePluginEvent(", StringComparison.Ordinal);
var withFix = text.Insert(index, @"// AR_FOUNDATION_EDITOR_REMOTE: calling commandBuffer.IssuePluginEvent is crashing Unity Editor 2019.2 and freezing newer versions of Unity
#if UNITY_EDITOR
if (Application.isEditor) {
return;
}
#endif
// AR_FOUNDATION_EDITOR_REMOTE***
");
File.WriteAllText(AssetDatabase.GetAssetPath(script), withFix);
return true;
}
static MonoScript loadScript() {
var path = FixesForEditorSupport.GetARFoundationRuntimeScriptPath<ARCameraBackground>();
var script = AssetDatabase.LoadAssetAtPath<MonoScript>(path);
return script;
}
string IEditorSupportFixer.GetCriticalFixExplanationOrNull() => null;
public static bool Undo() {
return ARMeshManagerFixer.undoScript(nameof(ARCameraBackground));
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 1f90a77f3ee4045f69c9198d763393a2
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,69 @@
using System;
using System.IO;
using System.Reflection;
using Unity.Collections;
using Unity.Collections.LowLevel.Unsafe;
using UnityEditor;
using UnityEngine;
using UnityEngine.XR.ARFoundation;
using Object = UnityEngine.Object;
namespace ARFoundationRemote.Editor {
internal class ARFaceEditorMemorySafetyErrorFixer : IEditorSupportFixer {
string IEditorSupportFixer.GetCriticalFixExplanationOrNull() {
return null;
}
/// Calling <see cref="ARFace.GetUndisposable{T}"/> in Editor breaks read/write access to NativeArray because of memory safety checks.
/// To fix this issue, we need to add these three lines in the beginning of <see cref="ARFace.GetUndisposable{T}"/>:
/// #if UNITY_EDITOR
/// return disposable;
/// #endif
///
/// This was fixed in AR Foundation 4.1.9/4.2.0, and typeof(ARFace).GetMethod will return null because <see cref="ARFace.GetUndisposable{T}"/> is now static
bool IEditorSupportFixer.IsFixApplied() {
var method = typeof(ARFace).GetMethod("GetUndisposable", BindingFlags.NonPublic | BindingFlags.Instance);
if (method == null) {
return true;
}
var genericMethod = method.MakeGenericMethod(typeof(int));
var arFace = new GameObject().AddComponent<ARFace>();
var nativeArray = new NativeArray<int>(0, Allocator.Temp);
var undisposableArray = (NativeArray<int>) genericMethod.Invoke(arFace, new object[] {nativeArray});
try {
var handle = NativeArrayUnsafeUtility.GetAtomicSafetyHandle(undisposableArray);
AtomicSafetyHandle.CheckReadAndThrow(handle);
return true;
} catch {
return false;
} finally {
Object.DestroyImmediate(arFace.gameObject);
nativeArray.Dispose();
}
}
bool IEditorSupportFixer.Apply() {
var path = "Packages/com.unity.xr.arfoundation/Runtime/AR/ARFace.cs";
var script = AssetDatabase.LoadAssetAtPath<MonoScript>(path);
var text = script.text;
var i = text.IndexOf("GetUndisposable<T>", StringComparison.Ordinal);
var j = text.IndexOf('{', i);
var withFix = text.Insert(j + 1,
@"
#if UNITY_EDITOR
return disposable;
#endif
#pragma warning disable 162");
withFix = withFix.Insert(withFix.IndexOf('}', j), @" #pragma warning restore 162
");
File.WriteAllText(AssetDatabase.GetAssetPath(script), withFix);
return true;
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 8835b41d4e22947868742646f4a70c35
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,54 @@
using System.IO;
using System.Reflection;
using Unity.Collections;
using UnityEditor;
using UnityEngine;
using UnityEngine.Assertions;
using UnityEngine.XR.ARFoundation;
namespace ARFoundationRemote.Editor {
internal class ARPointCloudManagerAppendMethodFixer : IEditorSupportFixer {
string IEditorSupportFixer.GetCriticalFixExplanationOrNull() {
return null;
}
/// Method <see cref="ARPointCloudManager.Append{T}(ref NativeArray{T},NativeArray{T},int,Allocator)"/> causes Editor to throw exception
bool IEditorSupportFixer.IsFixApplied() {
var array1 = new NativeArray<int>(0, Allocator.Temp);
var array2 = new NativeArray<int>(new int[42], Allocator.Temp);
var method = typeof(ARPointCloudManager).GetMethod("Append", BindingFlags.NonPublic | BindingFlags.Static);
Assert.IsNotNull(method);
var genericMethod = method.MakeGenericMethod(typeof(int));
Assert.IsNotNull(genericMethod);
try {
genericMethod.Invoke(null, new object[] {array1, array2, array2.Length, Allocator.Temp});
return true;
} catch {
return false;
} finally {
array1.Dispose();
array2.Dispose();
}
}
bool IEditorSupportFixer.Apply() {
var path = FixesForEditorSupport.GetARFoundationRuntimeScriptPath<ARPointCloudManager>();
var script = AssetDatabase.LoadAssetAtPath<MonoScript>(path);
var text = script.text;
//Debug.Log(text);
var lineWithError = "NativeArray<T>.Copy(currentArray, dstArray);";
if (!text.Contains(lineWithError)) {
FixesForEditorSupport.log("ARPointCloudManagerAppendMethodFixer already applied");
Debug.LogError("ARPointCloudManager.cs fix can't be applied. Please restart Unity Editor.");
return false;
}
FixesForEditorSupport.log("ARPointCloudManagerAppendMethodFixer");
var withFix = text.Replace(lineWithError, "NativeArray<T>.Copy(currentArray, dstArray, currentArray.Length);");
File.WriteAllText(AssetDatabase.GetAssetPath(script), withFix);
return true;
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 7de97784aee024067b1b668abb46f165
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,121 @@
using System.Collections;
using System.Diagnostics;
using System.Linq;
using ARFoundationRemote.Runtime;
using UnityEditor;
using UnityEditor.PackageManager;
using UnityEngine.Assertions;
using Debug = UnityEngine.Debug;
namespace ARFoundationRemote.Editor {
[InitializeOnLoad]
internal static class FixesForEditorSupport {
static readonly IEditorSupportFixer[] fixers = {
new ARPointCloudManagerAppendMethodFixer(),
new ARCameraBackgroundFixer(),
new ARFaceEditorMemorySafetyErrorFixer(),
new ARMeshManagerFixer(),
new ARBackgroundRendererFeatureFixer()
};
public static string GetARFoundationRuntimeScriptPath<T>() {
return Defines.AR_FOUNDATION_5_0_OR_NEWER ?
$"Packages/com.unity.xr.arfoundation/Runtime/ARFoundation/{typeof(T).Name}.cs" :
$"Packages/com.unity.xr.arfoundation/Runtime/AR/{typeof(T).Name}.cs";
}
static FixesForEditorSupport() {
EditorApplication.playModeStateChanged += state => {
if (state == PlayModeStateChange.EnteredPlayMode && Global.IsPluginEnabled()) {
DontDestroyOnLoadSingleton.Instance.StartCoroutine(tryApplyFixes());
}
};
}
static IEnumerator tryApplyFixes() {
if (!Global.IsPluginEnabled()) {
yield break;
}
var listRequest = Client.List(true, true);
while (!listRequest.IsCompleted) {
yield return null;
}
Assert.AreEqual(StatusCode.Success, listRequest.Status);
var arf = listRequest.Result.Single(_ => _.name == "com.unity.xr.arfoundation");
if (arf.source == PackageSource.Embedded) {
if (Apply()) {
Debug.LogError($"{Constants.packageName}: applying AR Foundation fixes for Editor. Please restart current scene.");
EditorApplication.isPlaying = false;
}
} else {
var hasCriticalFixes = fixers.Any(_ => {
var criticalExplanation = _.GetCriticalFixExplanationOrNull();
if (criticalExplanation != null && !_.IsFixApplied()) {
Assert.IsTrue(criticalExplanation.Any());
Debug.LogError($"{Constants.packageName}. {criticalExplanation}");
return true;
}
return false;
});
if (hasCriticalFixes) {
EditorApplication.isPlaying = false;
}
}
}
public static bool Apply() {
var count = fixers.Count(_ => {
var result = _.ApplyIfNeeded();
if (result) {
log($"fix applied {_.GetType()}");
}
return result;
});
var isAnyFixApplied = count > 0;
if (isAnyFixApplied) {
AssetDatabase.Refresh();
}
return isAnyFixApplied;
}
public static bool Undo() {
var isAnyUndone = ARMeshManagerFixer.Undo() | ARCameraBackgroundFixer.Undo();
if (isAnyUndone) {
AssetDatabase.Refresh();
return true;
} else {
return false;
}
}
[Conditional("_")]
public static void log(string s) {
Debug.Log(s);
}
}
static class IEditorSupportFixerExt {
public static bool ApplyIfNeeded(this IEditorSupportFixer fixer) {
if (!fixer.IsFixApplied()) {
var result = fixer.Apply();
if (!result) {
Debug.LogError($"{Constants.packageName}: fix wasn't applied correctly, {fixer.GetType()}.");
}
return true;
}
return false;
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 77263cf10ebbe48fb9c278fd14aad89c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,10 @@
using JetBrains.Annotations;
namespace ARFoundationRemote.Editor {
internal interface IEditorSupportFixer {
[CanBeNull] string GetCriticalFixExplanationOrNull();
bool IsFixApplied();
bool Apply();
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 60c9898352dd476e8ef8fc9626ca2aec
timeCreated: 1648396690

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1cb89eba2cf8a41bf8dae6ba096b748d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,191 @@
using System;
using System.IO;
using System.Linq;
using ARFoundationRemote.Runtime;
using ARFoundationRemote.RuntimeEditor;
using UnityEditor;
using UnityEngine;
using UnityEngine.Assertions;
using UnityEngine.XR.ARFoundation;
namespace ARFoundationRemote.Editor {
internal class ARMeshManagerFixer : IEditorSupportFixer {
static string meshingDependency = @"
""ARFoundationRemote.Meshing"",";
string IEditorSupportFixer.GetCriticalFixExplanationOrNull() {
return null;
}
public bool IsFixApplied() {
return MeshingReceiverNative.IsNativeLibraryExistsForCurrentPlatform() || MeshReceiverManaged.IsARMeshManagerFixApplied();
}
bool IEditorSupportFixer.Apply() {
return addMeshingDependency() | applyUsingFixes(FixesForEditorSupport.GetARFoundationRuntimeScriptPath<ARMeshManager>()) | applyCheckAvailableFeaturesFix();
}
static bool addMeshingDependency() {
var path = getARFAsmdefFilePath();
var text = AssetDatabase.LoadAssetAtPath<TextAsset>(path).text;
if (text.Contains(meshingDependency)) {
return false;
}
text = text.Insert(text.IndexOf("[", text.IndexOf("references", StringComparison.Ordinal), StringComparison.Ordinal) + 1, meshingDependency);
File.WriteAllText(path, text);
return true;
}
static string getARFAsmdefFilePath() {
var arf5subpath = Defines.AR_FOUNDATION_5_0_OR_NEWER ? "ARFoundation/" : "";
var path = $"Packages/com.unity.xr.arfoundation/Runtime/{arf5subpath}Unity.XR.ARFoundation.asmdef";
return path;
}
static bool removeMeshingDependency() {
var path = getARFAsmdefFilePath();
var text = AssetDatabase.LoadAssetAtPath<TextAsset>(path).text;
if (text.Contains(meshingDependency)) {
text = text.Replace(meshingDependency, "");
File.WriteAllText(path, text);
return true;
} else {
return false;
}
}
static bool applyCheckAvailableFeaturesFix() {
var path = AssetDatabase.FindAssets("CheckAvailableFeatures")
.Select(AssetDatabase.GUIDToAssetPath)
.SingleOrDefault();
if (path != null) {
var script = AssetDatabase.LoadAssetAtPath<MonoScript>(path);
var text = script.text;
if (text.Contains("AR_FOUNDATION_EDITOR_REMOTE")) {
return false;
}
var i = text.IndexOf("if(activeLoader && activeLoader.GetLoadedSubsystem", StringComparison.Ordinal);
if (i != -1) {
text = text.Insert(i, @"// AR_FOUNDATION_EDITOR_REMOTE: fix for Editor applied
// ");
File.WriteAllText(path, text);
return true;
} else {
return false;
}
} else {
return false;
}
}
internal static bool Undo() {
return undoScript("MeshClassificationFracking") | undoScript("ToggleMeshClassification") | undoScript(nameof(ARMeshManager)) | removeMeshingDependency();
}
public static bool undoScript(string scriptName) {
var result = false;
foreach (var guid in AssetDatabase.FindAssets(scriptName)) {
var path = AssetDatabase.GUIDToAssetPath(guid);
if (path.Contains("com.kyrylokuzyk.arfoundationremote")) {
continue;
}
FixesForEditorSupport.log(path);
var script = AssetDatabase.LoadAssetAtPath<MonoScript>(path);
if (script == null) {
continue;
}
var text = script.text;
if (undo(ref text)) {
result = true;
File.WriteAllText(path, text);
}
}
return result;
}
static bool undo(ref string result) {
var applied = false;
while (true) {
var startString = "// AR_FOUNDATION_EDITOR_REMOTE";
var start = result.IndexOf(startString, StringComparison.Ordinal);
if (start == -1) {
break;
}
var endString = "// AR_FOUNDATION_EDITOR_REMOTE***";
var end = result.IndexOf(endString, start + startString.Length, StringComparison.Ordinal);
Assert.AreNotEqual(-1, end, result);
var endIndex = end + endString.Length + 2;
FixesForEditorSupport.log($"start: {start}, end: {end}, endIndex: {endIndex}");
var substringWithFix = result.Substring(start, endIndex - start);
var commentStart = substringWithFix.IndexOf("/*", StringComparison.Ordinal);
if (commentStart != -1) {
var commentEnd = substringWithFix.IndexOf("*/", commentStart, StringComparison.Ordinal);
Assert.AreNotEqual(-1, commentEnd);
result = result.Remove(start + commentEnd, endIndex - (start + commentEnd));
result = result.Remove(start, commentStart + 2);
} else {
result = result.Remove(start, endIndex - start);
}
applied = true;
}
return applied;
}
public static string addUndefAndUsing(string text, string usingDirective = "using XRMeshSubsystem = IXRMeshSubsystem;") {
var withUndef = text.Insert(0, @"// AR_FOUNDATION_EDITOR_REMOTE: fix for Editor applied
#if UNITY_EDITOR
#define IS_EDITOR
#endif
#undef UNITY_EDITOR
using ARFoundationRemote.Runtime;
// AR_FOUNDATION_EDITOR_REMOTE***
");
var withUsingDirective = withUndef.Insert(withUndef.IndexOf("{", StringComparison.Ordinal) + 1, $@"
// AR_FOUNDATION_EDITOR_REMOTE: fix for Editor applied
#if IS_EDITOR
{usingDirective}
#endif
// AR_FOUNDATION_EDITOR_REMOTE***
");
return withUsingDirective;
}
bool applyUsingFixes(string path) {
if (IsFixApplied()) {
FixesForEditorSupport.log($"{nameof(ARMeshManagerFixer)} {nameof(applyUsingFixes)} already applied");
return false;
}
FixesForEditorSupport.log($"{nameof(ARMeshManagerFixer)} {nameof(applyUsingFixes)}");
var text = AssetDatabase.LoadAssetAtPath<MonoScript>(path).text;
if (text.Contains("AR_FOUNDATION_EDITOR_REMOTE")) {
throw new Exception($"{Constants.packageName}: Unity Package Manager cache bug. The ARMeshManager fix is applied in source file, but the compiled version doesn't contain the modification. Please restart Unity.");
}
var i = text.IndexOf("{", StringComparison.Ordinal);
var withFix = text.Insert(i + 1, @"
// AR_FOUNDATION_EDITOR_REMOTE: fix for Editor applied
#if UNITY_EDITOR
using XRMeshSubsystem = ARFoundationRemote.Runtime.IXRMeshSubsystem;
using SubsystemManager = ARFoundationRemote.Runtime.SubsystemManagerRemote;
using XRMeshSubsystemDescriptor = ARFoundationRemote.Runtime.XRMeshSubsystemDescriptorRemote;
#endif
// AR_FOUNDATION_EDITOR_REMOTE***
");
File.WriteAllText(path, withFix);
return true;
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 30f8e2a0b70c64ca3b46e7ee7fc542b6
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: ab332316ed9e46f5ac3203e7143c5622
timeCreated: 1627294331

Some files were not shown because too many files have changed in this diff Show More