Init
This commit is contained in:
commit
aeca7a346c
|
|
@ -0,0 +1,4 @@
|
||||||
|
# 1. 将所有文件视为文本
|
||||||
|
# 2. 提交时强制转换为 LF 存入仓库
|
||||||
|
# 3. 检出时根据系统自动转换 (Windows 变 CRLF, Mac/Linux 变 LF)
|
||||||
|
* text=auto eol=lf
|
||||||
|
|
@ -0,0 +1,89 @@
|
||||||
|
# This .gitignore file should be placed at the root of your Unity project directory
|
||||||
|
#
|
||||||
|
# Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore
|
||||||
|
#
|
||||||
|
.utmp/
|
||||||
|
/[Ll]ibrary/
|
||||||
|
/[Tt]emp/
|
||||||
|
/[Oo]bj/
|
||||||
|
/[Bb]uild/
|
||||||
|
/[Bb]uilds/
|
||||||
|
/[Ll]ogs/
|
||||||
|
/[Uu]ser[Ss]ettings/
|
||||||
|
*.log
|
||||||
|
|
||||||
|
# MemoryCaptures can get excessive in size.
|
||||||
|
# They also could contain extremely sensitive data
|
||||||
|
/[Mm]emoryCaptures/
|
||||||
|
|
||||||
|
# Recordings can get excessive in size
|
||||||
|
/[Rr]ecordings/
|
||||||
|
|
||||||
|
# Uncomment this line if you wish to ignore the asset store tools plugin
|
||||||
|
# /[Aa]ssets/AssetStoreTools*
|
||||||
|
|
||||||
|
# Autogenerated Jetbrains Rider plugin
|
||||||
|
/[Aa]ssets/Plugins/Editor/JetBrains*
|
||||||
|
|
||||||
|
# Visual Studio cache directory
|
||||||
|
.vs/
|
||||||
|
|
||||||
|
# Rider cache directory
|
||||||
|
.idea/
|
||||||
|
*.iml
|
||||||
|
cmake-build-*/
|
||||||
|
|
||||||
|
# Gradle cache directory
|
||||||
|
.gradle/
|
||||||
|
|
||||||
|
# Autogenerated VS/MD/Consulo solution and project files
|
||||||
|
ExportedObj/
|
||||||
|
.consulo/
|
||||||
|
*.csproj
|
||||||
|
*.unityproj
|
||||||
|
*.sln
|
||||||
|
*.suo
|
||||||
|
*.tmp
|
||||||
|
*.user
|
||||||
|
*.userprefs
|
||||||
|
*.pidb
|
||||||
|
*.booproj
|
||||||
|
*.svd
|
||||||
|
*.pdb
|
||||||
|
*.mdb
|
||||||
|
*.opendb
|
||||||
|
*.VC.db
|
||||||
|
|
||||||
|
# Unity3D generated meta files
|
||||||
|
*.pidb.meta
|
||||||
|
*.pdb.meta
|
||||||
|
*.mdb.meta
|
||||||
|
|
||||||
|
# Unity3D generated file on crash reports
|
||||||
|
sysinfo.txt
|
||||||
|
|
||||||
|
# Builds
|
||||||
|
*.apk
|
||||||
|
*.aab
|
||||||
|
*.unitypackage
|
||||||
|
*.unitypackage.meta
|
||||||
|
*.app
|
||||||
|
|
||||||
|
# Crashlytics generated file
|
||||||
|
crashlytics-build.properties
|
||||||
|
|
||||||
|
# Packed Addressables
|
||||||
|
/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*
|
||||||
|
|
||||||
|
/Assets/StreamingAssets
|
||||||
|
/Assets/StreamingAssets.meta
|
||||||
|
/UI参考
|
||||||
|
/AGENTS.md
|
||||||
|
/bin
|
||||||
|
/docs/screenshot
|
||||||
|
*.xmind
|
||||||
|
/数据表/__pycache__/
|
||||||
|
|
||||||
|
~$*.xlsx
|
||||||
|
Assets/GameMain/Configs/ResourceBuilder.xml
|
||||||
|
/.dotnet
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 388 KiB |
|
|
@ -0,0 +1,123 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 79cfbbc88ce488e41aca90a3043b4786
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 12
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 1
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMasterTextureLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 0
|
||||||
|
wrapV: 0
|
||||||
|
wrapW: 0
|
||||||
|
nPOTScale: 1
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 0
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 0
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 0
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID:
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
spritePackingTag:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
pSDShowRemoveMatteOption: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5b6bcdfd62ae02d458ecf8710bbf7608
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,131 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &-855768418219605318
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 11
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
version: 7
|
||||||
|
--- !u!21 &2100000
|
||||||
|
Material:
|
||||||
|
serializedVersion: 8
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: brown
|
||||||
|
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||||
|
m_Parent: {fileID: 0}
|
||||||
|
m_ModifiedSerializedProperties: 0
|
||||||
|
m_ValidKeywords: []
|
||||||
|
m_InvalidKeywords: []
|
||||||
|
m_LightmapFlags: 4
|
||||||
|
m_EnableInstancingVariants: 0
|
||||||
|
m_DoubleSidedGI: 0
|
||||||
|
m_CustomRenderQueue: -1
|
||||||
|
stringTagMap:
|
||||||
|
RenderType: Opaque
|
||||||
|
disabledShaderPasses: []
|
||||||
|
m_LockedProperties:
|
||||||
|
m_SavedProperties:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TexEnvs:
|
||||||
|
- _BaseMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _BumpMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailAlbedoMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailMask:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailNormalMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _EmissionMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MainTex:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MetallicGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _OcclusionMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _ParallaxMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _SpecGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_Lightmaps:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_LightmapsInd:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_ShadowMasks:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
m_Ints: []
|
||||||
|
m_Floats:
|
||||||
|
- _AlphaClip: 0
|
||||||
|
- _Blend: 0
|
||||||
|
- _BumpScale: 1
|
||||||
|
- _ClearCoatMask: 0
|
||||||
|
- _ClearCoatSmoothness: 0
|
||||||
|
- _Cull: 2
|
||||||
|
- _Cutoff: 0.5
|
||||||
|
- _DetailAlbedoMapScale: 1
|
||||||
|
- _DetailNormalMapScale: 1
|
||||||
|
- _DstBlend: 0
|
||||||
|
- _EnvironmentReflections: 1
|
||||||
|
- _GlossMapScale: 1
|
||||||
|
- _Glossiness: 0.25
|
||||||
|
- _GlossyReflections: 1
|
||||||
|
- _Metallic: 0
|
||||||
|
- _Mode: 0
|
||||||
|
- _OcclusionStrength: 1
|
||||||
|
- _Parallax: 0.02
|
||||||
|
- _QueueOffset: 0
|
||||||
|
- _ReceiveShadows: 1
|
||||||
|
- _Smoothness: 0.25
|
||||||
|
- _SmoothnessTextureChannel: 0
|
||||||
|
- _SpecularHighlights: 1
|
||||||
|
- _SrcBlend: 1
|
||||||
|
- _Surface: 0
|
||||||
|
- _UVSec: 0
|
||||||
|
- _WorkflowMode: 1
|
||||||
|
- _ZWrite: 1
|
||||||
|
m_Colors:
|
||||||
|
- _BaseColor: {r: 0.3144653, g: 0.21261016, b: 0.21261016, a: 1}
|
||||||
|
- _Color: {r: 0.31446528, g: 0.2126101, b: 0.2126101, a: 1}
|
||||||
|
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||||
|
m_BuildTextureStacks: []
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ad1eb320ca1dc9344a349718506947b8
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,131 @@
|
||||||
|
%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: player1
|
||||||
|
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||||
|
m_Parent: {fileID: 0}
|
||||||
|
m_ModifiedSerializedProperties: 0
|
||||||
|
m_ValidKeywords: []
|
||||||
|
m_InvalidKeywords: []
|
||||||
|
m_LightmapFlags: 4
|
||||||
|
m_EnableInstancingVariants: 0
|
||||||
|
m_DoubleSidedGI: 0
|
||||||
|
m_CustomRenderQueue: -1
|
||||||
|
stringTagMap:
|
||||||
|
RenderType: Opaque
|
||||||
|
disabledShaderPasses: []
|
||||||
|
m_LockedProperties:
|
||||||
|
m_SavedProperties:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TexEnvs:
|
||||||
|
- _BaseMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _BumpMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailAlbedoMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailMask:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailNormalMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _EmissionMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MainTex:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MetallicGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _OcclusionMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _ParallaxMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _SpecGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_Lightmaps:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_LightmapsInd:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_ShadowMasks:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
m_Ints: []
|
||||||
|
m_Floats:
|
||||||
|
- _AlphaClip: 0
|
||||||
|
- _Blend: 0
|
||||||
|
- _BumpScale: 1
|
||||||
|
- _ClearCoatMask: 0
|
||||||
|
- _ClearCoatSmoothness: 0
|
||||||
|
- _Cull: 2
|
||||||
|
- _Cutoff: 0.5
|
||||||
|
- _DetailAlbedoMapScale: 1
|
||||||
|
- _DetailNormalMapScale: 1
|
||||||
|
- _DstBlend: 0
|
||||||
|
- _EnvironmentReflections: 1
|
||||||
|
- _GlossMapScale: 1
|
||||||
|
- _Glossiness: 0.5
|
||||||
|
- _GlossyReflections: 1
|
||||||
|
- _Metallic: 0
|
||||||
|
- _Mode: 0
|
||||||
|
- _OcclusionStrength: 1
|
||||||
|
- _Parallax: 0.02
|
||||||
|
- _QueueOffset: 0
|
||||||
|
- _ReceiveShadows: 1
|
||||||
|
- _Smoothness: 0.5
|
||||||
|
- _SmoothnessTextureChannel: 0
|
||||||
|
- _SpecularHighlights: 1
|
||||||
|
- _SrcBlend: 1
|
||||||
|
- _Surface: 0
|
||||||
|
- _UVSec: 0
|
||||||
|
- _WorkflowMode: 1
|
||||||
|
- _ZWrite: 1
|
||||||
|
m_Colors:
|
||||||
|
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||||
|
m_BuildTextureStacks: []
|
||||||
|
--- !u!114 &1376622845835334397
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 11
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
version: 7
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e0d7490074ac9d547a5c133324c482b6
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,131 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &-8216697721366674466
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 11
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
version: 7
|
||||||
|
--- !u!21 &2100000
|
||||||
|
Material:
|
||||||
|
serializedVersion: 8
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: player2
|
||||||
|
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||||
|
m_Parent: {fileID: 0}
|
||||||
|
m_ModifiedSerializedProperties: 0
|
||||||
|
m_ValidKeywords: []
|
||||||
|
m_InvalidKeywords: []
|
||||||
|
m_LightmapFlags: 4
|
||||||
|
m_EnableInstancingVariants: 0
|
||||||
|
m_DoubleSidedGI: 0
|
||||||
|
m_CustomRenderQueue: -1
|
||||||
|
stringTagMap:
|
||||||
|
RenderType: Opaque
|
||||||
|
disabledShaderPasses: []
|
||||||
|
m_LockedProperties:
|
||||||
|
m_SavedProperties:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TexEnvs:
|
||||||
|
- _BaseMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _BumpMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailAlbedoMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailMask:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailNormalMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _EmissionMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MainTex:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MetallicGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _OcclusionMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _ParallaxMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _SpecGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_Lightmaps:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_LightmapsInd:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_ShadowMasks:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
m_Ints: []
|
||||||
|
m_Floats:
|
||||||
|
- _AlphaClip: 0
|
||||||
|
- _Blend: 0
|
||||||
|
- _BumpScale: 1
|
||||||
|
- _ClearCoatMask: 0
|
||||||
|
- _ClearCoatSmoothness: 0
|
||||||
|
- _Cull: 2
|
||||||
|
- _Cutoff: 0.5
|
||||||
|
- _DetailAlbedoMapScale: 1
|
||||||
|
- _DetailNormalMapScale: 1
|
||||||
|
- _DstBlend: 0
|
||||||
|
- _EnvironmentReflections: 1
|
||||||
|
- _GlossMapScale: 1
|
||||||
|
- _Glossiness: 0.5
|
||||||
|
- _GlossyReflections: 1
|
||||||
|
- _Metallic: 0
|
||||||
|
- _Mode: 0
|
||||||
|
- _OcclusionStrength: 1
|
||||||
|
- _Parallax: 0.02
|
||||||
|
- _QueueOffset: 0
|
||||||
|
- _ReceiveShadows: 1
|
||||||
|
- _Smoothness: 0.5
|
||||||
|
- _SmoothnessTextureChannel: 0
|
||||||
|
- _SpecularHighlights: 1
|
||||||
|
- _SrcBlend: 1
|
||||||
|
- _Surface: 0
|
||||||
|
- _UVSec: 0
|
||||||
|
- _WorkflowMode: 1
|
||||||
|
- _ZWrite: 1
|
||||||
|
m_Colors:
|
||||||
|
- _BaseColor: {r: 0.34509802, g: 1, b: 1, a: 1}
|
||||||
|
- _Color: {r: 0.345098, g: 1, b: 1, a: 1}
|
||||||
|
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||||
|
m_BuildTextureStacks: []
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 82513a3414cf8a749989df0fe69e458b
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,135 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!21 &2100000
|
||||||
|
Material:
|
||||||
|
serializedVersion: 8
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: player3
|
||||||
|
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||||
|
m_Parent: {fileID: 0}
|
||||||
|
m_ModifiedSerializedProperties: 0
|
||||||
|
m_ValidKeywords: []
|
||||||
|
m_InvalidKeywords: []
|
||||||
|
m_LightmapFlags: 4
|
||||||
|
m_EnableInstancingVariants: 0
|
||||||
|
m_DoubleSidedGI: 0
|
||||||
|
m_CustomRenderQueue: -1
|
||||||
|
stringTagMap:
|
||||||
|
RenderType: Opaque
|
||||||
|
disabledShaderPasses: []
|
||||||
|
m_LockedProperties:
|
||||||
|
m_SavedProperties:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TexEnvs:
|
||||||
|
- _BaseMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _BumpMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailAlbedoMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailMask:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailNormalMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _EmissionMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MainTex:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MetallicGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _OcclusionMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _ParallaxMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _SpecGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_Lightmaps:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_LightmapsInd:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_ShadowMasks:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
m_Ints: []
|
||||||
|
m_Floats:
|
||||||
|
- _AlphaClip: 0
|
||||||
|
- _AlphaToMask: 0
|
||||||
|
- _Blend: 0
|
||||||
|
- _BlendModePreserveSpecular: 1
|
||||||
|
- _BumpScale: 1
|
||||||
|
- _ClearCoatMask: 0
|
||||||
|
- _ClearCoatSmoothness: 0
|
||||||
|
- _Cull: 2
|
||||||
|
- _Cutoff: 0.5
|
||||||
|
- _DetailAlbedoMapScale: 1
|
||||||
|
- _DetailNormalMapScale: 1
|
||||||
|
- _DstBlend: 0
|
||||||
|
- _DstBlendAlpha: 0
|
||||||
|
- _EnvironmentReflections: 1
|
||||||
|
- _GlossMapScale: 1
|
||||||
|
- _Glossiness: 0.5
|
||||||
|
- _GlossyReflections: 1
|
||||||
|
- _Metallic: 0
|
||||||
|
- _Mode: 0
|
||||||
|
- _OcclusionStrength: 1
|
||||||
|
- _Parallax: 0.02
|
||||||
|
- _QueueOffset: 0
|
||||||
|
- _ReceiveShadows: 1
|
||||||
|
- _Smoothness: 0.5
|
||||||
|
- _SmoothnessTextureChannel: 0
|
||||||
|
- _SpecularHighlights: 1
|
||||||
|
- _SrcBlend: 1
|
||||||
|
- _SrcBlendAlpha: 1
|
||||||
|
- _Surface: 0
|
||||||
|
- _UVSec: 0
|
||||||
|
- _WorkflowMode: 1
|
||||||
|
- _ZWrite: 1
|
||||||
|
m_Colors:
|
||||||
|
- _BaseColor: {r: 1, g: 0.34509802, b: 1, a: 1}
|
||||||
|
- _Color: {r: 1, g: 0.345098, b: 1, a: 1}
|
||||||
|
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||||
|
m_BuildTextureStacks: []
|
||||||
|
--- !u!114 &9068641182010848232
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 11
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
version: 7
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9979bf6b1ea2e79408892d2786985da3
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,131 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &-9149208965284848
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 11
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
version: 7
|
||||||
|
--- !u!21 &2100000
|
||||||
|
Material:
|
||||||
|
serializedVersion: 8
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: player4
|
||||||
|
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||||
|
m_Parent: {fileID: 0}
|
||||||
|
m_ModifiedSerializedProperties: 0
|
||||||
|
m_ValidKeywords: []
|
||||||
|
m_InvalidKeywords: []
|
||||||
|
m_LightmapFlags: 4
|
||||||
|
m_EnableInstancingVariants: 0
|
||||||
|
m_DoubleSidedGI: 0
|
||||||
|
m_CustomRenderQueue: -1
|
||||||
|
stringTagMap:
|
||||||
|
RenderType: Opaque
|
||||||
|
disabledShaderPasses: []
|
||||||
|
m_LockedProperties:
|
||||||
|
m_SavedProperties:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TexEnvs:
|
||||||
|
- _BaseMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _BumpMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailAlbedoMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailMask:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailNormalMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _EmissionMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MainTex:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MetallicGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _OcclusionMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _ParallaxMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _SpecGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_Lightmaps:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_LightmapsInd:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_ShadowMasks:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
m_Ints: []
|
||||||
|
m_Floats:
|
||||||
|
- _AlphaClip: 0
|
||||||
|
- _Blend: 0
|
||||||
|
- _BumpScale: 1
|
||||||
|
- _ClearCoatMask: 0
|
||||||
|
- _ClearCoatSmoothness: 0
|
||||||
|
- _Cull: 2
|
||||||
|
- _Cutoff: 0.5
|
||||||
|
- _DetailAlbedoMapScale: 1
|
||||||
|
- _DetailNormalMapScale: 1
|
||||||
|
- _DstBlend: 0
|
||||||
|
- _EnvironmentReflections: 1
|
||||||
|
- _GlossMapScale: 1
|
||||||
|
- _Glossiness: 0.5
|
||||||
|
- _GlossyReflections: 1
|
||||||
|
- _Metallic: 0
|
||||||
|
- _Mode: 0
|
||||||
|
- _OcclusionStrength: 1
|
||||||
|
- _Parallax: 0.02
|
||||||
|
- _QueueOffset: 0
|
||||||
|
- _ReceiveShadows: 1
|
||||||
|
- _Smoothness: 0.5
|
||||||
|
- _SmoothnessTextureChannel: 0
|
||||||
|
- _SpecularHighlights: 1
|
||||||
|
- _SrcBlend: 1
|
||||||
|
- _Surface: 0
|
||||||
|
- _UVSec: 0
|
||||||
|
- _WorkflowMode: 1
|
||||||
|
- _ZWrite: 1
|
||||||
|
m_Colors:
|
||||||
|
- _BaseColor: {r: 1, g: 1, b: 0.34509802, a: 1}
|
||||||
|
- _Color: {r: 1, g: 1, b: 0.345098, a: 1}
|
||||||
|
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||||
|
m_BuildTextureStacks: []
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 55c7d8dbb1bea2e4fa822f34106593e5
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,131 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &-6200246826979473620
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 11
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
version: 7
|
||||||
|
--- !u!21 &2100000
|
||||||
|
Material:
|
||||||
|
serializedVersion: 8
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: player5
|
||||||
|
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||||
|
m_Parent: {fileID: 0}
|
||||||
|
m_ModifiedSerializedProperties: 0
|
||||||
|
m_ValidKeywords: []
|
||||||
|
m_InvalidKeywords: []
|
||||||
|
m_LightmapFlags: 4
|
||||||
|
m_EnableInstancingVariants: 0
|
||||||
|
m_DoubleSidedGI: 0
|
||||||
|
m_CustomRenderQueue: -1
|
||||||
|
stringTagMap:
|
||||||
|
RenderType: Opaque
|
||||||
|
disabledShaderPasses: []
|
||||||
|
m_LockedProperties:
|
||||||
|
m_SavedProperties:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TexEnvs:
|
||||||
|
- _BaseMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _BumpMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailAlbedoMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailMask:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailNormalMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _EmissionMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MainTex:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MetallicGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _OcclusionMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _ParallaxMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _SpecGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_Lightmaps:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_LightmapsInd:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_ShadowMasks:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
m_Ints: []
|
||||||
|
m_Floats:
|
||||||
|
- _AlphaClip: 0
|
||||||
|
- _Blend: 0
|
||||||
|
- _BumpScale: 1
|
||||||
|
- _ClearCoatMask: 0
|
||||||
|
- _ClearCoatSmoothness: 0
|
||||||
|
- _Cull: 2
|
||||||
|
- _Cutoff: 0.5
|
||||||
|
- _DetailAlbedoMapScale: 1
|
||||||
|
- _DetailNormalMapScale: 1
|
||||||
|
- _DstBlend: 0
|
||||||
|
- _EnvironmentReflections: 1
|
||||||
|
- _GlossMapScale: 1
|
||||||
|
- _Glossiness: 0.5
|
||||||
|
- _GlossyReflections: 1
|
||||||
|
- _Metallic: 0
|
||||||
|
- _Mode: 0
|
||||||
|
- _OcclusionStrength: 1
|
||||||
|
- _Parallax: 0.02
|
||||||
|
- _QueueOffset: 0
|
||||||
|
- _ReceiveShadows: 1
|
||||||
|
- _Smoothness: 0.5
|
||||||
|
- _SmoothnessTextureChannel: 0
|
||||||
|
- _SpecularHighlights: 1
|
||||||
|
- _SrcBlend: 1
|
||||||
|
- _Surface: 0
|
||||||
|
- _UVSec: 0
|
||||||
|
- _WorkflowMode: 1
|
||||||
|
- _ZWrite: 1
|
||||||
|
m_Colors:
|
||||||
|
- _BaseColor: {r: 0.34509802, g: 1, b: 0.34509802, a: 1}
|
||||||
|
- _Color: {r: 0.345098, g: 1, b: 0.345098, a: 1}
|
||||||
|
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||||
|
m_BuildTextureStacks: []
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2955df004504a714e947e2971499d036
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d9fc01aec2d4c9a4a8e9f49e646e3289
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,33 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a54378af0d0d26b44aa883526106c2aa
|
||||||
|
PluginImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
iconMap: {}
|
||||||
|
executionOrder: {}
|
||||||
|
defineConstraints: []
|
||||||
|
isPreloaded: 0
|
||||||
|
isOverridable: 0
|
||||||
|
isExplicitlyReferenced: 0
|
||||||
|
validateReferences: 1
|
||||||
|
platformData:
|
||||||
|
- first:
|
||||||
|
Any:
|
||||||
|
second:
|
||||||
|
enabled: 1
|
||||||
|
settings: {}
|
||||||
|
- first:
|
||||||
|
Editor: Editor
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings:
|
||||||
|
DefaultValueInitialized: true
|
||||||
|
- first:
|
||||||
|
Windows Store Apps: WindowsStoreApps
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings:
|
||||||
|
CPU: AnyCPU
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,33 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6c2e6702fa0d5e544ab31b09f8de741f
|
||||||
|
PluginImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
iconMap: {}
|
||||||
|
executionOrder: {}
|
||||||
|
defineConstraints: []
|
||||||
|
isPreloaded: 0
|
||||||
|
isOverridable: 0
|
||||||
|
isExplicitlyReferenced: 0
|
||||||
|
validateReferences: 1
|
||||||
|
platformData:
|
||||||
|
- first:
|
||||||
|
Any:
|
||||||
|
second:
|
||||||
|
enabled: 1
|
||||||
|
settings: {}
|
||||||
|
- first:
|
||||||
|
Editor: Editor
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings:
|
||||||
|
DefaultValueInitialized: true
|
||||||
|
- first:
|
||||||
|
Windows Store Apps: WindowsStoreApps
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings:
|
||||||
|
CPU: AnyCPU
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 64cc6509420c4944ebe659cc077ea472
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,516 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &6308356812888301746
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 6308356812888301747}
|
||||||
|
- component: {fileID: 6308356812888301749}
|
||||||
|
- component: {fileID: 6308356812888301748}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Image
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &6308356812888301747
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6308356812888301746}
|
||||||
|
m_LocalRotation: {x: 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: 6308356813253026692}
|
||||||
|
m_RootOrder: 0
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &6308356812888301749
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6308356812888301746}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &6308356812888301748
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6308356812888301746}
|
||||||
|
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.39215687}
|
||||||
|
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 &6308356813057413813
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 6308356813057413814}
|
||||||
|
- component: {fileID: 6308356813057413816}
|
||||||
|
- component: {fileID: 6308356813057413815}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: PlayerId
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &6308356813057413814
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6308356813057413813}
|
||||||
|
m_LocalRotation: {x: 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: 6308356813253026692}
|
||||||
|
m_RootOrder: 1
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
|
m_SizeDelta: {x: 160, y: 30}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &6308356813057413816
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6308356813057413813}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &6308356813057413815
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6308356813057413813}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_FontData:
|
||||||
|
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
|
m_FontSize: 14
|
||||||
|
m_FontStyle: 0
|
||||||
|
m_BestFit: 1
|
||||||
|
m_MinSize: 10
|
||||||
|
m_MaxSize: 40
|
||||||
|
m_Alignment: 4
|
||||||
|
m_AlignByGeometry: 0
|
||||||
|
m_RichText: 1
|
||||||
|
m_HorizontalOverflow: 0
|
||||||
|
m_VerticalOverflow: 0
|
||||||
|
m_LineSpacing: 1
|
||||||
|
m_Text: New Text
|
||||||
|
--- !u!1 &6308356813253026691
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 6308356813253026692}
|
||||||
|
- component: {fileID: 6308356813253026695}
|
||||||
|
- component: {fileID: 6308356813253026694}
|
||||||
|
- component: {fileID: 6308356813253026693}
|
||||||
|
- component: {fileID: 6308356813253026696}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Canvas
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &6308356813253026692
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6308356813253026691}
|
||||||
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 0.01, y: 0.01, z: 0.01}
|
||||||
|
m_ConstrainProportionsScale: 1
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 6308356812888301747}
|
||||||
|
- {fileID: 6308356813057413814}
|
||||||
|
m_Father: {fileID: 6308356814245253662}
|
||||||
|
m_RootOrder: 0
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 1}
|
||||||
|
m_SizeDelta: {x: 200, y: 60}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!223 &6308356813253026695
|
||||||
|
Canvas:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6308356813253026691}
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 3
|
||||||
|
m_RenderMode: 2
|
||||||
|
m_Camera: {fileID: 6308356813655391139}
|
||||||
|
m_PlaneDistance: 100
|
||||||
|
m_PixelPerfect: 0
|
||||||
|
m_ReceivesEvents: 1
|
||||||
|
m_OverrideSorting: 0
|
||||||
|
m_OverridePixelPerfect: 0
|
||||||
|
m_SortingBucketNormalizedSize: 0
|
||||||
|
m_VertexColorAlwaysGammaSpace: 0
|
||||||
|
m_AdditionalShaderChannelsFlag: 0
|
||||||
|
m_SortingLayerID: 0
|
||||||
|
m_SortingOrder: 0
|
||||||
|
m_TargetDisplay: 0
|
||||||
|
--- !u!114 &6308356813253026694
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6308356813253026691}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_UiScaleMode: 0
|
||||||
|
m_ReferencePixelsPerUnit: 100
|
||||||
|
m_ScaleFactor: 1
|
||||||
|
m_ReferenceResolution: {x: 800, y: 600}
|
||||||
|
m_ScreenMatchMode: 0
|
||||||
|
m_MatchWidthOrHeight: 0
|
||||||
|
m_PhysicalUnit: 3
|
||||||
|
m_FallbackScreenDPI: 96
|
||||||
|
m_DefaultSpriteDPI: 96
|
||||||
|
m_DynamicPixelsPerUnit: 1
|
||||||
|
m_PresetInfoIsWorld: 1
|
||||||
|
--- !u!114 &6308356813253026693
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6308356813253026691}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_IgnoreReversedGraphics: 1
|
||||||
|
m_BlockingObjects: 0
|
||||||
|
m_BlockingMask:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 4294967295
|
||||||
|
--- !u!114 &6308356813253026696
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6308356813253026691}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 03b1c6f9985e8ee43a27a9dfbafa1de8, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
_canvas: {fileID: 6308356813253026695}
|
||||||
|
_text: {fileID: 6308356813057413815}
|
||||||
|
--- !u!1 &6308356813655391137
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 6308356813655391140}
|
||||||
|
- component: {fileID: 6308356813655391139}
|
||||||
|
- component: {fileID: 6308356813655391138}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: Main Camera
|
||||||
|
m_TagString: MainCamera
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &6308356813655391140
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6308356813655391137}
|
||||||
|
m_LocalRotation: {x: 0.079317145, y: -0, z: -0, w: 0.9968494}
|
||||||
|
m_LocalPosition: {x: -0.26855803, y: 1.55, z: -5.62}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 6308356814245253662}
|
||||||
|
m_RootOrder: 1
|
||||||
|
m_LocalEulerAnglesHint: {x: 9.099, y: 0, z: 0}
|
||||||
|
--- !u!20 &6308356813655391139
|
||||||
|
Camera:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6308356813655391137}
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 2
|
||||||
|
m_ClearFlags: 1
|
||||||
|
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
|
||||||
|
m_projectionMatrixMode: 1
|
||||||
|
m_GateFitMode: 2
|
||||||
|
m_FOVAxisMode: 0
|
||||||
|
m_SensorSize: {x: 36, y: 24}
|
||||||
|
m_LensShift: {x: 0, y: 0}
|
||||||
|
m_FocalLength: 50
|
||||||
|
m_NormalizedViewPortRect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 0
|
||||||
|
y: 0
|
||||||
|
width: 1
|
||||||
|
height: 1
|
||||||
|
near clip plane: 0.3
|
||||||
|
far clip plane: 1000
|
||||||
|
field of view: 60
|
||||||
|
orthographic: 0
|
||||||
|
orthographic size: 5
|
||||||
|
m_Depth: -1
|
||||||
|
m_CullingMask:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 4294967295
|
||||||
|
m_RenderingPath: -1
|
||||||
|
m_TargetTexture: {fileID: 0}
|
||||||
|
m_TargetDisplay: 0
|
||||||
|
m_TargetEye: 3
|
||||||
|
m_HDR: 1
|
||||||
|
m_AllowMSAA: 1
|
||||||
|
m_AllowDynamicResolution: 0
|
||||||
|
m_ForceIntoRT: 0
|
||||||
|
m_OcclusionCulling: 1
|
||||||
|
m_StereoConvergence: 10
|
||||||
|
m_StereoSeparation: 0.022
|
||||||
|
--- !u!81 &6308356813655391138
|
||||||
|
AudioListener:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6308356813655391137}
|
||||||
|
m_Enabled: 1
|
||||||
|
--- !u!1 &6308356814245253661
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 6308356814245253662}
|
||||||
|
- component: {fileID: 6308356814245253633}
|
||||||
|
- component: {fileID: 6308356814245253632}
|
||||||
|
- component: {fileID: 6308356814245253634}
|
||||||
|
- component: {fileID: 5069958635149219085}
|
||||||
|
- component: {fileID: -1362768914916555191}
|
||||||
|
- component: {fileID: -8136683798838004576}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: Player
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &6308356814245253662
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6308356814245253661}
|
||||||
|
m_LocalRotation: {x: 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: 6308356813253026692}
|
||||||
|
- {fileID: 6308356813655391140}
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_RootOrder: 0
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!33 &6308356814245253633
|
||||||
|
MeshFilter:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6308356814245253661}
|
||||||
|
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
|
--- !u!23 &6308356814245253632
|
||||||
|
MeshRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6308356814245253661}
|
||||||
|
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_RenderingLayerMask: 1
|
||||||
|
m_RendererPriority: 0
|
||||||
|
m_Materials:
|
||||||
|
- {fileID: 2100000, guid: e0d7490074ac9d547a5c133324c482b6, 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!114 &6308356814245253634
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6308356814245253661}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: ef97bb6040fda094b8aeab1bff8f13f8, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
_meshRenderer: {fileID: 6308356814245253632}
|
||||||
|
_materials:
|
||||||
|
- {fileID: 2100000, guid: e0d7490074ac9d547a5c133324c482b6, type: 2}
|
||||||
|
- {fileID: 2100000, guid: 82513a3414cf8a749989df0fe69e458b, type: 2}
|
||||||
|
- {fileID: 2100000, guid: 9979bf6b1ea2e79408892d2786985da3, type: 2}
|
||||||
|
- {fileID: 2100000, guid: 55c7d8dbb1bea2e4fa822f34106593e5, type: 2}
|
||||||
|
- {fileID: 2100000, guid: 2955df004504a714e947e2971499d036, type: 2}
|
||||||
|
_camera: {fileID: 6308356813655391139}
|
||||||
|
_movement: {fileID: 5069958635149219085}
|
||||||
|
_playerUI: {fileID: 6308356813253026696}
|
||||||
|
_isControlled: 0
|
||||||
|
--- !u!114 &5069958635149219085
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6308356814245253661}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: db8117151f564304bae153aa55c0a960, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
_sendInterval: 0.05
|
||||||
|
_rigid: {fileID: -1362768914916555191}
|
||||||
|
_lerpRate: 0.1
|
||||||
|
--- !u!54 &-1362768914916555191
|
||||||
|
Rigidbody:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6308356814245253661}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Mass: 2
|
||||||
|
m_Drag: 5
|
||||||
|
m_AngularDrag: 0
|
||||||
|
m_UseGravity: 1
|
||||||
|
m_IsKinematic: 1
|
||||||
|
m_Interpolate: 1
|
||||||
|
m_Constraints: 112
|
||||||
|
m_CollisionDetection: 0
|
||||||
|
--- !u!65 &-8136683798838004576
|
||||||
|
BoxCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6308356814245253661}
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IsTrigger: 0
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Size: {x: 1, y: 1, z: 1}
|
||||||
|
m_Center: {x: 0, y: 0, z: 0}
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6d2d7a80d2a95bc47bba6d708109ffc2
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d5ab10cfd908006499e135b7d186831c
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9fc0d4010bbf28b4594072e72b8655ab
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d32ef6a3d0aef5c428bef1bb39bcb2f2
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,80 @@
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Network.Defines;
|
||||||
|
using UnityEngine;
|
||||||
|
using Vector3 = UnityEngine.Vector3;
|
||||||
|
|
||||||
|
public class MasterManager : MonoBehaviour
|
||||||
|
{
|
||||||
|
public static MasterManager Instance;
|
||||||
|
private readonly Dictionary<string, Player> _players = new();
|
||||||
|
public string LocalPlayerId { get; set; }
|
||||||
|
|
||||||
|
[SerializeField] private GameObject _playerPrefab;
|
||||||
|
[SerializeField] private Transform _playerParent;
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
Instance = this;
|
||||||
|
Application.targetFrameRate = 60;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void InitPlayersState(LoginResponse response)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < response.Positions.Count; i++)
|
||||||
|
{
|
||||||
|
string id = response.PlayerId[i];
|
||||||
|
if (_players.ContainsKey(id)) continue;
|
||||||
|
Vector3 pos = response.Positions[i].ToVector3();
|
||||||
|
if (string.IsNullOrEmpty(LocalPlayerId) || LocalPlayerId != id)
|
||||||
|
{
|
||||||
|
RegisterRemotePlayer(id, pos);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
RegisterLocalPlayer(response.Speed, response.ServerTick);
|
||||||
|
var ui = GameObject.Find("RegisterCanvas");
|
||||||
|
ui.SetActive(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RegisterLocalPlayer(int speed, long serverTick)
|
||||||
|
{
|
||||||
|
Player player = GameObject.Instantiate(_playerPrefab, _playerParent).GetComponent<Player>();
|
||||||
|
player.LocalInit(LocalPlayerId, speed, serverTick);
|
||||||
|
_players.Add(LocalPlayerId, player);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RegisterRemotePlayer(string playerId, Vector3 pos)
|
||||||
|
{
|
||||||
|
Player player = GameObject.Instantiate(_playerPrefab, _playerParent).GetComponent<Player>();
|
||||||
|
player.RemoteInit(playerId, pos);
|
||||||
|
_players.Add(playerId, player);
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool UnregisterPlayer(string playerId)
|
||||||
|
{
|
||||||
|
if (_players.TryGetValue(playerId, out var player))
|
||||||
|
{
|
||||||
|
GameObject.Destroy(player.gameObject);
|
||||||
|
_players.Remove(playerId);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void MovePlayer(string playerId, PlayerState movement)
|
||||||
|
{
|
||||||
|
if (_players.TryGetValue(playerId, out Player player))
|
||||||
|
{
|
||||||
|
player.SyncPosition(movement);
|
||||||
|
}
|
||||||
|
else Debug.LogWarning("Player not found");
|
||||||
|
}
|
||||||
|
|
||||||
|
public Player GetCurrentPlayer()
|
||||||
|
{
|
||||||
|
return _players[LocalPlayerId];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 709370e59bad4f948b2dbb7225261c70
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,149 @@
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Network.Defines;
|
||||||
|
using UnityEngine;
|
||||||
|
using Vector3 = UnityEngine.Vector3;
|
||||||
|
|
||||||
|
public class MovementComponent : MonoBehaviour
|
||||||
|
{
|
||||||
|
[SerializeField] private float _sendInterval = 0.05f;
|
||||||
|
private Player _master;
|
||||||
|
private int _speed = 2;
|
||||||
|
[SerializeField] private Rigidbody _rigid;
|
||||||
|
private float _lastSendTime = 0;
|
||||||
|
private bool _isControlled = false;
|
||||||
|
|
||||||
|
private Vector3 _serverPosition;
|
||||||
|
private bool _hasServerState = false;
|
||||||
|
private PlayerState _lastServerState;
|
||||||
|
|
||||||
|
public long Tick { get; private set; } = 0;
|
||||||
|
private long _startTickOffset = 0;
|
||||||
|
private long _currentTickOffset = 0;
|
||||||
|
private readonly List<PlayerInput> _inputBuffer = new List<PlayerInput>();
|
||||||
|
|
||||||
|
private Vector3 _serverPos;
|
||||||
|
private Vector3 _currentPos;
|
||||||
|
private float _lerpTime;
|
||||||
|
[SerializeField] private float _lerpRate = 0.1f;
|
||||||
|
private PlayerInput _cachedInput;
|
||||||
|
|
||||||
|
public void Init(bool isControlled, Player master, int speed = 0, long serverTick = 0)
|
||||||
|
{
|
||||||
|
this._master = master;
|
||||||
|
this._isControlled = isControlled;
|
||||||
|
this._speed = speed;
|
||||||
|
this._startTickOffset = serverTick;
|
||||||
|
_rigid.interpolation = RigidbodyInterpolation.Interpolate;
|
||||||
|
_rigid.isKinematic = !isControlled;
|
||||||
|
_rigid.velocity = Vector3.zero;
|
||||||
|
if (serverTick != 0 && _isControlled) MainUI.Instance.OnStartTickOffsetChanged(serverTick);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Update()
|
||||||
|
{
|
||||||
|
if (_isControlled)
|
||||||
|
{
|
||||||
|
_cachedInput = CaptureInput();
|
||||||
|
|
||||||
|
if (Time.time - _lastSendTime > _sendInterval)
|
||||||
|
{
|
||||||
|
if (_cachedInput != null)
|
||||||
|
{
|
||||||
|
NetworkManager.Instance.SendPlayerInput(_cachedInput);
|
||||||
|
}
|
||||||
|
|
||||||
|
_lastSendTime = Time.time;
|
||||||
|
Tick++;
|
||||||
|
|
||||||
|
MainUI.Instance.OnClientTickChanged(Tick);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void FixedUpdate()
|
||||||
|
{
|
||||||
|
if (_isControlled)
|
||||||
|
{
|
||||||
|
if (_hasServerState)
|
||||||
|
{
|
||||||
|
MainUI.Instance.OnServerPosChanged(_serverPosition);
|
||||||
|
Reconcile(_lastServerState);
|
||||||
|
_hasServerState = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
Simulate(_cachedInput);
|
||||||
|
if (_cachedInput != null && (_inputBuffer.Count == 0 || _inputBuffer[_inputBuffer.Count - 1].Tick != _cachedInput.Tick))
|
||||||
|
{
|
||||||
|
_inputBuffer.Add(_cachedInput);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_lerpTime += Time.fixedDeltaTime / 0.05f;
|
||||||
|
_rigid.MovePosition(Vector3.Lerp(_currentPos, _serverPos, _lerpTime));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Reconcile(PlayerState state)
|
||||||
|
{
|
||||||
|
_serverPosition = state.Position.ToVector3();
|
||||||
|
_rigid.position = Vector3.Lerp(_rigid.position, _serverPosition, _lerpRate);
|
||||||
|
_rigid.velocity = Vector3.zero;
|
||||||
|
_inputBuffer.RemoveAll(i => i.Tick <= state.Tick);
|
||||||
|
}
|
||||||
|
|
||||||
|
private PlayerInput CaptureInput()
|
||||||
|
{
|
||||||
|
Vector3 input = new Vector3(Input.GetAxisRaw("Horizontal"), 0, Input.GetAxisRaw("Vertical"));
|
||||||
|
if (input == Vector3.zero) return null;
|
||||||
|
return new PlayerInput()
|
||||||
|
{
|
||||||
|
PlayerId = _master.PlayerId,
|
||||||
|
Input = ProtoExtensions.ToProtoVector3(input),
|
||||||
|
Tick = Tick
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Simulate(PlayerInput input)
|
||||||
|
{
|
||||||
|
Vector3 dir = input == null ? Vector3.zero : input.Input.ToVector3();
|
||||||
|
_rigid.velocity = _speed * dir;
|
||||||
|
if (_isControlled)
|
||||||
|
{
|
||||||
|
MainUI.Instance.OnClientPosChanged(_rigid.position);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnServerState(PlayerState state)
|
||||||
|
{
|
||||||
|
if (_isControlled)
|
||||||
|
{
|
||||||
|
_lastServerState = state;
|
||||||
|
_hasServerState = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_serverPos = state.Position.ToVector3();
|
||||||
|
_currentPos = _rigid.position;
|
||||||
|
_lerpTime = 0f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetServerTick(long serverTick)
|
||||||
|
{
|
||||||
|
_currentTickOffset = serverTick - Tick - _startTickOffset;
|
||||||
|
if (_isControlled)
|
||||||
|
{
|
||||||
|
MainUI.Instance.OnServerTickChanged(serverTick);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_currentTickOffset < 0)
|
||||||
|
{
|
||||||
|
_sendInterval = 0.052f;
|
||||||
|
}
|
||||||
|
if (_currentTickOffset > 0)
|
||||||
|
{
|
||||||
|
_sendInterval = 0.048f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: db8117151f564304bae153aa55c0a960
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2e8e93705a6701345bb1095d1ba4aadc
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 895d4be03eb18e941b9a0b25d937da97
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 13502c02ef6908e46b00ba64f6df5b77
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,38 @@
|
||||||
|
namespace Network.Defines
|
||||||
|
{
|
||||||
|
public enum MessageType : byte
|
||||||
|
{
|
||||||
|
Unknow = 0,
|
||||||
|
|
||||||
|
// 游戏相关
|
||||||
|
PlayerInput = 1,
|
||||||
|
PlayerState = 2,
|
||||||
|
PlayerAction = 3,
|
||||||
|
GameState = 4,
|
||||||
|
PlayerJoin = 5,
|
||||||
|
PlayerLeave = 6,
|
||||||
|
|
||||||
|
// 聊天相关
|
||||||
|
ChatMessage = 10,
|
||||||
|
PrivateMessage = 11,
|
||||||
|
SystemMessage = 12,
|
||||||
|
|
||||||
|
// 系统相关
|
||||||
|
HeartBeat = 20,
|
||||||
|
|
||||||
|
LoginRequest = 21,
|
||||||
|
LoginResponse = 22,
|
||||||
|
|
||||||
|
LogoutRequest = 23,
|
||||||
|
|
||||||
|
// 房间管理
|
||||||
|
CreateRoom = 30,
|
||||||
|
JoinRoom = 31,
|
||||||
|
LeaveRoom = 32,
|
||||||
|
RoomList = 33,
|
||||||
|
|
||||||
|
Heartbeat = 40,
|
||||||
|
HeartbeatResponse = 41,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 1dd2a49fbda33064891c337fadc590ed
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Network.Defines
|
||||||
|
{
|
||||||
|
public static class ProtoExtensions
|
||||||
|
{
|
||||||
|
public static UnityEngine.Vector3 ToVector3(this Vector3 vec)
|
||||||
|
{
|
||||||
|
return new UnityEngine.Vector3()
|
||||||
|
{
|
||||||
|
x = vec.X,
|
||||||
|
y = vec.Y,
|
||||||
|
z = vec.Z
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Vector3 ToProtoVector3(UnityEngine.Vector3 vec)
|
||||||
|
{
|
||||||
|
return new Vector3()
|
||||||
|
{
|
||||||
|
X = vec.x,
|
||||||
|
Y = vec.y,
|
||||||
|
Z = vec.z
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: fefe99db6b80a43418075799ba64c176
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Network.Defines
|
||||||
|
{
|
||||||
|
public class SystemMessage
|
||||||
|
{
|
||||||
|
public string Content { get; set; }
|
||||||
|
public DateTime Timestamp { get; set; } = DateTime.Now;
|
||||||
|
public string Level { get; set; } = "info"; // "info", "warning", "error"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9a9d4f06e72ce954598ae990364ac8ac
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2abfb5f176e7f5e4c8bf371eb28ae588
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
using System;
|
||||||
|
using System.Net;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Google.Protobuf;
|
||||||
|
using Network.Defines;
|
||||||
|
|
||||||
|
namespace Network.NetworkApplication
|
||||||
|
{
|
||||||
|
public class DelegateMessageHandler : IMessageHandler
|
||||||
|
{
|
||||||
|
private readonly Func<byte[], IPEndPoint, Task> handler;
|
||||||
|
|
||||||
|
public DelegateMessageHandler(Func<byte[], IPEndPoint, Task> handler)
|
||||||
|
{
|
||||||
|
this.handler = handler;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DelegateMessageHandler(Action<byte[], IPEndPoint> handler)
|
||||||
|
{
|
||||||
|
this.handler = (msg, sender) =>
|
||||||
|
{
|
||||||
|
handler(msg, sender);
|
||||||
|
return Task.CompletedTask;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public Task HandleAsync(byte[] message, IPEndPoint sender)
|
||||||
|
{
|
||||||
|
return handler(message, sender);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c940a6a8da48ccf429215f05e2d32154
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
using System.Net;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Network.NetworkApplication
|
||||||
|
{
|
||||||
|
public interface IMessageHandler
|
||||||
|
{
|
||||||
|
Task HandleAsync(byte[] message, IPEndPoint sender);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c46d2128446560d409c48949e2636bf1
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,101 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Net;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Google.Protobuf;
|
||||||
|
using Network.Defines;
|
||||||
|
using Network.NetworkTransport;
|
||||||
|
|
||||||
|
namespace Network.NetworkApplication
|
||||||
|
{
|
||||||
|
public class MessageManager
|
||||||
|
{
|
||||||
|
private readonly ITransport transport;
|
||||||
|
|
||||||
|
private readonly Dictionary<MessageType, Func<byte[], IPEndPoint, Task>> handlers =
|
||||||
|
new Dictionary<MessageType, Func<byte[], IPEndPoint, Task>>();
|
||||||
|
|
||||||
|
public MessageManager(ITransport transport)
|
||||||
|
{
|
||||||
|
this.transport = transport;
|
||||||
|
this.transport.OnReceive += OnTransportReceiveAsync;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RegisterHandler(MessageType type, IMessageHandler handler)
|
||||||
|
{
|
||||||
|
handlers[type] = async (payload, sender) => { await handler.HandleAsync(payload, sender); };
|
||||||
|
|
||||||
|
Console.WriteLine($"[MessageManager] 注册处理器:{type}");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RegisterHandler(MessageType type, Func<byte[], IPEndPoint, Task> handler)
|
||||||
|
{
|
||||||
|
var han = new DelegateMessageHandler(handler);
|
||||||
|
RegisterHandler(type, new DelegateMessageHandler(handler));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RegisterHandler(MessageType type, Action<byte[], IPEndPoint> handler)
|
||||||
|
{
|
||||||
|
var han = new DelegateMessageHandler((msg, sender) => { handler(msg, sender); });
|
||||||
|
RegisterHandler(type, new DelegateMessageHandler((msg, sender) =>
|
||||||
|
{
|
||||||
|
handler(msg, sender);
|
||||||
|
return Task.CompletedTask;
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendMessage<T>(T message, MessageType type, IPEndPoint target = null) where T : IMessage
|
||||||
|
{
|
||||||
|
var envelope = new Envelope()
|
||||||
|
{
|
||||||
|
Type = (int)type,
|
||||||
|
Payload = message.ToByteString()
|
||||||
|
};
|
||||||
|
|
||||||
|
if (target != null)
|
||||||
|
{
|
||||||
|
transport.SendTo(envelope.ToByteArray(), target);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
transport.Send(envelope.ToByteArray());
|
||||||
|
}
|
||||||
|
|
||||||
|
Console.WriteLine($"[MessageManager] 发送消息:{type} -> {target?.ToString() ?? "default"}");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void BroadcastMessage<T>(T message, MessageType type) where T : IMessage
|
||||||
|
{
|
||||||
|
Console.WriteLine($"[MessageManager] 广播消息:{type}");
|
||||||
|
var envelope = new Envelope()
|
||||||
|
{
|
||||||
|
Type = (int)type,
|
||||||
|
Payload = message.ToByteString()
|
||||||
|
};
|
||||||
|
transport.SendToAll(envelope.ToByteArray());
|
||||||
|
}
|
||||||
|
|
||||||
|
private async void OnTransportReceiveAsync(byte[] data, IPEndPoint sender)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var envelope = Envelope.Parser.ParseFrom(data);
|
||||||
|
var type = (MessageType)envelope.Type;
|
||||||
|
Console.WriteLine($"[MessageManager] 收到消息:{type} 来自 {sender}");
|
||||||
|
|
||||||
|
if (handlers.TryGetValue(type, out var handler))
|
||||||
|
{
|
||||||
|
await handler(envelope.Payload.ToByteArray(), sender);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Console.WriteLine($"[MessageManager] 警告:未注册的消息类型 {type}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"[MessageManager] 消息处理错误:{ex.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 75ac30aeadd168e44a8860b22bd467c8
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 32f1de5d4a6031049a2033d69eb21595
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,193 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Net;
|
||||||
|
using System.Net.Sockets;
|
||||||
|
|
||||||
|
namespace Network.NetworkTransport
|
||||||
|
{
|
||||||
|
public class ClientSession
|
||||||
|
{
|
||||||
|
private ITransport _transport;
|
||||||
|
|
||||||
|
private IPEndPoint _remote;
|
||||||
|
|
||||||
|
public long LastActivityTs { get; private set; }
|
||||||
|
|
||||||
|
public uint SendSequenceNumber { get; private set; } = 0;
|
||||||
|
|
||||||
|
private int _currentTicks = 0;
|
||||||
|
|
||||||
|
private int _nextSendTicks = 0;
|
||||||
|
|
||||||
|
private int _sendInterval = 10;
|
||||||
|
|
||||||
|
// 重传时间 5s
|
||||||
|
private long _retransmitTicks = 5000;
|
||||||
|
|
||||||
|
// 上层交付
|
||||||
|
private readonly LinkedList<Packet> _sendQueue = new LinkedList<Packet>();
|
||||||
|
|
||||||
|
// 已发送但未确认
|
||||||
|
private readonly LinkedList<Packet> _sendBuffer = new LinkedList<Packet>();
|
||||||
|
|
||||||
|
// 已收到但乱序
|
||||||
|
private readonly LinkedList<Packet> _receiveBuffer = new LinkedList<Packet>();
|
||||||
|
|
||||||
|
// 已收到可交付
|
||||||
|
private readonly LinkedList<Packet> _receiveQueue = new LinkedList<Packet>();
|
||||||
|
|
||||||
|
private bool _hasReceived = false;
|
||||||
|
|
||||||
|
private uint _expectedAck = 0;
|
||||||
|
|
||||||
|
private readonly object _lockObj = new object();
|
||||||
|
|
||||||
|
public ClientSession(ITransport transport, IPEndPoint remote)
|
||||||
|
{
|
||||||
|
_transport = transport;
|
||||||
|
_remote = remote;
|
||||||
|
LastActivityTs = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
|
||||||
|
}
|
||||||
|
|
||||||
|
public uint GetExpectedAck() => _expectedAck;
|
||||||
|
|
||||||
|
public void SetSendInterval(int interval) => _sendInterval = interval;
|
||||||
|
|
||||||
|
private uint GetNextSendSequence()
|
||||||
|
{
|
||||||
|
lock (_lockObj)
|
||||||
|
{
|
||||||
|
return SendSequenceNumber++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Tick(int currentTicks)
|
||||||
|
{
|
||||||
|
_currentTicks = currentTicks;
|
||||||
|
if (_currentTicks >= _nextSendTicks)
|
||||||
|
{
|
||||||
|
_nextSendTicks = currentTicks + _sendInterval;
|
||||||
|
SendPacketInternal();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendPacket(byte[] data)
|
||||||
|
{
|
||||||
|
_sendQueue.AddLast(Packet.CreateDataPacket(GetNextSendSequence(), data));
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Packet> ReceivePackets()
|
||||||
|
{
|
||||||
|
var list = new List<Packet>();
|
||||||
|
lock (_lockObj)
|
||||||
|
{
|
||||||
|
while (_receiveQueue.Count > 0)
|
||||||
|
{
|
||||||
|
var packet = _receiveQueue.First.Value;
|
||||||
|
|
||||||
|
list.Add(packet);
|
||||||
|
_receiveQueue.RemoveFirst();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SendPacketInternal()
|
||||||
|
{
|
||||||
|
if (_hasReceived)
|
||||||
|
{
|
||||||
|
var packet = Packet.CreateAckPacket(_expectedAck);
|
||||||
|
_sendBuffer.AddLast(packet);
|
||||||
|
var bytes = packet.ToBytes();
|
||||||
|
_transport.SendTo(bytes, _remote);
|
||||||
|
_hasReceived = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var packet in _receiveBuffer)
|
||||||
|
{
|
||||||
|
if (_currentTicks - packet.Timestamp > _retransmitTicks)
|
||||||
|
{
|
||||||
|
var bytes = packet.ToBytes();
|
||||||
|
_transport.SendTo(bytes, _remote);
|
||||||
|
}
|
||||||
|
else break;
|
||||||
|
}
|
||||||
|
|
||||||
|
while (_sendQueue.Count > 0)
|
||||||
|
{
|
||||||
|
var packet = _sendQueue.First.Value;
|
||||||
|
_sendBuffer.AddLast(packet);
|
||||||
|
var bytes = packet.ToBytes();
|
||||||
|
_transport.SendTo(bytes, _remote);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ReceivePacketsInternal(Packet packet)
|
||||||
|
{
|
||||||
|
uint seq = packet.SequenceNumber;
|
||||||
|
|
||||||
|
// 是否是按序到达的包
|
||||||
|
if (seq == _expectedAck)
|
||||||
|
{
|
||||||
|
_receiveQueue.AddLast(packet);
|
||||||
|
while (_receiveBuffer.Count > 0)
|
||||||
|
{
|
||||||
|
var pendingPacket = _receiveBuffer.First.Value;
|
||||||
|
if (seq != pendingPacket.SequenceNumber) break;
|
||||||
|
seq++;
|
||||||
|
_receiveQueue.AddLast(pendingPacket);
|
||||||
|
_receiveBuffer.RemoveFirst();
|
||||||
|
}
|
||||||
|
|
||||||
|
_expectedAck = seq + 1;
|
||||||
|
_hasReceived = true;
|
||||||
|
}
|
||||||
|
// 将包按顺序追加在 receivingPackets 后面
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var firstNode = _receiveBuffer.First;
|
||||||
|
while (firstNode.Next != null)
|
||||||
|
{
|
||||||
|
if (firstNode.Value.SequenceNumber > seq)
|
||||||
|
{
|
||||||
|
var node = new LinkedListNode<Packet>(packet);
|
||||||
|
_receiveBuffer.AddBefore(firstNode, node);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
firstNode = firstNode.Next;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (firstNode == null) _receiveBuffer.AddLast(packet);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public bool TryProcessReceiveSequence(uint sequenceNumber, out bool shouldDeliver)
|
||||||
|
{
|
||||||
|
lock (_lockObj)
|
||||||
|
{
|
||||||
|
LastActivityTs = DateTime.Now;
|
||||||
|
|
||||||
|
if (sequenceNumber == _expectedAck)
|
||||||
|
{
|
||||||
|
_expectedAck++;
|
||||||
|
_receivedSequences.Add(sequenceNumber);
|
||||||
|
shouldDeliver = true;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if (sequenceNumber < _expectedAck)
|
||||||
|
{
|
||||||
|
shouldDeliver = false;
|
||||||
|
return _receivedSequences.Contains(sequenceNumber);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
shouldDeliver = false;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ec6c25bc42967db499742dfa355380b7
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
using System;
|
||||||
|
using System.Net;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Network.NetworkTransport
|
||||||
|
{
|
||||||
|
public interface ITransport
|
||||||
|
{
|
||||||
|
void SendTo(byte[] data, IPEndPoint target);
|
||||||
|
void SendToAll(byte[] data);
|
||||||
|
event Action<byte[], IPEndPoint> OnReceive;
|
||||||
|
Task StartAsync();
|
||||||
|
void Stop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: dc400a702b75abc40bb454eb27a34249
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,63 @@
|
||||||
|
using System;
|
||||||
|
using System.Linq;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Network.NetworkTransport
|
||||||
|
{
|
||||||
|
public enum PacketType : byte
|
||||||
|
{
|
||||||
|
Data = 1,
|
||||||
|
Ack = 2,
|
||||||
|
}
|
||||||
|
|
||||||
|
public struct Packet
|
||||||
|
{
|
||||||
|
public PacketType Type;
|
||||||
|
public uint SequenceNumber;
|
||||||
|
public byte[] Data;
|
||||||
|
public long Timestamp;
|
||||||
|
|
||||||
|
public byte[] ToBytes()
|
||||||
|
{
|
||||||
|
var result = new byte[1 + 4 + 8 + Data.Length];
|
||||||
|
result[0] = (byte)Type;
|
||||||
|
BitConverter.GetBytes(SequenceNumber).CopyTo(result, 1);
|
||||||
|
BitConverter.GetBytes(Timestamp).CopyTo(result, 5);
|
||||||
|
Data.CopyTo(result, 13);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Packet FromBytes(byte[] data)
|
||||||
|
{
|
||||||
|
return new Packet
|
||||||
|
{
|
||||||
|
Type = (PacketType)data[0],
|
||||||
|
SequenceNumber = BitConverter.ToUInt32(data, 1),
|
||||||
|
Timestamp = BitConverter.ToInt64(data, 5),
|
||||||
|
Data = new ArraySegment<byte>(data, 5, data.Length - 5).ToArray()
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Packet CreateDataPacket(uint seqNum, byte[] data)
|
||||||
|
{
|
||||||
|
return new Packet
|
||||||
|
{
|
||||||
|
Type = PacketType.Data,
|
||||||
|
SequenceNumber = seqNum,
|
||||||
|
Data = data,
|
||||||
|
Timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Packet CreateAckPacket(uint seqNum)
|
||||||
|
{
|
||||||
|
return new Packet
|
||||||
|
{
|
||||||
|
Type = PacketType.Ack,
|
||||||
|
SequenceNumber = seqNum,
|
||||||
|
Data = Array.Empty<byte>(),
|
||||||
|
Timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b84a2cb7ffe3cd14180358559e526dbe
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,285 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Net;
|
||||||
|
using System.Net.Sockets;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Network.NetworkTransport
|
||||||
|
{
|
||||||
|
public class ReliableUdpTransport : ITransport
|
||||||
|
{
|
||||||
|
private readonly UdpClient _client;
|
||||||
|
private readonly IPEndPoint _defaultRemoteEndPoint;
|
||||||
|
private readonly bool _isServer;
|
||||||
|
|
||||||
|
private readonly List<ClientSession> _sessions = new();
|
||||||
|
|
||||||
|
private readonly Timer _retransmitTimer;
|
||||||
|
private readonly Timer _cleanupTimer;
|
||||||
|
|
||||||
|
//TODO: volatile 关键字
|
||||||
|
private volatile bool _isRunning;
|
||||||
|
|
||||||
|
// 配置参数
|
||||||
|
private const int RetransmitTimeoutMs = 1000;
|
||||||
|
private const int SessionTimeoutMs = 30000;
|
||||||
|
private const int MaxRetransmitAttempts = 5;
|
||||||
|
|
||||||
|
public event Action<byte[], IPEndPoint> OnReceive;
|
||||||
|
|
||||||
|
private Task _receiveTask;
|
||||||
|
|
||||||
|
// 构造函数——服务端模式
|
||||||
|
public ReliableUdpTransport(int listenPort)
|
||||||
|
{
|
||||||
|
_client = new UdpClient(listenPort);
|
||||||
|
_isServer = true;
|
||||||
|
_retransmitTimer = new Timer(CheckRetransmit, null, 100, 100);
|
||||||
|
_cleanupTimer = new Timer(CleanupSessions, null, 5000, 5000);
|
||||||
|
Console.WriteLine($"[Transport] 服务端模式,监听端口: {listenPort}");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 构造函数——客户端模式
|
||||||
|
public ReliableUdpTransport(string serverIP, int serverPort)
|
||||||
|
{
|
||||||
|
_client = new UdpClient(0);
|
||||||
|
_defaultRemoteEndPoint = new IPEndPoint(IPAddress.Parse(serverIP), serverPort);
|
||||||
|
|
||||||
|
_isServer = false;
|
||||||
|
_retransmitTimer = new Timer(CheckRetransmit, null, 100, 100);
|
||||||
|
_cleanupTimer = new Timer(CleanupSessions, null, 5000, 5000);
|
||||||
|
Console.WriteLine($"[Transport] 客户端模式,目标: {_defaultRemoteEndPoint}");
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task StartAsync()
|
||||||
|
{
|
||||||
|
_sessions.Clear();
|
||||||
|
|
||||||
|
_isRunning = true;
|
||||||
|
Console.WriteLine("[Transport] 传输层启动");
|
||||||
|
|
||||||
|
// 开始接收数据
|
||||||
|
_receiveTask = ReceiveLoop();
|
||||||
|
await Task.Delay(100); // 给接收循环一点启动时间
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Tick()
|
||||||
|
{
|
||||||
|
foreach (var session in _sessions)
|
||||||
|
{
|
||||||
|
session.Tick(DateTime.UtcNow.Millisecond);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Stop()
|
||||||
|
{
|
||||||
|
_isRunning = false;
|
||||||
|
_retransmitTimer.Dispose();
|
||||||
|
_cleanupTimer.Dispose();
|
||||||
|
_client.Close();
|
||||||
|
_sessions.Clear();
|
||||||
|
Console.WriteLine("[Transport] 传输层停止");
|
||||||
|
}
|
||||||
|
|
||||||
|
public async void SendTo(Packet packet, IPEndPoint target)
|
||||||
|
{
|
||||||
|
if (!_isRunning)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var bytes = packet.ToBytes();
|
||||||
|
await _client.SendAsync(bytes, bytes.Length, target);
|
||||||
|
|
||||||
|
Console.WriteLine($"[Transport] 发送数据包到 {target}");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendToAll(byte[] data)
|
||||||
|
{
|
||||||
|
foreach (var session in _sessions)
|
||||||
|
{
|
||||||
|
session.SendPacket(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task ReceiveLoop()
|
||||||
|
{
|
||||||
|
while (_isRunning)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var result = await _client.ReceiveAsync();
|
||||||
|
var packet = Packet.FromBytes(result.Buffer);
|
||||||
|
|
||||||
|
if (packet.Type == PacketType.Data)
|
||||||
|
{
|
||||||
|
HandleDataPacket(packet, result.RemoteEndPoint);
|
||||||
|
}
|
||||||
|
else if (packet.Type == PacketType.Ack)
|
||||||
|
{
|
||||||
|
HandleAckPacket(packet, result.RemoteEndPoint);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (ObjectDisposedException)
|
||||||
|
{
|
||||||
|
return; // 正常关闭
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"[Transport] 接收错误:{e.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void HandleDataPacket(Packet packet, IPEndPoint senderEndPoint)
|
||||||
|
{
|
||||||
|
var session = GetOrCreateSession(senderEndPoint);
|
||||||
|
|
||||||
|
Console.WriteLine(
|
||||||
|
$"[Transport] 收到数据包从{senderEndPoint} SeqNum={packet.SequenceNumber}, DataLen={packet.Data.Length}");
|
||||||
|
|
||||||
|
// 发送ACK
|
||||||
|
var ackPacket = Packet.CreateAckPacket(packet.SequenceNumber);
|
||||||
|
SendPacketTo(ackPacket, senderEndPoint);
|
||||||
|
Console.WriteLine($"[Transport] 发送ACK 到 {senderEndPoint} SeqNum={packet.SequenceNumber}");
|
||||||
|
|
||||||
|
// 检查是否应该交付
|
||||||
|
if (session.TryProcessReceiveSequence(packet.SequenceNumber, out bool shouldDeliver))
|
||||||
|
{
|
||||||
|
if (shouldDeliver)
|
||||||
|
{
|
||||||
|
OnReceive?.Invoke(packet.Data, senderEndPoint);
|
||||||
|
Console.WriteLine($"[Transport] 交付数据包从 {senderEndPoint} SeqNum={packet.SequenceNumber}");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Console.WriteLine($"[Transport] 重复包从 {senderEndPoint} SeqNum={packet.SequenceNumber},忽略");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// 乱序到达,暂存(简化处理:直接丢弃,依赖重传)
|
||||||
|
Console.WriteLine($"[Transport] 乱序包从 {senderEndPoint} SeqNum={packet.SequenceNumber},丢弃");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void HandleAckPacket(Packet packet, IPEndPoint senderEndPoint)
|
||||||
|
{
|
||||||
|
var session = GetOrCreateSession(senderEndPoint);
|
||||||
|
Console.WriteLine($"[Transport] 收到ACK从 {senderEndPoint} SeqNum={packet.SequenceNumber}");
|
||||||
|
|
||||||
|
if (session.PendingAcks.TryRemove(packet.SequenceNumber, out _))
|
||||||
|
{
|
||||||
|
Console.WriteLine($"[Transport] 确认包到 {senderEndPoint} SeqNum={packet.SequenceNumber}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private ClientSession GetOrCreateSession(IPEndPoint endPoint)
|
||||||
|
{
|
||||||
|
string key = endPoint.ToString();
|
||||||
|
return _sessions.GetOrAdd(key, _ =>
|
||||||
|
{
|
||||||
|
var session = new ClientSession(endPoint);
|
||||||
|
Console.WriteLine($"创建新会话:{endPoint}");
|
||||||
|
return session;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CheckRetransmit(object state)
|
||||||
|
{
|
||||||
|
if (!_isRunning)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var now = DateTime.Now;
|
||||||
|
var toRetransmit = new List<(IPEndPoint target, uint seqNum, Packet packet)>();
|
||||||
|
|
||||||
|
foreach (var sessionKvp in _sessions)
|
||||||
|
{
|
||||||
|
var session = sessionKvp.Value;
|
||||||
|
foreach (var ackKvp in session.PendingAcks)
|
||||||
|
{
|
||||||
|
var timeSinceLastSend = now - ackKvp.Value.sendTime;
|
||||||
|
if (timeSinceLastSend.TotalMilliseconds > RetransmitTimeoutMs)
|
||||||
|
{
|
||||||
|
toRetransmit.Add((session.EndPoint, ackKvp.Key, ackKvp.Value.packet));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
foreach (var (target, seqNum, packet) in toRetransmit)
|
||||||
|
{
|
||||||
|
var session = GetOrCreateSession(target);
|
||||||
|
if (session.PendingAcks.ContainsKey(seqNum))
|
||||||
|
{
|
||||||
|
// 更新发送时间
|
||||||
|
session.PendingAcks[seqNum] = (packet, now);
|
||||||
|
SendPacketTo(packet, target);
|
||||||
|
Console.WriteLine($"[Transport] 重传包到 {target} SeqNum={seqNum}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CleanupSessions(object state)
|
||||||
|
{
|
||||||
|
if (!_isRunning)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var now = DateTime.Now;
|
||||||
|
var toRemove = new List<string>();
|
||||||
|
|
||||||
|
foreach (var sessionKvp in _sessions)
|
||||||
|
{
|
||||||
|
var session = sessionKvp.Value;
|
||||||
|
var timeSinceLastActivity = now - session.LastActivity;
|
||||||
|
|
||||||
|
if (timeSinceLastActivity.TotalMilliseconds > SessionTimeoutMs)
|
||||||
|
{
|
||||||
|
toRemove.Add(sessionKvp.Key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (string key in toRemove)
|
||||||
|
{
|
||||||
|
if (_sessions.TryRemove(key, out var session))
|
||||||
|
{
|
||||||
|
Console.WriteLine($"[Transport] 清理超时会话:{session.EndPoint}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_isServer)
|
||||||
|
{
|
||||||
|
PrintSessionInfo();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private async void SendPacketTo(Packet packet, IPEndPoint endPoint)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var data = packet.ToBytes();
|
||||||
|
await _client.SendAsync(data, data.Length, endPoint);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"[Transport] 发送错误:{e.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PrintSessionInfo()
|
||||||
|
{
|
||||||
|
Console.WriteLine($"当前活跃会话数:{_sessions.Count}");
|
||||||
|
foreach (var sessionKvp in _sessions)
|
||||||
|
{
|
||||||
|
var session = sessionKvp.Value;
|
||||||
|
Console.WriteLine(
|
||||||
|
$" 会话:{session.EndPoint},发送SeqNum:{session.SendSequenceNumber},期望接收:{session.GetExpectedAck()},待确认: {session.PendingAcks.Count}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d26d19f5e4031fd4089d620dc62d5159
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,138 @@
|
||||||
|
using System.Collections;
|
||||||
|
using System.Net;
|
||||||
|
using Network.Defines;
|
||||||
|
using Network.NetworkApplication;
|
||||||
|
using Network.NetworkTransport;
|
||||||
|
using UnityEngine;
|
||||||
|
using Vector3 = UnityEngine.Vector3;
|
||||||
|
|
||||||
|
public class NetworkManager : MonoBehaviour
|
||||||
|
{
|
||||||
|
public static NetworkManager Instance;
|
||||||
|
private ReliableUdpTransport _transport;
|
||||||
|
private MessageManager _messageManager;
|
||||||
|
private IPEndPoint _serverPoint;
|
||||||
|
private uint _sequence = 0;
|
||||||
|
[SerializeField] private GameObject _wrongWindow;
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
Instance = this;
|
||||||
|
StartCoroutine(InitNetwork());
|
||||||
|
}
|
||||||
|
|
||||||
|
private IEnumerator InitNetwork()
|
||||||
|
{
|
||||||
|
_transport = new ReliableUdpTransport("127.0.0.1", 8080);
|
||||||
|
yield return _transport.StartAsync();
|
||||||
|
_messageManager = new MessageManager(_transport);
|
||||||
|
RegisterHandler();
|
||||||
|
StartCoroutine(Heartbeat());
|
||||||
|
}
|
||||||
|
|
||||||
|
private IEnumerator Heartbeat()
|
||||||
|
{
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
if (_serverPoint != null)
|
||||||
|
{
|
||||||
|
var heartbeat = new Heartbeat();
|
||||||
|
_messageManager.SendMessage(heartbeat, MessageType.Heartbeat, _serverPoint);
|
||||||
|
}
|
||||||
|
|
||||||
|
yield return new WaitForSeconds(2.0f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RegisterHandler()
|
||||||
|
{
|
||||||
|
_messageManager.RegisterHandler(MessageType.LoginResponse, HandleLoginResponse);
|
||||||
|
_messageManager.RegisterHandler(MessageType.PlayerState, HandlePlayerState);
|
||||||
|
_messageManager.RegisterHandler(MessageType.HeartbeatResponse, HandleHeartbeatResponse);
|
||||||
|
_messageManager.RegisterHandler(MessageType.LogoutRequest, HandleLogoutRequest);
|
||||||
|
_messageManager.RegisterHandler(MessageType.PlayerJoin, HandlePlayerJoin);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void HandleLoginResponse(byte[] data, IPEndPoint sender)
|
||||||
|
{
|
||||||
|
var response = LoginResponse.Parser.ParseFrom(data);
|
||||||
|
_serverPoint = sender;
|
||||||
|
if (response.Result)
|
||||||
|
{
|
||||||
|
MasterManager.Instance.InitPlayersState(response);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_wrongWindow.SetActive(true);
|
||||||
|
Debug.LogError("UserId 已经存在");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void HandlePlayerState(byte[] data, IPEndPoint sender)
|
||||||
|
{
|
||||||
|
var message = PlayerState.Parser.ParseFrom(data);
|
||||||
|
MasterManager.Instance.MovePlayer(message.PlayerId, message);
|
||||||
|
Debug.Log($"收到PlayerState::PlayerID={message.PlayerId},Position=" + message.Position.ToVector3().ToString());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void HandleHeartbeatResponse(byte[] data, IPEndPoint sender)
|
||||||
|
{
|
||||||
|
var response = HeartbeatResponse.Parser.ParseFrom(data);
|
||||||
|
var player = MasterManager.Instance.GetCurrentPlayer();
|
||||||
|
if (player != null)
|
||||||
|
{
|
||||||
|
player.SyncTick(response.ServerTick);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void HandleLogoutRequest(byte[] data, IPEndPoint sender)
|
||||||
|
{
|
||||||
|
var request = LogoutRequest.Parser.ParseFrom(data);
|
||||||
|
MasterManager.Instance.UnregisterPlayer(request.PlayerId);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void HandlePlayerJoin(byte[] data, IPEndPoint sender)
|
||||||
|
{
|
||||||
|
var playerJoin = PlayerJoin.Parser.ParseFrom(data);
|
||||||
|
if (MasterManager.Instance.LocalPlayerId == playerJoin.PlayerId) return;
|
||||||
|
MasterManager.Instance.RegisterRemotePlayer(playerJoin.PlayerId, playerJoin.Position.ToVector3());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendPlayerInput(string playerId, Vector3 input)
|
||||||
|
{
|
||||||
|
var message = new PlayerInput()
|
||||||
|
{
|
||||||
|
PlayerId = playerId,
|
||||||
|
Input = ProtoExtensions.ToProtoVector3(input)
|
||||||
|
};
|
||||||
|
_messageManager.SendMessage(message, MessageType.PlayerInput);
|
||||||
|
Debug.Log($"PlayerMoveSeq: {_sequence++}");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendPlayerInput(PlayerInput message)
|
||||||
|
{
|
||||||
|
_messageManager.SendMessage(message, MessageType.PlayerInput);
|
||||||
|
Debug.Log($"PlayerMoveSeq: {_sequence++}");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendLoginRequest(string playerId, int speed)
|
||||||
|
{
|
||||||
|
var request = new LoginRequest()
|
||||||
|
{
|
||||||
|
PlayerId = playerId,
|
||||||
|
Speed = speed
|
||||||
|
};
|
||||||
|
_messageManager.SendMessage(request, MessageType.LoginRequest);
|
||||||
|
Debug.Log($"Sent login request to player {playerId}");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendLogoutRequest(string playerId)
|
||||||
|
{
|
||||||
|
var request = new LogoutRequest()
|
||||||
|
{
|
||||||
|
PlayerId = playerId
|
||||||
|
};
|
||||||
|
_messageManager.SendMessage(request, MessageType.LogoutRequest);
|
||||||
|
Debug.Log($"Sent logout request to player {playerId}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 816171fec883e2940ad0a89df5294066
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class OfflineMovementComponent : MonoBehaviour
|
||||||
|
{
|
||||||
|
[SerializeField] private int _speed;
|
||||||
|
[SerializeField] private Rigidbody rigid;
|
||||||
|
private Vector3 _cachedInput;
|
||||||
|
|
||||||
|
private void Update()
|
||||||
|
{
|
||||||
|
_cachedInput = new Vector3(Input.GetAxisRaw("Horizontal"), 0, Input.GetAxisRaw("Vertical"));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void FixedUpdate()
|
||||||
|
{
|
||||||
|
rigid.velocity = _cachedInput * _speed;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: cf8f141cd490efa4aa23369000c805db
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
using Network.Defines;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class Player : MonoBehaviour
|
||||||
|
{
|
||||||
|
//[SerializeField] private float _moveSpeed = 10f;
|
||||||
|
public string PlayerId { get; private set; } = "1001";
|
||||||
|
[SerializeField] private MeshRenderer _meshRenderer;
|
||||||
|
[SerializeField] private Material[] _materials;
|
||||||
|
[SerializeField] private Camera _camera;
|
||||||
|
[SerializeField] private MovementComponent _movement;
|
||||||
|
[SerializeField] private PlayerUI _playerUI;
|
||||||
|
[SerializeField] private bool _isControlled;
|
||||||
|
|
||||||
|
public void LocalInit(string playerId, int speed, long serverTick)
|
||||||
|
{
|
||||||
|
this.PlayerId = playerId;
|
||||||
|
this._isControlled = true;
|
||||||
|
|
||||||
|
int idx = Random.Range(0, _materials.Length);
|
||||||
|
_meshRenderer.material = _materials[idx];
|
||||||
|
|
||||||
|
_playerUI.Init(this);
|
||||||
|
_movement.Init(true, this, speed, serverTick);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RemoteInit(string playerId, UnityEngine.Vector3 pos)
|
||||||
|
{
|
||||||
|
this.PlayerId = playerId;
|
||||||
|
this._isControlled = false;
|
||||||
|
|
||||||
|
int idx = Random.Range(0, _materials.Length);
|
||||||
|
_meshRenderer.material = _materials[idx];
|
||||||
|
|
||||||
|
Destroy(_camera.gameObject);
|
||||||
|
this.transform.position = pos;
|
||||||
|
|
||||||
|
_playerUI.Init(this);
|
||||||
|
_movement.Init(false, this);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnApplicationQuit()
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(this.PlayerId) && _isControlled)
|
||||||
|
{
|
||||||
|
NetworkManager.Instance.SendLogoutRequest(this.PlayerId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SyncPosition(PlayerState movement)
|
||||||
|
{
|
||||||
|
if (this._movement == null) return;
|
||||||
|
_movement.OnServerState(movement);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SyncTick(long serverTick)
|
||||||
|
{
|
||||||
|
_movement.SetServerTick(serverTick);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ef97bb6040fda094b8aeab1bff8f13f8
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6fd6ab7e60cf1f248837c7096ee1e6f3
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,68 @@
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.Events;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
|
public class MainUI : MonoBehaviour
|
||||||
|
{
|
||||||
|
public static MainUI Instance;
|
||||||
|
|
||||||
|
[SerializeField] private Text _serverPositionText;
|
||||||
|
[SerializeField] private Text _clientPositionText;
|
||||||
|
[SerializeField] private Text _serverTickText;
|
||||||
|
[SerializeField] private Text _startTickOffsetText;
|
||||||
|
[SerializeField] private Text _clientTickText;
|
||||||
|
|
||||||
|
public UnityAction<Vector3> OnServerPosChanged;
|
||||||
|
public UnityAction<Vector3> OnClientPosChanged;
|
||||||
|
public UnityAction<long> OnServerTickChanged;
|
||||||
|
public UnityAction<long> OnStartTickOffsetChanged;
|
||||||
|
public UnityAction<long> OnClientTickChanged;
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
Instance = this;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Start()
|
||||||
|
{
|
||||||
|
OnServerPosChanged += UpdateServerPositionText;
|
||||||
|
OnClientPosChanged += UpdateClientPositionText;
|
||||||
|
OnServerTickChanged += UpdateServerTickText;
|
||||||
|
OnClientTickChanged += UpdateClientTickText;
|
||||||
|
OnStartTickOffsetChanged += UpdateStartTickOffsetText;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDisable()
|
||||||
|
{
|
||||||
|
OnServerPosChanged -= UpdateServerPositionText;
|
||||||
|
OnClientPosChanged -= UpdateClientPositionText;
|
||||||
|
OnServerTickChanged -= UpdateServerTickText;
|
||||||
|
OnClientTickChanged -= UpdateClientTickText;
|
||||||
|
OnStartTickOffsetChanged -= UpdateStartTickOffsetText;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateServerPositionText(Vector3 pos)
|
||||||
|
{
|
||||||
|
_serverPositionText.text = "服务端位置:" + pos.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateClientPositionText(Vector3 pos)
|
||||||
|
{
|
||||||
|
_clientPositionText.text = "客户端位置:" + pos.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateServerTickText(long tick)
|
||||||
|
{
|
||||||
|
_serverTickText.text = "服务器Tick:" + tick;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateStartTickOffsetText(long tick)
|
||||||
|
{
|
||||||
|
_startTickOffsetText.text = "初始Tick差:" + tick;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateClientTickText(long tick)
|
||||||
|
{
|
||||||
|
_clientTickText.text = "客户端Tick:" + tick;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 747bc5518e5dcfd429160d8425ae5200
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
|
public class PlayerUI : MonoBehaviour
|
||||||
|
{
|
||||||
|
[SerializeField] private Canvas _canvas;
|
||||||
|
[SerializeField] private Text _text;
|
||||||
|
private Player _master;
|
||||||
|
private Camera _mainCamera;
|
||||||
|
private bool _isVisible = true;
|
||||||
|
|
||||||
|
public void Init(Player master)
|
||||||
|
{
|
||||||
|
_canvas = this.transform.GetComponent<Canvas>();
|
||||||
|
_mainCamera = Camera.main;
|
||||||
|
this._master = master;
|
||||||
|
this._text.text = _master.PlayerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void FixedUpdate()
|
||||||
|
{
|
||||||
|
if (_isVisible)
|
||||||
|
{
|
||||||
|
if (_mainCamera == null)
|
||||||
|
{
|
||||||
|
_mainCamera = Camera.main;
|
||||||
|
}
|
||||||
|
if (_mainCamera != null)
|
||||||
|
{
|
||||||
|
_canvas.transform.LookAt(_mainCamera.transform);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnBecameVisible()
|
||||||
|
{
|
||||||
|
_isVisible = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnBecameInvisible()
|
||||||
|
{
|
||||||
|
_isVisible = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 03b1c6f9985e8ee43a27a9dfbafa1de8
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
using System;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
|
public class StartUI : MonoBehaviour
|
||||||
|
{
|
||||||
|
[SerializeField] private InputField _playerIdInputField;
|
||||||
|
[SerializeField] private InputField _speedInputField;
|
||||||
|
[SerializeField] private Button _button;
|
||||||
|
|
||||||
|
|
||||||
|
public void Login()
|
||||||
|
{
|
||||||
|
if (_playerIdInputField == null || _speedInputField == null)
|
||||||
|
{
|
||||||
|
Debug.LogError("_inputField is null");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
string id = _playerIdInputField.text;
|
||||||
|
int speed = Convert.ToInt32(_speedInputField.text);
|
||||||
|
MasterManager.Instance.LocalPlayerId = id;
|
||||||
|
NetworkManager.Instance.SendLoginRequest(id, speed);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 8070d0d289bda324c9d3fd88c0582a53
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,53 @@
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
|
enum CardState
|
||||||
|
{
|
||||||
|
Cooling,
|
||||||
|
Ready,
|
||||||
|
WaitingSun
|
||||||
|
}
|
||||||
|
|
||||||
|
public class Card : MonoBehaviour
|
||||||
|
{
|
||||||
|
private CardState cardState = CardState.Cooling;
|
||||||
|
|
||||||
|
public GameObject sunflower;
|
||||||
|
public GameObject sunflowerGray;
|
||||||
|
public Image sunflowerMask;
|
||||||
|
|
||||||
|
|
||||||
|
private void Update()
|
||||||
|
{
|
||||||
|
switch (cardState)
|
||||||
|
{
|
||||||
|
case CardState.Cooling:
|
||||||
|
CoolingUpdate();
|
||||||
|
break;
|
||||||
|
case CardState.Ready:
|
||||||
|
ReadyUpdate();
|
||||||
|
break;
|
||||||
|
case CardState.WaitingSun:
|
||||||
|
WaitingSunUpdate();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CoolingUpdate()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
void ReadyUpdate()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void WaitingSunUpdate()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: eff1752caaabe784fb85775608605426
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4658cc192cae87c4fb8cdf66a6ed143e
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,114 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3}
|
||||||
|
m_Name: High_PipelineAsset
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
k_AssetVersion: 11
|
||||||
|
k_AssetPreviousVersion: 11
|
||||||
|
m_RendererType: 1
|
||||||
|
m_RendererData: {fileID: 0}
|
||||||
|
m_RendererDataList:
|
||||||
|
- {fileID: 11400000, guid: cda902d3b4486f449b8f3022a725b8b8, type: 2}
|
||||||
|
m_DefaultRendererIndex: 0
|
||||||
|
m_RequireDepthTexture: 0
|
||||||
|
m_RequireOpaqueTexture: 0
|
||||||
|
m_OpaqueDownsampling: 1
|
||||||
|
m_SupportsTerrainHoles: 1
|
||||||
|
m_SupportsHDR: 1
|
||||||
|
m_HDRColorBufferPrecision: 0
|
||||||
|
m_MSAA: 1
|
||||||
|
m_RenderScale: 1
|
||||||
|
m_UpscalingFilter: 0
|
||||||
|
m_FsrOverrideSharpness: 0
|
||||||
|
m_FsrSharpness: 0.92
|
||||||
|
m_EnableLODCrossFade: 1
|
||||||
|
m_LODCrossFadeDitheringType: 1
|
||||||
|
m_ShEvalMode: 0
|
||||||
|
m_MainLightRenderingMode: 1
|
||||||
|
m_MainLightShadowsSupported: 1
|
||||||
|
m_MainLightShadowmapResolution: 2048
|
||||||
|
m_AdditionalLightsRenderingMode: 1
|
||||||
|
m_AdditionalLightsPerObjectLimit: 2
|
||||||
|
m_AdditionalLightShadowsSupported: 1
|
||||||
|
m_AdditionalLightsShadowmapResolution: 2048
|
||||||
|
m_AdditionalLightsShadowResolutionTierLow: 256
|
||||||
|
m_AdditionalLightsShadowResolutionTierMedium: 512
|
||||||
|
m_AdditionalLightsShadowResolutionTierHigh: 1024
|
||||||
|
m_ReflectionProbeBlending: 1
|
||||||
|
m_ReflectionProbeBoxProjection: 1
|
||||||
|
m_ShadowDistance: 40
|
||||||
|
m_ShadowCascadeCount: 2
|
||||||
|
m_Cascade2Split: 0.33333334
|
||||||
|
m_Cascade3Split: {x: 0.1, y: 0.3}
|
||||||
|
m_Cascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
|
||||||
|
m_CascadeBorder: 0.2
|
||||||
|
m_ShadowDepthBias: 1
|
||||||
|
m_ShadowNormalBias: 1
|
||||||
|
m_AnyShadowsSupported: 1
|
||||||
|
m_SoftShadowsSupported: 1
|
||||||
|
m_ConservativeEnclosingSphere: 0
|
||||||
|
m_NumIterationsEnclosingSphere: 64
|
||||||
|
m_SoftShadowQuality: 2
|
||||||
|
m_AdditionalLightsCookieResolution: 2048
|
||||||
|
m_AdditionalLightsCookieFormat: 3
|
||||||
|
m_UseSRPBatcher: 1
|
||||||
|
m_SupportsDynamicBatching: 0
|
||||||
|
m_MixedLightingSupported: 1
|
||||||
|
m_SupportsLightCookies: 1
|
||||||
|
m_SupportsLightLayers: 0
|
||||||
|
m_DebugLevel: 0
|
||||||
|
m_StoreActionsOptimization: 0
|
||||||
|
m_EnableRenderGraph: 0
|
||||||
|
m_UseAdaptivePerformance: 1
|
||||||
|
m_ColorGradingMode: 0
|
||||||
|
m_ColorGradingLutSize: 32
|
||||||
|
m_UseFastSRGBLinearConversion: 0
|
||||||
|
m_SupportDataDrivenLensFlare: 1
|
||||||
|
m_ShadowType: 1
|
||||||
|
m_LocalShadowsSupported: 0
|
||||||
|
m_LocalShadowsAtlasResolution: 256
|
||||||
|
m_MaxPixelLights: 0
|
||||||
|
m_ShadowAtlasResolution: 256
|
||||||
|
m_VolumeFrameworkUpdateMode: 0
|
||||||
|
m_Textures:
|
||||||
|
blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3}
|
||||||
|
bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3}
|
||||||
|
m_PrefilteringModeMainLightShadows: 3
|
||||||
|
m_PrefilteringModeAdditionalLight: 3
|
||||||
|
m_PrefilteringModeAdditionalLightShadows: 2
|
||||||
|
m_PrefilterXRKeywords: 1
|
||||||
|
m_PrefilteringModeForwardPlus: 0
|
||||||
|
m_PrefilteringModeDeferredRendering: 0
|
||||||
|
m_PrefilteringModeScreenSpaceOcclusion: 0
|
||||||
|
m_PrefilterDebugKeywords: 1
|
||||||
|
m_PrefilterWriteRenderingLayers: 1
|
||||||
|
m_PrefilterHDROutput: 1
|
||||||
|
m_PrefilterSSAODepthNormals: 1
|
||||||
|
m_PrefilterSSAOSourceDepthLow: 1
|
||||||
|
m_PrefilterSSAOSourceDepthMedium: 1
|
||||||
|
m_PrefilterSSAOSourceDepthHigh: 1
|
||||||
|
m_PrefilterSSAOInterleaved: 1
|
||||||
|
m_PrefilterSSAOBlueNoise: 1
|
||||||
|
m_PrefilterSSAOSampleCountLow: 1
|
||||||
|
m_PrefilterSSAOSampleCountMedium: 1
|
||||||
|
m_PrefilterSSAOSampleCountHigh: 1
|
||||||
|
m_PrefilterDBufferMRT1: 1
|
||||||
|
m_PrefilterDBufferMRT2: 1
|
||||||
|
m_PrefilterDBufferMRT3: 1
|
||||||
|
m_PrefilterSoftShadowsQualityLow: 1
|
||||||
|
m_PrefilterSoftShadowsQualityMedium: 1
|
||||||
|
m_PrefilterSoftShadowsQualityHigh: 1
|
||||||
|
m_PrefilterSoftShadows: 0
|
||||||
|
m_PrefilterScreenCoord: 1
|
||||||
|
m_PrefilterNativeRenderPass: 1
|
||||||
|
m_ShaderVariantLogLevel: 0
|
||||||
|
m_ShadowCascades: 0
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 37af5b7ddac898049aa900a75714c8e9
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,55 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3}
|
||||||
|
m_Name: High_PipelineAsset_ForwardRenderer
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
debugShaders:
|
||||||
|
debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, type: 3}
|
||||||
|
m_RendererFeatures: []
|
||||||
|
m_RendererFeatureMap:
|
||||||
|
m_UseNativeRenderPass: 0
|
||||||
|
postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
|
||||||
|
xrSystemData: {fileID: 11400000, guid: 60e1133243b97e347b653163a8c01b64, type: 2}
|
||||||
|
shaders:
|
||||||
|
blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3}
|
||||||
|
copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
|
||||||
|
screenSpaceShadowPS: {fileID: 0}
|
||||||
|
samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3}
|
||||||
|
stencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3}
|
||||||
|
fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3}
|
||||||
|
materialErrorPS: {fileID: 4800000, guid: 5fd9a8feb75a4b5894c241777f519d4e, type: 3}
|
||||||
|
coreBlitPS: {fileID: 4800000, guid: 93446b5c5339d4f00b85c159e1159b7c, type: 3}
|
||||||
|
coreBlitColorAndDepthPS: {fileID: 4800000, guid: d104b2fc1ca6445babb8e90b0758136b, type: 3}
|
||||||
|
cameraMotionVector: {fileID: 4800000, guid: c56b7e0d4c7cb484e959caeeedae9bbf, type: 3}
|
||||||
|
objectMotionVector: {fileID: 4800000, guid: 7b3ede40266cd49a395def176e1bc486, type: 3}
|
||||||
|
m_AssetVersion: 2
|
||||||
|
m_OpaqueLayerMask:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 4294967295
|
||||||
|
m_TransparentLayerMask:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 4294967295
|
||||||
|
m_DefaultStencilState:
|
||||||
|
overrideStencilState: 0
|
||||||
|
stencilReference: 0
|
||||||
|
stencilCompareFunction: 8
|
||||||
|
passOperation: 2
|
||||||
|
failOperation: 0
|
||||||
|
zFailOperation: 0
|
||||||
|
m_ShadowTransparentReceive: 1
|
||||||
|
m_RenderingMode: 0
|
||||||
|
m_DepthPrimingMode: 0
|
||||||
|
m_CopyDepthMode: 0
|
||||||
|
m_AccurateGbufferNormals: 0
|
||||||
|
m_ClusteredRendering: 0
|
||||||
|
m_TileSize: 32
|
||||||
|
m_IntermediateTextureMode: 1
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: cda902d3b4486f449b8f3022a725b8b8
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,114 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3}
|
||||||
|
m_Name: Low_PipelineAsset
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
k_AssetVersion: 11
|
||||||
|
k_AssetPreviousVersion: 11
|
||||||
|
m_RendererType: 1
|
||||||
|
m_RendererData: {fileID: 0}
|
||||||
|
m_RendererDataList:
|
||||||
|
- {fileID: 11400000, guid: b532a3708e7b3094492eb9f1da5c957f, type: 2}
|
||||||
|
m_DefaultRendererIndex: 0
|
||||||
|
m_RequireDepthTexture: 0
|
||||||
|
m_RequireOpaqueTexture: 0
|
||||||
|
m_OpaqueDownsampling: 1
|
||||||
|
m_SupportsTerrainHoles: 1
|
||||||
|
m_SupportsHDR: 1
|
||||||
|
m_HDRColorBufferPrecision: 0
|
||||||
|
m_MSAA: 1
|
||||||
|
m_RenderScale: 1
|
||||||
|
m_UpscalingFilter: 0
|
||||||
|
m_FsrOverrideSharpness: 0
|
||||||
|
m_FsrSharpness: 0.92
|
||||||
|
m_EnableLODCrossFade: 1
|
||||||
|
m_LODCrossFadeDitheringType: 1
|
||||||
|
m_ShEvalMode: 0
|
||||||
|
m_MainLightRenderingMode: 0
|
||||||
|
m_MainLightShadowsSupported: 0
|
||||||
|
m_MainLightShadowmapResolution: 1024
|
||||||
|
m_AdditionalLightsRenderingMode: 2
|
||||||
|
m_AdditionalLightsPerObjectLimit: 4
|
||||||
|
m_AdditionalLightShadowsSupported: 0
|
||||||
|
m_AdditionalLightsShadowmapResolution: 1024
|
||||||
|
m_AdditionalLightsShadowResolutionTierLow: 256
|
||||||
|
m_AdditionalLightsShadowResolutionTierMedium: 512
|
||||||
|
m_AdditionalLightsShadowResolutionTierHigh: 1024
|
||||||
|
m_ReflectionProbeBlending: 1
|
||||||
|
m_ReflectionProbeBoxProjection: 1
|
||||||
|
m_ShadowDistance: 20
|
||||||
|
m_ShadowCascadeCount: 1
|
||||||
|
m_Cascade2Split: 0.33333334
|
||||||
|
m_Cascade3Split: {x: 0.1, y: 0.3}
|
||||||
|
m_Cascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
|
||||||
|
m_CascadeBorder: 0.2
|
||||||
|
m_ShadowDepthBias: 1
|
||||||
|
m_ShadowNormalBias: 1
|
||||||
|
m_AnyShadowsSupported: 0
|
||||||
|
m_SoftShadowsSupported: 0
|
||||||
|
m_ConservativeEnclosingSphere: 0
|
||||||
|
m_NumIterationsEnclosingSphere: 64
|
||||||
|
m_SoftShadowQuality: 2
|
||||||
|
m_AdditionalLightsCookieResolution: 2048
|
||||||
|
m_AdditionalLightsCookieFormat: 3
|
||||||
|
m_UseSRPBatcher: 1
|
||||||
|
m_SupportsDynamicBatching: 0
|
||||||
|
m_MixedLightingSupported: 1
|
||||||
|
m_SupportsLightCookies: 1
|
||||||
|
m_SupportsLightLayers: 0
|
||||||
|
m_DebugLevel: 0
|
||||||
|
m_StoreActionsOptimization: 0
|
||||||
|
m_EnableRenderGraph: 0
|
||||||
|
m_UseAdaptivePerformance: 1
|
||||||
|
m_ColorGradingMode: 0
|
||||||
|
m_ColorGradingLutSize: 32
|
||||||
|
m_UseFastSRGBLinearConversion: 0
|
||||||
|
m_SupportDataDrivenLensFlare: 1
|
||||||
|
m_ShadowType: 1
|
||||||
|
m_LocalShadowsSupported: 0
|
||||||
|
m_LocalShadowsAtlasResolution: 256
|
||||||
|
m_MaxPixelLights: 0
|
||||||
|
m_ShadowAtlasResolution: 256
|
||||||
|
m_VolumeFrameworkUpdateMode: 0
|
||||||
|
m_Textures:
|
||||||
|
blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3}
|
||||||
|
bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3}
|
||||||
|
m_PrefilteringModeMainLightShadows: 0
|
||||||
|
m_PrefilteringModeAdditionalLight: 1
|
||||||
|
m_PrefilteringModeAdditionalLightShadows: 0
|
||||||
|
m_PrefilterXRKeywords: 1
|
||||||
|
m_PrefilteringModeForwardPlus: 0
|
||||||
|
m_PrefilteringModeDeferredRendering: 0
|
||||||
|
m_PrefilteringModeScreenSpaceOcclusion: 0
|
||||||
|
m_PrefilterDebugKeywords: 1
|
||||||
|
m_PrefilterWriteRenderingLayers: 1
|
||||||
|
m_PrefilterHDROutput: 1
|
||||||
|
m_PrefilterSSAODepthNormals: 1
|
||||||
|
m_PrefilterSSAOSourceDepthLow: 1
|
||||||
|
m_PrefilterSSAOSourceDepthMedium: 1
|
||||||
|
m_PrefilterSSAOSourceDepthHigh: 1
|
||||||
|
m_PrefilterSSAOInterleaved: 1
|
||||||
|
m_PrefilterSSAOBlueNoise: 1
|
||||||
|
m_PrefilterSSAOSampleCountLow: 1
|
||||||
|
m_PrefilterSSAOSampleCountMedium: 1
|
||||||
|
m_PrefilterSSAOSampleCountHigh: 1
|
||||||
|
m_PrefilterDBufferMRT1: 1
|
||||||
|
m_PrefilterDBufferMRT2: 1
|
||||||
|
m_PrefilterDBufferMRT3: 1
|
||||||
|
m_PrefilterSoftShadowsQualityLow: 1
|
||||||
|
m_PrefilterSoftShadowsQualityMedium: 1
|
||||||
|
m_PrefilterSoftShadowsQualityHigh: 1
|
||||||
|
m_PrefilterSoftShadows: 0
|
||||||
|
m_PrefilterScreenCoord: 1
|
||||||
|
m_PrefilterNativeRenderPass: 1
|
||||||
|
m_ShaderVariantLogLevel: 0
|
||||||
|
m_ShadowCascades: 0
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ee020ed1d7c224c41ba3c53ccc1f6df4
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,55 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3}
|
||||||
|
m_Name: Low_PipelineAsset_ForwardRenderer
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
debugShaders:
|
||||||
|
debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, type: 3}
|
||||||
|
m_RendererFeatures: []
|
||||||
|
m_RendererFeatureMap:
|
||||||
|
m_UseNativeRenderPass: 0
|
||||||
|
postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
|
||||||
|
xrSystemData: {fileID: 11400000, guid: 60e1133243b97e347b653163a8c01b64, type: 2}
|
||||||
|
shaders:
|
||||||
|
blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3}
|
||||||
|
copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
|
||||||
|
screenSpaceShadowPS: {fileID: 0}
|
||||||
|
samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3}
|
||||||
|
stencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3}
|
||||||
|
fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3}
|
||||||
|
materialErrorPS: {fileID: 4800000, guid: 5fd9a8feb75a4b5894c241777f519d4e, type: 3}
|
||||||
|
coreBlitPS: {fileID: 4800000, guid: 93446b5c5339d4f00b85c159e1159b7c, type: 3}
|
||||||
|
coreBlitColorAndDepthPS: {fileID: 4800000, guid: d104b2fc1ca6445babb8e90b0758136b, type: 3}
|
||||||
|
cameraMotionVector: {fileID: 4800000, guid: c56b7e0d4c7cb484e959caeeedae9bbf, type: 3}
|
||||||
|
objectMotionVector: {fileID: 4800000, guid: 7b3ede40266cd49a395def176e1bc486, type: 3}
|
||||||
|
m_AssetVersion: 2
|
||||||
|
m_OpaqueLayerMask:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 4294967295
|
||||||
|
m_TransparentLayerMask:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 4294967295
|
||||||
|
m_DefaultStencilState:
|
||||||
|
overrideStencilState: 0
|
||||||
|
stencilReference: 0
|
||||||
|
stencilCompareFunction: 8
|
||||||
|
passOperation: 2
|
||||||
|
failOperation: 0
|
||||||
|
zFailOperation: 0
|
||||||
|
m_ShadowTransparentReceive: 1
|
||||||
|
m_RenderingMode: 0
|
||||||
|
m_DepthPrimingMode: 0
|
||||||
|
m_CopyDepthMode: 0
|
||||||
|
m_AccurateGbufferNormals: 0
|
||||||
|
m_ClusteredRendering: 0
|
||||||
|
m_TileSize: 32
|
||||||
|
m_IntermediateTextureMode: 1
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b532a3708e7b3094492eb9f1da5c957f
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,114 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3}
|
||||||
|
m_Name: Medium_PipelineAsset
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
k_AssetVersion: 11
|
||||||
|
k_AssetPreviousVersion: 11
|
||||||
|
m_RendererType: 1
|
||||||
|
m_RendererData: {fileID: 0}
|
||||||
|
m_RendererDataList:
|
||||||
|
- {fileID: 11400000, guid: 3a1d3f215e756cc4aa5f9429345d9230, type: 2}
|
||||||
|
m_DefaultRendererIndex: 0
|
||||||
|
m_RequireDepthTexture: 0
|
||||||
|
m_RequireOpaqueTexture: 0
|
||||||
|
m_OpaqueDownsampling: 1
|
||||||
|
m_SupportsTerrainHoles: 1
|
||||||
|
m_SupportsHDR: 1
|
||||||
|
m_HDRColorBufferPrecision: 0
|
||||||
|
m_MSAA: 1
|
||||||
|
m_RenderScale: 1
|
||||||
|
m_UpscalingFilter: 0
|
||||||
|
m_FsrOverrideSharpness: 0
|
||||||
|
m_FsrSharpness: 0.92
|
||||||
|
m_EnableLODCrossFade: 1
|
||||||
|
m_LODCrossFadeDitheringType: 1
|
||||||
|
m_ShEvalMode: 0
|
||||||
|
m_MainLightRenderingMode: 1
|
||||||
|
m_MainLightShadowsSupported: 1
|
||||||
|
m_MainLightShadowmapResolution: 1024
|
||||||
|
m_AdditionalLightsRenderingMode: 1
|
||||||
|
m_AdditionalLightsPerObjectLimit: 1
|
||||||
|
m_AdditionalLightShadowsSupported: 1
|
||||||
|
m_AdditionalLightsShadowmapResolution: 1024
|
||||||
|
m_AdditionalLightsShadowResolutionTierLow: 256
|
||||||
|
m_AdditionalLightsShadowResolutionTierMedium: 512
|
||||||
|
m_AdditionalLightsShadowResolutionTierHigh: 1024
|
||||||
|
m_ReflectionProbeBlending: 1
|
||||||
|
m_ReflectionProbeBoxProjection: 1
|
||||||
|
m_ShadowDistance: 20
|
||||||
|
m_ShadowCascadeCount: 1
|
||||||
|
m_Cascade2Split: 0.33333334
|
||||||
|
m_Cascade3Split: {x: 0.1, y: 0.3}
|
||||||
|
m_Cascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
|
||||||
|
m_CascadeBorder: 0.2
|
||||||
|
m_ShadowDepthBias: 1
|
||||||
|
m_ShadowNormalBias: 1
|
||||||
|
m_AnyShadowsSupported: 1
|
||||||
|
m_SoftShadowsSupported: 0
|
||||||
|
m_ConservativeEnclosingSphere: 0
|
||||||
|
m_NumIterationsEnclosingSphere: 64
|
||||||
|
m_SoftShadowQuality: 2
|
||||||
|
m_AdditionalLightsCookieResolution: 2048
|
||||||
|
m_AdditionalLightsCookieFormat: 3
|
||||||
|
m_UseSRPBatcher: 1
|
||||||
|
m_SupportsDynamicBatching: 0
|
||||||
|
m_MixedLightingSupported: 1
|
||||||
|
m_SupportsLightCookies: 1
|
||||||
|
m_SupportsLightLayers: 0
|
||||||
|
m_DebugLevel: 0
|
||||||
|
m_StoreActionsOptimization: 0
|
||||||
|
m_EnableRenderGraph: 0
|
||||||
|
m_UseAdaptivePerformance: 1
|
||||||
|
m_ColorGradingMode: 0
|
||||||
|
m_ColorGradingLutSize: 32
|
||||||
|
m_UseFastSRGBLinearConversion: 0
|
||||||
|
m_SupportDataDrivenLensFlare: 1
|
||||||
|
m_ShadowType: 1
|
||||||
|
m_LocalShadowsSupported: 0
|
||||||
|
m_LocalShadowsAtlasResolution: 256
|
||||||
|
m_MaxPixelLights: 0
|
||||||
|
m_ShadowAtlasResolution: 256
|
||||||
|
m_VolumeFrameworkUpdateMode: 0
|
||||||
|
m_Textures:
|
||||||
|
blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3}
|
||||||
|
bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3}
|
||||||
|
m_PrefilteringModeMainLightShadows: 3
|
||||||
|
m_PrefilteringModeAdditionalLight: 3
|
||||||
|
m_PrefilteringModeAdditionalLightShadows: 2
|
||||||
|
m_PrefilterXRKeywords: 1
|
||||||
|
m_PrefilteringModeForwardPlus: 0
|
||||||
|
m_PrefilteringModeDeferredRendering: 0
|
||||||
|
m_PrefilteringModeScreenSpaceOcclusion: 0
|
||||||
|
m_PrefilterDebugKeywords: 1
|
||||||
|
m_PrefilterWriteRenderingLayers: 1
|
||||||
|
m_PrefilterHDROutput: 1
|
||||||
|
m_PrefilterSSAODepthNormals: 1
|
||||||
|
m_PrefilterSSAOSourceDepthLow: 1
|
||||||
|
m_PrefilterSSAOSourceDepthMedium: 1
|
||||||
|
m_PrefilterSSAOSourceDepthHigh: 1
|
||||||
|
m_PrefilterSSAOInterleaved: 1
|
||||||
|
m_PrefilterSSAOBlueNoise: 1
|
||||||
|
m_PrefilterSSAOSampleCountLow: 1
|
||||||
|
m_PrefilterSSAOSampleCountMedium: 1
|
||||||
|
m_PrefilterSSAOSampleCountHigh: 1
|
||||||
|
m_PrefilterDBufferMRT1: 1
|
||||||
|
m_PrefilterDBufferMRT2: 1
|
||||||
|
m_PrefilterDBufferMRT3: 1
|
||||||
|
m_PrefilterSoftShadowsQualityLow: 1
|
||||||
|
m_PrefilterSoftShadowsQualityMedium: 1
|
||||||
|
m_PrefilterSoftShadowsQualityHigh: 1
|
||||||
|
m_PrefilterSoftShadows: 0
|
||||||
|
m_PrefilterScreenCoord: 1
|
||||||
|
m_PrefilterNativeRenderPass: 1
|
||||||
|
m_ShaderVariantLogLevel: 0
|
||||||
|
m_ShadowCascades: 0
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9db80055e1a1b534c98757da268d2411
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,55 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3}
|
||||||
|
m_Name: Medium_PipelineAsset_ForwardRenderer
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
debugShaders:
|
||||||
|
debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, type: 3}
|
||||||
|
m_RendererFeatures: []
|
||||||
|
m_RendererFeatureMap:
|
||||||
|
m_UseNativeRenderPass: 0
|
||||||
|
postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
|
||||||
|
xrSystemData: {fileID: 11400000, guid: 60e1133243b97e347b653163a8c01b64, type: 2}
|
||||||
|
shaders:
|
||||||
|
blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3}
|
||||||
|
copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
|
||||||
|
screenSpaceShadowPS: {fileID: 0}
|
||||||
|
samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3}
|
||||||
|
stencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3}
|
||||||
|
fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3}
|
||||||
|
materialErrorPS: {fileID: 4800000, guid: 5fd9a8feb75a4b5894c241777f519d4e, type: 3}
|
||||||
|
coreBlitPS: {fileID: 4800000, guid: 93446b5c5339d4f00b85c159e1159b7c, type: 3}
|
||||||
|
coreBlitColorAndDepthPS: {fileID: 4800000, guid: d104b2fc1ca6445babb8e90b0758136b, type: 3}
|
||||||
|
cameraMotionVector: {fileID: 4800000, guid: c56b7e0d4c7cb484e959caeeedae9bbf, type: 3}
|
||||||
|
objectMotionVector: {fileID: 4800000, guid: 7b3ede40266cd49a395def176e1bc486, type: 3}
|
||||||
|
m_AssetVersion: 2
|
||||||
|
m_OpaqueLayerMask:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 4294967295
|
||||||
|
m_TransparentLayerMask:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 4294967295
|
||||||
|
m_DefaultStencilState:
|
||||||
|
overrideStencilState: 0
|
||||||
|
stencilReference: 0
|
||||||
|
stencilCompareFunction: 8
|
||||||
|
passOperation: 2
|
||||||
|
failOperation: 0
|
||||||
|
zFailOperation: 0
|
||||||
|
m_ShadowTransparentReceive: 1
|
||||||
|
m_RenderingMode: 0
|
||||||
|
m_DepthPrimingMode: 0
|
||||||
|
m_CopyDepthMode: 0
|
||||||
|
m_AccurateGbufferNormals: 0
|
||||||
|
m_ClusteredRendering: 0
|
||||||
|
m_TileSize: 32
|
||||||
|
m_IntermediateTextureMode: 1
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3a1d3f215e756cc4aa5f9429345d9230
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,114 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3}
|
||||||
|
m_Name: Ultra_PipelineAsset
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
k_AssetVersion: 11
|
||||||
|
k_AssetPreviousVersion: 11
|
||||||
|
m_RendererType: 1
|
||||||
|
m_RendererData: {fileID: 0}
|
||||||
|
m_RendererDataList:
|
||||||
|
- {fileID: 11400000, guid: eeba0ce62831a6043b82383f35f87157, type: 2}
|
||||||
|
m_DefaultRendererIndex: 0
|
||||||
|
m_RequireDepthTexture: 1
|
||||||
|
m_RequireOpaqueTexture: 0
|
||||||
|
m_OpaqueDownsampling: 1
|
||||||
|
m_SupportsTerrainHoles: 1
|
||||||
|
m_SupportsHDR: 1
|
||||||
|
m_HDRColorBufferPrecision: 0
|
||||||
|
m_MSAA: 2
|
||||||
|
m_RenderScale: 1
|
||||||
|
m_UpscalingFilter: 0
|
||||||
|
m_FsrOverrideSharpness: 0
|
||||||
|
m_FsrSharpness: 0.92
|
||||||
|
m_EnableLODCrossFade: 1
|
||||||
|
m_LODCrossFadeDitheringType: 1
|
||||||
|
m_ShEvalMode: 0
|
||||||
|
m_MainLightRenderingMode: 1
|
||||||
|
m_MainLightShadowsSupported: 1
|
||||||
|
m_MainLightShadowmapResolution: 4096
|
||||||
|
m_AdditionalLightsRenderingMode: 1
|
||||||
|
m_AdditionalLightsPerObjectLimit: 4
|
||||||
|
m_AdditionalLightShadowsSupported: 1
|
||||||
|
m_AdditionalLightsShadowmapResolution: 4096
|
||||||
|
m_AdditionalLightsShadowResolutionTierLow: 256
|
||||||
|
m_AdditionalLightsShadowResolutionTierMedium: 512
|
||||||
|
m_AdditionalLightsShadowResolutionTierHigh: 1024
|
||||||
|
m_ReflectionProbeBlending: 1
|
||||||
|
m_ReflectionProbeBoxProjection: 1
|
||||||
|
m_ShadowDistance: 150
|
||||||
|
m_ShadowCascadeCount: 4
|
||||||
|
m_Cascade2Split: 0.33333334
|
||||||
|
m_Cascade3Split: {x: 0.1, y: 0.3}
|
||||||
|
m_Cascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
|
||||||
|
m_CascadeBorder: 0.2
|
||||||
|
m_ShadowDepthBias: 1
|
||||||
|
m_ShadowNormalBias: 1
|
||||||
|
m_AnyShadowsSupported: 1
|
||||||
|
m_SoftShadowsSupported: 1
|
||||||
|
m_ConservativeEnclosingSphere: 0
|
||||||
|
m_NumIterationsEnclosingSphere: 64
|
||||||
|
m_SoftShadowQuality: 2
|
||||||
|
m_AdditionalLightsCookieResolution: 2048
|
||||||
|
m_AdditionalLightsCookieFormat: 3
|
||||||
|
m_UseSRPBatcher: 1
|
||||||
|
m_SupportsDynamicBatching: 0
|
||||||
|
m_MixedLightingSupported: 1
|
||||||
|
m_SupportsLightCookies: 1
|
||||||
|
m_SupportsLightLayers: 0
|
||||||
|
m_DebugLevel: 0
|
||||||
|
m_StoreActionsOptimization: 0
|
||||||
|
m_EnableRenderGraph: 0
|
||||||
|
m_UseAdaptivePerformance: 1
|
||||||
|
m_ColorGradingMode: 0
|
||||||
|
m_ColorGradingLutSize: 32
|
||||||
|
m_UseFastSRGBLinearConversion: 0
|
||||||
|
m_SupportDataDrivenLensFlare: 1
|
||||||
|
m_ShadowType: 1
|
||||||
|
m_LocalShadowsSupported: 0
|
||||||
|
m_LocalShadowsAtlasResolution: 256
|
||||||
|
m_MaxPixelLights: 0
|
||||||
|
m_ShadowAtlasResolution: 256
|
||||||
|
m_VolumeFrameworkUpdateMode: 0
|
||||||
|
m_Textures:
|
||||||
|
blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3}
|
||||||
|
bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3}
|
||||||
|
m_PrefilteringModeMainLightShadows: 3
|
||||||
|
m_PrefilteringModeAdditionalLight: 3
|
||||||
|
m_PrefilteringModeAdditionalLightShadows: 2
|
||||||
|
m_PrefilterXRKeywords: 1
|
||||||
|
m_PrefilteringModeForwardPlus: 0
|
||||||
|
m_PrefilteringModeDeferredRendering: 0
|
||||||
|
m_PrefilteringModeScreenSpaceOcclusion: 0
|
||||||
|
m_PrefilterDebugKeywords: 1
|
||||||
|
m_PrefilterWriteRenderingLayers: 1
|
||||||
|
m_PrefilterHDROutput: 1
|
||||||
|
m_PrefilterSSAODepthNormals: 1
|
||||||
|
m_PrefilterSSAOSourceDepthLow: 1
|
||||||
|
m_PrefilterSSAOSourceDepthMedium: 1
|
||||||
|
m_PrefilterSSAOSourceDepthHigh: 1
|
||||||
|
m_PrefilterSSAOInterleaved: 1
|
||||||
|
m_PrefilterSSAOBlueNoise: 1
|
||||||
|
m_PrefilterSSAOSampleCountLow: 1
|
||||||
|
m_PrefilterSSAOSampleCountMedium: 1
|
||||||
|
m_PrefilterSSAOSampleCountHigh: 1
|
||||||
|
m_PrefilterDBufferMRT1: 1
|
||||||
|
m_PrefilterDBufferMRT2: 1
|
||||||
|
m_PrefilterDBufferMRT3: 1
|
||||||
|
m_PrefilterSoftShadowsQualityLow: 1
|
||||||
|
m_PrefilterSoftShadowsQualityMedium: 1
|
||||||
|
m_PrefilterSoftShadowsQualityHigh: 1
|
||||||
|
m_PrefilterSoftShadows: 0
|
||||||
|
m_PrefilterScreenCoord: 1
|
||||||
|
m_PrefilterNativeRenderPass: 1
|
||||||
|
m_ShaderVariantLogLevel: 0
|
||||||
|
m_ShadowCascades: 0
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4ac236add0ee4814c84ffdc469a9699d
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3}
|
||||||
|
m_Name: Ultra_PipelineAsset_ForwardRenderer
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
debugShaders:
|
||||||
|
debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, type: 3}
|
||||||
|
hdrDebugViewPS: {fileID: 4800000, guid: 573620ae32aec764abd4d728906d2587, type: 3}
|
||||||
|
m_RendererFeatures: []
|
||||||
|
m_RendererFeatureMap:
|
||||||
|
m_UseNativeRenderPass: 0
|
||||||
|
postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
|
||||||
|
xrSystemData: {fileID: 11400000, guid: 60e1133243b97e347b653163a8c01b64, type: 2}
|
||||||
|
shaders:
|
||||||
|
blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3}
|
||||||
|
copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
|
||||||
|
screenSpaceShadowPS: {fileID: 0}
|
||||||
|
samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3}
|
||||||
|
stencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3}
|
||||||
|
fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3}
|
||||||
|
fallbackLoadingPS: {fileID: 4800000, guid: 7f888aff2ac86494babad1c2c5daeee2, type: 3}
|
||||||
|
materialErrorPS: {fileID: 4800000, guid: 5fd9a8feb75a4b5894c241777f519d4e, type: 3}
|
||||||
|
coreBlitPS: {fileID: 4800000, guid: 93446b5c5339d4f00b85c159e1159b7c, type: 3}
|
||||||
|
coreBlitColorAndDepthPS: {fileID: 4800000, guid: d104b2fc1ca6445babb8e90b0758136b, type: 3}
|
||||||
|
blitHDROverlay: {fileID: 4800000, guid: a89bee29cffa951418fc1e2da94d1959, type: 3}
|
||||||
|
cameraMotionVector: {fileID: 4800000, guid: c56b7e0d4c7cb484e959caeeedae9bbf, type: 3}
|
||||||
|
objectMotionVector: {fileID: 4800000, guid: 7b3ede40266cd49a395def176e1bc486, type: 3}
|
||||||
|
dataDrivenLensFlare: {fileID: 4800000, guid: 6cda457ac28612740adb23da5d39ea92, type: 3}
|
||||||
|
terrainDetailLitPS: {fileID: 4800000, guid: f6783ab646d374f94b199774402a5144, type: 3}
|
||||||
|
terrainDetailGrassPS: {fileID: 4800000, guid: e507fdfead5ca47e8b9a768b51c291a1, type: 3}
|
||||||
|
terrainDetailGrassBillboardPS: {fileID: 4800000, guid: 29868e73b638e48ca99a19ea58c48d90, type: 3}
|
||||||
|
m_AssetVersion: 2
|
||||||
|
m_OpaqueLayerMask:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 4294967295
|
||||||
|
m_TransparentLayerMask:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 4294967295
|
||||||
|
m_DefaultStencilState:
|
||||||
|
overrideStencilState: 0
|
||||||
|
stencilReference: 0
|
||||||
|
stencilCompareFunction: 8
|
||||||
|
passOperation: 2
|
||||||
|
failOperation: 0
|
||||||
|
zFailOperation: 0
|
||||||
|
m_ShadowTransparentReceive: 1
|
||||||
|
m_RenderingMode: 0
|
||||||
|
m_DepthPrimingMode: 0
|
||||||
|
m_CopyDepthMode: 0
|
||||||
|
m_AccurateGbufferNormals: 0
|
||||||
|
m_IntermediateTextureMode: 1
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: eeba0ce62831a6043b82383f35f87157
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,114 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3}
|
||||||
|
m_Name: Very High_PipelineAsset
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
k_AssetVersion: 11
|
||||||
|
k_AssetPreviousVersion: 11
|
||||||
|
m_RendererType: 1
|
||||||
|
m_RendererData: {fileID: 0}
|
||||||
|
m_RendererDataList:
|
||||||
|
- {fileID: 11400000, guid: 56abfb7f3937fcf4dbf979cb083578c9, type: 2}
|
||||||
|
m_DefaultRendererIndex: 0
|
||||||
|
m_RequireDepthTexture: 1
|
||||||
|
m_RequireOpaqueTexture: 0
|
||||||
|
m_OpaqueDownsampling: 1
|
||||||
|
m_SupportsTerrainHoles: 1
|
||||||
|
m_SupportsHDR: 1
|
||||||
|
m_HDRColorBufferPrecision: 0
|
||||||
|
m_MSAA: 2
|
||||||
|
m_RenderScale: 1
|
||||||
|
m_UpscalingFilter: 0
|
||||||
|
m_FsrOverrideSharpness: 0
|
||||||
|
m_FsrSharpness: 0.92
|
||||||
|
m_EnableLODCrossFade: 1
|
||||||
|
m_LODCrossFadeDitheringType: 1
|
||||||
|
m_ShEvalMode: 0
|
||||||
|
m_MainLightRenderingMode: 1
|
||||||
|
m_MainLightShadowsSupported: 1
|
||||||
|
m_MainLightShadowmapResolution: 4096
|
||||||
|
m_AdditionalLightsRenderingMode: 1
|
||||||
|
m_AdditionalLightsPerObjectLimit: 3
|
||||||
|
m_AdditionalLightShadowsSupported: 1
|
||||||
|
m_AdditionalLightsShadowmapResolution: 4096
|
||||||
|
m_AdditionalLightsShadowResolutionTierLow: 256
|
||||||
|
m_AdditionalLightsShadowResolutionTierMedium: 512
|
||||||
|
m_AdditionalLightsShadowResolutionTierHigh: 1024
|
||||||
|
m_ReflectionProbeBlending: 1
|
||||||
|
m_ReflectionProbeBoxProjection: 1
|
||||||
|
m_ShadowDistance: 70
|
||||||
|
m_ShadowCascadeCount: 2
|
||||||
|
m_Cascade2Split: 0.33333334
|
||||||
|
m_Cascade3Split: {x: 0.1, y: 0.3}
|
||||||
|
m_Cascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
|
||||||
|
m_CascadeBorder: 0.2
|
||||||
|
m_ShadowDepthBias: 1
|
||||||
|
m_ShadowNormalBias: 1
|
||||||
|
m_AnyShadowsSupported: 1
|
||||||
|
m_SoftShadowsSupported: 1
|
||||||
|
m_ConservativeEnclosingSphere: 0
|
||||||
|
m_NumIterationsEnclosingSphere: 64
|
||||||
|
m_SoftShadowQuality: 2
|
||||||
|
m_AdditionalLightsCookieResolution: 2048
|
||||||
|
m_AdditionalLightsCookieFormat: 3
|
||||||
|
m_UseSRPBatcher: 1
|
||||||
|
m_SupportsDynamicBatching: 0
|
||||||
|
m_MixedLightingSupported: 1
|
||||||
|
m_SupportsLightCookies: 1
|
||||||
|
m_SupportsLightLayers: 0
|
||||||
|
m_DebugLevel: 0
|
||||||
|
m_StoreActionsOptimization: 0
|
||||||
|
m_EnableRenderGraph: 0
|
||||||
|
m_UseAdaptivePerformance: 1
|
||||||
|
m_ColorGradingMode: 0
|
||||||
|
m_ColorGradingLutSize: 32
|
||||||
|
m_UseFastSRGBLinearConversion: 0
|
||||||
|
m_SupportDataDrivenLensFlare: 1
|
||||||
|
m_ShadowType: 1
|
||||||
|
m_LocalShadowsSupported: 0
|
||||||
|
m_LocalShadowsAtlasResolution: 256
|
||||||
|
m_MaxPixelLights: 0
|
||||||
|
m_ShadowAtlasResolution: 256
|
||||||
|
m_VolumeFrameworkUpdateMode: 0
|
||||||
|
m_Textures:
|
||||||
|
blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3}
|
||||||
|
bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3}
|
||||||
|
m_PrefilteringModeMainLightShadows: 3
|
||||||
|
m_PrefilteringModeAdditionalLight: 3
|
||||||
|
m_PrefilteringModeAdditionalLightShadows: 2
|
||||||
|
m_PrefilterXRKeywords: 1
|
||||||
|
m_PrefilteringModeForwardPlus: 0
|
||||||
|
m_PrefilteringModeDeferredRendering: 0
|
||||||
|
m_PrefilteringModeScreenSpaceOcclusion: 0
|
||||||
|
m_PrefilterDebugKeywords: 1
|
||||||
|
m_PrefilterWriteRenderingLayers: 1
|
||||||
|
m_PrefilterHDROutput: 1
|
||||||
|
m_PrefilterSSAODepthNormals: 1
|
||||||
|
m_PrefilterSSAOSourceDepthLow: 1
|
||||||
|
m_PrefilterSSAOSourceDepthMedium: 1
|
||||||
|
m_PrefilterSSAOSourceDepthHigh: 1
|
||||||
|
m_PrefilterSSAOInterleaved: 1
|
||||||
|
m_PrefilterSSAOBlueNoise: 1
|
||||||
|
m_PrefilterSSAOSampleCountLow: 1
|
||||||
|
m_PrefilterSSAOSampleCountMedium: 1
|
||||||
|
m_PrefilterSSAOSampleCountHigh: 1
|
||||||
|
m_PrefilterDBufferMRT1: 1
|
||||||
|
m_PrefilterDBufferMRT2: 1
|
||||||
|
m_PrefilterDBufferMRT3: 1
|
||||||
|
m_PrefilterSoftShadowsQualityLow: 1
|
||||||
|
m_PrefilterSoftShadowsQualityMedium: 1
|
||||||
|
m_PrefilterSoftShadowsQualityHigh: 1
|
||||||
|
m_PrefilterSoftShadows: 0
|
||||||
|
m_PrefilterScreenCoord: 1
|
||||||
|
m_PrefilterNativeRenderPass: 1
|
||||||
|
m_ShaderVariantLogLevel: 0
|
||||||
|
m_ShadowCascades: 0
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 49995bcf136441e4481296b98b9fbbef
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,55 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3}
|
||||||
|
m_Name: Very High_PipelineAsset_ForwardRenderer
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
debugShaders:
|
||||||
|
debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, type: 3}
|
||||||
|
m_RendererFeatures: []
|
||||||
|
m_RendererFeatureMap:
|
||||||
|
m_UseNativeRenderPass: 0
|
||||||
|
postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
|
||||||
|
xrSystemData: {fileID: 11400000, guid: 60e1133243b97e347b653163a8c01b64, type: 2}
|
||||||
|
shaders:
|
||||||
|
blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3}
|
||||||
|
copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
|
||||||
|
screenSpaceShadowPS: {fileID: 0}
|
||||||
|
samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3}
|
||||||
|
stencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3}
|
||||||
|
fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3}
|
||||||
|
materialErrorPS: {fileID: 4800000, guid: 5fd9a8feb75a4b5894c241777f519d4e, type: 3}
|
||||||
|
coreBlitPS: {fileID: 4800000, guid: 93446b5c5339d4f00b85c159e1159b7c, type: 3}
|
||||||
|
coreBlitColorAndDepthPS: {fileID: 4800000, guid: d104b2fc1ca6445babb8e90b0758136b, type: 3}
|
||||||
|
cameraMotionVector: {fileID: 4800000, guid: c56b7e0d4c7cb484e959caeeedae9bbf, type: 3}
|
||||||
|
objectMotionVector: {fileID: 4800000, guid: 7b3ede40266cd49a395def176e1bc486, type: 3}
|
||||||
|
m_AssetVersion: 2
|
||||||
|
m_OpaqueLayerMask:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 4294967295
|
||||||
|
m_TransparentLayerMask:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 4294967295
|
||||||
|
m_DefaultStencilState:
|
||||||
|
overrideStencilState: 0
|
||||||
|
stencilReference: 0
|
||||||
|
stencilCompareFunction: 8
|
||||||
|
passOperation: 2
|
||||||
|
failOperation: 0
|
||||||
|
zFailOperation: 0
|
||||||
|
m_ShadowTransparentReceive: 1
|
||||||
|
m_RenderingMode: 0
|
||||||
|
m_DepthPrimingMode: 0
|
||||||
|
m_CopyDepthMode: 0
|
||||||
|
m_AccurateGbufferNormals: 0
|
||||||
|
m_ClusteredRendering: 0
|
||||||
|
m_TileSize: 32
|
||||||
|
m_IntermediateTextureMode: 1
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 56abfb7f3937fcf4dbf979cb083578c9
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,114 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3}
|
||||||
|
m_Name: Very Low_PipelineAsset
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
k_AssetVersion: 11
|
||||||
|
k_AssetPreviousVersion: 11
|
||||||
|
m_RendererType: 1
|
||||||
|
m_RendererData: {fileID: 0}
|
||||||
|
m_RendererDataList:
|
||||||
|
- {fileID: 11400000, guid: 06f8715fc4de11f4397e5f5cf8540ac4, type: 2}
|
||||||
|
m_DefaultRendererIndex: 0
|
||||||
|
m_RequireDepthTexture: 0
|
||||||
|
m_RequireOpaqueTexture: 0
|
||||||
|
m_OpaqueDownsampling: 1
|
||||||
|
m_SupportsTerrainHoles: 1
|
||||||
|
m_SupportsHDR: 1
|
||||||
|
m_HDRColorBufferPrecision: 0
|
||||||
|
m_MSAA: 1
|
||||||
|
m_RenderScale: 1
|
||||||
|
m_UpscalingFilter: 0
|
||||||
|
m_FsrOverrideSharpness: 0
|
||||||
|
m_FsrSharpness: 0.92
|
||||||
|
m_EnableLODCrossFade: 1
|
||||||
|
m_LODCrossFadeDitheringType: 1
|
||||||
|
m_ShEvalMode: 0
|
||||||
|
m_MainLightRenderingMode: 0
|
||||||
|
m_MainLightShadowsSupported: 0
|
||||||
|
m_MainLightShadowmapResolution: 1024
|
||||||
|
m_AdditionalLightsRenderingMode: 2
|
||||||
|
m_AdditionalLightsPerObjectLimit: 4
|
||||||
|
m_AdditionalLightShadowsSupported: 0
|
||||||
|
m_AdditionalLightsShadowmapResolution: 1024
|
||||||
|
m_AdditionalLightsShadowResolutionTierLow: 256
|
||||||
|
m_AdditionalLightsShadowResolutionTierMedium: 512
|
||||||
|
m_AdditionalLightsShadowResolutionTierHigh: 1024
|
||||||
|
m_ReflectionProbeBlending: 1
|
||||||
|
m_ReflectionProbeBoxProjection: 1
|
||||||
|
m_ShadowDistance: 15
|
||||||
|
m_ShadowCascadeCount: 1
|
||||||
|
m_Cascade2Split: 0.33333334
|
||||||
|
m_Cascade3Split: {x: 0.1, y: 0.3}
|
||||||
|
m_Cascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
|
||||||
|
m_CascadeBorder: 0.2
|
||||||
|
m_ShadowDepthBias: 1
|
||||||
|
m_ShadowNormalBias: 1
|
||||||
|
m_AnyShadowsSupported: 0
|
||||||
|
m_SoftShadowsSupported: 0
|
||||||
|
m_ConservativeEnclosingSphere: 0
|
||||||
|
m_NumIterationsEnclosingSphere: 64
|
||||||
|
m_SoftShadowQuality: 2
|
||||||
|
m_AdditionalLightsCookieResolution: 2048
|
||||||
|
m_AdditionalLightsCookieFormat: 3
|
||||||
|
m_UseSRPBatcher: 1
|
||||||
|
m_SupportsDynamicBatching: 0
|
||||||
|
m_MixedLightingSupported: 1
|
||||||
|
m_SupportsLightCookies: 1
|
||||||
|
m_SupportsLightLayers: 0
|
||||||
|
m_DebugLevel: 0
|
||||||
|
m_StoreActionsOptimization: 0
|
||||||
|
m_EnableRenderGraph: 0
|
||||||
|
m_UseAdaptivePerformance: 1
|
||||||
|
m_ColorGradingMode: 0
|
||||||
|
m_ColorGradingLutSize: 32
|
||||||
|
m_UseFastSRGBLinearConversion: 0
|
||||||
|
m_SupportDataDrivenLensFlare: 1
|
||||||
|
m_ShadowType: 1
|
||||||
|
m_LocalShadowsSupported: 0
|
||||||
|
m_LocalShadowsAtlasResolution: 256
|
||||||
|
m_MaxPixelLights: 0
|
||||||
|
m_ShadowAtlasResolution: 256
|
||||||
|
m_VolumeFrameworkUpdateMode: 0
|
||||||
|
m_Textures:
|
||||||
|
blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3}
|
||||||
|
bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3}
|
||||||
|
m_PrefilteringModeMainLightShadows: 0
|
||||||
|
m_PrefilteringModeAdditionalLight: 1
|
||||||
|
m_PrefilteringModeAdditionalLightShadows: 0
|
||||||
|
m_PrefilterXRKeywords: 1
|
||||||
|
m_PrefilteringModeForwardPlus: 0
|
||||||
|
m_PrefilteringModeDeferredRendering: 0
|
||||||
|
m_PrefilteringModeScreenSpaceOcclusion: 0
|
||||||
|
m_PrefilterDebugKeywords: 1
|
||||||
|
m_PrefilterWriteRenderingLayers: 1
|
||||||
|
m_PrefilterHDROutput: 1
|
||||||
|
m_PrefilterSSAODepthNormals: 1
|
||||||
|
m_PrefilterSSAOSourceDepthLow: 1
|
||||||
|
m_PrefilterSSAOSourceDepthMedium: 1
|
||||||
|
m_PrefilterSSAOSourceDepthHigh: 1
|
||||||
|
m_PrefilterSSAOInterleaved: 1
|
||||||
|
m_PrefilterSSAOBlueNoise: 1
|
||||||
|
m_PrefilterSSAOSampleCountLow: 1
|
||||||
|
m_PrefilterSSAOSampleCountMedium: 1
|
||||||
|
m_PrefilterSSAOSampleCountHigh: 1
|
||||||
|
m_PrefilterDBufferMRT1: 1
|
||||||
|
m_PrefilterDBufferMRT2: 1
|
||||||
|
m_PrefilterDBufferMRT3: 1
|
||||||
|
m_PrefilterSoftShadowsQualityLow: 1
|
||||||
|
m_PrefilterSoftShadowsQualityMedium: 1
|
||||||
|
m_PrefilterSoftShadowsQualityHigh: 1
|
||||||
|
m_PrefilterSoftShadows: 0
|
||||||
|
m_PrefilterScreenCoord: 1
|
||||||
|
m_PrefilterNativeRenderPass: 1
|
||||||
|
m_ShaderVariantLogLevel: 0
|
||||||
|
m_ShadowCascades: 0
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0d67abbb2298fc9459f38304722fc15e
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,55 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3}
|
||||||
|
m_Name: Very Low_PipelineAsset_ForwardRenderer
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
debugShaders:
|
||||||
|
debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, type: 3}
|
||||||
|
m_RendererFeatures: []
|
||||||
|
m_RendererFeatureMap:
|
||||||
|
m_UseNativeRenderPass: 0
|
||||||
|
postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
|
||||||
|
xrSystemData: {fileID: 11400000, guid: 60e1133243b97e347b653163a8c01b64, type: 2}
|
||||||
|
shaders:
|
||||||
|
blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3}
|
||||||
|
copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
|
||||||
|
screenSpaceShadowPS: {fileID: 0}
|
||||||
|
samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3}
|
||||||
|
stencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3}
|
||||||
|
fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3}
|
||||||
|
materialErrorPS: {fileID: 4800000, guid: 5fd9a8feb75a4b5894c241777f519d4e, type: 3}
|
||||||
|
coreBlitPS: {fileID: 4800000, guid: 93446b5c5339d4f00b85c159e1159b7c, type: 3}
|
||||||
|
coreBlitColorAndDepthPS: {fileID: 4800000, guid: d104b2fc1ca6445babb8e90b0758136b, type: 3}
|
||||||
|
cameraMotionVector: {fileID: 4800000, guid: c56b7e0d4c7cb484e959caeeedae9bbf, type: 3}
|
||||||
|
objectMotionVector: {fileID: 4800000, guid: 7b3ede40266cd49a395def176e1bc486, type: 3}
|
||||||
|
m_AssetVersion: 2
|
||||||
|
m_OpaqueLayerMask:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 4294967295
|
||||||
|
m_TransparentLayerMask:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 4294967295
|
||||||
|
m_DefaultStencilState:
|
||||||
|
overrideStencilState: 0
|
||||||
|
stencilReference: 0
|
||||||
|
stencilCompareFunction: 8
|
||||||
|
passOperation: 2
|
||||||
|
failOperation: 0
|
||||||
|
zFailOperation: 0
|
||||||
|
m_ShadowTransparentReceive: 1
|
||||||
|
m_RenderingMode: 0
|
||||||
|
m_DepthPrimingMode: 0
|
||||||
|
m_CopyDepthMode: 0
|
||||||
|
m_AccurateGbufferNormals: 0
|
||||||
|
m_ClusteredRendering: 0
|
||||||
|
m_TileSize: 32
|
||||||
|
m_IntermediateTextureMode: 1
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 06f8715fc4de11f4397e5f5cf8540ac4
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 2ec995e51a6e251468d2a3fd8a686257, type: 3}
|
||||||
|
m_Name: UniversalRenderPipelineGlobalSettings
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
k_AssetVersion: 3
|
||||||
|
m_RenderingLayerNames:
|
||||||
|
- Light Layer default
|
||||||
|
- Light Layer 1
|
||||||
|
- Light Layer 2
|
||||||
|
- Light Layer 3
|
||||||
|
- Light Layer 4
|
||||||
|
- Light Layer 5
|
||||||
|
- Light Layer 6
|
||||||
|
- Light Layer 7
|
||||||
|
m_ValidRenderingLayers: 255
|
||||||
|
lightLayerName0: Light Layer default
|
||||||
|
lightLayerName1: Light Layer 1
|
||||||
|
lightLayerName2: Light Layer 2
|
||||||
|
lightLayerName3: Light Layer 3
|
||||||
|
lightLayerName4: Light Layer 4
|
||||||
|
lightLayerName5: Light Layer 5
|
||||||
|
lightLayerName6: Light Layer 6
|
||||||
|
lightLayerName7: Light Layer 7
|
||||||
|
m_StripDebugVariants: 1
|
||||||
|
m_StripUnusedPostProcessingVariants: 0
|
||||||
|
m_StripUnusedVariants: 1
|
||||||
|
m_StripUnusedLODCrossFadeVariants: 1
|
||||||
|
m_StripScreenCoordOverrideVariants: 1
|
||||||
|
supportRuntimeDebugDisplay: 0
|
||||||
|
m_ShaderVariantLogLevel: 0
|
||||||
|
m_ExportShaderVariants: 1
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue