Compare commits

..

18 Commits

49 changed files with 4356 additions and 2877 deletions
-432
View File
@@ -1,432 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 10
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 12
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0}
m_LightingSettings: {fileID: 0}
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 3
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
buildHeightMesh: 0
maxJobWorkers: 0
preserveTilesOutsideBounds: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &330585543
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 330585546}
- component: {fileID: 330585545}
- component: {fileID: 330585544}
- component: {fileID: 330585547}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &330585544
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 330585543}
m_Enabled: 1
--- !u!20 &330585545
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 330585543}
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_Iso: 200
m_ShutterSpeed: 0.005
m_Aperture: 16
m_FocusDistance: 10
m_FocalLength: 50
m_BladeCount: 5
m_Curvature: {x: 2, y: 11}
m_BarrelClipping: 0.25
m_Anamorphism: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &330585546
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 330585543}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &330585547
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 330585543}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_RenderShadows: 1
m_RequiresDepthTextureOption: 2
m_RequiresOpaqueTextureOption: 2
m_CameraType: 0
m_Cameras: []
m_RendererIndex: -1
m_VolumeLayerMask:
serializedVersion: 2
m_Bits: 1
m_VolumeTrigger: {fileID: 0}
m_VolumeFrameworkUpdateModeOption: 2
m_RenderPostProcessing: 1
m_Antialiasing: 0
m_AntialiasingQuality: 2
m_StopNaN: 0
m_Dithering: 0
m_ClearDepth: 1
m_AllowXRRendering: 1
m_AllowHDROutput: 1
m_UseScreenCoordOverride: 0
m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
m_RequiresDepthTexture: 0
m_RequiresColorTexture: 0
m_Version: 2
m_TaaSettings:
quality: 3
frameInfluence: 0.1
jitterScale: 1
mipBias: 0
varianceClampScale: 0.9
contrastAdaptiveSharpening: 0
--- !u!1 &410087039
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 410087041}
- component: {fileID: 410087040}
- component: {fileID: 410087042}
m_Layer: 0
m_Name: Directional Light
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!108 &410087040
Light:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 410087039}
m_Enabled: 1
serializedVersion: 11
m_Type: 1
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Intensity: 2
m_Range: 10
m_SpotAngle: 30
m_InnerSpotAngle: 21.80208
m_CookieSize: 10
m_Shadows:
m_Type: 2
m_Resolution: -1
m_CustomResolution: -1
m_Strength: 1
m_Bias: 0.05
m_NormalBias: 0.4
m_NearPlane: 0.2
m_CullingMatrixOverride:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_UseCullingMatrixOverride: 0
m_Cookie: {fileID: 0}
m_DrawHalo: 0
m_Flare: {fileID: 0}
m_RenderMode: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingLayerMask: 1
m_Lightmapping: 4
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_ColorTemperature: 5000
m_UseColorTemperature: 1
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
m_UseBoundingSphereOverride: 0
m_UseViewFrustumForShadowCasterCull: 1
m_ForceVisible: 0
m_ShadowRadius: 0
m_ShadowAngle: 0
--- !u!4 &410087041
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 410087039}
serializedVersion: 2
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 0, y: 3, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!114 &410087042
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 410087039}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Version: 3
m_UsePipelineSettings: 1
m_AdditionalLightsShadowResolutionTier: 2
m_LightLayerMask: 1
m_RenderingLayers: 1
m_CustomShadowLayers: 0
m_ShadowLayerMask: 1
m_ShadowRenderingLayers: 1
m_LightCookieSize: {x: 1, y: 1}
m_LightCookieOffset: {x: 0, y: 0}
m_SoftShadowQuality: 1
--- !u!1 &832575517
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 832575519}
- component: {fileID: 832575518}
m_Layer: 0
m_Name: Global Volume
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &832575518
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 832575517}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 172515602e62fb746b5d573b38a5fe58, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IsGlobal: 1
priority: 0
blendDistance: 0
weight: 1
sharedProfile: {fileID: 11400000, guid: 10fc4df2da32a41aaa32d77bc913491c, type: 2}
--- !u!4 &832575519
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 832575517}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 330585546}
- {fileID: 410087041}
- {fileID: 832575519}
+6 -2
View File
@@ -342,6 +342,9 @@ MonoBehaviour:
skyOcclusionIntensityMultiplier: skyOcclusionIntensityMultiplier:
m_OverrideState: 1 m_OverrideState: 1
m_Value: 1 m_Value: 1
worldOffset:
m_OverrideState: 1
m_Value: {x: 0, y: 0, z: 0}
--- !u!114 &-1216621516061285780 --- !u!114 &-1216621516061285780
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 3 m_ObjectHideFlags: 3
@@ -376,6 +379,9 @@ MonoBehaviour:
highQualityFiltering: highQualityFiltering:
m_OverrideState: 1 m_OverrideState: 1
m_Value: 0 m_Value: 0
filter:
m_OverrideState: 1
m_Value: 0
downscale: downscale:
m_OverrideState: 1 m_OverrideState: 1
m_Value: 0 m_Value: 0
@@ -462,8 +468,6 @@ MonoBehaviour:
- {fileID: -6288072647309666549} - {fileID: -6288072647309666549}
- {fileID: 7518938298396184218} - {fileID: 7518938298396184218}
- {fileID: -1410297666881709256} - {fileID: -1410297666881709256}
- {fileID: -7750755424749557576}
- {fileID: -5139089513906902183}
--- !u!114 &853819529557874667 --- !u!114 &853819529557874667
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 3 m_ObjectHideFlags: 3
+11 -11
View File
@@ -23,7 +23,7 @@ MonoBehaviour:
m_RequireOpaqueTexture: 0 m_RequireOpaqueTexture: 0
m_OpaqueDownsampling: 0 m_OpaqueDownsampling: 0
m_SupportsTerrainHoles: 1 m_SupportsTerrainHoles: 1
m_SupportsHDR: 1 m_SupportsHDR: 0
m_HDRColorBufferPrecision: 0 m_HDRColorBufferPrecision: 0
m_MSAA: 1 m_MSAA: 1
m_RenderScale: 0.8 m_RenderScale: 0.8
@@ -101,24 +101,24 @@ MonoBehaviour:
m_Keys: [] m_Keys: []
m_Values: m_Values:
m_PrefilteringModeMainLightShadows: 3 m_PrefilteringModeMainLightShadows: 3
m_PrefilteringModeAdditionalLight: 4 m_PrefilteringModeAdditionalLight: 3
m_PrefilteringModeAdditionalLightShadows: 0 m_PrefilteringModeAdditionalLightShadows: 0
m_PrefilterXRKeywords: 1 m_PrefilterXRKeywords: 1
m_PrefilteringModeForwardPlus: 1 m_PrefilteringModeForwardPlus: 0
m_PrefilteringModeDeferredRendering: 0 m_PrefilteringModeDeferredRendering: 0
m_PrefilteringModeScreenSpaceOcclusion: 0 m_PrefilteringModeScreenSpaceOcclusion: 0
m_PrefilterDebugKeywords: 1 m_PrefilterDebugKeywords: 1
m_PrefilterWriteRenderingLayers: 1 m_PrefilterWriteRenderingLayers: 1
m_PrefilterHDROutput: 1 m_PrefilterHDROutput: 1
m_PrefilterAlphaOutput: 0 m_PrefilterAlphaOutput: 1
m_PrefilterSSAODepthNormals: 1 m_PrefilterSSAODepthNormals: 1
m_PrefilterSSAOSourceDepthLow: 1 m_PrefilterSSAOSourceDepthLow: 1
m_PrefilterSSAOSourceDepthMedium: 0 m_PrefilterSSAOSourceDepthMedium: 1
m_PrefilterSSAOSourceDepthHigh: 1 m_PrefilterSSAOSourceDepthHigh: 1
m_PrefilterSSAOInterleaved: 0 m_PrefilterSSAOInterleaved: 1
m_PrefilterSSAOBlueNoise: 1 m_PrefilterSSAOBlueNoise: 1
m_PrefilterSSAOSampleCountLow: 1 m_PrefilterSSAOSampleCountLow: 1
m_PrefilterSSAOSampleCountMedium: 0 m_PrefilterSSAOSampleCountMedium: 1
m_PrefilterSSAOSampleCountHigh: 1 m_PrefilterSSAOSampleCountHigh: 1
m_PrefilterDBufferMRT1: 1 m_PrefilterDBufferMRT1: 1
m_PrefilterDBufferMRT2: 1 m_PrefilterDBufferMRT2: 1
@@ -128,14 +128,14 @@ MonoBehaviour:
m_PrefilterSoftShadowsQualityHigh: 1 m_PrefilterSoftShadowsQualityHigh: 1
m_PrefilterSoftShadows: 0 m_PrefilterSoftShadows: 0
m_PrefilterScreenCoord: 1 m_PrefilterScreenCoord: 1
m_PrefilterScreenSpaceIrradiance: 0 m_PrefilterScreenSpaceIrradiance: 1
m_PrefilterNativeRenderPass: 1 m_PrefilterNativeRenderPass: 1
m_PrefilterUseLegacyLightmaps: 0 m_PrefilterUseLegacyLightmaps: 0
m_PrefilterBicubicLightmapSampling: 0 m_PrefilterBicubicLightmapSampling: 1
m_PrefilterReflectionProbeRotation: 0 m_PrefilterReflectionProbeRotation: 1
m_PrefilterReflectionProbeBlending: 0 m_PrefilterReflectionProbeBlending: 0
m_PrefilterReflectionProbeBoxProjection: 0 m_PrefilterReflectionProbeBoxProjection: 0
m_PrefilterReflectionProbeAtlas: 0 m_PrefilterReflectionProbeAtlas: 1
m_ShaderVariantLogLevel: 0 m_ShaderVariantLogLevel: 0
m_ShadowCascades: 0 m_ShadowCascades: 0
m_Textures: m_Textures:
+13 -13
View File
@@ -101,16 +101,16 @@ MonoBehaviour:
m_Keys: [] m_Keys: []
m_Values: m_Values:
m_PrefilteringModeMainLightShadows: 3 m_PrefilteringModeMainLightShadows: 3
m_PrefilteringModeAdditionalLight: 4 m_PrefilteringModeAdditionalLight: 0
m_PrefilteringModeAdditionalLightShadows: 0 m_PrefilteringModeAdditionalLightShadows: 2
m_PrefilterXRKeywords: 1 m_PrefilterXRKeywords: 1
m_PrefilteringModeForwardPlus: 1 m_PrefilteringModeForwardPlus: 2
m_PrefilteringModeDeferredRendering: 0 m_PrefilteringModeDeferredRendering: 0
m_PrefilteringModeScreenSpaceOcclusion: 1 m_PrefilteringModeScreenSpaceOcclusion: 2
m_PrefilterDebugKeywords: 1 m_PrefilterDebugKeywords: 1
m_PrefilterWriteRenderingLayers: 0 m_PrefilterWriteRenderingLayers: 1
m_PrefilterHDROutput: 1 m_PrefilterHDROutput: 1
m_PrefilterAlphaOutput: 0 m_PrefilterAlphaOutput: 1
m_PrefilterSSAODepthNormals: 0 m_PrefilterSSAODepthNormals: 0
m_PrefilterSSAOSourceDepthLow: 1 m_PrefilterSSAOSourceDepthLow: 1
m_PrefilterSSAOSourceDepthMedium: 1 m_PrefilterSSAOSourceDepthMedium: 1
@@ -122,17 +122,17 @@ MonoBehaviour:
m_PrefilterSSAOSampleCountHigh: 1 m_PrefilterSSAOSampleCountHigh: 1
m_PrefilterDBufferMRT1: 1 m_PrefilterDBufferMRT1: 1
m_PrefilterDBufferMRT2: 1 m_PrefilterDBufferMRT2: 1
m_PrefilterDBufferMRT3: 0 m_PrefilterDBufferMRT3: 1
m_PrefilterSoftShadowsQualityLow: 0 m_PrefilterSoftShadowsQualityLow: 1
m_PrefilterSoftShadowsQualityMedium: 0 m_PrefilterSoftShadowsQualityMedium: 1
m_PrefilterSoftShadowsQualityHigh: 0 m_PrefilterSoftShadowsQualityHigh: 1
m_PrefilterSoftShadows: 0 m_PrefilterSoftShadows: 0
m_PrefilterScreenCoord: 1 m_PrefilterScreenCoord: 1
m_PrefilterScreenSpaceIrradiance: 0 m_PrefilterScreenSpaceIrradiance: 1
m_PrefilterNativeRenderPass: 1 m_PrefilterNativeRenderPass: 1
m_PrefilterUseLegacyLightmaps: 0 m_PrefilterUseLegacyLightmaps: 0
m_PrefilterBicubicLightmapSampling: 0 m_PrefilterBicubicLightmapSampling: 1
m_PrefilterReflectionProbeRotation: 0 m_PrefilterReflectionProbeRotation: 1
m_PrefilterReflectionProbeBlending: 0 m_PrefilterReflectionProbeBlending: 0
m_PrefilterReflectionProbeBoxProjection: 0 m_PrefilterReflectionProbeBoxProjection: 0
m_PrefilterReflectionProbeAtlas: 0 m_PrefilterReflectionProbeAtlas: 0
+3
View File
@@ -34,6 +34,9 @@ MonoBehaviour:
highQualityFiltering: highQualityFiltering:
m_OverrideState: 1 m_OverrideState: 1
m_Value: 1 m_Value: 1
filter:
m_OverrideState: 0
m_Value: 0
downscale: downscale:
m_OverrideState: 0 m_OverrideState: 0
m_Value: 0 m_Value: 0
@@ -68,7 +68,22 @@ MonoBehaviour:
- rid: 6885172117838757900 - rid: 6885172117838757900
- rid: 6885172117838757901 - rid: 6885172117838757901
m_RuntimeSettings: m_RuntimeSettings:
m_List: [] m_List:
- rid: 6852985685364965378
- rid: 6852985685364965379
- rid: 6852985685364965380
- rid: 6852985685364965381
- rid: 6852985685364965384
- rid: 6852985685364965385
- rid: 6852985685364965392
- rid: 6852985685364965394
- rid: 8712630790384254976
- rid: 6885172117838757889
- rid: 6885172117838757890
- rid: 6885172117838757893
- rid: 6885172117838757894
- rid: 6885172117838757899
- rid: 6885172117838757901
m_AssetVersion: 10 m_AssetVersion: 10
m_ObsoleteDefaultVolumeProfile: {fileID: 0} m_ObsoleteDefaultVolumeProfile: {fileID: 0}
m_RenderingLayerNames: m_RenderingLayerNames:
@@ -1,5 +1,6 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 99c9720ab356a0642a771bea13969a05 guid: 3af8f06e8a10afb43b30f6746acbf7a3
folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:
Binary file not shown.
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 8705e6675e3398743b179e7517477f95
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 7aed4a49184670549a7848ee83952078, type: 3}
Binary file not shown.
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: dfbafcee1589b994190c8b138fa536fd
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 7aed4a49184670549a7848ee83952078, type: 3}
Binary file not shown.
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 06451afa071792b4fb063e0bcda1bf4e
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 7aed4a49184670549a7848ee83952078, type: 3}
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 31ae15794738c134a94e378c021711b0
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 7aed4a49184670549a7848ee83952078, type: 3}
@@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 8b806a6344f096541a361192f27632ab guid: cb5a5730510d4e149b46695b20885be2
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
@@ -119,191 +119,55 @@ NavMeshSettings:
debug: debug:
m_Flags: 0 m_Flags: 0
m_NavMeshData: {fileID: 0} m_NavMeshData: {fileID: 0}
--- !u!1001 &562634546 --- !u!1 &688714159
PrefabInstance: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 688714160}
- component: {fileID: 688714161}
m_Layer: 0
m_Name: Target
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &688714160
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 688714159}
serializedVersion: 2 serializedVersion: 2
m_Modification: m_LocalRotation: {x: -0, y: -0.6424656, z: -0, w: -0.76631457}
serializedVersion: 3 m_LocalPosition: {x: 0.06, y: 0.13, z: -0.16}
m_TransformParent: {fileID: 0} m_LocalScale: {x: 1, y: 1, z: 1}
m_Modifications: m_ConstrainProportionsScale: 0
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3} m_Children:
propertyPath: m_PropertySheet.m_Uint.m_Array.Array.size - {fileID: 1826889290}
value: 2 m_Father: {fileID: 0}
objectReference: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3} --- !u!114 &688714161
propertyPath: m_PropertySheet.m_Float.m_Array.Array.size MonoBehaviour:
value: 2 m_ObjectHideFlags: 0
objectReference: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3} m_PrefabInstance: {fileID: 0}
propertyPath: m_PropertySheet.m_Gradient.m_Array.Array.size m_PrefabAsset: {fileID: 0}
value: 1 m_GameObject: {fileID: 688714159}
objectReference: {fileID: 0} m_Enabled: 1
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3} m_EditorHideFlags: 0
propertyPath: m_PropertySheet.m_Uint.m_Array.Array.data[0].m_Name m_Script: {fileID: 11500000, guid: 536715a2510f9db4883a1cd9d1bf11ef, type: 3}
value: SplatCount m_Name:
objectReference: {fileID: 0} m_EditorClassIdentifier: Assembly-CSharp::SimpleSpin
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3} rotationSpeed: -15
propertyPath: m_PropertySheet.m_Uint.m_Array.Array.data[1].m_Name rotationAxis: {x: 0, y: 1, z: 0}
value: SHDegrees useLocalRotation: 1
objectReference: {fileID: 0} enableRotation: 1
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Float.m_Array.Array.data[0].m_Name
value: ScaleMultiplier
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Float.m_Array.Array.data[1].m_Name
value: OpacityMultiplier
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Uint.m_Array.Array.data[0].m_Value
value: 200000
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Uint.m_Array.Array.data[1].m_Value
value: 3
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Float.m_Array.Array.data[0].m_Value
value: 64
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Float.m_Array.Array.data[1].m_Value
value: 1
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Gradient.m_Array.Array.data[0].m_Name
value: GradientScale
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Uint.m_Array.Array.data[0].m_Overridden
value: 1
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Uint.m_Array.Array.data[1].m_Overridden
value: 1
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Float.m_Array.Array.data[0].m_Overridden
value: 1
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Float.m_Array.Array.data[1].m_Overridden
value: 1
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Gradient.m_Array.Array.data[0].m_Overridden
value: 1
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Gradient.m_Array.Array.data[0].m_Value.atime0
value: 0
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Gradient.m_Array.Array.data[0].m_Value.atime1
value: 65535
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Gradient.m_Array.Array.data[0].m_Value.ctime0
value: 0
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Gradient.m_Array.Array.data[0].m_Value.ctime1
value: 65535
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Gradient.m_Array.Array.data[0].m_Value.key1.a
value: 1
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Gradient.m_Array.Array.data[0].m_Value.key1.b
value: 1
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Gradient.m_Array.Array.data[0].m_Value.key1.g
value: 1
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Gradient.m_Array.Array.data[0].m_Value.key1.r
value: 1
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Gradient.m_Array.Array.data[0].m_Value.m_Mode
value: 0
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Gradient.m_Array.Array.data[0].m_Value.m_ColorSpace
value: 1
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Gradient.m_Array.Array.data[0].m_Value.m_NumAlphaKeys
value: 2
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Gradient.m_Array.Array.data[0].m_Value.m_NumColorKeys
value: 2
objectReference: {fileID: 0}
- target: {fileID: -774367247743995920, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_LocalScale.y
value: -1
objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8980549144392899874, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_Name
value: splat_45000
objectReference: {fileID: 0}
- target: {fileID: 8980549144392899874, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: -4216948427090074523, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
--- !u!1 &1826889287 --- !u!1 &1826889287
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -349,7 +213,7 @@ Camera:
m_ShutterSpeed: 0.005 m_ShutterSpeed: 0.005
m_Aperture: 16 m_Aperture: 16
m_FocusDistance: 10 m_FocusDistance: 10
m_FocalLength: 50 m_FocalLength: 23.999998
m_BladeCount: 5 m_BladeCount: 5
m_Curvature: {x: 2, y: 11} m_Curvature: {x: 2, y: 11}
m_BarrelClipping: 0.25 m_BarrelClipping: 0.25
@@ -364,7 +228,7 @@ Camera:
height: 1 height: 1
near clip plane: 0.3 near clip plane: 0.3
far clip plane: 1000 far clip plane: 1000
field of view: 60 field of view: 53.130108
orthographic: 0 orthographic: 0
orthographic size: 5 orthographic size: 5
m_Depth: -1 m_Depth: -1
@@ -390,13 +254,13 @@ Transform:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1826889287} m_GameObject: {fileID: 1826889287}
serializedVersion: 2 serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0.18301274, y: -0.6830127, z: 0.18301274, w: 0.6830127}
m_LocalPosition: {x: 0, y: 0, z: -5} m_LocalPosition: {x: 2.1, y: 1.23, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 688714160}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 30, y: -90, z: 0}
--- !u!114 &1826889291 --- !u!114 &1826889291
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -568,10 +432,151 @@ Transform:
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!1001 &2104382819
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: -8930390722167643903, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_ExecuteInEditor
value: 1
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_PropertySheet.m_Uint.m_Array.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_PropertySheet.m_Float.m_Array.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_PropertySheet.m_Uint.m_Array.Array.data[0].m_Name
value: SplatCount
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_PropertySheet.m_Uint.m_Array.Array.data[1].m_Name
value: SHDegrees
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_PropertySheet.m_Float.m_Array.Array.data[0].m_Name
value: OpacityMultiplier
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_PropertySheet.m_Float.m_Array.Array.data[1].m_Name
value: ScaleMultiplier
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_PropertySheet.m_Uint.m_Array.Array.data[0].m_Value
value: 20000
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_PropertySheet.m_Uint.m_Array.Array.data[1].m_Value
value: 3
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_PropertySheet.m_Float.m_Array.Array.data[0].m_Value
value: 1
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_PropertySheet.m_Float.m_Array.Array.data[1].m_Value
value: 64
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_PropertySheet.m_Uint.m_Array.Array.data[0].m_Overridden
value: 1
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_PropertySheet.m_Uint.m_Array.Array.data[1].m_Overridden
value: 0
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_PropertySheet.m_Float.m_Array.Array.data[0].m_Overridden
value: 0
objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_PropertySheet.m_Float.m_Array.Array.data[1].m_Overridden
value: 0
objectReference: {fileID: 0}
- target: {fileID: -774367247743995920, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_LocalScale.x
value: 2
objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_LocalScale.y
value: -2
objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_LocalScale.z
value: 2
objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_LocalPosition.x
value: 0.11
objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_LocalPosition.y
value: 3.09
objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_LocalPosition.z
value: -0.1
objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_LocalRotation.w
value: 0.96583617
objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_LocalRotation.x
value: 0.09989466
objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_LocalRotation.y
value: -0.23785771
objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_LocalRotation.z
value: 0.024601186
objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 11.81
objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: -27.67
objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8980549144392899874, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_Name
value: watch
objectReference: {fileID: 0}
- target: {fileID: 8980549144392899874, guid: 31ae15794738c134a94e378c021711b0, type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: -4216948427090074523, guid: 31ae15794738c134a94e378c021711b0, type: 3}
--- !u!1660057539 &9223372036854775807 --- !u!1660057539 &9223372036854775807
SceneRoots: SceneRoots:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_Roots: m_Roots:
- {fileID: 1826889290} - {fileID: 688714160}
- {fileID: 1911516433} - {fileID: 1911516433}
- {fileID: 562634546} - {fileID: 2104382819}
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: be08df561d070254fba75f41010423f9
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -70,9 +70,6 @@ namespace SplatVfx.Editor
opacity, scale_0, scale_1, scale_2, rot_0, rot_1, rot_2, rot_3 opacity, scale_0, scale_1, scale_2, rot_0, rot_1, rot_2, rot_3
} }
/***********************************************************************
- TODO: Add support for more data types
***********************************************************************/
private static readonly Dictionary<TypeEnum, int> TypeToByteLengths = private static readonly Dictionary<TypeEnum, int> TypeToByteLengths =
new() new()
{ {
@@ -92,10 +89,6 @@ namespace SplatVfx.Editor
{ "int8", TypeEnum.Int8 } { "int8", TypeEnum.Int8 }
}; };
/***********************************************************************
- TODO: Add endianness
- TODO: Add float size
***********************************************************************/
private struct HeaderData private struct HeaderData
{ {
public uint NumElements; public uint NumElements;
@@ -234,14 +227,14 @@ namespace SplatVfx.Editor
); );
int chunkSize = elementsPerChunk * headerData.BytesPerElement; int chunkSize = elementsPerChunk * headerData.BytesPerElement;
Debug.Log($"Elements per chunk: {elementsPerChunk}"); // Debug.Log($"Elements per chunk: {elementsPerChunk}");
Debug.Log($"Chunk size: {chunkSize}"); // Debug.Log($"Chunk size: {chunkSize}");
using var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read); using var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
fileStream.Seek(endHeaderPosition, SeekOrigin.Begin); fileStream.Seek(endHeaderPosition, SeekOrigin.Begin);
int totalBytes = (int)fileStream.Length - endHeaderPosition; int totalBytes = (int)fileStream.Length - endHeaderPosition;
Debug.Log($"Total bytes: {totalBytes}"); // Debug.Log($"Total bytes: {totalBytes}");
var splatDataNative = new SplatDataNative(elementsPerChunk); var splatDataNative = new SplatDataNative(elementsPerChunk);
var chunkBuffer = new NativeArray<byte>(chunkSize, Allocator.Persistent); var chunkBuffer = new NativeArray<byte>(chunkSize, Allocator.Persistent);
@@ -280,10 +273,10 @@ namespace SplatVfx.Editor
} }
totalElemsRead += numElemsRead; totalElemsRead += numElemsRead;
Debug.Log($"Current Elements Read: {totalElemsRead}"); // Debug.Log($"Current Elements Read: {totalElemsRead}");
} }
Debug.Log($"First position Vector3: {splatData.PositionArray[0]}"); // Debug.Log($"First position Vector3: {splatData.PositionArray[0]}");
headerData.Dispose(); headerData.Dispose();
splatDataNative.Dispose(); splatDataNative.Dispose();
@@ -326,9 +319,11 @@ namespace SplatVfx.Editor
color = 0.5f + color * SH_C0; color = 0.5f + color * SH_C0;
splatDataNative.color[elemIx] = color; splatDataNative.color[elemIx] = color;
for (int j = 0; j < 45; j++) for (int j = 0; j < 15; j++)
{ {
splatDataNative.sh[elemIx * 45 + j] = chunkBytes.ReinterpretLoad<float>(start + headerData.ElementByteOffsets[(int)DataEnum.f_rest_0 + j]); splatDataNative.sh[elemIx * 45 + j * 3] = chunkBytes.ReinterpretLoad<float>(start + headerData.ElementByteOffsets[(int)DataEnum.f_rest_0 + j]);
splatDataNative.sh[elemIx * 45 + j * 3 + 1] = chunkBytes.ReinterpretLoad<float>(start + headerData.ElementByteOffsets[(int)DataEnum.f_rest_0 + 15 + j]);
splatDataNative.sh[elemIx * 45 + j * 3 + 2] = chunkBytes.ReinterpretLoad<float>(start + headerData.ElementByteOffsets[(int)DataEnum.f_rest_0 + 30 + j]);
} }
float opacity = chunkBytes.ReinterpretLoad<float>(start + headerData.ElementByteOffsets[(int)DataEnum.opacity]); float opacity = chunkBytes.ReinterpretLoad<float>(start + headerData.ElementByteOffsets[(int)DataEnum.opacity]);
@@ -354,55 +349,5 @@ namespace SplatVfx.Editor
} }
} }
} }
// struct ReadData
// {
// public float px, py, pz;
// public float sx, sy, sz;
// public byte r, g, b, a;
// public byte rw, rx, ry, rz;
// }
// (Vector3[] position, Vector3[] axis, Color[] color)
// LoadDataArrays(string path)
// {
// var bytes = (Span<byte>)File.ReadAllBytes(path);
// var count = bytes.Length / 32;
// var source = MemoryMarshal.Cast<byte, ReadData>(bytes);
// var position = new Vector3[count];
// var axis = new Vector3[count * 3];
// var color = new Color[count];
// for (var i = 0; i < count; i++)
// ParseReadData(source[i],
// out position[i],
// out axis[i * 3],
// out axis[i * 3 + 1],
// out axis[i * 3 + 2],
// out color[i]);
// return (position, axis, color);
// }
// [BurstCompile]
// void ParseReadData(in ReadData src,
// out Vector3 position,
// out Vector3 axis1,
// out Vector3 axis2,
// out Vector3 axis3,
// out Color color)
// {
// var rv = (math.float4(src.rx, src.ry, src.rz, src.rw) - 128) / 128;
// var q = math.quaternion(-rv.x, -rv.y, rv.z, rv.w);
// position = math.float3(src.px, src.py, -src.pz);
// axis1 = math.mul(q, math.float3(src.sx, 0, 0));
// axis2 = math.mul(q, math.float3(0, src.sy, 0));
// axis3 = math.mul(q, math.float3(0, 0, src.sz));
// color = (Vector4)math.float4(src.r, src.g, src.b, src.a) / 255;
// }
} }
} }
+38
View File
@@ -0,0 +1,38 @@
using UnityEngine;
public class SimpleSpin : MonoBehaviour
{
[Header("Rotation Settings")]
[Tooltip("Rotation speed in degrees per second")]
[Range(-200f, 200f)]
public float rotationSpeed = 10f;
[Tooltip("Rotation axis (X, Y, Z components)")]
public Vector3 rotationAxis = Vector3.up;
[Tooltip("Rotate in local or world space")]
public bool useLocalRotation = true;
[Header("Advanced Options")]
[Tooltip("Enable rotation on this script")]
public bool enableRotation = true;
void Start()
{
if (rotationAxis == Vector3.zero)
rotationAxis = Vector3.up;
}
void Update()
{
if (!enableRotation)
return;
float rotationAmount = rotationSpeed * Time.deltaTime;
if (useLocalRotation)
transform.Rotate(rotationAxis, rotationAmount, Space.Self);
else
transform.Rotate(rotationAxis, rotationAmount, Space.World);
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 536715a2510f9db4883a1cd9d1bf11ef
@@ -1,3 +1,9 @@
#define sh(i) SHBuffer[Index * 45 + (i - 1)]
/// Index: The splat's index
/// Degrees: The degrees of spherical harmonics to calculate
/// DirClr: A 4x4 matrix with the first row containing a vector from the splat position to the camera, and the second row containing its base color
/// SHBuffer: The spherical harmonics buffer from a SplatData object
float3 CalculateSHColor(uint Index, uint Degrees, float4x4 DirClr, StructuredBuffer<float> SHBuffer) { float3 CalculateSHColor(uint Index, uint Degrees, float4x4 DirClr, StructuredBuffer<float> SHBuffer) {
const float SH_C0 = 0.28209479177387814f; const float SH_C0 = 0.28209479177387814f;
const float SH_C1 = 0.4886025119029199f; const float SH_C1 = 0.4886025119029199f;
@@ -23,48 +29,49 @@ float3 CalculateSHColor(uint Index, uint Degrees, float4x4 DirClr, StructuredBuf
float3 sh[16]; float3 sh[16];
// INTERLEAVED RGB when loaded as StructuredBuffer<float>
// for (int i = 1; i < 16; i++) // for (int i = 1; i < 16; i++)
// { // {
// sh[i].x = SHBuffer[Index * 45 + (i - 1) * 3]; // sh[i].x = SHBuffer[Index * 45 + (i - 1) * 3];
// sh[i].y = SHBuffer[Index * 45 + (i - 1) * 3 + 1]; // sh[i].y = SHBuffer[Index * 45 + (i - 1) * 3 + 1];
// sh[i].z = SHBuffer[Index * 45 + (i - 1) * 3 + 2]; // sh[i].z = SHBuffer[Index * 45 + (i - 1) * 3 + 2];
// } // }
for (int i = 1; i < 16; i++) // CONTINUOUS CHANNELS when loaded as StructuredBuffer<float>
{ // for (int i = 1; i < 16; i++)
// Access R, G, B values from their separate blocks // {
sh[i].x = SHBuffer[Index * 45 + (i - 1)]; // R values (indices 0-44) // sh[i].x = SHBuffer[Index * 45 + (i - 1)];
sh[i].y = SHBuffer[Index * 45 + 15 + (i - 1)]; // G values (indices 45-89) // sh[i].y = SHBuffer[Index * 45 + 15 + (i - 1)];
sh[i].z = SHBuffer[Index * 45 + 30 + (i - 1)]; // B values (indices 90-134) // sh[i].z = SHBuffer[Index * 45 + 30 + (i - 1)];
} // }
if (Degrees > 0) if (Degrees > 0)
{ {
float x = dir.x; float x = dir.x;
float y = dir.y; float y = dir.y;
float z = dir.z; float z = dir.z;
result = result - SH_C1 * y * sh[1] + SH_C1 * z * sh[2] - SH_C1 * x * sh[3]; result = result - SH_C1 * y * sh(1) + SH_C1 * z * sh(2) - SH_C1 * x * sh(3);
if (Degrees > 1) if (Degrees > 1)
{ {
float xx = x * x, yy = y * y, zz = z * z; float xx = x * x, yy = y * y, zz = z * z;
float xy = x * y, yz = y * z, xz = x * z; float xy = x * y, yz = y * z, xz = x * z;
result = result + result = result +
SH_C2[0] * xy * sh[4] + SH_C2[0] * xy * sh(4) +
SH_C2[1] * yz * sh[5] + SH_C2[1] * yz * sh(5) +
SH_C2[2] * (2.0f * zz - xx - yy) * sh[6] + SH_C2[2] * (2.0f * zz - xx - yy) * sh(6) +
SH_C2[3] * xz * sh[7] + SH_C2[3] * xz * sh(7) +
SH_C2[4] * (xx - yy) * sh[8]; SH_C2[4] * (xx - yy) * sh(8);
if (Degrees > 2) if (Degrees > 2)
{ {
result = result + result = result +
SH_C3[0] * y * (3.0f * xx - yy) * sh[9] + SH_C3[0] * y * (3.0f * xx - yy) * sh(9) +
SH_C3[1] * xy * z * sh[10] + SH_C3[1] * xy * z * sh(10) +
SH_C3[2] * y * (4.0f * zz - xx - yy) * sh[11] + SH_C3[2] * y * (4.0f * zz - xx - yy) * sh(11) +
SH_C3[3] * z * (2.0f * zz - 3.0f * xx - 3.0f * yy) * sh[12] + SH_C3[3] * z * (2.0f * zz - 3.0f * xx - 3.0f * yy) * sh(12) +
SH_C3[4] * x * (4.0f * zz - xx - yy) * sh[13] + SH_C3[4] * x * (4.0f * zz - xx - yy) * sh(13) +
SH_C3[5] * z * (xx - yy) * sh[14] + SH_C3[5] * z * (xx - yy) * sh(14) +
SH_C3[6] * x * (xx - 3.0f * yy) * sh[15]; SH_C3[6] * x * (xx - 3.0f * yy) * sh(15);
} }
} }
} }
@@ -73,6 +80,8 @@ float3 CalculateSHColor(uint Index, uint Degrees, float4x4 DirClr, StructuredBuf
} }
/* /*
> Reference taken from the original Gaussian splatting paper code
// The implementation is loosely based on code for // The implementation is loosely based on code for
// "Differentiable Point-Based Radiance Fields for // "Differentiable Point-Based Radiance Fields for
// Efficient View Synthesis" by Zhang et al. (2022) // Efficient View Synthesis" by Zhang et al. (2022)
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: f0801febb2a50a54ba1429eca4d4c0a1
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}
useAsTemplate: 0
exposeTemplateAsShader: 0
template:
name:
category:
description:
icon: {instanceID: 0}
thumbnail: {instanceID: 0}
+54
View File
@@ -0,0 +1,54 @@
#define EPSILON 0.0004f
float CrossProduct(float2 A, float2 B)
{
return A.x * B.y - A.y * B.x;
}
float SweepArea(float2 A, float2 B)
{
return abs(CrossProduct(A, B));
}
float4x4 GetMajorAxes(float4x4 Axes, float4x4 AxesProjections)
{
float4x4 result = (float4x4)0;
float2 x_proj = AxesProjections[0].xy;
float2 y_proj = AxesProjections[1].xy;
float2 z_proj = AxesProjections[2].xy;
float3 x_axes = Axes[0].xyz;
float3 y_axes = Axes[1].xyz;
float3 z_axes = Axes[2].xyz;
float xy_area = SweepArea(x_proj, y_proj);
float xz_area = SweepArea(x_proj, z_proj);
float yz_area = SweepArea(y_proj, z_proj);
// Compute selection weights using step
float xy_is_max = step(xz_area, xy_area) * step(yz_area, xy_area);
float xz_is_max = step(yz_area, xz_area) * (1.0 - xy_is_max);
float yz_is_max = 1.0 - xy_is_max - xz_is_max;
// Select axis0
float3 axis0 =
xy_is_max * x_axes +
xz_is_max * x_axes +
yz_is_max * y_axes;
// Select axis1
float3 axis1 =
xy_is_max * y_axes +
xz_is_max * z_axes +
yz_is_max * z_axes;
// Normalize and scale if length is below threshold
float len0 = length(axis0);
float len1 = length(axis1);
result[0].xyz = normalize(axis0) * max(len0, EPSILON);
result[1].xyz = normalize(axis1) * max(len1, EPSILON);
return result;
}
File diff suppressed because it is too large Load Diff
@@ -1,44 +0,0 @@
float CrossProduct(float2 A, float2 B)
{
return A.x * B.y - A.y * B.x;
}
float SweepArea(float2 A, float2 B)
{
return abs(CrossProduct(A, B));
}
float4x4 GetMajorAxes(float4x4 Axes, float4x4 AxesProjections)
{
float4x4 result = (float4x4)0;
float2 x_proj = AxesProjections[0].xy;
float2 y_proj = AxesProjections[1].xy;
float2 z_proj = AxesProjections[2].xy;
float3 x_axes = Axes[0].xyz;
float3 y_axes = Axes[1].xyz;
float3 z_axes = Axes[2].xyz;
float xy_area = SweepArea(x_proj, y_proj);
float xz_area = SweepArea(x_proj, z_proj);
float yz_area = SweepArea(y_proj, z_proj);
if (xy_area > xz_area && xy_area > yz_area)
{
result[0].xyz = x_axes;
result[1].xyz = y_axes;
}
else if (xz_area > yz_area)
{
result[0].xyz = x_axes;
result[1].xyz = z_axes;
}
else
{
result[0].xyz = y_axes;
result[1].xyz = z_axes;
}
return result;
}
Binary file not shown.
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2026 Rafael Formoso
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+1 -1
View File
@@ -1,5 +1,6 @@
{ {
"dependencies": { "dependencies": {
"com.unity.cinemachine": "3.1.6",
"com.unity.ide.visualstudio": "2.0.27", "com.unity.ide.visualstudio": "2.0.27",
"com.unity.inputsystem": "1.18.0", "com.unity.inputsystem": "1.18.0",
"com.unity.render-pipelines.universal": "17.3.0", "com.unity.render-pipelines.universal": "17.3.0",
@@ -9,7 +10,6 @@
"com.unity.visualeffectgraph": "17.3.0", "com.unity.visualeffectgraph": "17.3.0",
"com.unity.visualscripting": "1.9.10", "com.unity.visualscripting": "1.9.10",
"com.unity.modules.accessibility": "1.0.0", "com.unity.modules.accessibility": "1.0.0",
"com.unity.modules.adaptiveperformance": "1.0.0",
"com.unity.modules.ai": "1.0.0", "com.unity.modules.ai": "1.0.0",
"com.unity.modules.androidjni": "1.0.0", "com.unity.modules.androidjni": "1.0.0",
"com.unity.modules.animation": "1.0.0", "com.unity.modules.animation": "1.0.0",
+28 -8
View File
@@ -10,6 +10,16 @@
}, },
"url": "https://packages.unity.com" "url": "https://packages.unity.com"
}, },
"com.unity.cinemachine": {
"version": "3.1.6",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.splines": "2.0.0",
"com.unity.modules.imgui": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.collections": { "com.unity.collections": {
"version": "2.6.2", "version": "2.6.2",
"depth": 2, "depth": 2,
@@ -100,6 +110,13 @@
"dependencies": {}, "dependencies": {},
"url": "https://packages.unity.com" "url": "https://packages.unity.com"
}, },
"com.unity.settings-manager": {
"version": "2.1.1",
"depth": 2,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.shadergraph": { "com.unity.shadergraph": {
"version": "17.3.0", "version": "17.3.0",
"depth": 1, "depth": 1,
@@ -109,6 +126,17 @@
"com.unity.searcher": "4.9.3" "com.unity.searcher": "4.9.3"
} }
}, },
"com.unity.splines": {
"version": "2.8.2",
"depth": 1,
"source": "registry",
"dependencies": {
"com.unity.mathematics": "1.2.1",
"com.unity.modules.imgui": "1.0.0",
"com.unity.settings-manager": "1.0.3"
},
"url": "https://packages.unity.com"
},
"com.unity.test-framework": { "com.unity.test-framework": {
"version": "1.6.0", "version": "1.6.0",
"depth": 0, "depth": 0,
@@ -175,14 +203,6 @@
"source": "builtin", "source": "builtin",
"dependencies": {} "dependencies": {}
}, },
"com.unity.modules.adaptiveperformance": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.subsystems": "1.0.0"
}
},
"com.unity.modules.ai": { "com.unity.modules.ai": {
"version": "1.0.0", "version": "1.0.0",
"depth": 0, "depth": 0,
+2 -2
View File
@@ -6,8 +6,8 @@ EditorBuildSettings:
serializedVersion: 2 serializedVersion: 2
m_Scenes: m_Scenes:
- enabled: 1 - enabled: 1
path: Assets/Scenes/SampleScene.unity path: Assets/vfx-graph-gs/Scenes/Main.unity
guid: 99c9720ab356a0642a771bea13969a05 guid: 09fad7c6f4d48844d9510f9903fca619
m_configObjects: m_configObjects:
com.unity.input.settings.actions: {fileID: -944628639613478452, guid: 052faaac586de48259a63d0c4782560b, type: 3} com.unity.input.settings.actions: {fileID: -944628639613478452, guid: 052faaac586de48259a63d0c4782560b, type: 3}
m_UseUCBPForAssetBundles: 0 m_UseUCBPForAssetBundles: 0
+12 -8
View File
@@ -12,13 +12,13 @@ PlayerSettings:
targetDevice: 2 targetDevice: 2
useOnDemandResources: 0 useOnDemandResources: 0
accelerometerFrequency: 60 accelerometerFrequency: 60
companyName: DefaultCompany companyName: rsformoso
productName: vfx-graph-gs productName: vfx-graph-gs
defaultCursor: {fileID: 0} defaultCursor: {fileID: 0}
cursorHotspot: {x: 0, y: 0} cursorHotspot: {x: 0, y: 0}
m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1}
m_ShowUnitySplashScreen: 1 m_ShowUnitySplashScreen: 0
m_ShowUnitySplashLogo: 1 m_ShowUnitySplashLogo: 0
m_SplashScreenOverlayOpacity: 1 m_SplashScreenOverlayOpacity: 1
m_SplashScreenAnimation: 1 m_SplashScreenAnimation: 1
m_SplashScreenLogoStyle: 1 m_SplashScreenLogoStyle: 1
@@ -143,8 +143,9 @@ PlayerSettings:
loadStoreDebugModeEnabled: 0 loadStoreDebugModeEnabled: 0
visionOSBundleVersion: 1.0 visionOSBundleVersion: 1.0
tvOSBundleVersion: 1.0 tvOSBundleVersion: 1.0
bundleVersion: 0.1.0 bundleVersion: 0.0.0-prototype
preloadedAssets: [] preloadedAssets:
- {fileID: -944628639613478452, guid: 052faaac586de48259a63d0c4782560b, type: 3}
metroInputSource: 0 metroInputSource: 0
wsaTransparentSwapchain: 0 wsaTransparentSwapchain: 0
m_HolographicPauseOnTrackingLoss: 1 m_HolographicPauseOnTrackingLoss: 1
@@ -524,7 +525,10 @@ PlayerSettings:
m_Height: 720 m_Height: 720
m_Kind: 1 m_Kind: 1
m_SubKind: m_SubKind:
m_BuildTargetBatching: [] m_BuildTargetBatching:
- m_BuildTarget: WebGL
m_StaticBatching: 0
m_DynamicBatching: 0
m_BuildTargetShaderSettings: [] m_BuildTargetShaderSettings: []
m_BuildTargetGraphicsJobs: [] m_BuildTargetGraphicsJobs: []
m_BuildTargetGraphicsJobMode: [] m_BuildTargetGraphicsJobMode: []
@@ -814,11 +818,11 @@ PlayerSettings:
webGLTemplate: APPLICATION:Default webGLTemplate: APPLICATION:Default
webGLAnalyzeBuildSize: 0 webGLAnalyzeBuildSize: 0
webGLUseEmbeddedResources: 0 webGLUseEmbeddedResources: 0
webGLCompressionFormat: 1 webGLCompressionFormat: 0
webGLWasmArithmeticExceptions: 0 webGLWasmArithmeticExceptions: 0
webGLLinkerTarget: 1 webGLLinkerTarget: 1
webGLThreadsSupport: 0 webGLThreadsSupport: 0
webGLDecompressionFallback: 0 webGLDecompressionFallback: 1
webGLInitialMemorySize: 32 webGLInitialMemorySize: 32
webGLMaximumMemorySize: 2048 webGLMaximumMemorySize: 2048
webGLMemoryGrowthMode: 2 webGLMemoryGrowthMode: 2
+16
View File
@@ -0,0 +1,16 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &1
MonoBehaviour:
m_ObjectHideFlags: 53
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: a287be6c49135cd4f9b2b8666c39d999, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.Timeline.Editor::TimelineProjectSettings
assetDefaultFramerate: 60
m_DefaultFrameRate: 60
+46
View File
@@ -0,0 +1,46 @@
# Unity VFX Graph Gaussian Splatting Renderer
A Unity implementation of Gaussian splatting using VFX Graph for real-time rendering. This project uses Unity's VFX Graph system as an alternative to the EWA algorithm to provide more flexibility in accessing the splat's data structures.
## Installation
Import this project into Unity or copy the `Assets/vfx-graph-gs/` folder to your project
## Usage
### Importing PLY Files
1. Place your PLY file containing Gaussian splat data in your project
2. The custom `SplatImporter` will automatically process the file
3. A VFX prefab will be generated that you can drag on to a scene
## File Structure
```
Assets/vfx-graph-gs/
├── Scripts/ # Core C# implementation
│ ├── SplatData.cs # Data container and GPU buffer management
│ ├── SplatDataBinder.cs # VFX Graph integration
│ ├── SplatDataInspector.cs # Custom inspector for SplatData
│ └── SplatImporter.cs # PLY file importer with burst compilation
├── VFXGraphHLSL/ # GPU shader functions
│ ├── CalculateAxes.hlsl # Quaternion to matrix conversion
│ ├── CalculateSH.hlsl # Spherical harmonics calculations
│ └── GetMajorAxes.hlsl # Projection axis selection
├── SplatVFX.vfx # Main VFX Graph asset
└── [PLY files] # Gaussian splat data files
```
## License
This project is licensed under the MIT License. See the LICENSE file for details.
## References
- [Original Gaussian Splatting Code](https://github.com/graphdeco-inria/gaussian-splatting)
- [SplatVFX](https://github.com/keijiro/SplatVFX)
> ## Additional Notes
> - The importer processes files in 256MB chunks to handle large files
> - Presently, the splat file *must* have all splat data present, including spherical harmonics. It currently only supports `float` type variables and binary-encoded files.
+27
View File
@@ -0,0 +1,27 @@
# TODO
- [ ] Account for the fact that a larger minor axis "hardens" splat edges
- Maybe shift the alpha gradient, or incorporate into shader
- [ ] Rework SplatBinder system to collect all splat objects in the scene and
combine their buffers
- [ ] Write shader to calculate Gaussians at runtime
- Texture lookups are slow on mobile
- [ ] ~~Write shader that prevents pixel overdraw~~
- ~~Applies cumulative alpha,while drawing back to front, and writes to the
Z-buffer after a certain threshold~~
- [ ] Optimize CalculateAxes.hlsl
- [ ] Allow splat data buffers to be accessible by other VFX Graphs
- [ ] Support SOGS format
- [ ] Add exception reporting and handling for incomplete splat data
- [ ] Add support for other PLY data types and endianness
- [ ] Add support for ASCII PLY data
- [ ] Fix the header parsing logic in SplatImporter.cs
- [ ] Add more thorough checks in SplatDataBinder.cs
# DONE
- [x] Rewrite SH Array to use interleaved RGB rather than contiguous data per
channel
- [x] Switch to using ByteAddressBuffers instead of loops in CalculateSH.hlsl
- Used StructuredBuffer\<float3\> instead
# NOTES
- Does VFX Graph calculate the Update and Render blocks before applying Z-test?
+1
View File
@@ -1,3 +1,4 @@
<Solution> <Solution>
<Project Path="Assembly-CSharp.csproj" /> <Project Path="Assembly-CSharp.csproj" />
<Project Path="Assembly-CSharp-Editor.csproj" />
</Solution> </Solution>