parent
14c9055028
commit
f4efa953a9
126 changed files with 10286 additions and 0 deletions
@ -0,0 +1,8 @@ |
||||
fileFormatVersion: 2 |
||||
guid: aecdca8e9f9827a4686c85e26b8e3100 |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,8 @@ |
||||
fileFormatVersion: 2 |
||||
guid: bf3d25e31752a004cb3483acbc45007f |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,14 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 01906810e0ab0264288634532a607697 |
||||
TextScriptImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
AssetOrigin: |
||||
serializedVersion: 1 |
||||
productId: 141671 |
||||
packageName: ShaderGraph Essentials |
||||
packageVersion: 1.1.17 |
||||
assetPath: Assets/Plugins/ShaderGraphEssentials/ChangeLog.txt |
||||
uploadId: 607369 |
||||
@ -0,0 +1,8 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 13ea453eb7829fa41983a355022348ad |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,8 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 89bd8c9a72dfe7e40910f88c408c350e |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,8 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 73b310222da1fcf4fba1fa91066b58f2 |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,8 @@ |
||||
fileFormatVersion: 2 |
||||
guid: ea6dabab92f8a1841baa2bb3320b840b |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
BIN
Assets/Plugins/ShaderGraphEssentials/Plugin/Editor/GettingStarted/Data/SGE_key_128x128.png (Stored with Git LFS)
vendored
BIN
Assets/Plugins/ShaderGraphEssentials/Plugin/Editor/GettingStarted/Data/SGE_key_128x128.png (Stored with Git LFS)
vendored
Binary file not shown.
@ -0,0 +1,108 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 830d6e48d2c197a4aacb6e3da898cc28 |
||||
TextureImporter: |
||||
internalIDToNameTable: [] |
||||
externalObjects: {} |
||||
serializedVersion: 10 |
||||
mipmaps: |
||||
mipMapMode: 0 |
||||
enableMipMap: 0 |
||||
sRGBTexture: 1 |
||||
linearTexture: 0 |
||||
fadeOut: 0 |
||||
borderMipMap: 0 |
||||
mipMapsPreserveCoverage: 0 |
||||
alphaTestReferenceValue: 0.5 |
||||
mipMapFadeDistanceStart: 1 |
||||
mipMapFadeDistanceEnd: 3 |
||||
bumpmap: |
||||
convertToNormalMap: 0 |
||||
externalNormalMap: 0 |
||||
heightScale: 0.25 |
||||
normalMapFilter: 0 |
||||
isReadable: 0 |
||||
streamingMipmaps: 0 |
||||
streamingMipmapsPriority: 0 |
||||
grayScaleToAlpha: 0 |
||||
generateCubemap: 6 |
||||
cubemapConvolution: 0 |
||||
seamlessCubemap: 0 |
||||
textureFormat: 1 |
||||
maxTextureSize: 2048 |
||||
textureSettings: |
||||
serializedVersion: 2 |
||||
filterMode: -1 |
||||
aniso: -1 |
||||
mipBias: -100 |
||||
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: 1 |
||||
singleChannelComponent: 0 |
||||
maxTextureSizeSet: 0 |
||||
compressionQualitySet: 0 |
||||
textureFormatSet: 0 |
||||
platformSettings: |
||||
- serializedVersion: 2 |
||||
buildTarget: DefaultTexturePlatform |
||||
maxTextureSize: 2048 |
||||
resizeAlgorithm: 0 |
||||
textureFormat: 3 |
||||
textureCompression: 0 |
||||
compressionQuality: 50 |
||||
crunchedCompression: 0 |
||||
allowsAlphaSplitting: 0 |
||||
overridden: 0 |
||||
androidETC2FallbackOverride: 0 |
||||
- serializedVersion: 2 |
||||
buildTarget: Standalone |
||||
maxTextureSize: 2048 |
||||
resizeAlgorithm: 0 |
||||
textureFormat: 3 |
||||
textureCompression: 0 |
||||
compressionQuality: 50 |
||||
crunchedCompression: 0 |
||||
allowsAlphaSplitting: 0 |
||||
overridden: 0 |
||||
androidETC2FallbackOverride: 0 |
||||
spriteSheet: |
||||
serializedVersion: 2 |
||||
sprites: [] |
||||
outline: [] |
||||
physicsShape: [] |
||||
bones: [] |
||||
spriteID: |
||||
internalID: 0 |
||||
vertices: [] |
||||
indices: |
||||
edges: [] |
||||
weights: [] |
||||
secondaryTextures: [] |
||||
spritePackingTag: |
||||
pSDRemoveMatte: 0 |
||||
pSDShowRemoveMatteOption: 0 |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
AssetOrigin: |
||||
serializedVersion: 1 |
||||
productId: 141671 |
||||
packageName: ShaderGraph Essentials |
||||
packageVersion: 1.1.17 |
||||
assetPath: Assets/Plugins/ShaderGraphEssentials/Plugin/Editor/GettingStarted/Data/SGE_key_128x128.png |
||||
uploadId: 607369 |
||||
@ -0,0 +1,18 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 279d2f6664e4af347a537c4f9a9bd000 |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
AssetOrigin: |
||||
serializedVersion: 1 |
||||
productId: 141671 |
||||
packageName: ShaderGraph Essentials |
||||
packageVersion: 1.1.17 |
||||
assetPath: Assets/Plugins/ShaderGraphEssentials/Plugin/Editor/GettingStarted/GettingStartedWindow.cs |
||||
uploadId: 607369 |
||||
@ -0,0 +1,18 @@ |
||||
fileFormatVersion: 2 |
||||
guid: f261da61669a6ab4bb6571eae406da7e |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
AssetOrigin: |
||||
serializedVersion: 1 |
||||
productId: 141671 |
||||
packageName: ShaderGraph Essentials |
||||
packageVersion: 1.1.17 |
||||
assetPath: Assets/Plugins/ShaderGraphEssentials/Plugin/Editor/GettingStarted/SGESettings.cs |
||||
uploadId: 607369 |
||||
@ -0,0 +1,8 @@ |
||||
fileFormatVersion: 2 |
||||
guid: ad68d7bf033528d4f9ac90b9c4cb8e30 |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,8 @@ |
||||
fileFormatVersion: 2 |
||||
guid: e2a68d368e9d9bd4e983b7b3c670977c |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,8 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 588f9158ddf0fdb4e8d710476f605966 |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,8 @@ |
||||
fileFormatVersion: 2 |
||||
guid: b01fbbe189ceed1459c201c1c00f079b |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,24 @@ |
||||
NoiseDimensionEnumControlView { |
||||
flex-direction: row; |
||||
align-items: center; |
||||
} |
||||
|
||||
.unity-base-field { |
||||
width: 80px; |
||||
flex:1; |
||||
margin-top: 4px; |
||||
margin-bottom: 4px; |
||||
} |
||||
|
||||
.unity-base-field__input { |
||||
flex:1; |
||||
margin-left: 0; |
||||
margin-right: 8px; |
||||
} |
||||
|
||||
NoiseDimensionEnumControlView > Label { |
||||
width: 94px; |
||||
-unity-text-align: middle-left; |
||||
margin-left: 8px; |
||||
margin-right: 8px; |
||||
} |
||||
@ -0,0 +1,10 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 54d755914ee66e1419d86ef8c20e4cae |
||||
ScriptedImporter: |
||||
fileIDToRecycleName: |
||||
11400000: stylesheet |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} |
||||
@ -0,0 +1,24 @@ |
||||
NoisePeriodicityEnumControlView { |
||||
flex-direction: row; |
||||
align-items: center; |
||||
} |
||||
|
||||
.unity-base-field { |
||||
width: 80px; |
||||
flex:1; |
||||
margin-top: 4px; |
||||
margin-bottom: 4px; |
||||
} |
||||
|
||||
.unity-base-field__input { |
||||
flex:1; |
||||
margin-left: 0; |
||||
margin-right: 8px; |
||||
} |
||||
|
||||
NoisePeriodicityEnumControlView > Label { |
||||
width: 94px; |
||||
-unity-text-align: middle-left; |
||||
margin-left: 8px; |
||||
margin-right: 8px; |
||||
} |
||||
@ -0,0 +1,10 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 10a0af41f9362544e8a5c306f9942438 |
||||
ScriptedImporter: |
||||
fileIDToRecycleName: |
||||
11400000: stylesheet |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} |
||||
@ -0,0 +1,8 @@ |
||||
fileFormatVersion: 2 |
||||
guid: dea7a28dfc4a37340b641543d816e5b9 |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,11 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 5137c095bd891b840abd2a0f12c5723e |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,8 @@ |
||||
fileFormatVersion: 2 |
||||
guid: ba6f5b66a775b7a4d8abf1c7007d1890 |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,11 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 31d397cf980147445a9e054fd7b13e38 |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,11 @@ |
||||
fileFormatVersion: 2 |
||||
guid: d05d9af0ac1bdb845888d9d4358dcd48 |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,11 @@ |
||||
fileFormatVersion: 2 |
||||
guid: bfd35b78c9062f948b58a867d5dead07 |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,8 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 3b5c559d9c416b44b8c04654489a5a25 |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,11 @@ |
||||
fileFormatVersion: 2 |
||||
guid: b7dbe737a5cf86a428ad601b0ed7dd02 |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,11 @@ |
||||
fileFormatVersion: 2 |
||||
guid: b03f53e47b88fc0479be04d4a28d0cde |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,11 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 8ae5760f57c1a0144bc20ac7b0704c17 |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,11 @@ |
||||
fileFormatVersion: 2 |
||||
guid: f961cef2bf0bcd34f8b00182eef4458a |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,11 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 3dc125d912c9f31479400894ede9a199 |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,8 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 58e3529e56bdbc042a6cff97fc2d8885 |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,11 @@ |
||||
fileFormatVersion: 2 |
||||
guid: e10efe297bc3aea4fbdc8e4147ab0178 |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,11 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 468957cccb71d1a46985d58b77ee6f99 |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,11 @@ |
||||
fileFormatVersion: 2 |
||||
guid: d8584ab31558d994b9dfae34a08a8a58 |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,11 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 6aaccfec24042f245a20bc72478add18 |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,11 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 09d3fd444facb7a45b576c88924dfb1d |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,11 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 4cd8d6f4683cded4b9a027cb00372149 |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,11 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 10a8ecb717008aa4c965b032befb38a0 |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,11 @@ |
||||
fileFormatVersion: 2 |
||||
guid: ae75eec60c9735740a8df0661e9b8398 |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,11 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 26ddce98423a567458e119ab7d919160 |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,8 @@ |
||||
fileFormatVersion: 2 |
||||
guid: f6a355c2bd4f8924bac91d0e229365dd |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,8 @@ |
||||
fileFormatVersion: 2 |
||||
guid: d281b2ab1eaf7a645b6dcab48b0aeebe |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,8 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 65879b152d0758649b06703d79e60cdb |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,11 @@ |
||||
fileFormatVersion: 2 |
||||
guid: be3830ad503e7ab4cbb800382c00ea98 |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,8 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 7ed365abd470c62479184d2f8e2c3879 |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,11 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 8b07f9a0feadeb144b67bc728b12c3a2 |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,8 @@ |
||||
fileFormatVersion: 2 |
||||
guid: bee0e3d65a4bc434db601704c490e8fb |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,11 @@ |
||||
fileFormatVersion: 2 |
||||
guid: da3d3f2a8d7d85e449a9c0012d1a5fed |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,8 @@ |
||||
fileFormatVersion: 2 |
||||
guid: d04914cc1d29a5b4c81c638af78bc0e4 |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,9 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 02c6e7a62fa4a1043bfbdfea0d508a7c |
||||
ShaderImporter: |
||||
externalObjects: {} |
||||
defaultTextures: [] |
||||
nonModifiableTextures: [] |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,138 @@ |
||||
|
||||
void InitializeInputData(Varyings input, SurfaceDescription surfaceDescription, out InputData inputData) |
||||
{ |
||||
inputData = (InputData)0; |
||||
|
||||
inputData.positionWS = input.positionWS; |
||||
inputData.positionCS = input.positionCS; |
||||
|
||||
#ifdef _NORMALMAP |
||||
// IMPORTANT! If we ever support Flip on double sided materials ensure bitangent and tangent are NOT flipped. |
||||
float crossSign = (input.tangentWS.w > 0.0 ? 1.0 : -1.0) * GetOddNegativeScale(); |
||||
float3 bitangent = crossSign * cross(input.normalWS.xyz, input.tangentWS.xyz); |
||||
|
||||
inputData.tangentToWorld = half3x3(input.tangentWS.xyz, bitangent.xyz, input.normalWS.xyz); |
||||
#if _NORMAL_DROPOFF_TS |
||||
inputData.normalWS = TransformTangentToWorld(surfaceDescription.NormalTS, inputData.tangentToWorld); |
||||
#elif _NORMAL_DROPOFF_OS |
||||
inputData.normalWS = TransformObjectToWorldNormal(surfaceDescription.NormalOS); |
||||
#elif _NORMAL_DROPOFF_WS |
||||
inputData.normalWS = surfaceDescription.NormalWS; |
||||
#endif |
||||
#else |
||||
inputData.normalWS = input.normalWS; |
||||
#endif |
||||
inputData.normalWS = NormalizeNormalPerPixel(inputData.normalWS); |
||||
inputData.viewDirectionWS = GetWorldSpaceNormalizeViewDir(input.positionWS); |
||||
|
||||
#if defined(MAIN_LIGHT_CALCULATE_SHADOWS) |
||||
inputData.shadowCoord = TransformWorldToShadowCoord(inputData.positionWS); |
||||
#else |
||||
inputData.shadowCoord = float4(0, 0, 0, 0); |
||||
#endif |
||||
|
||||
inputData.fogCoord = InitializeInputDataFog(float4(input.positionWS, 1.0), input.fogFactorAndVertexLight.x); |
||||
inputData.vertexLighting = input.fogFactorAndVertexLight.yzw; |
||||
#if defined(DYNAMICLIGHTMAP_ON) |
||||
inputData.bakedGI = SAMPLE_GI(input.staticLightmapUV, input.dynamicLightmapUV.xy, input.sh, inputData.normalWS); |
||||
#elif !defined(LIGHTMAP_ON) && (defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2)) |
||||
inputData.bakedGI = SAMPLE_GI(input.sh, |
||||
GetAbsolutePositionWS(inputData.positionWS), |
||||
inputData.normalWS, |
||||
inputData.viewDirectionWS, |
||||
inputData.positionCS.xy); |
||||
#else |
||||
inputData.bakedGI = SAMPLE_GI(input.staticLightmapUV, input.sh, inputData.normalWS); |
||||
#endif |
||||
inputData.normalizedScreenSpaceUV = GetNormalizedScreenSpaceUV(input.positionCS); |
||||
inputData.shadowMask = SAMPLE_SHADOWMASK(input.staticLightmapUV); |
||||
|
||||
#if defined(DEBUG_DISPLAY) |
||||
#if defined(DYNAMICLIGHTMAP_ON) |
||||
inputData.dynamicLightmapUV = input.dynamicLightmapUV.xy; |
||||
#endif |
||||
#if defined(LIGHTMAP_ON) |
||||
inputData.staticLightmapUV = input.staticLightmapUV; |
||||
#else |
||||
inputData.vertexSH = input.sh; |
||||
#endif |
||||
#endif |
||||
} |
||||
|
||||
PackedVaryings vert(Attributes input) |
||||
{ |
||||
Varyings output = (Varyings)0; |
||||
output = BuildVaryings(input); |
||||
PackedVaryings packedOutput = (PackedVaryings)0; |
||||
packedOutput = PackVaryings(output); |
||||
return packedOutput; |
||||
} |
||||
|
||||
|
||||
void PatchSimpleLitSurfaceData(SurfaceDescription surfaceDescription, out SurfaceData outSurfaceData) |
||||
{ |
||||
outSurfaceData = (SurfaceData)0; |
||||
|
||||
#if _ALPHATEST_ON |
||||
half alpha = surfaceDescription.Alpha; |
||||
clip(alpha - surfaceDescription.AlphaClipThreshold); |
||||
#elif _SURFACE_TYPE_TRANSPARENT |
||||
half alpha = surfaceDescription.Alpha; |
||||
#else |
||||
half alpha = 1; |
||||
#endif |
||||
|
||||
outSurfaceData.alpha = alpha; |
||||
|
||||
outSurfaceData.albedo = surfaceDescription.BaseColor.rgb; |
||||
#ifdef _ALPHAPREMULTIPLY_ON |
||||
outSurfaceData.albedo *= outSurfaceData.alpha; |
||||
#endif |
||||
|
||||
half4 specularSmoothness = half4(surfaceDescription.Specular, surfaceDescription.Shininess * 128.0); |
||||
outSurfaceData.metallic = 0.0; // unused |
||||
outSurfaceData.specular = specularSmoothness.rgb; |
||||
outSurfaceData.smoothness = specularSmoothness.a; |
||||
outSurfaceData.normalTS = surfaceDescription.NormalTS; |
||||
outSurfaceData.occlusion = 1.0; |
||||
outSurfaceData.emission = surfaceDescription.Emission; |
||||
} |
||||
|
||||
FragmentOutput frag(PackedVaryings packedInput) |
||||
{ |
||||
Varyings unpacked = UnpackVaryings(packedInput); |
||||
UNITY_SETUP_INSTANCE_ID(unpacked); |
||||
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(unpacked); |
||||
|
||||
SurfaceDescription surfaceDescription = BuildSurfaceDescription(unpacked); |
||||
|
||||
SurfaceData surfaceData; |
||||
PatchSimpleLitSurfaceData(surfaceDescription, surfaceData); |
||||
|
||||
#if defined(LOD_FADE_CROSSFADE) && USE_UNITY_CROSSFADE |
||||
LODFadeCrossFade(unpacked.positionCS); |
||||
#endif |
||||
|
||||
InputData inputData; |
||||
InitializeInputData(unpacked, surfaceDescription, inputData); |
||||
// TODO: Mip debug modes would require this, open question how to do this on ShaderGraph. |
||||
//SETUP_DEBUG_TEXTURE_DATA(inputData, unpacked.uv, _MainTex); |
||||
|
||||
float3 specular = surfaceDescription.Specular; |
||||
|
||||
#ifdef _DBUFFER |
||||
ApplyDecal(unpacked.positionCS, |
||||
surfaceDescription.BaseColor, |
||||
specular, |
||||
inputData.normalWS, |
||||
1, |
||||
surfaceDescription.Occlusion, |
||||
surfaceDescription.Smoothness); |
||||
#endif |
||||
|
||||
Light mainLight = GetMainLight(inputData.shadowCoord, inputData.positionWS, inputData.shadowMask); |
||||
MixRealtimeAndBakedGI(mainLight, inputData.normalWS, inputData.bakedGI, inputData.shadowMask); |
||||
half4 color = half4(inputData.bakedGI * surfaceData.albedo + surfaceData.emission, surfaceData.alpha); |
||||
|
||||
return SurfaceDataToGbuffer(surfaceData, inputData, color.rgb, kLightingSimpleLit); |
||||
} |
||||
@ -0,0 +1,7 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 512d43598c2b0804188d603a2937acbb |
||||
ShaderIncludeImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,33 @@ |
||||
#ifndef UNIVERSAL_LIGHTING_INCLUDED |
||||
#define UNIVERSAL_LIGHTING_INCLUDED |
||||
// necessary otherwise it'll throw en error on the node itself in the graph |
||||
// because the node HAS to compile by itself |
||||
// so without this, the master node is fine but this node itself won't compile because it doesn't know what "Light" is |
||||
struct Light |
||||
{ |
||||
half3 direction; |
||||
half3 color; |
||||
half distanceAttenuation; |
||||
half shadowAttenuation; |
||||
uint layerMask; |
||||
}; |
||||
// struct copied from "Packages/com.unity.render-pipelines.lightweight/ShaderLibrary/Lighting.hlsl" |
||||
#endif |
||||
|
||||
#ifndef SGE_CUSTOM_LIGHTING_INTERNAL_INCLUDED |
||||
#define SGE_CUSTOM_LIGHTING_INTERNAL_INCLUDED |
||||
|
||||
struct SGECustomLightingData |
||||
{ |
||||
float3 albedo; |
||||
float3 normal; |
||||
float3 specular; |
||||
float glossiness; |
||||
float smoothness; // converted from shininess |
||||
float3 emission; |
||||
float alpha; |
||||
float4 customLightingData1; // custom data you can use how you want (pass texture UV, vertex color ...etc) |
||||
float4 customLightingData2; |
||||
}; |
||||
|
||||
#endif |
||||
@ -0,0 +1,9 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 88bc0d7c5620cfd42b495c5b08e2a4c3 |
||||
ShaderImporter: |
||||
externalObjects: {} |
||||
defaultTextures: [] |
||||
nonModifiableTextures: [] |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,33 @@ |
||||
#ifndef UNIVERSAL_LIGHTING_INCLUDED |
||||
#define UNIVERSAL_LIGHTING_INCLUDED |
||||
// necessary otherwise it'll throw en error on the node itself in the graph |
||||
// because the node HAS to compile by itself |
||||
// so without this, the master node is fine but this node itself won't compile because it doesn't know what "Light" is |
||||
struct Light |
||||
{ |
||||
half3 direction; |
||||
half3 color; |
||||
half distanceAttenuation; |
||||
half shadowAttenuation; |
||||
uint layerMask; |
||||
}; |
||||
// struct copied from "Packages/com.unity.render-pipelines.lightweight/ShaderLibrary/Lighting.hlsl" |
||||
#endif |
||||
|
||||
// the only difference with this file and SGE_CustomLightingDataInternal.hlsl |
||||
// is that this one doens't #ifdef out the struct below. |
||||
// This file is included automatically in the graph using CustomLit |
||||
// whereas the SGE_CustomLightingDataInternal.hlsl is only there to get the user-defined custom function to compile. |
||||
#define SGE_CUSTOM_LIGHTING_INTERNAL_INCLUDED |
||||
struct SGECustomLightingData |
||||
{ |
||||
float3 albedo; |
||||
float3 normal; |
||||
float3 specular; |
||||
float glossiness; |
||||
float smoothness; // converted from shininess |
||||
float3 emission; |
||||
float alpha; |
||||
float4 customLightingData1; // custom data you can use how you want (pass texture UV, vertex color ...etc) |
||||
float4 customLightingData2; |
||||
}; |
||||
@ -0,0 +1,10 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 63cbeb35240376b4b8f71e4ccfc027a4 |
||||
ShaderImporter: |
||||
externalObjects: {} |
||||
defaultTextures: [] |
||||
nonModifiableTextures: [] |
||||
preprocessorOverride: 0 |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,63 @@ |
||||
#include "Assets/Plugins/ShaderGraphEssentials/Plugin/Editor/Plugin_URP/Shaders/SGE_CustomLightingInternal.hlsl" |
||||
|
||||
/* |
||||
* This is what you can access in the custom functions |
||||
struct Light |
||||
{ |
||||
half3 direction; |
||||
half3 color; |
||||
half distanceAttenuation; |
||||
half shadowAttenuation; |
||||
uint layerMask; |
||||
}; |
||||
|
||||
struct SGECustomLightingData |
||||
{ |
||||
float3 albedo; |
||||
float3 normal; // world space |
||||
float3 specular; |
||||
float glossiness; |
||||
float smoothness; // automatically converted from shininess |
||||
float3 emission; |
||||
float alpha; |
||||
float4 customLightingData1; // custom data you can use how you want (pass texture UV, properties / uniforms, vertex color ...etc) |
||||
float4 customLightingData2; |
||||
}; |
||||
*/ |
||||
|
||||
/* |
||||
* NOTES: |
||||
* Both of SGE_DiffuseLightingCustom and SGE_SpecularLightingCustom functions are called for each pixel light |
||||
* The name is hardcoded and very important, don't change it ! |
||||
* Also, you can't access Uniforms / Properties directly in there, |
||||
nor pass it to the custom function node |
||||
trying either of this will throw an error |
||||
but you can pass it through data.customLightingData1 and use it how you see fit. |
||||
(there's an example of this in SGE_ToonLighting.hlsl) |
||||
*/ |
||||
|
||||
// this will function is called for every light |
||||
half3 SGE_DiffuseLightingCustom(Light light, SGECustomLightingData data) |
||||
{ |
||||
float NdotL = saturate(dot(data.normal, light.direction)); |
||||
return light.color * NdotL * light.distanceAttenuation * light.shadowAttenuation; |
||||
} |
||||
|
||||
// this will function is called for every light |
||||
half3 SGE_SpecularLightingCustom(Light light, half3 viewDir, SGECustomLightingData data) |
||||
{ |
||||
float3 halfVec = SafeNormalize(light.direction + viewDir); |
||||
float NdotH = saturate(dot(data.normal, halfVec)); |
||||
float modifier = pow(NdotH, data.smoothness); |
||||
half3 specularReflection = data.specular * modifier; |
||||
return light.color * specularReflection * light.distanceAttenuation * light.shadowAttenuation; |
||||
} |
||||
|
||||
// necessary function because at the moment a custom function node NEEDS to output a result in the graph |
||||
// otherwise it can be optimized out |
||||
// here we don't do anything, so it doesn't matter where you plug this node, |
||||
// because the custom lighting function will be called by the master node |
||||
void Passthrough_float(float4 In, out float4 Out) |
||||
{ |
||||
Out = In; |
||||
} |
||||
@ -0,0 +1,9 @@ |
||||
fileFormatVersion: 2 |
||||
guid: ff58d7bda841877438d1453d66f77790 |
||||
ShaderImporter: |
||||
externalObjects: {} |
||||
defaultTextures: [] |
||||
nonModifiableTextures: [] |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,965 @@ |
||||
{ |
||||
"m_SGVersion": 2, |
||||
"m_Type": "UnityEditor.ShaderGraph.GraphData", |
||||
"m_ObjectId": "ed63c6b375e749ffa7267e5d1c22d817", |
||||
"m_Properties": [], |
||||
"m_Keywords": [], |
||||
"m_Nodes": [ |
||||
{ |
||||
"m_Id": "7efba297d0b74c8093d51218c6f395ff" |
||||
}, |
||||
{ |
||||
"m_Id": "a1d3bed2f71e4821a066eb16fb345c3f" |
||||
}, |
||||
{ |
||||
"m_Id": "cf9f37c16f3c4b809a112290771e909b" |
||||
}, |
||||
{ |
||||
"m_Id": "fadf2392448a4c6d9ba3d4f0c3686b9c" |
||||
}, |
||||
{ |
||||
"m_Id": "56729bfb24fb4e2ca951b1ddeb07c3f2" |
||||
}, |
||||
{ |
||||
"m_Id": "99b4dba4390b4069b70670fafb064690" |
||||
}, |
||||
{ |
||||
"m_Id": "acee2fabfe6146e9a2d3fdc348ff3c56" |
||||
}, |
||||
{ |
||||
"m_Id": "91cc7052d79a4ab2be1ade76e4a5dce1" |
||||
}, |
||||
{ |
||||
"m_Id": "f15775cdc4104f7aa5f3557417344d44" |
||||
}, |
||||
{ |
||||
"m_Id": "334cac89a1a1416d906a58e7e7e3edc7" |
||||
}, |
||||
{ |
||||
"m_Id": "dd567d54bd034347a473820fc6d86736" |
||||
}, |
||||
{ |
||||
"m_Id": "eb4eb88d62ad4999be29d2e49ae8c0f8" |
||||
}, |
||||
{ |
||||
"m_Id": "96bb2fb4f91942bb9606c4f2d40cb78a" |
||||
} |
||||
], |
||||
"m_GroupDatas": [], |
||||
"m_StickyNoteDatas": [ |
||||
{ |
||||
"m_Id": "198c71c014be406aaf84152cf667c598" |
||||
} |
||||
], |
||||
"m_Edges": [ |
||||
{ |
||||
"m_OutputSlot": { |
||||
"m_Node": { |
||||
"m_Id": "96bb2fb4f91942bb9606c4f2d40cb78a" |
||||
}, |
||||
"m_SlotId": 0 |
||||
}, |
||||
"m_InputSlot": { |
||||
"m_Node": { |
||||
"m_Id": "eb4eb88d62ad4999be29d2e49ae8c0f8" |
||||
}, |
||||
"m_SlotId": 0 |
||||
} |
||||
}, |
||||
{ |
||||
"m_OutputSlot": { |
||||
"m_Node": { |
||||
"m_Id": "eb4eb88d62ad4999be29d2e49ae8c0f8" |
||||
}, |
||||
"m_SlotId": 1 |
||||
}, |
||||
"m_InputSlot": { |
||||
"m_Node": { |
||||
"m_Id": "fadf2392448a4c6d9ba3d4f0c3686b9c" |
||||
}, |
||||
"m_SlotId": 0 |
||||
} |
||||
} |
||||
], |
||||
"m_VertexContext": { |
||||
"m_Position": { |
||||
"x": 0.0, |
||||
"y": 0.0 |
||||
}, |
||||
"m_Blocks": [ |
||||
{ |
||||
"m_Id": "7efba297d0b74c8093d51218c6f395ff" |
||||
}, |
||||
{ |
||||
"m_Id": "a1d3bed2f71e4821a066eb16fb345c3f" |
||||
}, |
||||
{ |
||||
"m_Id": "cf9f37c16f3c4b809a112290771e909b" |
||||
} |
||||
] |
||||
}, |
||||
"m_FragmentContext": { |
||||
"m_Position": { |
||||
"x": 0.0, |
||||
"y": 200.0 |
||||
}, |
||||
"m_Blocks": [ |
||||
{ |
||||
"m_Id": "fadf2392448a4c6d9ba3d4f0c3686b9c" |
||||
}, |
||||
{ |
||||
"m_Id": "56729bfb24fb4e2ca951b1ddeb07c3f2" |
||||
}, |
||||
{ |
||||
"m_Id": "99b4dba4390b4069b70670fafb064690" |
||||
}, |
||||
{ |
||||
"m_Id": "acee2fabfe6146e9a2d3fdc348ff3c56" |
||||
}, |
||||
{ |
||||
"m_Id": "91cc7052d79a4ab2be1ade76e4a5dce1" |
||||
}, |
||||
{ |
||||
"m_Id": "f15775cdc4104f7aa5f3557417344d44" |
||||
}, |
||||
{ |
||||
"m_Id": "334cac89a1a1416d906a58e7e7e3edc7" |
||||
}, |
||||
{ |
||||
"m_Id": "dd567d54bd034347a473820fc6d86736" |
||||
} |
||||
] |
||||
}, |
||||
"m_PreviewData": { |
||||
"serializedMesh": { |
||||
"m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", |
||||
"m_Guid": "" |
||||
} |
||||
}, |
||||
"m_Path": "Shader Graphs", |
||||
"m_ConcretePrecision": 0, |
||||
"m_OutputNode": { |
||||
"m_Id": "" |
||||
}, |
||||
"m_ActiveTargets": [ |
||||
{ |
||||
"m_Id": "41bfb34880a24490aa9f630f92947111" |
||||
} |
||||
] |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.StickyNoteData", |
||||
"m_ObjectId": "198c71c014be406aaf84152cf667c598", |
||||
"m_Title": "Custom Lighting", |
||||
"m_Content": "Input your own color in the custom function node.", |
||||
"m_TextSize": 0, |
||||
"m_Theme": 0, |
||||
"m_Position": { |
||||
"serializedVersion": "2", |
||||
"x": -606.0, |
||||
"y": 85.0, |
||||
"width": 200.0, |
||||
"height": 100.0 |
||||
}, |
||||
"m_Group": { |
||||
"m_Id": "" |
||||
} |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", |
||||
"m_ObjectId": "32073861999f411d875ed672cf22d495", |
||||
"m_Id": 0, |
||||
"m_DisplayName": "Normal", |
||||
"m_SlotType": 0, |
||||
"m_Hidden": false, |
||||
"m_ShaderOutputName": "Normal", |
||||
"m_StageCapability": 1, |
||||
"m_Value": { |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"z": 0.0 |
||||
}, |
||||
"m_DefaultValue": { |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"z": 0.0 |
||||
}, |
||||
"m_Labels": [], |
||||
"m_Space": 0 |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.BlockNode", |
||||
"m_ObjectId": "334cac89a1a1416d906a58e7e7e3edc7", |
||||
"m_Group": { |
||||
"m_Id": "" |
||||
}, |
||||
"m_Name": "SurfaceDescription.CustomLightingData1", |
||||
"m_DrawState": { |
||||
"m_Expanded": true, |
||||
"m_Position": { |
||||
"serializedVersion": "2", |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"width": 0.0, |
||||
"height": 0.0 |
||||
} |
||||
}, |
||||
"m_Slots": [ |
||||
{ |
||||
"m_Id": "44d74a125bc04035ababff9dfef7aa9b" |
||||
} |
||||
], |
||||
"synonyms": [], |
||||
"m_Precision": 0, |
||||
"m_PreviewExpanded": true, |
||||
"m_CustomColors": { |
||||
"m_SerializableColors": [] |
||||
}, |
||||
"m_SerializedDescriptor": "SurfaceDescription.CustomLightingData1" |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", |
||||
"m_ObjectId": "37e6fe3777ab46b39febcb17b4cf8cee", |
||||
"m_Id": 0, |
||||
"m_DisplayName": "Base Color", |
||||
"m_SlotType": 0, |
||||
"m_Hidden": false, |
||||
"m_ShaderOutputName": "BaseColor", |
||||
"m_StageCapability": 2, |
||||
"m_Value": { |
||||
"x": 0.5, |
||||
"y": 0.5, |
||||
"z": 0.5 |
||||
}, |
||||
"m_DefaultValue": { |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"z": 0.0 |
||||
}, |
||||
"m_Labels": [], |
||||
"m_ColorMode": 0, |
||||
"m_DefaultColor": { |
||||
"r": 0.5, |
||||
"g": 0.5, |
||||
"b": 0.5, |
||||
"a": 1.0 |
||||
} |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "ShaderGraphEssentials.SGEUniversalTarget", |
||||
"m_ObjectId": "41bfb34880a24490aa9f630f92947111", |
||||
"m_ActiveSubTarget": { |
||||
"m_Id": "f4544c958fd04f12890669c1c6416df8" |
||||
}, |
||||
"m_RenderType": 0, |
||||
"m_RenderQueue": 1, |
||||
"m_BlendMode": 0, |
||||
"m_AlphaClip": false, |
||||
"m_CullMode": 2, |
||||
"m_ZWrite": 0, |
||||
"m_ZTest": 0, |
||||
"m_CustomEditorGUI": "" |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", |
||||
"m_ObjectId": "41d4ebdb0347493295537c91fadca239", |
||||
"m_Id": 0, |
||||
"m_DisplayName": "In", |
||||
"m_SlotType": 0, |
||||
"m_Hidden": false, |
||||
"m_ShaderOutputName": "In", |
||||
"m_StageCapability": 3, |
||||
"m_Value": { |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"z": 0.0, |
||||
"w": 0.0 |
||||
}, |
||||
"m_DefaultValue": { |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"z": 0.0, |
||||
"w": 0.0 |
||||
}, |
||||
"m_Labels": [] |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.ColorRGBAMaterialSlot", |
||||
"m_ObjectId": "44d74a125bc04035ababff9dfef7aa9b", |
||||
"m_Id": 0, |
||||
"m_DisplayName": "Custom Lighting Data 1", |
||||
"m_SlotType": 0, |
||||
"m_Hidden": false, |
||||
"m_ShaderOutputName": "CustomLightingData1", |
||||
"m_StageCapability": 2, |
||||
"m_Value": { |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"z": 0.0, |
||||
"w": 0.0 |
||||
}, |
||||
"m_DefaultValue": { |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"z": 0.0, |
||||
"w": 0.0 |
||||
}, |
||||
"m_Labels": [] |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", |
||||
"m_ObjectId": "4f090433c2c0473ea7f82f52dd28f272", |
||||
"m_Id": 0, |
||||
"m_DisplayName": "Shininess", |
||||
"m_SlotType": 0, |
||||
"m_Hidden": false, |
||||
"m_ShaderOutputName": "Shininess", |
||||
"m_StageCapability": 2, |
||||
"m_Value": 0.5, |
||||
"m_DefaultValue": 0.5, |
||||
"m_Labels": [] |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.BlockNode", |
||||
"m_ObjectId": "56729bfb24fb4e2ca951b1ddeb07c3f2", |
||||
"m_Group": { |
||||
"m_Id": "" |
||||
}, |
||||
"m_Name": "SurfaceDescription.NormalTS", |
||||
"m_DrawState": { |
||||
"m_Expanded": true, |
||||
"m_Position": { |
||||
"serializedVersion": "2", |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"width": 0.0, |
||||
"height": 0.0 |
||||
} |
||||
}, |
||||
"m_Slots": [ |
||||
{ |
||||
"m_Id": "74c8581c218e42f39a7b136a5909a73a" |
||||
} |
||||
], |
||||
"synonyms": [], |
||||
"m_Precision": 0, |
||||
"m_PreviewExpanded": true, |
||||
"m_CustomColors": { |
||||
"m_SerializableColors": [] |
||||
}, |
||||
"m_SerializedDescriptor": "SurfaceDescription.NormalTS" |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.ColorRGBAMaterialSlot", |
||||
"m_ObjectId": "5e43231d43cf43c8b11726d431c9599f", |
||||
"m_Id": 0, |
||||
"m_DisplayName": "Custom Lighting Data 2", |
||||
"m_SlotType": 0, |
||||
"m_Hidden": false, |
||||
"m_ShaderOutputName": "CustomLightingData2", |
||||
"m_StageCapability": 2, |
||||
"m_Value": { |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"z": 0.0, |
||||
"w": 0.0 |
||||
}, |
||||
"m_DefaultValue": { |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"z": 0.0, |
||||
"w": 0.0 |
||||
}, |
||||
"m_Labels": [] |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", |
||||
"m_ObjectId": "6067176e41b94c17bc90dcec5989cc90", |
||||
"m_Id": 1, |
||||
"m_DisplayName": "Out", |
||||
"m_SlotType": 1, |
||||
"m_Hidden": false, |
||||
"m_ShaderOutputName": "Out", |
||||
"m_StageCapability": 3, |
||||
"m_Value": { |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"z": 0.0, |
||||
"w": 0.0 |
||||
}, |
||||
"m_DefaultValue": { |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"z": 0.0, |
||||
"w": 0.0 |
||||
}, |
||||
"m_Labels": [] |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", |
||||
"m_ObjectId": "661dd35371b440999c429205ad2bc785", |
||||
"m_Id": 0, |
||||
"m_DisplayName": "Emission", |
||||
"m_SlotType": 0, |
||||
"m_Hidden": false, |
||||
"m_ShaderOutputName": "Emission", |
||||
"m_StageCapability": 2, |
||||
"m_Value": { |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"z": 0.0 |
||||
}, |
||||
"m_DefaultValue": { |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"z": 0.0 |
||||
}, |
||||
"m_Labels": [], |
||||
"m_ColorMode": 1, |
||||
"m_DefaultColor": { |
||||
"r": 0.0, |
||||
"g": 0.0, |
||||
"b": 0.0, |
||||
"a": 1.0 |
||||
} |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", |
||||
"m_ObjectId": "67c05795a65d45948a77418a30bec828", |
||||
"m_Id": 0, |
||||
"m_DisplayName": "Position", |
||||
"m_SlotType": 0, |
||||
"m_Hidden": false, |
||||
"m_ShaderOutputName": "Position", |
||||
"m_StageCapability": 1, |
||||
"m_Value": { |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"z": 0.0 |
||||
}, |
||||
"m_DefaultValue": { |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"z": 0.0 |
||||
}, |
||||
"m_Labels": [], |
||||
"m_Space": 0 |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", |
||||
"m_ObjectId": "72b1d677aa644b8db16037e65b02c0ba", |
||||
"m_Id": 0, |
||||
"m_DisplayName": "Out", |
||||
"m_SlotType": 1, |
||||
"m_Hidden": false, |
||||
"m_ShaderOutputName": "Out", |
||||
"m_StageCapability": 3, |
||||
"m_Value": { |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"z": 0.0, |
||||
"w": 0.0 |
||||
}, |
||||
"m_DefaultValue": { |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"z": 0.0, |
||||
"w": 0.0 |
||||
}, |
||||
"m_Labels": [] |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", |
||||
"m_ObjectId": "74c8581c218e42f39a7b136a5909a73a", |
||||
"m_Id": 0, |
||||
"m_DisplayName": "Normal (Tangent Space)", |
||||
"m_SlotType": 0, |
||||
"m_Hidden": false, |
||||
"m_ShaderOutputName": "NormalTS", |
||||
"m_StageCapability": 2, |
||||
"m_Value": { |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"z": 0.0 |
||||
}, |
||||
"m_DefaultValue": { |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"z": 0.0 |
||||
}, |
||||
"m_Labels": [], |
||||
"m_Space": 3 |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.BlockNode", |
||||
"m_ObjectId": "7efba297d0b74c8093d51218c6f395ff", |
||||
"m_Group": { |
||||
"m_Id": "" |
||||
}, |
||||
"m_Name": "VertexDescription.Position", |
||||
"m_DrawState": { |
||||
"m_Expanded": true, |
||||
"m_Position": { |
||||
"serializedVersion": "2", |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"width": 0.0, |
||||
"height": 0.0 |
||||
} |
||||
}, |
||||
"m_Slots": [ |
||||
{ |
||||
"m_Id": "67c05795a65d45948a77418a30bec828" |
||||
} |
||||
], |
||||
"synonyms": [], |
||||
"m_Precision": 0, |
||||
"m_PreviewExpanded": true, |
||||
"m_CustomColors": { |
||||
"m_SerializableColors": [] |
||||
}, |
||||
"m_SerializedDescriptor": "VertexDescription.Position" |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.TangentMaterialSlot", |
||||
"m_ObjectId": "84ee1b81a59c46808dc179d24ac2c8ef", |
||||
"m_Id": 0, |
||||
"m_DisplayName": "Tangent", |
||||
"m_SlotType": 0, |
||||
"m_Hidden": false, |
||||
"m_ShaderOutputName": "Tangent", |
||||
"m_StageCapability": 1, |
||||
"m_Value": { |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"z": 0.0 |
||||
}, |
||||
"m_DefaultValue": { |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"z": 0.0 |
||||
}, |
||||
"m_Labels": [], |
||||
"m_Space": 0 |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.BlockNode", |
||||
"m_ObjectId": "91cc7052d79a4ab2be1ade76e4a5dce1", |
||||
"m_Group": { |
||||
"m_Id": "" |
||||
}, |
||||
"m_Name": "SurfaceDescription.Glossiness", |
||||
"m_DrawState": { |
||||
"m_Expanded": true, |
||||
"m_Position": { |
||||
"serializedVersion": "2", |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"width": 0.0, |
||||
"height": 0.0 |
||||
} |
||||
}, |
||||
"m_Slots": [ |
||||
{ |
||||
"m_Id": "c27c68ef6f594ce7896102b6980775f3" |
||||
} |
||||
], |
||||
"synonyms": [], |
||||
"m_Precision": 0, |
||||
"m_PreviewExpanded": true, |
||||
"m_CustomColors": { |
||||
"m_SerializableColors": [] |
||||
}, |
||||
"m_SerializedDescriptor": "SurfaceDescription.Glossiness" |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 1, |
||||
"m_Type": "UnityEditor.ShaderGraph.ColorNode", |
||||
"m_ObjectId": "96bb2fb4f91942bb9606c4f2d40cb78a", |
||||
"m_Group": { |
||||
"m_Id": "" |
||||
}, |
||||
"m_Name": "Color", |
||||
"m_DrawState": { |
||||
"m_Expanded": true, |
||||
"m_Position": { |
||||
"serializedVersion": "2", |
||||
"x": -609.0, |
||||
"y": 191.0, |
||||
"width": 208.0, |
||||
"height": 127.0 |
||||
} |
||||
}, |
||||
"m_Slots": [ |
||||
{ |
||||
"m_Id": "72b1d677aa644b8db16037e65b02c0ba" |
||||
} |
||||
], |
||||
"synonyms": [], |
||||
"m_Precision": 0, |
||||
"m_PreviewExpanded": true, |
||||
"m_CustomColors": { |
||||
"m_SerializableColors": [] |
||||
}, |
||||
"m_Color": { |
||||
"color": { |
||||
"r": 0.5094339847564697, |
||||
"g": 0.5094339847564697, |
||||
"b": 0.5094339847564697, |
||||
"a": 0.0 |
||||
}, |
||||
"mode": 0 |
||||
} |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.BlockNode", |
||||
"m_ObjectId": "99b4dba4390b4069b70670fafb064690", |
||||
"m_Group": { |
||||
"m_Id": "" |
||||
}, |
||||
"m_Name": "SurfaceDescription.Emission", |
||||
"m_DrawState": { |
||||
"m_Expanded": true, |
||||
"m_Position": { |
||||
"serializedVersion": "2", |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"width": 0.0, |
||||
"height": 0.0 |
||||
} |
||||
}, |
||||
"m_Slots": [ |
||||
{ |
||||
"m_Id": "661dd35371b440999c429205ad2bc785" |
||||
} |
||||
], |
||||
"synonyms": [], |
||||
"m_Precision": 0, |
||||
"m_PreviewExpanded": true, |
||||
"m_CustomColors": { |
||||
"m_SerializableColors": [] |
||||
}, |
||||
"m_SerializedDescriptor": "SurfaceDescription.Emission" |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.BlockNode", |
||||
"m_ObjectId": "a1d3bed2f71e4821a066eb16fb345c3f", |
||||
"m_Group": { |
||||
"m_Id": "" |
||||
}, |
||||
"m_Name": "VertexDescription.Normal", |
||||
"m_DrawState": { |
||||
"m_Expanded": true, |
||||
"m_Position": { |
||||
"serializedVersion": "2", |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"width": 0.0, |
||||
"height": 0.0 |
||||
} |
||||
}, |
||||
"m_Slots": [ |
||||
{ |
||||
"m_Id": "32073861999f411d875ed672cf22d495" |
||||
} |
||||
], |
||||
"synonyms": [], |
||||
"m_Precision": 0, |
||||
"m_PreviewExpanded": true, |
||||
"m_CustomColors": { |
||||
"m_SerializableColors": [] |
||||
}, |
||||
"m_SerializedDescriptor": "VertexDescription.Normal" |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.BlockNode", |
||||
"m_ObjectId": "acee2fabfe6146e9a2d3fdc348ff3c56", |
||||
"m_Group": { |
||||
"m_Id": "" |
||||
}, |
||||
"m_Name": "SurfaceDescription.Specular", |
||||
"m_DrawState": { |
||||
"m_Expanded": true, |
||||
"m_Position": { |
||||
"serializedVersion": "2", |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"width": 0.0, |
||||
"height": 0.0 |
||||
} |
||||
}, |
||||
"m_Slots": [ |
||||
{ |
||||
"m_Id": "f87e65b98538435aaa6ddda4c9232e61" |
||||
} |
||||
], |
||||
"synonyms": [], |
||||
"m_Precision": 0, |
||||
"m_PreviewExpanded": true, |
||||
"m_CustomColors": { |
||||
"m_SerializableColors": [] |
||||
}, |
||||
"m_SerializedDescriptor": "SurfaceDescription.Specular" |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", |
||||
"m_ObjectId": "c27c68ef6f594ce7896102b6980775f3", |
||||
"m_Id": 0, |
||||
"m_DisplayName": "Glossiness", |
||||
"m_SlotType": 0, |
||||
"m_Hidden": false, |
||||
"m_ShaderOutputName": "Glossiness", |
||||
"m_StageCapability": 2, |
||||
"m_Value": 0.5, |
||||
"m_DefaultValue": 0.5, |
||||
"m_Labels": [] |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.BlockNode", |
||||
"m_ObjectId": "cf9f37c16f3c4b809a112290771e909b", |
||||
"m_Group": { |
||||
"m_Id": "" |
||||
}, |
||||
"m_Name": "VertexDescription.Tangent", |
||||
"m_DrawState": { |
||||
"m_Expanded": true, |
||||
"m_Position": { |
||||
"serializedVersion": "2", |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"width": 0.0, |
||||
"height": 0.0 |
||||
} |
||||
}, |
||||
"m_Slots": [ |
||||
{ |
||||
"m_Id": "84ee1b81a59c46808dc179d24ac2c8ef" |
||||
} |
||||
], |
||||
"synonyms": [], |
||||
"m_Precision": 0, |
||||
"m_PreviewExpanded": true, |
||||
"m_CustomColors": { |
||||
"m_SerializableColors": [] |
||||
}, |
||||
"m_SerializedDescriptor": "VertexDescription.Tangent" |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.BlockNode", |
||||
"m_ObjectId": "dd567d54bd034347a473820fc6d86736", |
||||
"m_Group": { |
||||
"m_Id": "" |
||||
}, |
||||
"m_Name": "SurfaceDescription.CustomLightingData2", |
||||
"m_DrawState": { |
||||
"m_Expanded": true, |
||||
"m_Position": { |
||||
"serializedVersion": "2", |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"width": 0.0, |
||||
"height": 0.0 |
||||
} |
||||
}, |
||||
"m_Slots": [ |
||||
{ |
||||
"m_Id": "5e43231d43cf43c8b11726d431c9599f" |
||||
} |
||||
], |
||||
"synonyms": [], |
||||
"m_Precision": 0, |
||||
"m_PreviewExpanded": true, |
||||
"m_CustomColors": { |
||||
"m_SerializableColors": [] |
||||
}, |
||||
"m_SerializedDescriptor": "SurfaceDescription.CustomLightingData2" |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.CustomFunctionNode", |
||||
"m_ObjectId": "eb4eb88d62ad4999be29d2e49ae8c0f8", |
||||
"m_Group": { |
||||
"m_Id": "" |
||||
}, |
||||
"m_Name": "Custom Function", |
||||
"m_DrawState": { |
||||
"m_Expanded": true, |
||||
"m_Position": { |
||||
"serializedVersion": "2", |
||||
"x": -314.0, |
||||
"y": 194.0, |
||||
"width": 142.0, |
||||
"height": 94.0 |
||||
} |
||||
}, |
||||
"m_Slots": [ |
||||
{ |
||||
"m_Id": "41d4ebdb0347493295537c91fadca239" |
||||
}, |
||||
{ |
||||
"m_Id": "6067176e41b94c17bc90dcec5989cc90" |
||||
} |
||||
], |
||||
"synonyms": [], |
||||
"m_Precision": 0, |
||||
"m_PreviewExpanded": false, |
||||
"m_CustomColors": { |
||||
"m_SerializableColors": [] |
||||
}, |
||||
"m_SourceType": 0, |
||||
"m_FunctionName": "Passthrough", |
||||
"m_FunctionSource": "ff58d7bda841877438d1453d66f77790", |
||||
"m_FunctionBody": "Enter function body here..." |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.BlockNode", |
||||
"m_ObjectId": "f15775cdc4104f7aa5f3557417344d44", |
||||
"m_Group": { |
||||
"m_Id": "" |
||||
}, |
||||
"m_Name": "SurfaceDescription.Shininess", |
||||
"m_DrawState": { |
||||
"m_Expanded": true, |
||||
"m_Position": { |
||||
"serializedVersion": "2", |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"width": 0.0, |
||||
"height": 0.0 |
||||
} |
||||
}, |
||||
"m_Slots": [ |
||||
{ |
||||
"m_Id": "4f090433c2c0473ea7f82f52dd28f272" |
||||
} |
||||
], |
||||
"synonyms": [], |
||||
"m_Precision": 0, |
||||
"m_PreviewExpanded": true, |
||||
"m_CustomColors": { |
||||
"m_SerializableColors": [] |
||||
}, |
||||
"m_SerializedDescriptor": "SurfaceDescription.Shininess" |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "ShaderGraphEssentials.SGEUniversalCustomLitSubTarget", |
||||
"m_ObjectId": "f4544c958fd04f12890669c1c6416df8", |
||||
"m_NormalDropOffSpace": 0 |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", |
||||
"m_ObjectId": "f87e65b98538435aaa6ddda4c9232e61", |
||||
"m_Id": 0, |
||||
"m_DisplayName": "Specular Color", |
||||
"m_SlotType": 0, |
||||
"m_Hidden": false, |
||||
"m_ShaderOutputName": "Specular", |
||||
"m_StageCapability": 2, |
||||
"m_Value": { |
||||
"x": 0.5, |
||||
"y": 0.5, |
||||
"z": 0.5 |
||||
}, |
||||
"m_DefaultValue": { |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"z": 0.0 |
||||
}, |
||||
"m_Labels": [], |
||||
"m_ColorMode": 0, |
||||
"m_DefaultColor": { |
||||
"r": 0.5, |
||||
"g": 0.5, |
||||
"b": 0.5, |
||||
"a": 1.0 |
||||
} |
||||
} |
||||
|
||||
{ |
||||
"m_SGVersion": 0, |
||||
"m_Type": "UnityEditor.ShaderGraph.BlockNode", |
||||
"m_ObjectId": "fadf2392448a4c6d9ba3d4f0c3686b9c", |
||||
"m_Group": { |
||||
"m_Id": "" |
||||
}, |
||||
"m_Name": "SurfaceDescription.BaseColor", |
||||
"m_DrawState": { |
||||
"m_Expanded": true, |
||||
"m_Position": { |
||||
"serializedVersion": "2", |
||||
"x": 0.0, |
||||
"y": 0.0, |
||||
"width": 0.0, |
||||
"height": 0.0 |
||||
} |
||||
}, |
||||
"m_Slots": [ |
||||
{ |
||||
"m_Id": "37e6fe3777ab46b39febcb17b4cf8cee" |
||||
} |
||||
], |
||||
"synonyms": [], |
||||
"m_Precision": 0, |
||||
"m_PreviewExpanded": true, |
||||
"m_CustomColors": { |
||||
"m_SerializableColors": [] |
||||
}, |
||||
"m_SerializedDescriptor": "SurfaceDescription.BaseColor" |
||||
} |
||||
|
||||
@ -0,0 +1,10 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 823db6a430339504f989cd2b15452ae7 |
||||
ScriptedImporter: |
||||
internalIDToNameTable: [] |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} |
||||
@ -0,0 +1,72 @@ |
||||
#include "Assets/Plugins/ShaderGraphEssentials/Plugin/Editor/Plugin_URP/Shaders/SGE_CustomLightingInternal.hlsl" |
||||
|
||||
/* |
||||
* This is what you can access in the custom functions |
||||
struct Light |
||||
{ |
||||
half3 direction; |
||||
half3 color; |
||||
half distanceAttenuation; |
||||
half shadowAttenuation; |
||||
uint layerMask; |
||||
}; |
||||
|
||||
struct SGECustomLightingData |
||||
{ |
||||
float3 albedo; |
||||
float3 normal; // world space |
||||
float3 specular; |
||||
float glossiness; |
||||
float smoothness; // automatically converted from shininess |
||||
float3 emission; |
||||
float alpha; |
||||
float4 customLightingData1; // custom data you can use how you want (pass texture UV, properties / uniforms, vertex color ...etc) |
||||
float4 customLightingData2; |
||||
}; |
||||
*/ |
||||
|
||||
// this will function is called for every light |
||||
half3 SGE_DiffuseLightingCustom(Light light, SGECustomLightingData data) |
||||
{ |
||||
half NdotL = saturate(dot(data.normal, light.direction)); |
||||
half lightIntensity = smoothstep(0, 0.01, NdotL); |
||||
return light.color * lightIntensity * light.distanceAttenuation * light.shadowAttenuation; |
||||
} |
||||
|
||||
// this will function is called for every light |
||||
// you can't access Uniforms directly in there, |
||||
// nor pass it to the custom function node |
||||
// trying either of this will throw an error |
||||
// but you can pass it through data.customLightingData1 and use it how you see fit here. |
||||
half3 SGE_SpecularLightingCustom(Light light, half3 viewDir, SGECustomLightingData data) |
||||
{ |
||||
const float EPSILON = 0.01f; |
||||
// compute specular |
||||
half NdotL = saturate(dot(data.normal, light.direction)); |
||||
half lightIntensity = smoothstep(0, EPSILON, NdotL); |
||||
float3 halfVec = SafeNormalize(light.direction + viewDir); |
||||
float NdotH = saturate(dot(data.normal, halfVec)); |
||||
float modifier = pow(NdotH * lightIntensity, data.smoothness); |
||||
float modifierSmooth = smoothstep(EPSILON * 0.5, EPSILON, modifier); |
||||
half3 specularReflection = data.specular * modifierSmooth; |
||||
|
||||
// compute rimlight |
||||
// data.customLightingData1: xyz = _RimColor |
||||
// data.customLightingData2: x = _RimThreshold, y = _RimAmount |
||||
half rimDot = 1 - dot(viewDir, data.normal); |
||||
half rimIntensity = rimDot * pow(NdotL, (half)data.customLightingData2.x); |
||||
rimIntensity = smoothstep(data.customLightingData2.y - EPSILON, data.customLightingData2.y + EPSILON, rimIntensity); |
||||
half3 rim = rimIntensity * data.customLightingData1.xyz; |
||||
|
||||
// I chose to have the rim affected by the light's color, but feel free to improvise! |
||||
return light.color * (specularReflection * light.distanceAttenuation * light.shadowAttenuation + rim); |
||||
} |
||||
|
||||
// necessary function because at the moment a custom function node NEEDS to output a result in the graph |
||||
// otherwise it can be optimized out |
||||
// here we don't do anything, so it doesn't matter where you plug this node, |
||||
// because the custom lighting function will be called by the master node |
||||
void Passthrough_float(float4 In, out float4 Out) |
||||
{ |
||||
Out = In; |
||||
} |
||||
@ -0,0 +1,9 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 3957bbcf7c3a3a748a82a440dcc9ea67 |
||||
ShaderImporter: |
||||
externalObjects: {} |
||||
defaultTextures: [] |
||||
nonModifiableTextures: [] |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,9 @@ |
||||
fileFormatVersion: 2 |
||||
guid: fda4d5a52149e5a499b247360d8702fc |
||||
ShaderImporter: |
||||
externalObjects: {} |
||||
defaultTextures: [] |
||||
nonModifiableTextures: [] |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,138 @@ |
||||
|
||||
void InitializeInputData(Varyings input, SurfaceDescription surfaceDescription, out InputData inputData) |
||||
{ |
||||
inputData = (InputData)0; |
||||
|
||||
inputData.positionWS = input.positionWS; |
||||
inputData.positionCS = input.positionCS; |
||||
|
||||
#ifdef _NORMALMAP |
||||
// IMPORTANT! If we ever support Flip on double sided materials ensure bitangent and tangent are NOT flipped. |
||||
float crossSign = (input.tangentWS.w > 0.0 ? 1.0 : -1.0) * GetOddNegativeScale(); |
||||
float3 bitangent = crossSign * cross(input.normalWS.xyz, input.tangentWS.xyz); |
||||
|
||||
inputData.tangentToWorld = half3x3(input.tangentWS.xyz, bitangent.xyz, input.normalWS.xyz); |
||||
#if _NORMAL_DROPOFF_TS |
||||
inputData.normalWS = TransformTangentToWorld(surfaceDescription.NormalTS, inputData.tangentToWorld); |
||||
#elif _NORMAL_DROPOFF_OS |
||||
inputData.normalWS = TransformObjectToWorldNormal(surfaceDescription.NormalOS); |
||||
#elif _NORMAL_DROPOFF_WS |
||||
inputData.normalWS = surfaceDescription.NormalWS; |
||||
#endif |
||||
#else |
||||
inputData.normalWS = input.normalWS; |
||||
#endif |
||||
inputData.normalWS = NormalizeNormalPerPixel(inputData.normalWS); |
||||
inputData.viewDirectionWS = GetWorldSpaceNormalizeViewDir(input.positionWS); |
||||
|
||||
#if defined(MAIN_LIGHT_CALCULATE_SHADOWS) |
||||
inputData.shadowCoord = TransformWorldToShadowCoord(inputData.positionWS); |
||||
#else |
||||
inputData.shadowCoord = float4(0, 0, 0, 0); |
||||
#endif |
||||
|
||||
inputData.fogCoord = InitializeInputDataFog(float4(input.positionWS, 1.0), input.fogFactorAndVertexLight.x); |
||||
inputData.vertexLighting = input.fogFactorAndVertexLight.yzw; |
||||
#if defined(DYNAMICLIGHTMAP_ON) |
||||
inputData.bakedGI = SAMPLE_GI(input.staticLightmapUV, input.dynamicLightmapUV.xy, input.sh, inputData.normalWS); |
||||
#elif !defined(LIGHTMAP_ON) && (defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2)) |
||||
inputData.bakedGI = SAMPLE_GI(input.sh, |
||||
GetAbsolutePositionWS(inputData.positionWS), |
||||
inputData.normalWS, |
||||
inputData.viewDirectionWS, |
||||
inputData.positionCS.xy); |
||||
#else |
||||
inputData.bakedGI = SAMPLE_GI(input.staticLightmapUV, input.sh, inputData.normalWS); |
||||
#endif |
||||
inputData.normalizedScreenSpaceUV = GetNormalizedScreenSpaceUV(input.positionCS); |
||||
inputData.shadowMask = SAMPLE_SHADOWMASK(input.staticLightmapUV); |
||||
|
||||
#if defined(DEBUG_DISPLAY) |
||||
#if defined(DYNAMICLIGHTMAP_ON) |
||||
inputData.dynamicLightmapUV = input.dynamicLightmapUV.xy; |
||||
#endif |
||||
#if defined(LIGHTMAP_ON) |
||||
inputData.staticLightmapUV = input.staticLightmapUV; |
||||
#else |
||||
inputData.vertexSH = input.sh; |
||||
#endif |
||||
#endif |
||||
} |
||||
|
||||
PackedVaryings vert(Attributes input) |
||||
{ |
||||
Varyings output = (Varyings)0; |
||||
output = BuildVaryings(input); |
||||
PackedVaryings packedOutput = (PackedVaryings)0; |
||||
packedOutput = PackVaryings(output); |
||||
return packedOutput; |
||||
} |
||||
|
||||
|
||||
void PatchSimpleLitSurfaceData(SurfaceDescription surfaceDescription, out SurfaceData outSurfaceData) |
||||
{ |
||||
outSurfaceData = (SurfaceData)0; |
||||
|
||||
#if _ALPHATEST_ON |
||||
half alpha = surfaceDescription.Alpha; |
||||
clip(alpha - surfaceDescription.AlphaClipThreshold); |
||||
#elif _SURFACE_TYPE_TRANSPARENT |
||||
half alpha = surfaceDescription.Alpha; |
||||
#else |
||||
half alpha = 1; |
||||
#endif |
||||
|
||||
outSurfaceData.alpha = alpha; |
||||
|
||||
outSurfaceData.albedo = AlphaModulate(surfaceDescription.BaseColor, alpha);; |
||||
#ifdef _ALPHAPREMULTIPLY_ON |
||||
outSurfaceData.albedo *= outSurfaceData.alpha; |
||||
#endif |
||||
|
||||
half4 specularSmoothness = half4(surfaceDescription.Specular, surfaceDescription.Smoothness); |
||||
outSurfaceData.metallic = 0.0; // unused |
||||
outSurfaceData.specular = specularSmoothness.rgb; |
||||
outSurfaceData.smoothness = specularSmoothness.a; |
||||
outSurfaceData.normalTS = surfaceDescription.NormalTS; |
||||
outSurfaceData.occlusion = 1.0; |
||||
outSurfaceData.emission = surfaceDescription.Emission; |
||||
} |
||||
|
||||
FragmentOutput frag(PackedVaryings packedInput) |
||||
{ |
||||
Varyings unpacked = UnpackVaryings(packedInput); |
||||
UNITY_SETUP_INSTANCE_ID(unpacked); |
||||
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(unpacked); |
||||
|
||||
SurfaceDescription surfaceDescription = BuildSurfaceDescription(unpacked); |
||||
|
||||
SurfaceData surfaceData; |
||||
PatchSimpleLitSurfaceData(surfaceDescription, surfaceData); |
||||
|
||||
#if defined(LOD_FADE_CROSSFADE) && USE_UNITY_CROSSFADE |
||||
LODFadeCrossFade(unpacked.positionCS); |
||||
#endif |
||||
|
||||
InputData inputData; |
||||
InitializeInputData(unpacked, surfaceDescription, inputData); |
||||
// TODO: Mip debug modes would require this, open question how to do this on ShaderGraph. |
||||
//SETUP_DEBUG_TEXTURE_DATA(inputData, unpacked.uv, _MainTex); |
||||
|
||||
float3 specular = surfaceDescription.Specular; |
||||
|
||||
#ifdef _DBUFFER |
||||
ApplyDecal(unpacked.positionCS, |
||||
surfaceDescription.BaseColor, |
||||
specular, |
||||
inputData.normalWS, |
||||
1, |
||||
surfaceDescription.Occlusion, |
||||
surfaceDescription.Smoothness); |
||||
#endif |
||||
|
||||
Light mainLight = GetMainLight(inputData.shadowCoord, inputData.positionWS, inputData.shadowMask); |
||||
MixRealtimeAndBakedGI(mainLight, inputData.normalWS, inputData.bakedGI, inputData.shadowMask); |
||||
half4 color = half4(inputData.bakedGI * surfaceData.albedo + surfaceData.emission, surfaceData.alpha); |
||||
|
||||
return SurfaceDataToGbuffer(surfaceData, inputData, color.rgb, kLightingSimpleLit); |
||||
} |
||||
@ -0,0 +1,7 @@ |
||||
fileFormatVersion: 2 |
||||
guid: be0a8589dbc698548aeb21bac1b72c73 |
||||
ShaderIncludeImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,8 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 7a5534129ff657d45a4274b7585aa066 |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,7 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 7f48c3f430bfe574a86851f4ba45d6f6 |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,8 @@ |
||||
fileFormatVersion: 2 |
||||
guid: a66ba68fb8bca1a479afdf340430c9ca |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,8 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 3651e0c7d29b0bf49a967294422e9d79 |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,11 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 3168e2865266f4a4fbe1e9f901ea1ca7 |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in new issue