From 2f3cd8dc7ee74fbb928931574ba23e556c45fd68 Mon Sep 17 00:00:00 2001 From: Alexandre Coirier Date: Mon, 1 Jun 2026 21:55:23 +0200 Subject: [PATCH] wip: Main shader detail map --- Assets/_Content/Materials/M_default.mat | 13 + .../Materials/Stencil/M_default_mask_A.mat | 13 + .../Materials/Stencil/M_default_mask_B.mat | 13 + .../Shaders/EnkiBillal/EnkiBiIlal.shadergraph | 1487 ++--------------- .../EnkiBillal/Include/EnkiBiIlal.hlsl | 394 ++--- .../Include/EnkiBillalFullscreen.hlsl | 8 +- Assets/_Content/Textures.meta | 8 + Assets/_Content/Textures/EnkiBilal.meta | 8 + .../Textures/EnkiBilal/TX_EnkiDetail.psd | 3 + .../Textures/EnkiBilal/TX_EnkiDetail.psd.meta | 130 ++ Assets/_Content/Textures/Testing.meta | 8 + Assets/_Content/Textures/Testing/TX_test.png | 3 + .../Textures/Testing/TX_test.png.meta | 518 ++++++ 13 files changed, 1004 insertions(+), 1602 deletions(-) create mode 100644 Assets/_Content/Textures.meta create mode 100644 Assets/_Content/Textures/EnkiBilal.meta create mode 100644 Assets/_Content/Textures/EnkiBilal/TX_EnkiDetail.psd create mode 100644 Assets/_Content/Textures/EnkiBilal/TX_EnkiDetail.psd.meta create mode 100644 Assets/_Content/Textures/Testing.meta create mode 100644 Assets/_Content/Textures/Testing/TX_test.png create mode 100644 Assets/_Content/Textures/Testing/TX_test.png.meta diff --git a/Assets/_Content/Materials/M_default.mat b/Assets/_Content/Materials/M_default.mat index 416915d2..23e3604d 100644 --- a/Assets/_Content/Materials/M_default.mat +++ b/Assets/_Content/Materials/M_default.mat @@ -45,10 +45,22 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 2800000, guid: 2da59fbd756c92a4bb2018abf06c4e07, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EnkiBillalCustomFunction_c5d342277052409f87283f2c60ccf3a1_DetailTex_13_Texture2D: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _MainTex: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _Texture2DAsset_b3776c2a7e3d445796b136eb1d802867_Out_0_Texture2D: + m_Texture: {fileID: 2800000, guid: dffef66376be4fa480fb02b19edbe903, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - unity_Lightmaps: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -79,6 +91,7 @@ Material: - _HighlightMax: 1 - _HighlightMin: 0.5 - _MaskID: 0 + - _ProjectionBlend: 0.1 - _QueueControl: 0 - _QueueOffset: 0 - _ShadowMax: 0.2 diff --git a/Assets/_Content/Materials/Stencil/M_default_mask_A.mat b/Assets/_Content/Materials/Stencil/M_default_mask_A.mat index fc0f4519..b76c96f5 100644 --- a/Assets/_Content/Materials/Stencil/M_default_mask_A.mat +++ b/Assets/_Content/Materials/Stencil/M_default_mask_A.mat @@ -45,6 +45,18 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 2800000, guid: 2da59fbd756c92a4bb2018abf06c4e07, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EnkiBillalCustomFunction_c5d342277052409f87283f2c60ccf3a1_DetailTex_13_Texture2D: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _Texture2DAsset_b3776c2a7e3d445796b136eb1d802867_Out_0_Texture2D: + m_Texture: {fileID: 2800000, guid: dffef66376be4fa480fb02b19edbe903, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - unity_Lightmaps: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -67,6 +79,7 @@ Material: - _HighlightMin: 0.5 - _MaskID: 1 - _MaskValueOnDisabled: 0 + - _ProjectionBlend: 0.1 - _QueueControl: 0 - _QueueOffset: 0 - _ShadowMax: 0.2 diff --git a/Assets/_Content/Materials/Stencil/M_default_mask_B.mat b/Assets/_Content/Materials/Stencil/M_default_mask_B.mat index 1ef371f2..d920cfd1 100644 --- a/Assets/_Content/Materials/Stencil/M_default_mask_B.mat +++ b/Assets/_Content/Materials/Stencil/M_default_mask_B.mat @@ -45,6 +45,18 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 2800000, guid: 2da59fbd756c92a4bb2018abf06c4e07, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EnkiBillalCustomFunction_c5d342277052409f87283f2c60ccf3a1_DetailTex_13_Texture2D: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _Texture2DAsset_b3776c2a7e3d445796b136eb1d802867_Out_0_Texture2D: + m_Texture: {fileID: 2800000, guid: dffef66376be4fa480fb02b19edbe903, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - unity_Lightmaps: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -68,6 +80,7 @@ Material: - _MaskID: 2 - _MaskInvert: 1 - _MaskValueOnDisabled: 1 + - _ProjectionBlend: 0.1 - _QueueControl: 0 - _QueueOffset: 0 - _ShadowMax: 0.2 diff --git a/Assets/_Content/Shaders/EnkiBillal/EnkiBiIlal.shadergraph b/Assets/_Content/Shaders/EnkiBillal/EnkiBiIlal.shadergraph index 32263586..c7038077 100644 --- a/Assets/_Content/Shaders/EnkiBillal/EnkiBiIlal.shadergraph +++ b/Assets/_Content/Shaders/EnkiBillal/EnkiBiIlal.shadergraph @@ -9,42 +9,6 @@ { "m_Id": "c42430ce8cc346ac9bdcd190d22b3277" }, - { - "m_Id": "3a846e73a5a74ce2ab432b3284d7966e" - }, - { - "m_Id": "c88010bf5d374c558536bab6657f2905" - }, - { - "m_Id": "f5635e32bf83409098de2fdd9c0f0117" - }, - { - "m_Id": "94c591736c9d437581be9fd159b4812f" - }, - { - "m_Id": "c8c81d08ce6240a78db604444ba40ed5" - }, - { - "m_Id": "8ddc5e296a9f402f86b59bcdb3212a75" - }, - { - "m_Id": "cb2968cecd2d4e1abf1dec9fd7b5f816" - }, - { - "m_Id": "f9d0721d460b431a95ae40ee06b6a854" - }, - { - "m_Id": "d18c801dc9b44ee5976c232608872e27" - }, - { - "m_Id": "4cda480f5ebf44b3807dd27433995c98" - }, - { - "m_Id": "684b0d6977f24bc0911a0a691cf91f45" - }, - { - "m_Id": "89822b65542d4e30965590910a22d7d5" - }, { "m_Id": "00de379b90744d5496dbbab532d54c41" }, @@ -71,6 +35,9 @@ }, { "m_Id": "d4a07777651a4e19946ff77f26921f5f" + }, + { + "m_Id": "504868b162d04f6ba141dd58a4060093" } ], "m_Keywords": [], @@ -83,16 +50,7 @@ "m_Id": "1810970db54d423b8e943f22d93dff81" }, { - "m_Id": "3250021ee13142fbae82c29587513b45" - }, - { - "m_Id": "13a46f5ba2f84bde9e421a2361228736" - }, - { - "m_Id": "193fb639fad9414bac3a5cb8792c43f2" - }, - { - "m_Id": "02b3238eda79428b83141c0f1cd93ffa" + "m_Id": "3f91bae60f5946f087f8ddbdf5974760" }, { "m_Id": "8ec4a0fe2487442087508231220eb8ac" @@ -129,18 +87,9 @@ { "m_Id": "c5d342277052409f87283f2c60ccf3a1" }, - { - "m_Id": "9ab35fa1fae046bf8f9cd00d738b1def" - }, { "m_Id": "ea1040f4c7a34e3dae889e591d624208" }, - { - "m_Id": "d837bbfe59e545829b1aef6a76ddc4db" - }, - { - "m_Id": "f39af772925c40ec981b6aeb93142134" - }, { "m_Id": "3e46eb76f3e94a73912aecb313b485e5" }, @@ -159,18 +108,6 @@ { "m_Id": "e3b5f3929aea4876bef5e48e7d8e7f4f" }, - { - "m_Id": "51cb8786f9564c7196b49795ba7ff46e" - }, - { - "m_Id": "03a2f0ea1a8a4ea198b506a94b1205cd" - }, - { - "m_Id": "64360f1ac2d94b5ebc0fc5e371182f45" - }, - { - "m_Id": "41ea0f4debec4c439fdacfd417eaf1a9" - }, { "m_Id": "995efe8286884c36bdda9c2ffa0311b1" }, @@ -221,25 +158,14 @@ }, { "m_Id": "2f58e7c00b5c4814b4a3d8c13322694d" + }, + { + "m_Id": "6325def0956d4eec8fb3627c06ad1067" } ], "m_GroupDatas": [], "m_StickyNoteDatas": [], "m_Edges": [ - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "03a2f0ea1a8a4ea198b506a94b1205cd" - }, - "m_SlotId": 0 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "c5d342277052409f87283f2c60ccf3a1" - }, - "m_SlotId": 9 - } - }, { "m_OutputSlot": { "m_Node": { @@ -324,34 +250,6 @@ "m_SlotId": 0 } }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "41ea0f4debec4c439fdacfd417eaf1a9" - }, - "m_SlotId": 0 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "c5d342277052409f87283f2c60ccf3a1" - }, - "m_SlotId": 11 - } - }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "51cb8786f9564c7196b49795ba7ff46e" - }, - "m_SlotId": 0 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "c5d342277052409f87283f2c60ccf3a1" - }, - "m_SlotId": 8 - } - }, { "m_OutputSlot": { "m_Node": { @@ -369,7 +267,7 @@ { "m_OutputSlot": { "m_Node": { - "m_Id": "64360f1ac2d94b5ebc0fc5e371182f45" + "m_Id": "6325def0956d4eec8fb3627c06ad1067" }, "m_SlotId": 0 }, @@ -377,7 +275,7 @@ "m_Node": { "m_Id": "c5d342277052409f87283f2c60ccf3a1" }, - "m_SlotId": 10 + "m_SlotId": 13 } }, { @@ -478,20 +376,6 @@ "m_SlotId": 12 } }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "9ab35fa1fae046bf8f9cd00d738b1def" - }, - "m_SlotId": 1 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "c5d342277052409f87283f2c60ccf3a1" - }, - "m_SlotId": 6 - } - }, { "m_OutputSlot": { "m_Node": { @@ -562,20 +446,6 @@ "m_SlotId": 0 } }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "d837bbfe59e545829b1aef6a76ddc4db" - }, - "m_SlotId": 0 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "c5d342277052409f87283f2c60ccf3a1" - }, - "m_SlotId": 3 - } - }, { "m_OutputSlot": { "m_Node": { @@ -617,20 +487,6 @@ }, "m_SlotId": 2 } - }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "f39af772925c40ec981b6aeb93142134" - }, - "m_SlotId": 0 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "c5d342277052409f87283f2c60ccf3a1" - }, - "m_SlotId": 1 - } } ], "m_VertexContext": { @@ -738,60 +594,6 @@ "m_ColorMode": 1 } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.CategoryData", - "m_ObjectId": "02b3238eda79428b83141c0f1cd93ffa", - "m_Name": "Grain", - "m_ChildObjectList": [ - { - "m_Id": "684b0d6977f24bc0911a0a691cf91f45" - }, - { - "m_Id": "c88010bf5d374c558536bab6657f2905" - }, - { - "m_Id": "89822b65542d4e30965590910a22d7d5" - } - ] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.PropertyNode", - "m_ObjectId": "03a2f0ea1a8a4ea198b506a94b1205cd", - "m_Group": { - "m_Id": "" - }, - "m_Name": "Property", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 547.0, - "y": 1085.0, - "width": 159.0, - "height": 34.0 - } - }, - "m_Slots": [ - { - "m_Id": "0a3aa4fb937d4bcf9f02c390a18bc451" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Property": { - "m_Id": "3a846e73a5a74ce2ab432b3284d7966e" - } -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Matrix4MaterialSlot", @@ -872,22 +674,6 @@ "m_LiteralMode": false } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "0a3aa4fb937d4bcf9f02c390a18bc451", - "m_Id": 0, - "m_DisplayName": "StrokeHardness", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [], - "m_LiteralMode": false -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", @@ -999,29 +785,6 @@ } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "12a1404f7031496a889989457e692bdd", - "m_Id": 3, - "m_DisplayName": "World Bounds Max", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "World Bounds Max", - "m_StageCapability": 3, - "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_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -1066,24 +829,6 @@ "m_Value": false } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.CategoryData", - "m_ObjectId": "13a46f5ba2f84bde9e421a2361228736", - "m_Name": "Shadow", - "m_ChildObjectList": [ - { - "m_Id": "f9d0721d460b431a95ae40ee06b6a854" - }, - { - "m_Id": "cb2968cecd2d4e1abf1dec9fd7b5f816" - }, - { - "m_Id": "8ddc5e296a9f402f86b59bcdb3212a75" - } - ] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -1141,24 +886,6 @@ ] } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.CategoryData", - "m_ObjectId": "193fb639fad9414bac3a5cb8792c43f2", - "m_Name": "Highlight", - "m_ChildObjectList": [ - { - "m_Id": "c8c81d08ce6240a78db604444ba40ed5" - }, - { - "m_Id": "4cda480f5ebf44b3807dd27433995c98" - }, - { - "m_Id": "d18c801dc9b44ee5976c232608872e27" - } - ] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.BlockNode", @@ -1315,22 +1042,6 @@ } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "23208bf8d8014930a2ad33e2e5200a83", - "m_Id": 0, - "m_DisplayName": "StrokeDensity", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [], - "m_LiteralMode": false -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", @@ -1367,22 +1078,6 @@ "m_DefaultType": 0 } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "272831abe38149719daca62951a8fea9", - "m_Id": 0, - "m_DisplayName": "StrokeWidth", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [], - "m_LiteralMode": false -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", @@ -1505,91 +1200,6 @@ "m_FunctionBody": "Enter function body here..." } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.CategoryData", - "m_ObjectId": "3250021ee13142fbae82c29587513b45", - "m_Name": "Stroke", - "m_ChildObjectList": [ - { - "m_Id": "f5635e32bf83409098de2fdd9c0f0117" - }, - { - "m_Id": "94c591736c9d437581be9fd159b4812f" - }, - { - "m_Id": "3a846e73a5a74ce2ab432b3284d7966e" - } - ] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "35d40dac560947a0b6e033f2f77b12a0", - "m_Id": 2, - "m_DisplayName": "World Bounds Min", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "World Bounds Min", - "m_StageCapability": 3, - "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_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", - "m_ObjectId": "3a846e73a5a74ce2ab432b3284d7966e", - "m_Guid": { - "m_GuidSerialized": "6d236509-036d-448f-9291-0194174efddb" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "StrokeHardness", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "StrokeHardness", - "m_DefaultReferenceName": "_StrokeHardness", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": true, - "hlslDeclarationOverride": 2, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": 1.0, - "m_FloatType": 1, - "m_LiteralFloatMode": false, - "m_RangeValues": { - "x": 0.0, - "y": 1.0 - }, - "m_SliderType": 0, - "m_SliderPower": 3.0, - "m_EnumType": 0, - "m_CSharpEnumString": "", - "m_EnumNames": [ - "Default" - ], - "m_EnumValues": [ - 0 - ] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Matrix4MaterialSlot", @@ -1672,10 +1282,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 410.0, - "y": 443.0, - "width": 206.0, - "height": 130.0 + "x": 462.9999694824219, + "y": 784.0, + "width": 205.99996948242188, + "height": 129.99993896484376 } }, "m_Slots": [ @@ -1697,29 +1307,6 @@ "m_PositionSource": 0 } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "3e8d5dc458f24eebaac4049b9ebf050e", - "m_Id": 3, - "m_DisplayName": "NormalOS", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "NormalOS", - "m_StageCapability": 3, - "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_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -1770,25 +1357,14 @@ { "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "3ecbdcbb4a4b41b18d34b218166c4540", - "m_Id": 0, - "m_DisplayName": "Position", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Position", - "m_StageCapability": 3, - "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_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "3f91bae60f5946f087f8ddbdf5974760", + "m_Name": "Detail", + "m_ChildObjectList": [ + { + "m_Id": "504868b162d04f6ba141dd58a4060093" + } + ] } { @@ -1859,42 +1435,6 @@ "m_SerializedDescriptor": "SurfaceDescription.AlphaClipThreshold" } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.PropertyNode", - "m_ObjectId": "41ea0f4debec4c439fdacfd417eaf1a9", - "m_Group": { - "m_Id": "" - }, - "m_Name": "Property", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 616.0, - "y": 1119.0, - "width": 90.0, - "height": 34.0 - } - }, - "m_Slots": [ - { - "m_Id": "8044cd4788ad482991a43d3a751a0972" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Property": { - "m_Id": "5532ce967e084f5a832efbee343c8881" - } -} - { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.Matrix4ShaderProperty", @@ -1974,50 +1514,6 @@ "m_BareResource": false } -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", - "m_ObjectId": "4cda480f5ebf44b3807dd27433995c98", - "m_Guid": { - "m_GuidSerialized": "cdc2e778-b068-438b-b8d9-82b0ed719cc8" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "HighlightMin", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "HighlightMin", - "m_DefaultReferenceName": "_HighlightMin", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": true, - "hlslDeclarationOverride": 2, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": 0.5, - "m_FloatType": 1, - "m_LiteralFloatMode": false, - "m_RangeValues": { - "x": -1.0, - "y": 1.0 - }, - "m_SliderType": 0, - "m_SliderPower": 3.0, - "m_EnumType": 0, - "m_CSharpEnumString": "", - "m_EnumNames": [ - "Default" - ], - "m_EnumValues": [ - 0 - ] -} - { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", @@ -2110,38 +1606,38 @@ { "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.PropertyNode", - "m_ObjectId": "51cb8786f9564c7196b49795ba7ff46e", - "m_Group": { - "m_Id": "" + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "504868b162d04f6ba141dd58a4060093", + "m_Guid": { + "m_GuidSerialized": "ea4e180f-aecf-4c83-90ef-c3dc57a777ed" }, - "m_Name": "Property", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 568.0, - "y": 1051.0, - "width": 139.0, - "height": 34.0 - } - }, - "m_Slots": [ - { - "m_Id": "272831abe38149719daca62951a8fea9" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, + "m_Name": "Detail", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Detail", + "m_DefaultReferenceName": "_Detail", + "m_OverrideReferenceName": "_DetailMap", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"2da59fbd756c92a4bb2018abf06c4e07\",\"type\":3}}", + "m_Guid": "" }, - "m_Property": { - "m_Id": "94c591736c9d437581be9fd159b4812f" - } + "isMainTexture": false, + "useTilingAndOffset": false, + "useTexelSize": true, + "m_Modifiable": true, + "m_DefaultType": 1 } { @@ -2264,9 +1760,9 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 566.0, - "y": 983.0, - "width": 140.0, + "x": 554.0, + "y": 1061.0, + "width": 104.99993896484375, "height": 34.0 } }, @@ -2406,25 +1902,18 @@ { "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "5af11e0b7ea84c2a82d4d1b3a763e931", - "m_Id": 0, - "m_DisplayName": "Out", - "m_SlotType": 1, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "5ac79464834a403381144578be491825", + "m_Id": 7, + "m_DisplayName": "ProjectionBlend", + "m_SlotType": 0, "m_Hidden": false, - "m_ShaderOutputName": "Out", + "m_ShaderOutputName": "ProjectionBlend", "m_StageCapability": 3, - "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_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [], + "m_LiteralMode": false } { @@ -2488,26 +1977,10 @@ "m_LiteralMode": false } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "62acb26bef024e0abf105027563b83bb", - "m_Id": 7, - "m_DisplayName": "TriplanarBlend", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "TriplanarBlend", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [], - "m_LiteralMode": false -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", - "m_ObjectId": "64360f1ac2d94b5ebc0fc5e371182f45", + "m_ObjectId": "6325def0956d4eec8fb3627c06ad1067", "m_Group": { "m_Id": "" }, @@ -2516,15 +1989,15 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 558.0, - "y": 1017.0, - "width": 148.0, - "height": 34.0 + "x": 545.0, + "y": 518.0, + "width": 113.99993896484375, + "height": 33.99993896484375 } }, "m_Slots": [ { - "m_Id": "23208bf8d8014930a2ad33e2e5200a83" + "m_Id": "a2a075edb2e84c64b1aa438b512da6ab" } ], "synonyms": [], @@ -2536,7 +2009,7 @@ "m_SerializableColors": [] }, "m_Property": { - "m_Id": "f5635e32bf83409098de2fdd9c0f0117" + "m_Id": "504868b162d04f6ba141dd58a4060093" } } @@ -2545,7 +2018,7 @@ "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", "m_ObjectId": "66774f6606034d228f83cc97c6061610", "m_Id": 0, - "m_DisplayName": "TriplanarBlend", + "m_DisplayName": "Blend", "m_SlotType": 1, "m_Hidden": false, "m_ShaderOutputName": "Out", @@ -2592,64 +2065,6 @@ } } -{ - "m_SGVersion": 3, - "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", - "m_ObjectId": "684b0d6977f24bc0911a0a691cf91f45", - "m_Guid": { - "m_GuidSerialized": "f34d512d-6af5-4a7c-bff4-5eab910ad405" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "GrainColor", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "GrainColor", - "m_DefaultReferenceName": "_GrainColor", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": true, - "hlslDeclarationOverride": 2, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 0.09803921729326248 - }, - "isMainColor": false, - "m_ColorMode": 0 -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "689f6f3377bf4ae6857e9104c8a2bf1e", - "m_Id": 6, - "m_DisplayName": "ObjectScale", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "ObjectScale", - "m_StageCapability": 3, - "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_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", @@ -2675,22 +2090,6 @@ "m_Labels": [] } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "7105cf6bb67c4370bdbeaae3d21efc9a", - "m_Id": 10, - "m_DisplayName": "StripesDensity", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "StripesDensity", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [], - "m_LiteralMode": false -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.VertexColorNode", @@ -2933,22 +2332,6 @@ } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "8044cd4788ad482991a43d3a751a0972", - "m_Id": 0, - "m_DisplayName": "Step", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [], - "m_LiteralMode": false -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", @@ -3166,50 +2549,6 @@ "m_DefaultValue": false } -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", - "m_ObjectId": "89822b65542d4e30965590910a22d7d5", - "m_Guid": { - "m_GuidSerialized": "45eee914-275d-4b86-9d18-5e4baf2ccdfc" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "GrainStrength", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "GrainStrength", - "m_DefaultReferenceName": "_GrainStrength", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": true, - "hlslDeclarationOverride": 2, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": 0.20000000298023225, - "m_FloatType": 1, - "m_LiteralFloatMode": false, - "m_RangeValues": { - "x": 0.0, - "y": 1.0 - }, - "m_SliderType": 0, - "m_SliderPower": 3.0, - "m_EnumType": 0, - "m_CSharpEnumString": "", - "m_EnumNames": [ - "Default" - ], - "m_EnumValues": [ - 0 - ] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -3252,66 +2591,6 @@ "m_SupportVFX": false } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "8c26652d47d64417a9ce7a93bb811466", - "m_Id": 11, - "m_DisplayName": "Step", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "Step", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [], - "m_LiteralMode": false -} - -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", - "m_ObjectId": "8ddc5e296a9f402f86b59bcdb3212a75", - "m_Guid": { - "m_GuidSerialized": "3193da64-8b9f-42dd-9c49-78a2c972b897" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "ShadowMax", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "ShadowMax", - "m_DefaultReferenceName": "_ShadowMax", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": true, - "hlslDeclarationOverride": 2, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": 0.20000000298023225, - "m_FloatType": 1, - "m_LiteralFloatMode": false, - "m_RangeValues": { - "x": -1.0, - "y": 1.0 - }, - "m_SliderType": 0, - "m_SliderPower": 3.0, - "m_EnumType": 0, - "m_CSharpEnumString": "", - "m_EnumNames": [ - "Default" - ], - "m_EnumValues": [ - 0 - ] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", @@ -3339,7 +2618,7 @@ "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.CategoryData", "m_ObjectId": "8ec4a0fe2487442087508231220eb8ac", - "m_Name": "Triplanar", + "m_Name": "Projection", "m_ChildObjectList": [ { "m_Id": "9179c761aeb24115bffb5f782be13d25" @@ -3391,12 +2670,12 @@ "promotedFromAssetID": "", "promotedFromCategoryName": "", "promotedOrdering": -1, - "m_Name": "TriplanarBlend", + "m_Name": "Blend", "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "TriplanarBlend", - "m_DefaultReferenceName": "_TriplanarBlend", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, + "m_RefNameGeneratedByDisplayName": "Blend", + "m_DefaultReferenceName": "_Blend", + "m_OverrideReferenceName": "_ProjectionBlend", + "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", "m_DismissedVersion": 0, @@ -3406,7 +2685,7 @@ "m_Hidden": false, "m_PerRendererData": false, "m_customAttributes": [], - "m_Value": 0.0, + "m_Value": 0.10000000149011612, "m_FloatType": 1, "m_LiteralFloatMode": false, "m_RangeValues": { @@ -3473,50 +2752,6 @@ } } -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", - "m_ObjectId": "94c591736c9d437581be9fd159b4812f", - "m_Guid": { - "m_GuidSerialized": "07b69569-e7d6-448b-a250-47b7fe56acf5" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "StrokeWidth", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "StrokeWidth", - "m_DefaultReferenceName": "_StrokeWidth", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": true, - "hlslDeclarationOverride": 2, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": 0.20000000298023225, - "m_FloatType": 1, - "m_LiteralFloatMode": false, - "m_RangeValues": { - "x": 0.0, - "y": 1.0 - }, - "m_SliderType": 0, - "m_SliderPower": 3.0, - "m_EnumType": 0, - "m_CSharpEnumString": "", - "m_EnumNames": [ - "Default" - ], - "m_EnumValues": [ - 0 - ] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", @@ -3592,10 +2827,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 471.0, - "y": 315.0, - "width": 145.0, - "height": 128.0 + "x": 514.0, + "y": 655.9999389648438, + "width": 144.99993896484376, + "height": 128.00006103515626 } }, "m_Slots": [ @@ -3614,95 +2849,6 @@ "m_ScreenSpaceType": 0 } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.ObjectNode", - "m_ObjectId": "9ab35fa1fae046bf8f9cd00d738b1def", - "m_Group": { - "m_Id": "" - }, - "m_Name": "Object", - "m_DrawState": { - "m_Expanded": false, - "m_Position": { - "serializedVersion": "2", - "x": 622.0, - "y": 902.0, - "width": 84.0, - "height": 76.0 - } - }, - "m_Slots": [ - { - "m_Id": "3ecbdcbb4a4b41b18d34b218166c4540" - }, - { - "m_Id": "9ad600c29e2444118b3568bb336abb78" - }, - { - "m_Id": "35d40dac560947a0b6e033f2f77b12a0" - }, - { - "m_Id": "12a1404f7031496a889989457e692bdd" - }, - { - "m_Id": "e79f7ead11484dc48246da8eb345deea" - } - ], - "synonyms": [ - "position", - "scale", - "bounds", - "size" - ], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - } -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "9ad600c29e2444118b3568bb336abb78", - "m_Id": 1, - "m_DisplayName": "Scale", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Scale", - "m_StageCapability": 3, - "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_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "9d254cae24a047ed8004b1debb2445b4", - "m_Id": 8, - "m_DisplayName": "StripesWidth", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "StripesWidth", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [], - "m_LiteralMode": false -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", @@ -3732,6 +2878,19 @@ "m_LiteralMode": false } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "a2a075edb2e84c64b1aa438b512da6ab", + "m_Id": 0, + "m_DisplayName": "Detail", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -3854,6 +3013,24 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "ab55036f97c64fcc877002909d03e43f", + "m_Id": 13, + "m_DisplayName": "DetailTex", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "DetailTex", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", @@ -3967,29 +3144,6 @@ "m_BlendModePreserveSpecular": true } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "b5295cbac1374e2e822d6bf064e92dc3", - "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": 1.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 1.0 - }, - "m_Labels": [] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", @@ -4164,38 +3318,20 @@ { "m_Id": "a4ebf1b78b20490d9b1c3591e31e9f00" }, + { + "m_Id": "ab55036f97c64fcc877002909d03e43f" + }, { "m_Id": "5b149889e6574c49acaa3216871f187b" }, { "m_Id": "95583745f83248b0a44023be8fefd0c1" }, - { - "m_Id": "fdd6ef562e274db8bc1a4eb6e122b95a" - }, { "m_Id": "bc5ffc0fc8f74337b33145d351b0d0a5" }, { - "m_Id": "3e8d5dc458f24eebaac4049b9ebf050e" - }, - { - "m_Id": "689f6f3377bf4ae6857e9104c8a2bf1e" - }, - { - "m_Id": "62acb26bef024e0abf105027563b83bb" - }, - { - "m_Id": "7105cf6bb67c4370bdbeaae3d21efc9a" - }, - { - "m_Id": "9d254cae24a047ed8004b1debb2445b4" - }, - { - "m_Id": "d733edfbd0be42b68106424da98e478b" - }, - { - "m_Id": "8c26652d47d64417a9ce7a93bb811466" + "m_Id": "5ac79464834a403381144578be491825" }, { "m_Id": "8ead54ba7a8d487ea3f55e930101215f" @@ -4219,85 +3355,6 @@ "m_FunctionBody": "Enter function body here..." } -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", - "m_ObjectId": "c88010bf5d374c558536bab6657f2905", - "m_Guid": { - "m_GuidSerialized": "91c16887-e3ce-4563-9ccf-0daca777f9ed" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "GrainSize", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "GrainSize", - "m_DefaultReferenceName": "_GrainSize", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": true, - "hlslDeclarationOverride": 2, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": 0.4000000059604645, - "m_FloatType": 0, - "m_LiteralFloatMode": false, - "m_RangeValues": { - "x": 0.0, - "y": 1.0 - }, - "m_SliderType": 0, - "m_SliderPower": 3.0, - "m_EnumType": 0, - "m_CSharpEnumString": "", - "m_EnumNames": [ - "Default" - ], - "m_EnumValues": [ - 0 - ] -} - -{ - "m_SGVersion": 3, - "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", - "m_ObjectId": "c8c81d08ce6240a78db604444ba40ed5", - "m_Guid": { - "m_GuidSerialized": "3ab089bd-b6a8-4503-802b-cd2178752ce7" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "HighlightColor", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "HighlightColor", - "m_DefaultReferenceName": "_HighlightColor", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": true, - "hlslDeclarationOverride": 2, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": { - "r": 2.118547201156616, - "g": 2.118547201156616, - "b": 2.118547201156616, - "a": 1.0 - }, - "isMainColor": false, - "m_ColorMode": 1 -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", @@ -4369,94 +3426,6 @@ } } -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", - "m_ObjectId": "cb2968cecd2d4e1abf1dec9fd7b5f816", - "m_Guid": { - "m_GuidSerialized": "20694f7f-877a-4344-a6b0-9d88fab8b147" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "ShadowMin", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "ShadowMin", - "m_DefaultReferenceName": "_ShadowMin", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": true, - "hlslDeclarationOverride": 2, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": -0.5, - "m_FloatType": 1, - "m_LiteralFloatMode": false, - "m_RangeValues": { - "x": -1.0, - "y": 1.0 - }, - "m_SliderType": 0, - "m_SliderPower": 3.0, - "m_EnumType": 0, - "m_CSharpEnumString": "", - "m_EnumNames": [ - "Default" - ], - "m_EnumValues": [ - 0 - ] -} - -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", - "m_ObjectId": "d18c801dc9b44ee5976c232608872e27", - "m_Guid": { - "m_GuidSerialized": "5056d277-3f74-4a0b-9caf-e5df507f485b" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "HighlightMax", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "HighlightMax", - "m_DefaultReferenceName": "_HighlightMax", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": true, - "hlslDeclarationOverride": 2, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": 1.0, - "m_FloatType": 1, - "m_LiteralFloatMode": false, - "m_RangeValues": { - "x": -1.0, - "y": 1.0 - }, - "m_SliderType": 0, - "m_SliderPower": 3.0, - "m_EnumType": 0, - "m_CSharpEnumString": "", - "m_EnumNames": [ - "Default" - ], - "m_EnumValues": [ - 0 - ] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", @@ -4509,58 +3478,6 @@ "m_LiteralMode": false } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "d733edfbd0be42b68106424da98e478b", - "m_Id": 9, - "m_DisplayName": "StripesSmooth", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "StripesSmooth", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [], - "m_LiteralMode": false -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.NormalVectorNode", - "m_ObjectId": "d837bbfe59e545829b1aef6a76ddc4db", - "m_Group": { - "m_Id": "" - }, - "m_Name": "Normal Vector", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 410.0, - "y": 837.0, - "width": 206.0, - "height": 130.0 - } - }, - "m_Slots": [ - { - "m_Id": "b5295cbac1374e2e822d6bf064e92dc3" - } - ], - "synonyms": [ - "surface direction" - ], - "m_Precision": 0, - "m_PreviewExpanded": false, - "m_DismissedVersion": 0, - "m_PreviewMode": 2, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Space": 0 -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -4774,29 +3691,6 @@ "m_SerializedDescriptor": "SurfaceDescription.Metallic" } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "e79f7ead11484dc48246da8eb345deea", - "m_Id": 4, - "m_DisplayName": "Bounds Size", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Bounds Size", - "m_StageCapability": 3, - "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_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.BlockNode", @@ -4889,10 +3783,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 411.0, - "y": 705.0, - "width": 206.0, - "height": 130.0 + "x": 462.9999694824219, + "y": 923.0, + "width": 205.99996948242188, + "height": 129.9998779296875 } }, "m_Slots": [ @@ -5024,87 +3918,6 @@ "m_Labels": [] } -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.PositionNode", - "m_ObjectId": "f39af772925c40ec981b6aeb93142134", - "m_Group": { - "m_Id": "" - }, - "m_Name": "Position", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 411.0, - "y": 574.0, - "width": 206.0, - "height": 130.0 - } - }, - "m_Slots": [ - { - "m_Id": "5af11e0b7ea84c2a82d4d1b3a763e931" - } - ], - "synonyms": [ - "location" - ], - "m_Precision": 1, - "m_PreviewExpanded": false, - "m_DismissedVersion": 0, - "m_PreviewMode": 2, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Space": 0, - "m_PositionSource": 0 -} - -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", - "m_ObjectId": "f5635e32bf83409098de2fdd9c0f0117", - "m_Guid": { - "m_GuidSerialized": "b17bf999-8fd7-4b46-9cae-047440c43622" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "StrokeDensity", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "StrokeDensity", - "m_DefaultReferenceName": "_StrokeDensity", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": true, - "hlslDeclarationOverride": 2, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": 1000.0, - "m_FloatType": 0, - "m_LiteralFloatMode": false, - "m_RangeValues": { - "x": 0.0, - "y": 1.0 - }, - "m_SliderType": 0, - "m_SliderPower": 3.0, - "m_EnumType": 0, - "m_CSharpEnumString": "", - "m_EnumNames": [ - "Default" - ], - "m_EnumValues": [ - 0 - ] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.CategoryData", @@ -5129,41 +3942,6 @@ "m_LiteralMode": false } -{ - "m_SGVersion": 3, - "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", - "m_ObjectId": "f9d0721d460b431a95ae40ee06b6a854", - "m_Guid": { - "m_GuidSerialized": "1485bb91-02d7-4f04-889f-c6b8c0389de0" - }, - "promotedFromAssetID": "", - "promotedFromCategoryName": "", - "promotedOrdering": -1, - "m_Name": "ShadowColor", - "m_DefaultRefNameVersion": 1, - "m_RefNameGeneratedByDisplayName": "ShadowColor", - "m_DefaultReferenceName": "_ShadowColor", - "m_OverrideReferenceName": "", - "m_GeneratePropertyBlock": false, - "m_UseCustomSlotLabel": false, - "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, - "m_Precision": 0, - "overrideHLSLDeclaration": true, - "hlslDeclarationOverride": 2, - "m_Hidden": false, - "m_PerRendererData": false, - "m_customAttributes": [], - "m_Value": { - "r": 0.1411764770746231, - "g": 0.16862745583057404, - "b": 0.16470588743686677, - "a": 1.0 - }, - "isMainColor": false, - "m_ColorMode": 0 -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Matrix4MaterialSlot", @@ -5236,26 +4014,3 @@ "m_Space": 0 } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "fdd6ef562e274db8bc1a4eb6e122b95a", - "m_Id": 1, - "m_DisplayName": "PositionOS", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "PositionOS", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [] -} - diff --git a/Assets/_Content/Shaders/EnkiBillal/Include/EnkiBiIlal.hlsl b/Assets/_Content/Shaders/EnkiBillal/Include/EnkiBiIlal.hlsl index 42ba8412..fe07c3c9 100644 --- a/Assets/_Content/Shaders/EnkiBillal/Include/EnkiBiIlal.hlsl +++ b/Assets/_Content/Shaders/EnkiBillal/Include/EnkiBiIlal.hlsl @@ -2,36 +2,9 @@ #define ENKI_BILLAL_INCLUDED #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" -//#include "Assets/_Content/Shaders/EnkiBillal/Stripes.hlsl" #include "Assets/_Content/Shaders/Include/Noises.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/AmbientOcclusion.hlsl" -float MainLightShadowAtten(float3 PositionWS, float3 NormalWS, float CastAtten) -{ - float4 shadowCoord = TransformWorldToShadowCoord(PositionWS); - Light mainLight = GetMainLight(shadowCoord); - - float lightGradient = dot(normalize(NormalWS), normalize(mainLight.direction)); - lightGradient = smoothstep(-.5, 1, lightGradient); - - float shadow = 1 - mainLight.shadowAttenuation; - shadow = lerp(0, shadow, lightGradient) * CastAtten; - shadow = lerp(1, shadow, lightGradient); - shadow = 1 - shadow; - - return shadow; -} - -float3 TriplanarMask(float3 NormalWS, float Sharpness) -{ - float sharpness = Remap(0, 1, 1, 16, smoothstep(0, .9, Sharpness)); - float3 hard = abs(NormalWS) == max(abs(NormalWS.x), max(abs(NormalWS.y), abs(NormalWS.z))); - float3 blend = pow(abs(NormalWS), sharpness); - blend /= max(dot(blend, float3(1, 1, 1)), 0.0001); - blend = lerp(blend, hard, smoothstep(.9, 1, Sharpness)); - return blend; -} - float2 RotateUV(float2 UV, float2 Pivot, float Angle) { float s = sin(Angle); @@ -47,34 +20,110 @@ float2 RotateUV(float2 UV, float2 Pivot, float Angle) return rotated + Pivot; } -float StableStripes(float x, float depth, float width, float smooth) +float3 GetScale(float3 PivotWS) { - float phase = frac(depth); - float index = floor(depth); - float scale = exp2(-index); - - float rawX = x * scale - 0.5; - - float cellIndex = floor(rawX); - - float2 uv = float2(frac(rawX), phase); - - float isContinuing = abs(fmod(cellIndex, 2)); - - float w = lerp(width, lerp(-smooth, width * 2, isContinuing), uv.y); - float s = smooth; - - return smoothstep(w + s, w - s, abs(uv.x - .5) * 2); + return float3 + ( + length(TransformObjectToWorld(float3(1, 0, 0)) - PivotWS), + length(TransformObjectToWorld(float3(0, 1, 0)) - PivotWS), + length(TransformObjectToWorld(float3(0, 0, 1)) - PivotWS) + ); } -float WorldStripes() +float GetShadow(float3 PositionWS) { - /*float StripesScale = StripesDensity; - //float StripesWidth = .5; - //float StripesSmooth = .05; + float4 shadowCoord = TransformWorldToShadowCoord(PositionWS); - // Octahedral face normals (4 faces + 3 world axes) - float3 octaFaceNormals[7] = + Light mainLight = GetMainLight(shadowCoord); + + float shadow = 1 - mainLight.shadowAttenuation; + +#if defined(_ADDITIONAL_LIGHTS) + uint lightsCount = GetAdditionalLightsCount(); + + [loop] + for (uint i = 0; i < lightsCount; i++) + { + Light light = GetAdditionalLight(i, PositionWS); + shadow = max(shadow, 1 - light.shadowAttenuation); + } +#endif + + return saturate(shadow); +} + +float4 SampleBombedTexture +( + UnityTexture2D Tex, + float2 UV +) +{ + const float cellBlend = 4; + + float2 cell = floor(UV); + float2 local = frac(UV); + + float4 result = 0; + float weightSum = 0; + + [unroll] + for (int y = 0; y < 2; y++) + { + [unroll] + for (int x = 0; x < 2; x++) + { + float2 currentCell = cell + float2(x, y); + + float2 randomOffset = (Hash2D(currentCell) - .5) * .35; + float randomAngle = Hash1From2D(currentCell) * TWO_PI; + + float2 center = float2(x, y) + randomOffset; + float2 delta = local - center; + + float weight = + pow(saturate(1 - abs(delta.x)), cellBlend) * + pow(saturate(1 - abs(delta.y)), cellBlend); + + float2 sampleUV = UV + randomOffset; + + sampleUV = RotateUV + ( + sampleUV, + currentCell + .5, + randomAngle + ); + + result += Tex.tex.Sample + ( + Tex.samplerstate, + sampleUV + ) * weight; + + weightSum += weight; + } + } + + return result / max(weightSum, 1e-5); +} + +struct ProjectionData +{ + float2 uv[7]; + float mask[7]; +}; + +ProjectionData GetProjections +( + float3 PositionOS, + float3 NormalOS, + float Blend +) +{ + ProjectionData data; + + float3 normal = normalize(NormalOS); + + float3 projectionNormals[7] = { normalize(float3(1, 1, 1)), normalize(float3(-1, 1, 1)), @@ -85,226 +134,105 @@ float WorldStripes() float3(0, 0, 1) }; - // Octahedral blending mask - float sharpness = Remap(0, 1, 1, 16, smoothstep(0, .9, TriplanarBlend)); - float octaMask[7]; - float hardMax = -1; - int hardIdx = 0; - for (int i = 0; i < 7; i++) - { - float d = abs(dot(NormalWS, octaFaceNormals[i])); - octaMask[i] = pow(saturate(d), sharpness); - if (d > hardMax) - { - hardMax = d; - hardIdx = i; - } - } + float sharpness = lerp(2, 32, saturate(Blend)); + float maskSum = 0; - for (int i = 0; i < 7; i++) - maskSum += octaMask[i]; - for (int i = 0; i < 7; i++) - octaMask[i] /= max(maskSum, 0.0001); - float hardFactor = smoothstep(.9, 1, TriplanarBlend); - for (int i = 0; i < 7; i++) - { - float hard = (i == hardIdx) ? 1.0 : 0.0; - octaMask[i] = lerp(octaMask[i], hard, hardFactor); - } - - // Patern - float3 stripesPos = PositionWS; - float3 stripesPos0 = stripesPos; // + PerlinColor3D(PositionWS, .63) * .10; - float3 stripesPos1 = stripesPos; // + PerlinColor3D(PositionWS, 5.7) * .02; - float width = StripesWidth; // * .5; - float smooth = max(StripesSmooth, 1e-5); - - float stripes0 = 0; - float stripes1 = 0; - [unroll] for (int i = 0; i < 7; i++) { - float3 n = octaFaceNormals[i]; + float3 n = projectionNormals[i]; + + float d = abs(dot(normal, n)); + + data.mask[i] = pow(saturate(d), sharpness); + maskSum += data.mask[i]; + + float3 up = abs(n.y) < .999 + ? float3(0, 1, 0) + : float3(1, 0, 0); - float3 up = abs(n.y) < 0.999 ? float3(0, 1, 0) : float3(1, 0, 0); float3 tangent = normalize(cross(up, n)); float3 bitangent = normalize(cross(n, tangent)); - float3 ref = normalize(mainLightDir - dot(mainLightDir, n) * n); - float3 axis = normalize(up - dot(up, n) * n); - float angle = -atan2(dot(cross(axis, ref), n), dot(axis, ref)); - - float2 p0 = RotateUV(float2(dot(stripesPos0, tangent), dot(stripesPos0, bitangent)), 0, angle) * StripesScale; - float2 p1 = (RotateUV(float2(dot(stripesPos1, tangent), dot(stripesPos1, bitangent)), 0, angle) + .5) * StripesScale; - - float stripe0 = StableStripes(p0.x, log2(depth), width, smooth); - float stripe1 = StableStripes(p1.x + p1.y, log2(depth), width, smooth); - - stripes0 += stripe0 * octaMask[i]; - stripes1 += stripe1 * octaMask[i]; + data.uv[i] = float2 + ( + dot(PositionOS, tangent), + dot(PositionOS, bitangent) + ); } - - //float stripes = stripes0 * smoothstep(.5, 0, lightGradient); - float stripes = max(stripes0, stripes1 * .5); - stripes *= smoothstep(.5, 0, lightGradient) * smoothstep(.97, .93, ao);*/ - return 0; -} + maskSum = max(maskSum, 1e-5); -float WorldDistort(float3 PositionWS, float3 NormalWS, float Angle, float TriplanarBlend) -{ - float StripesScale = 60; - - // Octahedral face normals (4 faces + 3 world axes) - float3 octaFaceNormals[7] = - { - normalize(float3(1, 1, 1)), - normalize(float3(-1, 1, 1)), - normalize(float3(1, -1, 1)), - normalize(float3(-1, -1, 1)), - float3(1, 0, 0), - float3(0, 1, 0), - float3(0, 0, 1) - }; - - // Octahedral blending mask - float sharpness = Remap(0, 1, 1, 16, smoothstep(0, .9, TriplanarBlend)); - float octaMask[7]; - float hardMax = -1; - int hardIdx = 0; - for (int i = 0; i < 7; i++) - { - float d = abs(dot(NormalWS, octaFaceNormals[i])); - octaMask[i] = pow(saturate(d), sharpness); - if (d > hardMax) - { - hardMax = d; - hardIdx = i; - } - } - float maskSum = 0; - for (int i = 0; i < 7; i++) - maskSum += octaMask[i]; - for (int i = 0; i < 7; i++) - octaMask[i] /= max(maskSum, 0.0001); - float hardFactor = smoothstep(.9, 1, TriplanarBlend); - for (int i = 0; i < 7; i++) - { - float hard = (i == hardIdx) ? 1.0 : 0.0; - octaMask[i] = lerp(octaMask[i], hard, hardFactor); - } - - // Patern - float stripes = 0; - [unroll] for (int i = 0; i < 7; i++) - { - float3 n = octaFaceNormals[i]; + data.mask[i] /= maskSum; - float3 up = abs(n.y) < 0.999 ? float3(0, 1, 0) : float3(1, 0, 0); - float3 tangent = normalize(cross(up, n)); - float3 bitangent = normalize(cross(n, tangent)); - - float angle = i / 7.0 * PI; - - float2 p = RotateUV(float2(dot(PositionWS, tangent), dot(PositionWS, bitangent)), 0, angle) * StripesScale; - - float stripe = cos(p.x); - - stripes += stripe * octaMask[i]; - } - - return stripes; + return data; } void EnkiBillal_float ( float4 Color, + UnityTexture2D DetailTex, float2 ScreenUV, float3 PositionWS, - float3 PositionOS, float3 NormalWS, - float3 NormalOS, - float3 ObjectScale, - float TriplanarBlend, - float StripesDensity, - float StripesWidth, - float StripesSmooth, - int Step, + float ProjectionsBlend, out float3 Output ) { - float3 scaledPositionOS = PositionOS * ObjectScale; + // Common float depth = length(PositionWS - _WorldSpaceCameraPos.xyz); - //Light mainLight = GetMainLight(0); - float3 mainLightDir = normalize(float3(1, -1, 1)); //normalize(float3(0, 13, 8) - PositionWS); //float3(0, -1, 0);//normalize(mainLight.direction); - float lightGradient = dot(normalize(NormalWS), normalize(mainLightDir)); - lightGradient = smoothstep(-.5, 1, lightGradient); + + float3 pivotWS = TransformObjectToWorld(float3(0, 0, 0)); + + float3 scale = GetScale(pivotWS); + + float3 positionOS = TransformWorldToObject(PositionWS) * scale; + float3 normalOS = normalize(TransformWorldToObjectDir(NormalWS)); + //float ao = GetScreenSpaceAmbientOcclusion(ScreenUV).directAmbientOcclusion; // Shadow - float shadowMask = lightGradient;//MainLightShadowAtten(PositionWS, NormalWS, .8); - float shadowAtten = Remap(0, 1, .6, 1, shadowMask); + float shadow = GetShadow(PositionWS); + float shadowAtten = Remap(1, 0, .6, 1, shadow); - // Grain - - /*float grain = ValueNoise3DLOD(PositionWS, scaledPositionOS, 600, 3.5); - float grainMin = lerp(.4, .8, shadowMask); - float grainAtten = Remap(0, 1, grainMin, 1, grain); - - // Dirt - - float dirt = FBMNoise3D(scaledPositionOS, 1, 3, 2, .5); - float dirtMin = lerp(.2, .7, shadowMask); - float dirtAtten = Remap(0, 1, dirtMin, 1, dirt);*/ - - // Stripes - - // float stripes = WorldStripes(); + // Detail + float4 detail = 0; - // Test + ProjectionData projections = GetProjections + ( + positionOS, + normalOS, + ProjectionsBlend + ); - //float test = ValueNoise3D(PositionWS, 40); - //float test = PerlinNoise3D(PositionWS, 40); - //float test = PerlinNoise3DLOD(PositionWS, 100, 3.5); - //float test = SimplexNoise3D(PositionWS, 40); - //float test = WorleyNoise3D(PositionWS, 40, 1); - //float id; - //float test = VoronoiNoise3D(PositionWS, 10, 1, .05, id); - //float test = FBMNoise3D(PositionWS, 10, 2, 2, .5); - //float test = RidgedNoise3D(PositionWS, 10, 2, 2, .5); - - /*float3 pWS = scaledPositionOS; - float n0 = PerlinNoise3D(pWS, 2); - float distort = WorldDistort(pWS + n0 * .2, NormalWS, 1, TriplanarBlend); - float3 p = pWS + n0 * 2 + distort * smoothstep(.5, .7, n0) * .06; - float grad = 0; - float cell = 0; - VoronoiNoise3D_float(p, 2, 1, 1, grad, cell); - - - float3 v = cell * .8;// * (grad + distort * .1); - v += smoothstep(.05, .02, grad) * smoothstep(.4, .7, n0) * 2; - float3 c = Color * lerp(.9, 1, v);*/ + float totalMask = 0; + + [unroll] + for (int i = 0; i < 7; i++) + { + float mask = projections.mask[i]; + + detail += SampleBombedTexture + ( + DetailTex, + projections.uv[i] + ) * mask; + + totalMask += mask; + } + + detail /= max(totalMask, 1e-5); // Output - - //Output = 1; - //if (Step > 0 ) Output *= Color; - //if (Step > 1 ) Output *= grainAtten; - //if (Step > 2 ) Output *= dirtAtten; - //if (Step > 3 ) Output *= shadowAtten; - //if (Step > 4 ) Output = lerp(Output, Output * .1, stripes * .8); - Output = Color; - - //Output = PerlinColor3D(PositionWS, 5); - //Output = smoothstep(.97, .93, ao); + Output = Color.rgb; + Output = lerp(Color.rgb, Color.rgb * detail.rgb, detail.a); + //Output *= shadowAtten; } -#endif +#endif \ No newline at end of file diff --git a/Assets/_Content/Shaders/Postprocess/Include/EnkiBillalFullscreen.hlsl b/Assets/_Content/Shaders/Postprocess/Include/EnkiBillalFullscreen.hlsl index f3fe3fe8..7a4e1ae2 100644 --- a/Assets/_Content/Shaders/Postprocess/Include/EnkiBillalFullscreen.hlsl +++ b/Assets/_Content/Shaders/Postprocess/Include/EnkiBillalFullscreen.hlsl @@ -246,7 +246,9 @@ void EnkiBillalFullscreen_float // COLOR (WIP) - float3 pWS = positionWS; //scaledPositionOS; + float3 c = sceneColor; + + /*float3 pWS = positionWS; //scaledPositionOS; float n0 = PerlinNoise3D(pWS, 2); float distort = WorldDistort(pWS + n0 * .2, normalWS, 1, .1); float3 p = pWS + n0 * 2 + distort * smoothstep(.5, .7, n0) * .06; @@ -257,7 +259,7 @@ void EnkiBillalFullscreen_float float3 v = cell * .8; // * (grad + distort * .1); v += smoothstep(.05, .02, grad) * smoothstep(.4, .7, n0) * 2; - float3 c = sceneColor * lerp(.9, 1, v); + c *= lerp(.9, 1, v); // DIRT @@ -267,7 +269,7 @@ void EnkiBillalFullscreen_float float dirt0 = smoothstep(.2, .22, dirtNoise0); float dirt1 = saturate(smoothstep(.01, .02, abs(dot(dirtNoise0, dirtNoise1) - .4)) + dirtNoise1 + outlineAtten); - c *= dirt0 * dirt1; + c *= dirt0 * dirt1;*/ // SHADOW diff --git a/Assets/_Content/Textures.meta b/Assets/_Content/Textures.meta new file mode 100644 index 00000000..efd0b25a --- /dev/null +++ b/Assets/_Content/Textures.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: caf7467a779810c40b0a11217a62dfef +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Content/Textures/EnkiBilal.meta b/Assets/_Content/Textures/EnkiBilal.meta new file mode 100644 index 00000000..e2421b3b --- /dev/null +++ b/Assets/_Content/Textures/EnkiBilal.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 541c87846c3d0a245b4a6d87cb7f2f81 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Content/Textures/EnkiBilal/TX_EnkiDetail.psd b/Assets/_Content/Textures/EnkiBilal/TX_EnkiDetail.psd new file mode 100644 index 00000000..44271194 --- /dev/null +++ b/Assets/_Content/Textures/EnkiBilal/TX_EnkiDetail.psd @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01f400af093a5a396efbd8a46a0289aeb61992c060e676281e401c0955e78c93 +size 4532686 diff --git a/Assets/_Content/Textures/EnkiBilal/TX_EnkiDetail.psd.meta b/Assets/_Content/Textures/EnkiBilal/TX_EnkiDetail.psd.meta new file mode 100644 index 00000000..e62f6d82 --- /dev/null +++ b/Assets/_Content/Textures/EnkiBilal/TX_EnkiDetail.psd.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: 2da59fbd756c92a4bb2018abf06c4e07 +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: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Content/Textures/Testing.meta b/Assets/_Content/Textures/Testing.meta new file mode 100644 index 00000000..5d737e7e --- /dev/null +++ b/Assets/_Content/Textures/Testing.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 321dd782631e6d346a93ab87637f2c44 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Content/Textures/Testing/TX_test.png b/Assets/_Content/Textures/Testing/TX_test.png new file mode 100644 index 00000000..63e49d09 --- /dev/null +++ b/Assets/_Content/Textures/Testing/TX_test.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a87b965a701de3dc31d7401e542b1fc946587f912c51d7a26e46ade9f098bd1a +size 112319 diff --git a/Assets/_Content/Textures/Testing/TX_test.png.meta b/Assets/_Content/Textures/Testing/TX_test.png.meta new file mode 100644 index 00000000..77f318cc --- /dev/null +++ b/Assets/_Content/Textures/Testing/TX_test.png.meta @@ -0,0 +1,518 @@ +fileFormatVersion: 2 +guid: 0363485006f579b4d9db5c924cadb146 +TextureImporter: + internalIDToNameTable: + - first: + 213: 21300000 + second: EmojiOne_0 + - first: + 213: 21300002 + second: EmojiOne_1 + - first: + 213: 21300004 + second: EmojiOne_2 + - first: + 213: 21300006 + second: EmojiOne_3 + - first: + 213: 21300008 + second: EmojiOne_4 + - first: + 213: 21300010 + second: EmojiOne_6 + - first: + 213: 21300012 + second: EmojiOne_7 + - first: + 213: 21300014 + second: EmojiOne_8 + - first: + 213: 21300016 + second: EmojiOne_9 + - first: + 213: 21300018 + second: EmojiOne_10 + - first: + 213: 21300020 + second: EmojiOne_11 + - first: + 213: 21300022 + second: EmojiOne_12 + - first: + 213: 21300024 + second: EmojiOne_13 + - first: + 213: 21300026 + second: EmojiOne_5 + - first: + 213: 21300028 + second: EmojiOne_14 + 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: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 1 + swizzle: 50462976 + cookieLightType: 1 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: iOS + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 512 + 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: + - serializedVersion: 2 + name: EmojiOne_0 + rect: + serializedVersion: 2 + x: 0 + y: 384 + width: 128 + height: 128 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 4bcc36da2108f2c4ba3de5c921d25c3c + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: EmojiOne_1 + rect: + serializedVersion: 2 + x: 128 + y: 384 + width: 128 + height: 128 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: e9eea8093eaeaee4d901c4553f572c22 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: EmojiOne_2 + rect: + serializedVersion: 2 + x: 256 + y: 384 + width: 128 + height: 128 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 49451da35411dcc42a3692e39b0fde70 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: EmojiOne_3 + rect: + serializedVersion: 2 + x: 384 + y: 384 + width: 128 + height: 128 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: f65709664b924904790c850a50ca82bc + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: EmojiOne_4 + rect: + serializedVersion: 2 + x: 0 + y: 256 + width: 128 + height: 128 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 5b92c568a5ec9ad4b9ed90e271f1c9a8 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: EmojiOne_6 + rect: + serializedVersion: 2 + x: 256 + y: 256 + width: 128 + height: 128 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: b10f2b48b7281594bb8a24a6511a35af + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: EmojiOne_7 + rect: + serializedVersion: 2 + x: 384 + y: 256 + width: 128 + height: 128 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 10a600f9329dc2246a897e89f4d283cd + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: EmojiOne_8 + rect: + serializedVersion: 2 + x: 0 + y: 128 + width: 128 + height: 128 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 66cffa363b90ab14787d8a5b90cf4502 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: EmojiOne_9 + rect: + serializedVersion: 2 + x: 128 + y: 128 + width: 128 + height: 128 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 55cf3d409c9b89349b1e1bdc1cc224ad + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: EmojiOne_10 + rect: + serializedVersion: 2 + x: 256 + y: 128 + width: 128 + height: 128 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 2a9e58eaf96feef42bcefa1cf257193f + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: EmojiOne_11 + rect: + serializedVersion: 2 + x: 384 + y: 128 + width: 128 + height: 128 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 2489120affc155840ae6a7be2e93ce19 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: EmojiOne_12 + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 128 + height: 128 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 412349a150598d14da4d7140df5c0286 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: EmojiOne_13 + rect: + serializedVersion: 2 + x: 128 + y: 0 + width: 128 + height: 128 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: a937464b42bb3634782dea34c6becb6c + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: EmojiOne_5 + rect: + serializedVersion: 2 + x: 256 + y: 0 + width: 128 + height: 128 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: b0f933b217682124dbfc5e6b89abe3d0 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: EmojiOne_14 + rect: + serializedVersion: 2 + x: 128 + y: 256 + width: 128 + height: 128 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: f7235c763afe4434e8bb666750a41096 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 3e32d8f5477abfc43b19066e8ad5032e + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: