Merge branch 'SnowShow'
8
EintooAR/Assets/AssetArt/AR/Animation.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d4f06a65f4371a6468d0a3994e3df282
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
120
EintooAR/Assets/AssetArt/AR/Animation/prefab_scan.prefab
Normal 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}
|
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bb23eeb1e40fdf34f99d97c5eb98992b
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
BIN
EintooAR/Assets/AssetArt/AR/Animation/scan.fbx
Normal file
107
EintooAR/Assets/AssetArt/AR/Animation/scan.fbx.meta
Normal 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:
|
85
EintooAR/Assets/AssetArt/AR/Animation/scan_pointer.mat
Normal 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
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 37ba1d75d4d618c45a1a6664b2b3ce17
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
EintooAR/Assets/AssetArt/AR/Animation/扫描地面帧图片.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 843ac077b828fdd41aa963569f535378
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
BIN
EintooAR/Assets/AssetArt/AR/Animation/扫描地面帧图片/1.png
Normal file
After Width: | Height: | Size: 6.6 KiB |
169
EintooAR/Assets/AssetArt/AR/Animation/扫描地面帧图片/1.png.meta
Normal 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:
|
BIN
EintooAR/Assets/AssetArt/AR/Animation/扫描地面帧图片/2.png
Normal file
After Width: | Height: | Size: 7.8 KiB |
169
EintooAR/Assets/AssetArt/AR/Animation/扫描地面帧图片/2.png.meta
Normal 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:
|
BIN
EintooAR/Assets/AssetArt/AR/Animation/扫描地面帧图片/3.png
Normal file
After Width: | Height: | Size: 9.6 KiB |
169
EintooAR/Assets/AssetArt/AR/Animation/扫描地面帧图片/3.png.meta
Normal 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:
|
BIN
EintooAR/Assets/AssetArt/AR/Animation/扫描地面帧图片/4.png
Normal file
After Width: | Height: | Size: 9.6 KiB |
169
EintooAR/Assets/AssetArt/AR/Animation/扫描地面帧图片/4.png.meta
Normal 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:
|
BIN
EintooAR/Assets/AssetArt/AR/Animation/扫描地面帧图片/5.png
Normal file
After Width: | Height: | Size: 9.6 KiB |
169
EintooAR/Assets/AssetArt/AR/Animation/扫描地面帧图片/5.png.meta
Normal 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:
|
BIN
EintooAR/Assets/AssetArt/AR/Animation/扫描地面帧图片/6.png
Normal file
After Width: | Height: | Size: 9.6 KiB |
169
EintooAR/Assets/AssetArt/AR/Animation/扫描地面帧图片/6.png.meta
Normal 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:
|
@ -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
|
||||
|
@ -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}
|
||||
|
8
EintooAR/Assets/AssetRaw/Animation/AR.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e0823ff4cb3d0284a991dcf9e6e22685
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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: []
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 70a1a870c2041334d942925cc552e80c
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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
|
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5d485ed2ff5f692408f299869ff41d20
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
EintooAR/Assets/AssetRaw/UI/AR/Commom.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ffdf011dbf9158a478523f12c3787854
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
669
EintooAR/Assets/AssetRaw/UI/AR/Commom/UIWidgetGuide.prefab
Normal 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}
|
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c7e6c7104f2fdfe46ada477a037811b2
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
After Width: | Height: | Size: 6.1 KiB |
@ -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:
|
8
EintooAR/Assets/AssetRaw/UIRaw/Raw/UI.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8b98230a9a5524547bd27e723277ee8f
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c5d4ab1d202d4084c9281b4fb3992a86
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5ccf9ab43c51d1e42ac2626486b6837c
|
@ -0,0 +1,11 @@
|
||||
|
||||
using TEngine;
|
||||
|
||||
namespace GameLogic
|
||||
{
|
||||
[EventInterface(EEventGroup.GroupUI)]
|
||||
public interface IEventUIClosePlaceGuide
|
||||
{
|
||||
void OnClosePlaceGuide();
|
||||
}
|
||||
}
|
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ddcb20c62c16f584eab17881cd02c74a
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -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");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5c7a495ecddcbe04cbc3a034c2a7dbb9
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e26682f57697fa0428395c5f46906a36
|
@ -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
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cfdf917f7c55d5c468c94f87ae5f5ca0
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 04d1643c29ddd448e9860922e98d6a29
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0bf743b450c87453a88073a57d4b452b
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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: []
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 21fc87d96e869410a908bf9c35423c9e
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fe3d86a4cdbfb41b5a3157c60c10b118
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0a57efbb998174b2cbca48c7e9fa8089
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 79f9e7a01e7bf4b48a880ea82b02acf0
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c6cabdd5bd5994e07996879ab6a96f0b
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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}
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2d54635df6d4d460db7ed5b8b181328b
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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}
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e5e1e942e6a0b412d8236bc067c2c9bc
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 100100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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.
|
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4e01f0f4410414e8280501aba5d27ddd
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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:
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4008ea57d8a35460e9f848672dcf1bfb
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7c7bd0e05e85b48f38983cf34da6878c
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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>();
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8c4e3dc40d5094db9a4a9407fa08e6a8
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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 {
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3b4b8a381ea5244b2830a839f609b829
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 410775890f454dd6a9f3111db13333ff
|
||||
timeCreated: 1627290332
|
@ -0,0 +1,3 @@
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
[assembly: InternalsVisibleTo("ARFoundationRemote.Installer.Editor")]
|
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 11585de177444a67966fae8ef435c26b
|
||||
timeCreated: 1654592583
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 544a3518e8c214cfd9e70ac5dedf14cb
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4ca8c26b782c94fdd95f54107ac63a59
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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));
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1f90a77f3ee4045f69c9198d763393a2
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8835b41d4e22947868742646f4a70c35
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7de97784aee024067b1b668abb46f165
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 77263cf10ebbe48fb9c278fd14aad89c
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,10 @@
|
||||
using JetBrains.Annotations;
|
||||
|
||||
|
||||
namespace ARFoundationRemote.Editor {
|
||||
internal interface IEditorSupportFixer {
|
||||
[CanBeNull] string GetCriticalFixExplanationOrNull();
|
||||
bool IsFixApplied();
|
||||
bool Apply();
|
||||
}
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 60c9898352dd476e8ef8fc9626ca2aec
|
||||
timeCreated: 1648396690
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1cb89eba2cf8a41bf8dae6ba096b748d
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 30f8e2a0b70c64ca3b46e7ee7fc542b6
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ab332316ed9e46f5ac3203e7143c5622
|
||||
timeCreated: 1627294331
|