Adaug proiectul Unity

This commit is contained in:
2026-11-01 23:39:55 +02:00
parent cb14d9d37d
commit 863eac8f2c
23463 changed files with 5412601 additions and 0 deletions
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c07684e373cd8a64b94f54ba8ca3021b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,273 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-6916714277813776533
MonoBehaviour:
m_ObjectHideFlags: 3
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: 06437c1ff663d574d9447842ba0a72e4, type: 3}
m_Name: ScreenSpaceLensFlare
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.ScreenSpaceLensFlare
active: 1
intensity:
m_OverrideState: 1
m_Value: 1
tintColor:
m_OverrideState: 0
m_Value: {r: 1, g: 1, b: 1, a: 1}
bloomMip:
m_OverrideState: 1
m_Value: 2
firstFlareIntensity:
m_OverrideState: 1
m_Value: 1
secondaryFlareIntensity:
m_OverrideState: 1
m_Value: 0.5
warpedFlareIntensity:
m_OverrideState: 1
m_Value: 0.05
warpedFlareScale:
m_OverrideState: 0
m_Value: {x: 1, y: 1}
samples:
m_OverrideState: 0
m_Value: 1
sampleDimmer:
m_OverrideState: 0
m_Value: 0.5
vignetteEffect:
m_OverrideState: 0
m_Value: 1
startingPosition:
m_OverrideState: 0
m_Value: 1.25
scale:
m_OverrideState: 0
m_Value: 1.5
streaksIntensity:
m_OverrideState: 0
m_Value: 0
streaksLength:
m_OverrideState: 0
m_Value: 0.5
streaksOrientation:
m_OverrideState: 0
m_Value: 0
streaksThreshold:
m_OverrideState: 0
m_Value: 0.25
resolution:
m_OverrideState: 0
m_Value: 4
chromaticAbberationIntensity:
m_OverrideState: 0
m_Value: 0.5
--- !u!114 &-5605597795547548479
MonoBehaviour:
m_ObjectHideFlags: 3
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: 81180773991d8724ab7f2d216912b564, type: 3}
m_Name: ChromaticAberration
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.ChromaticAberration
active: 1
intensity:
m_OverrideState: 1
m_Value: 0.035
--- !u!114 &-4788009029510066327
MonoBehaviour:
m_ObjectHideFlags: 3
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: 899c54efeace73346a0a16faa3afe726, type: 3}
m_Name: Vignette
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.Vignette
active: 1
color:
m_OverrideState: 0
m_Value: {r: 0, g: 0, b: 0, a: 1}
center:
m_OverrideState: 0
m_Value: {x: 0.5, y: 0.5}
intensity:
m_OverrideState: 1
m_Value: 0.306
smoothness:
m_OverrideState: 0
m_Value: 0.2
rounded:
m_OverrideState: 0
m_Value: 0
--- !u!114 &-3265714691574574391
MonoBehaviour:
m_ObjectHideFlags: 3
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: 5485954d14dfb9a4c8ead8edb0ded5b1, type: 3}
m_Name: LiftGammaGain
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.LiftGammaGain
active: 1
lift:
m_OverrideState: 0
m_Value: {x: 1, y: 1, z: 1, w: 0}
gamma:
m_OverrideState: 1
m_Value: {x: 1, y: 1, z: 1, w: -0.060929175}
gain:
m_OverrideState: 1
m_Value: {x: 1, y: 1, z: 1, w: 0.8631632}
--- !u!114 &-276372805830634600
MonoBehaviour:
m_ObjectHideFlags: 3
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: 66f335fb1ffd8684294ad653bf1c7564, type: 3}
m_Name: ColorAdjustments
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.ColorAdjustments
active: 1
postExposure:
m_OverrideState: 1
m_Value: 0.1
contrast:
m_OverrideState: 1
m_Value: 10
colorFilter:
m_OverrideState: 1
m_Value: {r: 1, g: 0.96862745, b: 0.9490196, a: 1}
hueShift:
m_OverrideState: 1
m_Value: -3
saturation:
m_OverrideState: 1
m_Value: 19
--- !u!114 &-32820517437979890
MonoBehaviour:
m_ObjectHideFlags: 3
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: 0b2db86121404754db890f4c8dfe81b2, type: 3}
m_Name: Bloom
m_EditorClassIdentifier:
active: 1
skipIterations:
m_OverrideState: 0
m_Value: 1
threshold:
m_OverrideState: 1
m_Value: 0.5
intensity:
m_OverrideState: 1
m_Value: 0
scatter:
m_OverrideState: 0
m_Value: 0.7
clamp:
m_OverrideState: 0
m_Value: 65472
tint:
m_OverrideState: 0
m_Value: {r: 1, g: 1, b: 1, a: 1}
highQualityFiltering:
m_OverrideState: 1
m_Value: 0
filter:
m_OverrideState: 0
m_Value: 0
downscale:
m_OverrideState: 1
m_Value: 1
maxIterations:
m_OverrideState: 0
m_Value: 6
dirtTexture:
m_OverrideState: 0
m_Value: {fileID: 0}
dimension: 1
dirtIntensity:
m_OverrideState: 0
m_Value: 0
--- !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: d7fd9488000d3734a9e00ee676215985, type: 3}
m_Name: GlobalVolumeProfile
m_EditorClassIdentifier:
components:
- {fileID: 1881579288749618558}
- {fileID: -32820517437979890}
- {fileID: -5605597795547548479}
- {fileID: -4788009029510066327}
- {fileID: -3265714691574574391}
- {fileID: -276372805830634600}
- {fileID: -6916714277813776533}
--- !u!114 &1881579288749618558
MonoBehaviour:
m_ObjectHideFlags: 3
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: 97c23e3b12dc18c42a140437e53d3951, type: 3}
m_Name: Tonemapping
m_EditorClassIdentifier:
active: 1
mode:
m_OverrideState: 1
m_Value: 2
neutralHDRRangeReductionMode:
m_OverrideState: 0
m_Value: 2
acesPreset:
m_OverrideState: 0
m_Value: 3
hueShiftAmount:
m_OverrideState: 0
m_Value: 0
detectPaperWhite:
m_OverrideState: 0
m_Value: 0
paperWhite:
m_OverrideState: 0
m_Value: 300
detectBrightnessLimits:
m_OverrideState: 0
m_Value: 1
minNits:
m_OverrideState: 0
m_Value: 0.005
maxNits:
m_OverrideState: 0
m_Value: 1000
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8663c603d9037be4795b2cd3a517cba4
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 79facdf5158e2ef4cafe027c2555ee80
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 112000000
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,63 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!850595691 &4890085278179872738
LightingSettings:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: New Lighting Settings
serializedVersion: 9
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_RealtimeEnvironmentLighting: 1
m_BounceScale: 1
m_AlbedoBoost: 1
m_IndirectOutputScale: 1
m_UsingShadowmask: 1
m_BakeBackend: 1
m_LightmapMaxSize: 1024
m_LightmapSizeFixed: 0
m_UseMipmapLimits: 1
m_BakeResolution: 40
m_Padding: 2
m_LightmapCompression: 3
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAO: 0
m_MixedBakeMode: 2
m_LightmapsBakeMode: 1
m_FilterMode: 1
m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0}
m_ExportTrainingData: 0
m_EnableWorkerProcessBaking: 1
m_TrainingDataDestination: TrainingData
m_RealtimeResolution: 2
m_ForceWhiteAlbedo: 0
m_ForceUpdates: 0
m_PVRCulling: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_LightProbeSampleCountMultiplier: 4
m_PVRBounces: 2
m_PVRMinBounces: 2
m_PVREnvironmentImportanceSampling: 1
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 1
m_PVRFilteringGaussRadiusAO: 1
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_RespectSceneVisibilityWhenBakingGI: 0
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 15919478ce22fa648a406ad8f209e6d6
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 4890085278179872738
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: c0f62d6e0734c3f43b0b7ae1d84f671a
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
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
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 1
seamlessCubemap: 1
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 2
aniso: 0
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 2
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5dd79d858bc180547b9db37c040adbb8
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,222 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1955005432225279403
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 137005759507881994}
m_Layer: 0
m_Name: TerrainBreakupSample
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &137005759507881994
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1955005432225279403}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 75}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 5809902086139049732}
- {fileID: 8262742650007467023}
- {fileID: 9078157995021402312}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &3275879688949568562
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 9078157995021402312}
m_Layer: 0
m_Name: ViewPoint
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &9078157995021402312
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3275879688949568562}
serializedVersion: 2
m_LocalRotation: {x: -0.0010124146, y: 0.93670523, z: -0.34914154, w: 0.026124563}
m_LocalPosition: {x: -0.40484214, y: 3.9621458, z: 11.029182}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 137005759507881994}
m_LocalEulerAnglesHint: {x: 9.8, y: -152.712, z: -1.171}
--- !u!1 &4325961776698115855
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5809902086139049732}
- component: {fileID: 3699473107381856362}
- component: {fileID: 1312080520702103901}
m_Layer: 0
m_Name: TerrainBreakupSample
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 126
m_IsActive: 1
--- !u!4 &5809902086139049732
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4325961776698115855}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -10, y: 0, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 137005759507881994}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!218 &3699473107381856362
Terrain:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4325961776698115855}
m_Enabled: 1
serializedVersion: 6
m_TerrainData: {fileID: 15600000, guid: 5dd79d858bc180547b9db37c040adbb8, type: 2}
m_TreeDistance: 5000
m_TreeBillboardDistance: 50
m_TreeCrossFadeLength: 5
m_TreeMaximumFullLODCount: 50
m_DetailObjectDistance: 80
m_DetailObjectDensity: 1
m_HeightmapPixelError: 5
m_SplatMapDistance: 12
m_HeightmapMinimumLODSimplification: 0
m_HeightmapMaximumLOD: 0
m_ShadowCastingMode: 2
m_DrawHeightmap: 1
m_DrawInstanced: 1
m_DrawTreesAndFoliage: 1
m_StaticShadowCaster: 0
m_IgnoreQualitySettings: 1
m_ReflectionProbeUsage: 0
m_MaterialTemplate: {fileID: 2100000, guid: 8fa1f583c8b9c8d418e229e70fafdab6, type: 2}
m_BakeLightProbesForTrees: 0
m_PreserveTreePrototypeLayers: 0
m_DeringLightProbesForTrees: 0
m_ReceiveGI: 2
m_ScaleInLightmap: 0.0256
m_LightmapParameters: {fileID: 15203, guid: 0000000000000000f000000000000000, type: 0}
m_GroupingID: 0
m_RenderingLayerMask: 1
m_AllowAutoConnect: 0
m_EnableHeightmapRayTracing: 0
m_EnableTreesAndDetailsRayTracing: 0
m_TreeMotionVectorModeOverride: 3
--- !u!154 &1312080520702103901
TerrainCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4325961776698115855}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 2
m_TerrainData: {fileID: 15600000, guid: 5dd79d858bc180547b9db37c040adbb8, type: 2}
m_EnableTreeColliders: 1
--- !u!1001 &3742326295904721851
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 137005759507881994}
m_Modifications:
- target: {fileID: 2102425495700333303, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_Name
value: InfoPanel
objectReference: {fileID: 0}
- target: {fileID: 4702955764361932724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_LocalPosition.x
value: 3.061
objectReference: {fileID: 0}
- target: {fileID: 4702955764361932724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4702955764361932724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_LocalPosition.z
value: 9.249
objectReference: {fileID: 0}
- target: {fileID: 4702955764361932724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_LocalRotation.w
value: 0.96681994
objectReference: {fileID: 0}
- target: {fileID: 4702955764361932724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_LocalRotation.x
value: -0.25545892
objectReference: {fileID: 0}
- target: {fileID: 4702955764361932724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4702955764361932724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4702955764361932724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: -29.602
objectReference: {fileID: 0}
- target: {fileID: 4702955764361932724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4702955764361932724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
--- !u!4 &8262742650007467023 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 4702955764361932724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
m_PrefabInstance: {fileID: 3742326295904721851}
m_PrefabAsset: {fileID: 0}
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: b538ef86faca5d04bba381458583df34
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f6370917f26d8214ab2baf9f3fc3d9a8
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a07564ebf0166454f81b5f9e25766942
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: bc95548abb56191488d395898d6c419f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,262 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1458585235953980421
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2827698493258890384}
m_Layer: 0
m_Name: TerrainSample
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2827698493258890384
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1458585235953980421}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 675082583319376719}
- {fileID: 4750773005900082521}
- {fileID: 5403442678702891766}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1769942245448852939
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4750773005900082521}
m_Layer: 0
m_Name: ViewPoint
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4750773005900082521
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1769942245448852939}
serializedVersion: 2
m_LocalRotation: {x: 0.021594318, y: -0.9672038, z: 0.08802241, w: 0.23728167}
m_LocalPosition: {x: 2.111, y: 4.058, z: 0.389}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2827698493258890384}
m_LocalEulerAnglesHint: {x: 10.4, y: -152.432, z: 0}
--- !u!1 &4981136768199893858
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 675082583319376719}
- component: {fileID: 2686328857450695717}
- component: {fileID: 585094437634466189}
m_Layer: 0
m_Name: Terrain
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 2147483647
m_IsActive: 1
--- !u!4 &675082583319376719
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4981136768199893858}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -10, y: -12.5, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2827698493258890384}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!218 &2686328857450695717
Terrain:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4981136768199893858}
m_Enabled: 1
serializedVersion: 6
m_TerrainData: {fileID: 15600000, guid: f6370917f26d8214ab2baf9f3fc3d9a8, type: 2}
m_TreeDistance: 5000
m_TreeBillboardDistance: 50
m_TreeCrossFadeLength: 5
m_TreeMaximumFullLODCount: 50
m_DetailObjectDistance: 28
m_DetailObjectDensity: 0.85
m_HeightmapPixelError: 5
m_SplatMapDistance: 12
m_HeightmapMinimumLODSimplification: 0
m_HeightmapMaximumLOD: 0
m_ShadowCastingMode: 1
m_DrawHeightmap: 1
m_DrawInstanced: 1
m_DrawTreesAndFoliage: 1
m_StaticShadowCaster: 0
m_IgnoreQualitySettings: 1
m_ReflectionProbeUsage: 0
m_MaterialTemplate: {fileID: 2100000, guid: f4275a21403c9064ca34601a6d19f5bd, type: 2}
m_BakeLightProbesForTrees: 0
m_PreserveTreePrototypeLayers: 0
m_DeringLightProbesForTrees: 1
m_ReceiveGI: 1
m_ScaleInLightmap: 0.0256
m_LightmapParameters: {fileID: 15203, guid: 0000000000000000f000000000000000, type: 0}
m_GroupingID: 0
m_RenderingLayerMask: 1
m_AllowAutoConnect: 0
m_EnableHeightmapRayTracing: 0
m_EnableTreesAndDetailsRayTracing: 0
m_TreeMotionVectorModeOverride: 3
--- !u!154 &585094437634466189
TerrainCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4981136768199893858}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 2
m_TerrainData: {fileID: 15600000, guid: f6370917f26d8214ab2baf9f3fc3d9a8, type: 2}
m_EnableTreeColliders: 1
--- !u!1001 &844604311142812994
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 2827698493258890384}
m_Modifications:
- target: {fileID: 2102425495700333303, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_Name
value: InfoPanel
objectReference: {fileID: 0}
- target: {fileID: 2102425495700333303, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2102425495700333303, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_StaticEditorFlags
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4702955764361932724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_LocalScale.x
value: 0.9
objectReference: {fileID: 0}
- target: {fileID: 4702955764361932724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_LocalScale.y
value: 0.9
objectReference: {fileID: 0}
- target: {fileID: 4702955764361932724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_LocalScale.z
value: 0.9
objectReference: {fileID: 0}
- target: {fileID: 4702955764361932724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_LocalPosition.x
value: 2.825
objectReference: {fileID: 0}
- target: {fileID: 4702955764361932724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_LocalPosition.y
value: 2.723
objectReference: {fileID: 0}
- target: {fileID: 4702955764361932724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_LocalPosition.z
value: -4.519
objectReference: {fileID: 0}
- target: {fileID: 4702955764361932724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_LocalRotation.w
value: 0.9880345
objectReference: {fileID: 0}
- target: {fileID: 4702955764361932724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4702955764361932724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_LocalRotation.y
value: 0.15423304
objectReference: {fileID: 0}
- target: {fileID: 4702955764361932724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4702955764361932724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4702955764361932724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 17.745
objectReference: {fileID: 0}
- target: {fileID: 4702955764361932724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5035190720112997874, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_fontSize
value: 1.5
objectReference: {fileID: 0}
- target: {fileID: 5035190720112997874, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_fontSizeBase
value: 1.5
objectReference: {fileID: 0}
- target: {fileID: 5879745444416502724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_StaticEditorFlags
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6881262423366770156, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_StaticEditorFlags
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8307804402206452892, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
propertyPath: m_StaticEditorFlags
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
--- !u!4 &5403442678702891766 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 4702955764361932724, guid: c4058e53767c32445a7b7cb7c5bc3dad, type: 3}
m_PrefabInstance: {fileID: 844604311142812994}
m_PrefabAsset: {fileID: 0}
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 17683db9631b82b41994fef1836386ca
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,67 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &2009071375432808438
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 585094437634466189, guid: 17683db9631b82b41994fef1836386ca, type: 3}
propertyPath: m_TerrainData
value:
objectReference: {fileID: 15600000, guid: bc95548abb56191488d395898d6c419f, type: 2}
- target: {fileID: 1458585235953980421, guid: 17683db9631b82b41994fef1836386ca, type: 3}
propertyPath: m_Name
value: TerrainSample_CSNOH
objectReference: {fileID: 0}
- target: {fileID: 2686328857450695717, guid: 17683db9631b82b41994fef1836386ca, type: 3}
propertyPath: m_TerrainData
value:
objectReference: {fileID: 15600000, guid: bc95548abb56191488d395898d6c419f, type: 2}
- target: {fileID: 2827698493258890384, guid: 17683db9631b82b41994fef1836386ca, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2827698493258890384, guid: 17683db9631b82b41994fef1836386ca, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2827698493258890384, guid: 17683db9631b82b41994fef1836386ca, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2827698493258890384, guid: 17683db9631b82b41994fef1836386ca, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2827698493258890384, guid: 17683db9631b82b41994fef1836386ca, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2827698493258890384, guid: 17683db9631b82b41994fef1836386ca, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2827698493258890384, guid: 17683db9631b82b41994fef1836386ca, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2827698493258890384, guid: 17683db9631b82b41994fef1836386ca, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2827698493258890384, guid: 17683db9631b82b41994fef1836386ca, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2827698493258890384, guid: 17683db9631b82b41994fef1836386ca, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 17683db9631b82b41994fef1836386ca, type: 3}
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: ec91f41edce36c846863ca73245b2173
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 332e85b2fe2f6f040ad8d2387b0819f3
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b69a001ca1403c043a12889be56235c8
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 88c96d6a55633174980fc69d3fa16e9f
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 732729ed79979574fbf111b2667987e7
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 112000000
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,129 @@
%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: 4881f9a2c4d568047b316028d20a8dca, type: 3}
m_Name: TerrainHDRP Baking Set
m_EditorClassIdentifier: Unity.RenderPipelines.Core.Runtime::UnityEngine.Rendering.ProbeVolumeBakingSet
singleSceneMode: 1
dialogNoProbeVolumeInSetShown: 1
settings:
m_Version: 1
dilationSettings:
enableDilation: 0
dilationDistance: 1
dilationValidityThreshold: 0.25
dilationIterations: 1
squaredDistWeighting: 1
virtualOffsetSettings:
useVirtualOffset: 1
validityThreshold: 0.25
outOfGeoOffset: 0.01
searchMultiplier: 0.2
rayOriginBias: -0.001
collisionMask:
serializedVersion: 2
m_Bits: 4294967291
m_SceneGUIDs:
- 88c96d6a55633174980fc69d3fa16e9f
obsoleteScenesToNotBake: []
m_LightingScenarios:
- Default
cellDescs:
m_Keys:
m_Values: []
m_SerializedPerSceneCellList: []
cellSharedDataAsset:
m_AssetGUID:
m_StreamableAssetPath:
m_ElementSize: 0
m_StreamableCellDescs:
m_Keys:
m_Values: []
m_Asset: {fileID: 0}
scenarios:
m_Keys: []
m_Values: []
cellBricksDataAsset:
m_AssetGUID:
m_StreamableAssetPath:
m_ElementSize: 0
m_StreamableCellDescs:
m_Keys:
m_Values: []
m_Asset: {fileID: 0}
cellSupportDataAsset:
m_AssetGUID:
m_StreamableAssetPath:
m_ElementSize: 0
m_StreamableCellDescs:
m_Keys:
m_Values: []
m_Asset: {fileID: 0}
chunkSizeInBricks: 128
maxCellPosition: {x: 0, y: 0, z: 0}
minCellPosition: {x: 0, y: 0, z: 0}
globalBounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 0, y: 0, z: 0}
bakedSimplificationLevels: 3
bakedMinDistanceBetweenProbes: 1
bakedProbeOcclusion: 0
bakedSkyOcclusionValue: 0
bakedSkyShadingDirectionValue: 0
bakedProbeOffset: {x: 0, y: 0, z: 0}
bakedMaskCount: 1
bakedLayerMasks:
x: 0
y: 0
z: 0
w: 0
maxSHChunkCount: -1
L0ChunkSize: 0
L1ChunkSize: 0
L2TextureChunkSize: 0
ProbeOcclusionChunkSize: 0
sharedValidityMaskChunkSize: 8192
sharedSkyOcclusionL0L1ChunkSize: 0
sharedSkyShadingDirectionIndicesChunkSize: 0
sharedDataChunkSize: 0
supportPositionChunkSize: 0
supportValidityChunkSize: 0
supportTouchupChunkSize: 0
supportLayerMaskChunkSize: 0
supportOffsetsChunkSize: 0
supportDataChunkSize: 0
lightingScenario: Default
version: 2
freezePlacement: 0
probeOffset: {x: 0, y: 0, z: 0}
simplificationLevels: 3
minDistanceBetweenProbes: 1
renderersLayerMask:
serializedVersion: 2
m_Bits: 4294967295
minRendererVolumeSize: 0.1
skyOcclusion: 0
skyOcclusionBakingSamples: 2048
skyOcclusionBakingBounces: 2
skyOcclusionAverageAlbedo: 0.6
skyOcclusionBackFaceCulling: 0
skyOcclusionShadingDirection: 0
useRenderingLayers: 0
renderingLayerMasks: []
m_SceneBakeData:
m_Keys:
- 88c96d6a55633174980fc69d3fa16e9f
m_Values:
- hasProbeVolume: 0
bakeScene: 1
bounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 0, y: 0, z: 0}
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4f645c1753986c940bd01bce71e2c5c3
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,419 @@
{
"introduction":
"""With the addition of Shader Graph support to the terrain system, artists now have the flexibility to design their own terrain solutions and customize them to fit their specific visual goals and performance budgets. This sample set provides a large set of example terrain shaders and dozens of subgraphs that can be mixed and matched to create new shaders for terrain.
The example terrain shaders consist of the following elements. The names of each terrain shader indicate which of these elements are being used.
<b>Texture packing scheme</b>
The number of textures used to define a material and how the properties are packed into the channels of the textures. These terrain shaders use either a 3 texture packing scheme (CNM), or a 2 texture packing scheme (CSNOH).
<b>Layer type</b>
Controls the features and behavior of individual terrain layers/materials. Primarily, this means the type of tile break-up that the layer uses, but could also include other features such as detail mapping, triplanar projection, or parallax mapping. Most of the samples use the same layer type for all 4 layers, but it’s most efficient to use the cheapest layer type for each layer, depending on the needs of the specific material the layer is using.
<b>Tile break-up type</b>
Each layer uses one of the methods for reducing tiling artifacts. The Simple type is the cheapest, but does no tile break-up. Rotation is the simplest and cheapest form of tile break-up. Other methods - like Procedural, and Hex are more effective at tile break-up, but they’re also more expensive.
<b>Layer Blend type</b>
Layers can be blended with additive blending (Blend) or with height blending (Height).
More details on all of these elements can be found in <a href="https://docs.unity3d.com/Packages/com.unity.shadergraph@latest/index.html?subfolder=/manual/Shader-Graph-Sample-Terrain.html">the sample’s documentation.</a>
Select one of the example shaders from the drop-down menu to jump to that sample in the scene and see how it works. Shaders are in order from cheapest to most expensive for performance.
""",
"samples": [
{
"title": "CNM Simple Blend",
"prefabName": "TerrainCNMSimpleBlend",
"description":
"""<ignore><link="CNM Simple Blend.shadergraph">Open the example shader</link></ignore>
This shader is designed to be as simple as possible while still using the standard texture packing method - CNM. It’s using simple lerp blending. In our testing this shader came out slightly cheaper than the Terrain Lit code version.
Texture Packing Type: CNM
Layer Type: Simple
Layer Blend Type: Alpha Blend
Tile Breakup Type: None
Material Mask Type: Painted Splatmap
Texture Samples: 13
Relative Cost: 0.88
"""
},
{
"title": "CNM Simple Height",
"prefabName": "TerrainCNMSimpleHeight",
"description":
"""<ignore><link="CNM Simple Height.shadergraph">Open the example shader</link></ignore>
This shader is the same as CNMSimpleBlend, but it’s using height-based blending instead of lerp blending for a more realistic look.
Texture Packing Type: CNM
Layer Type: Simple
Layer Blend Type: Height Blend
Tile Breakup Type: None
Material Mask Type: Painted Splatmap
Texture Samples: 13
Relative Cost: 0.92
"""
},
{
"title": "CNM Rotation Height",
"prefabName": "TerrainCNMRotationHeight",
"description":
"""<ignore><link="CNM Rotation Height.shadergraph">Open the example shader</link></ignore>
This shader uses LayerRot layer type - so it’s using the rotation method for tile break-up. It is not as effective as the hex tile method, but it’s cheaper. Layers are blended using height-based blending.
Texture Packing Type: CNM
Layer Type: Rotation
Layer Blend Type: Height Blend
Tile Breakup Type: Rotation
Material Mask Type: Painted Splatmap
Texture Samples: 29
Relative Cost: 2.32
"""
},
{
"title": "CNM Procedural Height",
"prefabName": "TerrainCNMProceduralHeight",
"description":
"""<ignore><link="CNM Procedural Height.shadergraph">Open the example shader</link></ignore>
This shader uses the Procedural method of breaking up the repetition. It’s similar to the Rotation method in that it samples the material textures twice, but the mask that blends between them is generated procedurally instead of using a mask texture. It’s more expensive than the Rotation method, but also more effective at tile break-up.
Texture Packing Type: CNM
Layer Type: Tile Break
Layer Blend Type: Height Blend
Tile Breakup Type: Tile Breakup
Material Mask Type: Painted Splatmap
Texture Samples: 25
Relative Cost: 3.56
"""
},
{
"title": "CNM Hex Height",
"prefabName": "TerrainCNMHexHeight",
"description":
"""<ignore><link="CNM Hex Height.shadergraph">Open the example shader</link></ignore>
This shader uses the LayerHex layer nodes (including one LayerHexDetail layer) - so it’s doing the hex tile method of repetition artifact break-up. It’s more expensive than the other shaders, but is the most effective at breaking up repetition. This shader also uses height blending for more realistic transitions between layers.
Texture Packing Type: CNM
Layer Type: Hex
Layer Blend Type: Height Blend
Tile Breakup Type: Hexagon Tiles
Material Mask Type: Painted Splatmap
Texture Samples: 37
Relative Cost: 4.08
"""
},
{
"title": "CHNOS Array Dither",
"prefabName": "TerrainCHNOSArray Dither",
"description":
"""<ignore><link="CHNOS Array Dither.shadergraph">Open the example shader</link></ignore>
This shader uses an innovative technique for reducing texture samples as much as possible. The texture packing scheme packs the data from multiple materials into a single array texture. For each terrain material, the color and height data are stored in individual CH textures (color in RGB, height in the alpha channel). But the normal, occlusion, and smoothness for all of the materials on the terrain are packed into a single array texture. Because of this packing scheme, this 4-layer shader is able to do just 6 texture samples total vs the CNMSimpleBlend shader which requires 13! A dithered mask is used to select the array index - which removes the hard seams that would otherwise be present when sampling a texture array.
Texture Packing Type: CHNOS Array
Layer Type: Array
Layer Blend Type: Height Blend Dithered
Tile Breakup Type: None
Material Mask Type: Painted Splatmap
Texture Samples: 6
Relative Cost: 0.4
"""
},
{
"title": "CHNOS Hex Array",
"prefabName": "TerrainCHNOSHexArray",
"description":
"""<ignore><link="CHNOS Array Hex.shadergraph">Open the example shader</link></ignore>
This shader uses the same packing scheme as CHNOSArray, but also includes hex grid tiling to break up texture repetition. This four-layer shader is doing just 14 texture samples vs the CNMHexHeight shader, which is doing 37!
Texture Packing Type: CH NOSArray
Layer Type: Array Hex
Layer Blend Type: Height Blend
Tile Breakup Type: Hexagon Tiles
Material Mask Type: Painted Splatmap
Texture Samples: 16
Relative Cost: 1.64
"""
},{
"title": "CSNOH Simple Blend",
"prefabName": "TerrainCSNOHSimpleBlend",
"description":
"""<ignore><link="CSNOH Simple Blend.shadergraph">Open the example shader</link></ignore>
This shader is designed to be as simple as possible. It uses the CSNOH texture packing type to reduce the number of texture samples required per layer from 3 down to 2. It’s also using simple alpha blending. In our testing this shader and CSNOHSimpleHeight performed the same - both of them very cheap (much cheaper than their CNM counterparts).
Texture Packing Type: CSNOH
Layer Type: Simple
Layer Blend Type: Alpha Blend
Tile Breakup Type: None
Material Mask Type: Painted Splatmap
Texture Samples: 9
Relative Cost: 0.56
"""
},
{
"title": "CSNOH Simple Height",
"prefabName": "TerrainCSNOHSimpleHeight",
"description":
"""<ignore><link="CSNOH Simple Height.shadergraph">Open the example shader</link></ignore>
This shader is the same as CSNOHSimpleBlend, but it’s using height-based blending instead of lerp blending for a more realistic look.
Texture Packing Type: CSNOH
Layer Type: Simple
Layer Blend Type: Height Blend
Tile Breakup Type: None
Material Mask Type: Painted Splatmap
Texture Samples: 9
Relative Cost: 0.56
"""
},
{
"title": "CSNOH Rotation Height",
"prefabName": "TerrainCSNOHRotationHeight",
"description":
"""<ignore><link="CSNOH Rotation Height.shadergraph">Open the example shader</link></ignore>
This shader uses LayerRotationCSNOH layer type - so it’s using the rotation method for tile break-up. It is not as effective as the hex tile method, but it’s cheaper. Layers are blended using height-based blending.
Texture Packing Type: CSNOH
Layer Type: Rotation
Layer Blend Type: Height Blend
Tile Breakup Type: Rotation
Material Mask Type: Painted Splatmap
Texture Samples: 21
Relative Cost: 1.68
"""
},
{
"title": "CSNOH Procedural Height",
"prefabName": "TerrainCSNOHProceduralHeight",
"description":
"""<ignore><link="CSNOH Procedural Height.shadergraph">Open the example shader</link></ignore>
This shader uses the Procedural method of breaking up the repetition. It’s similar to the Rotation method in that it samples the material textures twice, but the mask that blends between them is generated procedurally instead of using a mask texture. It’s more expensive than the Rotation method, but also more effective at tile break-up.
Texture Packing Type: CSNOH
Layer Type: Tile Break
Layer Blend Type: Height Blend
Tile Breakup Type: Tile Break
Material Mask Type: Painted Splatmap
Texture Samples: 21
Relative Cost: 2.56
"""
},
{
"title": "CSNOH Parallax Height",
"prefabName": "TerrainCSNOHParallaxHeight",
"description":
"""<ignore><link="CSNOH Parallax Height.shadergraph">Open the example shader</link></ignore>
This shader uses parallax mapping - a form of ray marching, to create the illusion of tessellation and displacement on the surface of the terrain. Since we’re doing many texture samples, this technique can be quite expensive. Unlike this example which uses LayerParallaxCSNOH layers for every layer, we recommend using only one or two LayerParallaxCSNOH nodes (for the materials that really need them) in your shaders to save on performance.
Texture Packing Type: CSNOH
Layer Type: Parallax
Layer Blend Type: Height Blend
Tile Breakup Type: None
Material Mask Type: Painted Splatmap
Texture Samples: variable
Relative Cost: 5.2
"""
},
{
"title": "CSNOH Hex Blend",
"prefabName": "TerrainCSNOHHexBlend",
"description":
"""<ignore><link="CSNOH Hex Blend.shadergraph">Open the example shader</link></ignore>
This shader uses the LayerHexCSNOH layer nodes - so it’s doing the hex tile method of repetition artifact break-up. It’s using standard alpha blending between the layers instead of height-based blending. It’s more expensive than CSNOHSimpleBlend or CSNOHRotHeight, but is the most effective at breaking up repetition.
Texture Packing Type: CSNOH
Layer Type: Hex
Layer Blend Type: Alpha Blend
Tile Breakup Type: Hexagon Tiles
Material Mask Type: Painted Splatmap
Texture Samples: 25
Relative Cost: 3.12
"""
},
{
"title": "CSNOH Hex Height",
"prefabName": "TerrainCSNOHHexHeight",
"description":
"""<ignore><link="CSNOH Hex Height.shadergraph">Open the example shader</link></ignore>
This shader uses the LayerHexCSNOH layer nodes - so it’s doing the hex tile method of repetition artifact break-up. Layers are blended using height-based blending. It’s more expensive than CSNOHSimpleBlend or CSNOHRotHeight, but is the most effective at breaking up repetition.
Texture Packing Type: CSNOH
Layer Type: Hex
Layer Blend Type: Height Blend
Tile Breakup Type: Hexagon Tiles
Material Mask Type: Painted Splatmap
Texture Samples: 25
Relative Cost: 3.36
"""
},
{
"title": "CSNOH Hex Parallax Height",
"prefabName": "TerrainCSNOHHexParallaxHeight",
"description":
"""<ignore><link="CSNOH Hex Parallax Height.shadergraph">Open the example shader</link></ignore>
This shader is using both parallax mapping and hex grid tile break-up for every layer. It is <u>extremely</u> expensive because of the high number of texture samples required by all of the layers. We DO NOT recommend using a shader like this in production (where every layer is using the most expensive layer type). Instead, you should mix and match layer types based on the requirements of the materials you’re using. This example is included for performance and visual comparison purposes.
Texture Packing Type: CSNOH
Layer Type: Hex
Layer Blend Type: Height Blend
Tile Breakup Type: Hexagon Tiles
Material Mask Type: Painted Splatmap
Texture Samples: variable - very high
Relative Cost: 19.8
"""
},
{
"title": "CSNOH Auto Material Simple",
"prefabName": "TerrainCSNOHAutoMaterialSimple",
"description":
"""<ignore><link="CSNOH Auto Material Simple.shadergraph">Open the example shader</link></ignore>
This is an example of a shader that can automatically apply materials to surfaces without requiring any manual painting or pre-generated splat maps. The shader uses the angle of the terrain along with the altitude to apply grass, dirt, rocks, cliff faces, and even snow in appropriate locations. At lower altitudes, the shader blends between grass on flat surfaces and dirt on more angled surfaces. At higher altitudes, the shader blends between rocky soil on flat surfaces and cliff faces on slopes. Then it blends the two together and adds snow on top.
Texture Packing Type: CSNOH
Layer Type: Simple Auto
Layer Blend Type: Height Blend
Tile Breakup Type: None
Material Mask Type: Procedural
Texture Samples: 10
Relative Cost: 0.72
"""
},
{
"title": "CSNOH Auto Material Rotation",
"prefabName": "TerrainCSNOHAutoMaterialRotation",
"description":
"""<ignore><link="CSNOH Auto Material Rotation.shadergraph">Open the example shader</link></ignore>
This is a second example of an auto material that applies materials based on terrain angle and altitude rather than manual painting. This version uses the Rotation technique for breaking up tiling.
Texture Packing Type: CSNOH
Layer Type: Rotation Auto
Layer Blend Type: Height Blend
Tile Breakup Type: Rotation
Material Mask Type: Procedural
Texture Samples: 20
Relative Cost: 5.04
"""
},
{
"title": "CSNOH Auto Material Hex",
"prefabName": "TerrainCSNOHAutoMaterialHex",
"description":
"""<ignore><link="CSNOH Auto Material Hex.shadergraph">Open the example shader</link></ignore>
This example shader is similar to CSNOH Auto Material Simple, but it uses the hex grid tiling technique to break up the texture tiling.
Texture Packing Type: CSNOH
Layer Type: Hex Auto
Layer Blend Type: Height Blend
Tile Breakup Type: Hexagon Tiles
Material Mask Type: Procedural
Texture Samples: 30
Relative Cost: 4.68
"""
},
{
"title": "Standard Terrain Lit",
"prefabName": "StandardTerrainLit",
"description":
"""<ignore><link=""></link></ignore>
This example is using the existing Terrain Lit shader that's written in code. It's here so you can compare its performance and features with the shaders created in Shader Graph.
Texture Packing Type: CNM
Layer Type: Built-In
Layer Blend Type: Multiply/Add Blend
Tile Breakup Type: None
Material Mask Type: Painted Splatmap
Texture Samples: 13
Relative Cost: 1.0
"""
},
{
"title": "Tile Breakup - None",
"prefabName": "TileBreakupNone",
"description":
"""<ignore><link=""></link></ignore>
This is an example of what terrain materials look like when no tile breakup method is used. The textures repeat over and over and look very unnatural. Doing no tile breakup like this is cheaper, though, so you may need to use this method if performance is at a premium.
Here are some other ideas for tile breakup if you can't afford the performance cost of doing it in the shader:
- Scale the material larger so that it repeats less
- Edit the textures to remove unique features that make repetition more obvious.
- Make each terrain layer tile at a different rate and then paint the layers such that the blending itself breaks up the tiling.
- Hide the tiling with other details on the terrain like rocks, grass, trees, and other details.
In general, large stretches of empty terrain make the tiling more obvious so anything you can do to interupt that will reduce the repetativeness.
"""
},
{
"title": "Tile Breakup - Rotation",
"prefabName": "TileBreakupRotation",
"description":
"""<ignore><link=""></link></ignore>
This tile break-up method samples the material textures twice. The second texture sample has the UVs rotated 90 degrees and scaled differently. Then the two samples are blended together using a mask texture. This is the least expensive form of tile break-up. It provides decent results, but not perfect.
"""
},
{
"title": "Tile Breakup - Procedural",
"prefabName": "TileBreakupProcedural",
"description":
"""<ignore><link=""></link></ignore>
This tile break-up method is similar to the Rotation method in that it samples the material's textures twice. The difference is that the mask that blends the two samples is generated procedurally instead of using another texture. Because it's generated procedurally, the mask can adapt and blend between the two samples in the most effective way.
"""
},
{
"title": "Tile Breakup - Hexagon Tiles",
"prefabName": "TileBreakupHex",
"description":
"""<ignore><link=""></link></ignore>
This tile break-up method uses a hexagon grid. The grid is procedurally generated and each tile has a unique offset, scale, and rotation. These transforms are applied to the material textures to create the tile breakup. In order to blend smoothly between each hex tile, the material textures must be sampled 3 times. Because of these extra samples, this is the most expensive tile break-up method. But it's also the most effective.
"""
},
{
"title": "4 Layers Plus URP",
"prefabName": "4LayersPlusURP",
"description":
"""<ignore><link="CNM Simple Blend 4PlusLayers URP.shadergraph">Open the example shader</link></ignore>
This shader is designed to support terrains with more than 4 layers in the Universal Render Pipeline.
This is done by grouping the layers 4 by 4, premultiplying each layer with its corresponding mask, and adding them together.
They are then rendered in additive passes, stacking each group of 4 over the previous one.
For each new pass, the layer indices are shifted back by 4, and the mask index by 1.
Texture Packing Type: CNM
Layer Type: Simple
Layer Blend Type: Alpha Premultiplied
Tile Breakup Type: None
Material Mask Type: Painted Splatmap
Texture Samples: 13 per pass of 4 layers
Relative Cost: 0.88 per pass
"""
}
]
}
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 05d11016824a8b4419d9039cce9bfc62
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 97e4f1426f336d24caeecfc7f2f23d4b
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant: