diff --git a/.gitignore b/.gitignore index af8e1747..4721bdf4 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,5 @@ libCesiumForUnityNative-*.so.meta libCesiumForUnityNative-*.dylib libCesiumForUnityNative-*.dylib.meta Documentation~/Reference/ +package-lock.json + diff --git a/CHANGES.md b/CHANGES.md index 59c76673..7e3564b9 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -6,6 +6,11 @@ - Added option to ignore the `KHR_material_unlit` extension to force default lighting on tilesets. +##### Breaking Changes :mega: + +- Flat normals are now computed in `CesiumDefaultTilesetShader` to avoid duplicating vertices as tiles are loaded. Existing copies of this shader should incorporate this logic using the boolean `computeFlatNormals` property to maintain a correct appearance. + + ## v1.17.0 - 2025-08-01 ##### Additions :tada: diff --git a/Editor/Cesium3DTilesetEditor.cs b/Editor/Cesium3DTilesetEditor.cs index a1abeb56..abab8743 100644 --- a/Editor/Cesium3DTilesetEditor.cs +++ b/Editor/Cesium3DTilesetEditor.cs @@ -35,6 +35,7 @@ public class Cesium3DTilesetEditor : Editor //private SerializedProperty _useLodTransitions; //private SerializedProperty _lodTransitionLength; private SerializedProperty _generateSmoothNormals; + private SerializedProperty _generateTangents; private SerializedProperty _pointCloudShading; @@ -84,6 +85,9 @@ private void OnEnable() // this.serializedObject.FindProperty("_lodTransitionLength"); this._generateSmoothNormals = this.serializedObject.FindProperty("_generateSmoothNormals"); + this._generateTangents = + this.serializedObject.FindProperty("_generateTangents"); + this._ignoreKhrMaterialsUnlit = this.serializedObject.FindProperty("_ignoreKhrMaterialsUnlit"); this._pointCloudShading = this.serializedObject.FindProperty("_pointCloudShading"); @@ -422,13 +426,19 @@ private void DrawRenderProperties() "Generate Smooth Normals", "Whether to generate smooth normals when normals are missing in the glTF." + "\n\n" + - "According to the glTF spec: \"When normals are not specified, client " + - "implementations should calculate flat normals.\" However, calculating flat " + - "normals requires duplicating vertices. This option allows the glTFs to be " + - "rendered with smooth normals instead when the original glTF is missing normals."); + "This option allows glTFs to be rendered with smooth normals when the original glTF " + + "is missing normals. If this option is not enabled and normals are missing, " + + "flat normals will be generated in the shader. " + ); EditorGUILayout.PropertyField(this._generateSmoothNormals, generateSmoothNormalsContent); - var ignoreKhrMaterialsUnlit = new GUIContent( + var generateTangentsContent = new GUIContent( + "Generate Tangents", + "Whether to generate per-vertex tangets if they are missing in the source glTF." + ); + EditorGUILayout.PropertyField(this._generateTangents, generateTangentsContent); + + var ignoreKhrMaterialsUnlitContent = new GUIContent( "Ignore KHR_materials_unlit", "Whether to ignore the KHR_materials_unlit extension on the glTF tiles in "+ "this tileset, if it exists, and instead render with standard lighting and "+ @@ -439,7 +449,7 @@ private void DrawRenderProperties() "tilesets because lighting and shadows are already baked into their "+ "textures. " ); - EditorGUILayout.PropertyField(this._ignoreKhrMaterialsUnlit, ignoreKhrMaterialsUnlit); + EditorGUILayout.PropertyField(this._ignoreKhrMaterialsUnlit, ignoreKhrMaterialsUnlitContent); } private void DrawPointCloudShadingProperties() diff --git a/Runtime/Cesium3DTileset.cs b/Runtime/Cesium3DTileset.cs index 91f7a2bb..6238c98b 100644 --- a/Runtime/Cesium3DTileset.cs +++ b/Runtime/Cesium3DTileset.cs @@ -574,10 +574,8 @@ public Material opaqueMaterial /// Whether to generate smooth normals when normals are missing in the glTF. /// /// - /// According to the glTF spec: "When normals are not specified, client - /// implementations should calculate flat normals." However, calculating flat - /// normals requires duplicating vertices. This option allows the glTFs to be rendered - /// with smooth normals instead when the original glTF is missing normals. + /// This option allows the glTFs to be rendered with smooth normals instead when the original glTF is missing normals. + /// If normals are missing and this option is not enabled, flat normals will be generated in the shader. /// public bool generateSmoothNormals { @@ -589,6 +587,31 @@ public bool generateSmoothNormals } } + [SerializeField] + private bool _generateTangents = false; + + /// + /// Whether to generate per-vertex tangents when tangents are missing in the glTF. + /// + /// + /// The glTF 2.0 specification suggests that tangents should be generated when they + /// are missing. + /// "When tangents are not specified, client implementations SHOULD calculate tangents using + /// default MikkTSpace algorithms with the specified vertex positions, normals, and texture + /// coordinates associated with the normal texture." + /// + /// + + public bool generateTangents + { + get => _generateTangents; + set + { + this._generateSmoothNormals = value; + this.RecreateTileset(); + } + } + [SerializeField] private bool _ignoreKhrMaterialsUnlit = false; diff --git a/Runtime/ConfigureReinterop.cs b/Runtime/ConfigureReinterop.cs index f0b923ac..8e46dc00 100644 --- a/Runtime/ConfigureReinterop.cs +++ b/Runtime/ConfigureReinterop.cs @@ -77,7 +77,7 @@ public void ExposeToCPP() int pixelWidth = c.pixelWidth; float aspect = c.aspect; bool isOrtho = c.orthographic; - float orthoSize = c.orthographicSize; + float orthoSize = c.orthographicSize; //IFormattable f = new Vector3(); //IEquatable f2 = new Vector3(); @@ -185,6 +185,14 @@ public void ExposeToCPP() meshFilter.mesh = mesh; meshFilter.sharedMesh = mesh; + Debug.Log("Hello world"); + + mesh.RecalculateTangents(); + var tangents = mesh.tangents; + var normals = mesh.normals; + mesh.RecalculateNormals(); + + Resources.Load("name"); byte b; @@ -236,7 +244,7 @@ public void ExposeToCPP() string e = request.error; string method = request.method; string url = request.url; - if (request.result == UnityWebRequest.Result.Success) { }; + if (request.result == UnityWebRequest.Result.Success) { } request.downloadHandler = new NativeDownloadHandler(); request.SetRequestHeader("name", "value"); request.GetResponseHeader("name"); @@ -279,6 +287,7 @@ public void ExposeToCPP() //tileset.useLodTransitions = tileset.useLodTransitions; //tileset.lodTransitionLength = tileset.lodTransitionLength; tileset.generateSmoothNormals = tileset.generateSmoothNormals; + tileset.generateTangents = tileset.generateTangents; tileset.ignoreKhrMaterialsUnlit = tileset.ignoreKhrMaterialsUnlit; tileset.createPhysicsMeshes = tileset.createPhysicsMeshes; tileset.suspendUpdate = tileset.suspendUpdate; @@ -289,6 +298,7 @@ public void ExposeToCPP() tileset.ionServer = tileset.ionServer; tileset.RecreateTileset(); + GraphicsFormat gfxFmt = GraphicsFormat.RGB_ETC_UNorm; FormatUsage fmtUsage = FormatUsage.Sample; SystemInfo.IsFormatSupported(gfxFmt, fmtUsage); diff --git a/Runtime/Resources/CesiumDefaultTilesetMaterial.mat b/Runtime/Resources/CesiumDefaultTilesetMaterial.mat index 2f9b4d27..be579a91 100644 --- a/Runtime/Resources/CesiumDefaultTilesetMaterial.mat +++ b/Runtime/Resources/CesiumDefaultTilesetMaterial.mat @@ -21,19 +21,17 @@ Material: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: CesiumDefaultTilesetMaterial - m_Shader: {fileID: -6465566751694194690, guid: 407c0cff68611ac46a65eec87a5203f5, + m_Shader: {fileID: -6465566751694194690, guid: f1bf6a52c1d9b4896bcefbee4a1432af, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 m_ValidKeywords: - _ALPHATEST_ON - - _BUILTIN_ALPHATEST_ON - - _BUILTIN_AlphaClip - - _DISABLE_SSR_TRANSPARENT - - _DOUBLESIDED_ON m_InvalidKeywords: [] m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 1 - m_CustomRenderQueue: 2450 + m_CustomRenderQueue: -1 stringTagMap: MotionVector: User RenderType: TransparentCutout @@ -43,6 +41,7 @@ Material: - TransparentBackface - RayTracingPrepass - MOTIONVECTORS + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -101,7 +100,7 @@ Material: - _AlphaCutoffEnable: 1 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 + - _AlphaToMask: 1 - _AlphaToMaskInspectorValue: 0 - _BUILTIN_AlphaClip: 1 - _BUILTIN_Blend: 0 @@ -116,6 +115,7 @@ Material: - _BUILTIN_ZWriteControl: 0 - _Blend: 0 - _BlendMode: 0 + - _BlendModePreserveSpecular: 0 - _CastShadows: 1 - _ConservativeDepthOffsetEnable: 0 - _Cull: 0 @@ -168,6 +168,7 @@ Material: - _ZWrite: 1 - _ZWriteControl: 0 - _baseColorTextureCoordinateIndex: 0 + - _computeFlatNormals: 0 - _emissiveTextureCoordinateIndex: 0 - _metallicRoughnessTextureCoordinateIndex: 0 - _normalMapScale: 0 @@ -222,4 +223,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} m_Name: m_EditorClassIdentifier: - version: 5 + version: 7 diff --git a/Runtime/Resources/CesiumDefaultTilesetShader.shadergraph b/Runtime/Resources/CesiumDefaultTilesetShader.shadergraph index 2dc62129..4efcd7f5 100644 --- a/Runtime/Resources/CesiumDefaultTilesetShader.shadergraph +++ b/Runtime/Resources/CesiumDefaultTilesetShader.shadergraph @@ -113,6 +113,9 @@ }, { "m_Id": "c369ad6ca064434fbb046fb6d2bca6a4" + }, + { + "m_Id": "67936ae5dd7247028358dc8aebfa7c86" } ], "m_Keywords": [], @@ -126,9 +129,6 @@ { "m_Id": "3a08d0a60405435fa92432d670b09f6d" }, - { - "m_Id": "e5ca7bb83a9d4a5b99c6b17e8aa77844" - }, { "m_Id": "a308cd02a0b642a786cb6ed1aeb208a6" }, @@ -436,22 +436,67 @@ "m_Id": "676548d5b8354feebfa67a60c05d2143" }, { - "m_Id": "c308a5bf938a487aa4997061bf28b4a4" + "m_Id": "4324313d390d4a619206e1827822119a" }, { - "m_Id": "0aac1bfdf24b46daa1c366a938e064da" + "m_Id": "2e4adb0c3e474237baba6c935168614b" }, { - "m_Id": "3cf5f92e047c4e9195112ed5f6f363da" + "m_Id": "9d4b3621033644748b92b8a8b4e563cd" }, { - "m_Id": "0477a317cd1841e5b65f998786719924" + "m_Id": "b98e9cff89f54b0b81d7d5e6d8ee3fe6" }, { - "m_Id": "4324313d390d4a619206e1827822119a" + "m_Id": "83e9fc5df53948d1a11c3f8cb22f6c8e" + }, + { + "m_Id": "0e21c0c8b83e408787ef21b783381e0e" + }, + { + "m_Id": "93ffc62fdf6c4736a17f7c47b1e8780f" + }, + { + "m_Id": "0cf6b5a4d2af4502a651f2ee5b541f43" + }, + { + "m_Id": "6f449156dbab463fbe881fdd47008765" + }, + { + "m_Id": "78563c3ec8b84ebaac63ce98d1f4e4ab" + }, + { + "m_Id": "eb177f931f76429a8d6bf9211408efe3" + }, + { + "m_Id": "59f1cbc834b1495ea909024f381227ea" + }, + { + "m_Id": "378f9d25e5e94b1086f19cdbf8fc28e6" + }, + { + "m_Id": "c00a1130d79c414bb88af2bd444d2387" + }, + { + "m_Id": "dfbd35e3a92844c3b5b780c5ddf670b9" + }, + { + "m_Id": "70bbdfab2d5044a1bf58888803f4c331" + }, + { + "m_Id": "066a3472ca954130922a5cd518a6ca70" + }, + { + "m_Id": "68a2471a3eb946709efba739c0f292cc" }, { - "m_Id": "5fef7f4d4afb4fa9a428dfc4eb653dc5" + "m_Id": "5c15a022a7544a28afebdfa44df446f6" + }, + { + "m_Id": "45e3d3d66cfd457285946763b963581a" + }, + { + "m_Id": "49d3a7a1c27745fc827a5ca6d62fee2a" } ], "m_GroupDatas": [ @@ -475,6 +520,9 @@ }, { "m_Id": "17fca4c4bf154cdfb4da09cd13cad27c" + }, + { + "m_Id": "616b97a6d63d4c31afbbf6bd5ce53b17" } ], "m_StickyNoteDatas": [ @@ -526,6 +574,20 @@ "m_SlotId": -1857269885 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "066a3472ca954130922a5cd518a6ca70" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3a08d0a60405435fa92432d670b09f6d" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -549,7 +611,7 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "a308cd02a0b642a786cb6ed1aeb208a6" + "m_Id": "59f1cbc834b1495ea909024f381227ea" }, "m_SlotId": 0 } @@ -610,6 +672,34 @@ "m_SlotId": 2 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "0cf6b5a4d2af4502a651f2ee5b541f43" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "45e3d3d66cfd457285946763b963581a" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "0e21c0c8b83e408787ef21b783381e0e" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0cf6b5a4d2af4502a651f2ee5b541f43" + }, + "m_SlotId": 1 + } + }, { "m_OutputSlot": { "m_Node": { @@ -820,6 +910,34 @@ "m_SlotId": -1177420189 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "2e4adb0c3e474237baba6c935168614b" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "9d4b3621033644748b92b8a8b4e563cd" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "2e4adb0c3e474237baba6c935168614b" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b98e9cff89f54b0b81d7d5e6d8ee3fe6" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -890,6 +1008,20 @@ "m_SlotId": 1 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "378f9d25e5e94b1086f19cdbf8fc28e6" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "15b4aee3e1aa4be1a43a4f138e704d3e" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -969,7 +1101,7 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "d12188a9cb824131bf5ec7a1ca5a2ee6" + "m_Id": "70bbdfab2d5044a1bf58888803f4c331" }, "m_SlotId": 0 } @@ -1072,6 +1204,20 @@ "m_SlotId": -1906785015 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "59f1cbc834b1495ea909024f381227ea" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "a308cd02a0b642a786cb6ed1aeb208a6" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1137,11 +1283,25 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "e5ca7bb83a9d4a5b99c6b17e8aa77844" + "m_Id": "eb177f931f76429a8d6bf9211408efe3" }, "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "68a2471a3eb946709efba739c0f292cc" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0cf6b5a4d2af4502a651f2ee5b541f43" + }, + "m_SlotId": 2 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1156,6 +1316,20 @@ "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "70bbdfab2d5044a1bf58888803f4c331" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "d12188a9cb824131bf5ec7a1ca5a2ee6" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1310,6 +1484,20 @@ "m_SlotId": 2 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "83e9fc5df53948d1a11c3f8cb22f6c8e" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0e21c0c8b83e408787ef21b783381e0e" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1450,6 +1638,20 @@ "m_SlotId": -221001507 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "93ffc62fdf6c4736a17f7c47b1e8780f" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0cf6b5a4d2af4502a651f2ee5b541f43" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1478,6 +1680,20 @@ "m_SlotId": 1953941338 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "9d4b3621033644748b92b8a8b4e563cd" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "83e9fc5df53948d1a11c3f8cb22f6c8e" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1585,7 +1801,7 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "3a08d0a60405435fa92432d670b09f6d" + "m_Id": "066a3472ca954130922a5cd518a6ca70" }, "m_SlotId": 0 } @@ -1716,6 +1932,20 @@ "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "b98e9cff89f54b0b81d7d5e6d8ee3fe6" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "83e9fc5df53948d1a11c3f8cb22f6c8e" + }, + "m_SlotId": 1 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1744,6 +1974,20 @@ "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "c00a1130d79c414bb88af2bd444d2387" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "2eacb23513544fc097cb3007f3134d97" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1767,7 +2011,7 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "2eacb23513544fc097cb3007f3134d97" + "m_Id": "c00a1130d79c414bb88af2bd444d2387" }, "m_SlotId": 0 } @@ -1851,7 +2095,7 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "350ba852757d40bab5b55c9841ef5c9f" + "m_Id": "dfbd35e3a92844c3b5b780c5ddf670b9" }, "m_SlotId": 0 } @@ -1968,6 +2212,20 @@ "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "dfbd35e3a92844c3b5b780c5ddf670b9" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "350ba852757d40bab5b55c9841ef5c9f" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1991,7 +2249,7 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "15b4aee3e1aa4be1a43a4f138e704d3e" + "m_Id": "378f9d25e5e94b1086f19cdbf8fc28e6" }, "m_SlotId": 0 } @@ -2038,6 +2296,20 @@ "m_SlotId": 1 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "eb177f931f76429a8d6bf9211408efe3" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "68a2471a3eb946709efba739c0f292cc" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -2139,38 +2411,38 @@ ], "m_VertexContext": { "m_Position": { - "x": 2790.80029296875, - "y": 523.6000366210938 + "x": 3040.0, + "y": -73.00001525878906 }, "m_Blocks": [ { - "m_Id": "c308a5bf938a487aa4997061bf28b4a4" + "m_Id": "6f449156dbab463fbe881fdd47008765" }, { - "m_Id": "0aac1bfdf24b46daa1c366a938e064da" + "m_Id": "5c15a022a7544a28afebdfa44df446f6" }, { - "m_Id": "3cf5f92e047c4e9195112ed5f6f363da" + "m_Id": "49d3a7a1c27745fc827a5ca6d62fee2a" } ] }, "m_FragmentContext": { "m_Position": { - "x": 2790.80029296875, - "y": 776.3999633789063 + "x": 3055.0, + "y": 276.0 }, "m_Blocks": [ { - "m_Id": "3a08d0a60405435fa92432d670b09f6d" + "m_Id": "45e3d3d66cfd457285946763b963581a" }, { - "m_Id": "2eacb23513544fc097cb3007f3134d97" + "m_Id": "3a08d0a60405435fa92432d670b09f6d" }, { - "m_Id": "e5ca7bb83a9d4a5b99c6b17e8aa77844" + "m_Id": "a308cd02a0b642a786cb6ed1aeb208a6" }, { - "m_Id": "a308cd02a0b642a786cb6ed1aeb208a6" + "m_Id": "2eacb23513544fc097cb3007f3134d97" }, { "m_Id": "15b4aee3e1aa4be1a43a4f138e704d3e" @@ -2181,14 +2453,11 @@ { "m_Id": "d12188a9cb824131bf5ec7a1ca5a2ee6" }, - { - "m_Id": "0477a317cd1841e5b65f998786719924" - }, { "m_Id": "4324313d390d4a619206e1827822119a" }, { - "m_Id": "5fef7f4d4afb4fa9a428dfc4eb653dc5" + "m_Id": "78563c3ec8b84ebaac63ce98d1f4e4ab" } ] }, @@ -2205,6 +2474,7 @@ "m_OutputNode": { "m_Id": "" }, + "m_SubDatas": [], "m_ActiveTargets": [ { "m_Id": "b775f4bce7404108b3fedfee711c3cef" @@ -2261,6 +2531,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2307,6 +2578,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2341,12 +2613,36 @@ { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", - "m_ObjectId": "03e76630237e4983989a4ef40d9ea189", - "m_Id": 0, - "m_DisplayName": "In", + "m_ObjectId": "031147d45b1842baa90093b5ce8b07c5", + "m_Id": 2, + "m_DisplayName": "False", "m_SlotType": 0, "m_Hidden": false, - "m_ShaderOutputName": "In", + "m_ShaderOutputName": "False", + "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_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "03e76630237e4983989a4ef40d9ea189", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", "m_StageCapability": 3, "m_Value": { "x": 1.0, @@ -2410,39 +2706,6 @@ } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.BlockNode", - "m_ObjectId": "0477a317cd1841e5b65f998786719924", - "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": "73ab34ae051549d9882afb91038c9f3a" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_SerializedDescriptor": "SurfaceDescription.Specular" -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -2479,6 +2742,65 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "05ae919c92984df5b10d10cab9d4a427", + "m_Id": 2, + "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 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "066a3472ca954130922a5cd518a6ca70", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2661.0, + "y": 389.0, + "width": 56.0, + "height": 24.0 + } + }, + "m_Slots": [ + { + "m_Id": "bb72c6dbe0704d8ab82b287cc55d20cc" + }, + { + "m_Id": "5a846f3c9c4148de944f13074a2e6628" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", @@ -2564,6 +2886,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2744,39 +3067,6 @@ } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.BlockNode", - "m_ObjectId": "0aac1bfdf24b46daa1c366a938e064da", - "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": "c543fc46b0334e33931fc1086e6103c5" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_SerializedDescriptor": "VertexDescription.Normal" -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -2825,6 +3115,26 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.BuiltinData", + "m_ObjectId": "0bcdf860792f44f0858151bf93bb2f96", + "m_Distortion": false, + "m_DistortionMode": 0, + "m_DistortionDepthTest": true, + "m_AddPrecomputedVelocity": false, + "m_TransparentWritesMotionVec": false, + "m_AlphaToMask": false, + "m_DepthOffset": false, + "m_ConservativeDepthOffset": false, + "m_TransparencyFog": true, + "m_AlphaTestShadow": false, + "m_BackThenFrontRendering": false, + "m_TransparentDepthPrepass": false, + "m_TransparentDepthPostpass": false, + "m_SupportLodCrossFade": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.SplitNode", @@ -2865,6 +3175,53 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BranchNode", + "m_ObjectId": "0cf6b5a4d2af4502a651f2ee5b541f43", + "m_Group": { + "m_Id": "616b97a6d63d4c31afbbf6bd5ce53b17" + }, + "m_Name": "Branch", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2188.0, + "y": -204.0, + "width": 172.0, + "height": 142.0 + } + }, + "m_Slots": [ + { + "m_Id": "695d9d3f1ce7429ba5fbcb25a8bd623d" + }, + { + "m_Id": "8a39e92c72c84d408002bb106403d004" + }, + { + "m_Id": "031147d45b1842baa90093b5ce8b07c5" + }, + { + "m_Id": "c80c64247e91432b8ada710299aa8c73" + } + ], + "synonyms": [ + "switch", + "if", + "else" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2886,6 +3243,42 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalizeNode", + "m_ObjectId": "0e21c0c8b83e408787ef21b783381e0e", + "m_Group": { + "m_Id": "616b97a6d63d4c31afbbf6bd5ce53b17" + }, + "m_Name": "Normalize", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2006.0, + "y": -296.0000305175781, + "width": 132.0, + "height": 94.00003051757813 + } + }, + "m_Slots": [ + { + "m_Id": "47cf0f868fde452a98669f1650a2059b" + }, + { + "m_Id": "43a99c8965df4d07a3972c4691b12dd6" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", @@ -2937,6 +3330,30 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "0f0dc3330ade4991a882802089051d04", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "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_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -2990,6 +3407,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3087,6 +3505,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3160,13 +3579,15 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 } { @@ -3219,6 +3640,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3269,6 +3691,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3319,6 +3742,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3355,6 +3779,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3408,6 +3833,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3487,8 +3913,8 @@ "m_ObjectId": "17fca4c4bf154cdfb4da09cd13cad27c", "m_Title": "Clipping", "m_Position": { - "x": 515.9998779296875, - "y": 493.2000732421875 + "x": 516.0, + "y": 492.0001220703125 } } @@ -3531,6 +3957,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3687,6 +4114,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3740,6 +4168,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3843,7 +4272,7 @@ "m_Type": "UnityEditor.Rendering.BuiltIn.ShaderGraph.BuiltInLitSubTarget", "m_ObjectId": "20740110e1fb46628c47c4b4d310a9d0", "m_WorkflowMode": 1, - "m_NormalDropOffSpace": 0 + "m_NormalDropOffSpace": 2 } { @@ -3872,6 +4301,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3928,13 +4358,15 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 } { @@ -3992,6 +4424,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4091,6 +4524,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4115,6 +4549,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4157,6 +4592,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4199,6 +4635,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4290,7 +4727,7 @@ "m_StageCapability": 3, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -4321,21 +4758,58 @@ } { - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "2eab0809f9a5455ab060d4d53658753e", - "m_Id": 1, - "m_DisplayName": "X", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "X", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [] -} - -{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.PositionNode", + "m_ObjectId": "2e4adb0c3e474237baba6c935168614b", + "m_Group": { + "m_Id": "616b97a6d63d4c31afbbf6bd5ce53b17" + }, + "m_Name": "Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1451.0001220703125, + "y": -294.0000305175781, + "width": 208.0, + "height": 315.0 + } + }, + "m_Slots": [ + { + "m_Id": "7233cfa2dccd496da8b20ce6175b8080" + } + ], + "synonyms": [ + "location" + ], + "m_Precision": 1, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 2, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Space": 2, + "m_PositionSource": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "2eab0809f9a5455ab060d4d53658753e", + "m_Id": 1, + "m_DisplayName": "X", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "X", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.BlockNode", "m_ObjectId": "2eacb23513544fc097cb3007f3134d97", @@ -4347,10 +4821,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 2805.19970703125, - "y": 1386.39990234375, + "x": 3070.0, + "y": 395.0000305175781, "width": 200.0, - "height": 42.0 + "height": 41.0 } }, "m_Slots": [ @@ -4361,6 +4835,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4405,6 +4880,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4503,6 +4979,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4597,6 +5074,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4607,6 +5085,30 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "33b5eb80a1a14288839727f8d01c64e0", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "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_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -4633,6 +5135,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4685,6 +5188,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4791,6 +5295,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4813,12 +5318,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -4827,6 +5333,42 @@ "m_DefaultType": 1 } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "378f9d25e5e94b1086f19cdbf8fc28e6", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2661.0, + "y": 510.0, + "width": 56.0, + "height": 24.0 + } + }, + "m_Slots": [ + { + "m_Id": "54543eb3195f4e73a39954ac93a96763" + }, + { + "m_Id": "54c38288a74d4182a1a1e0efecf5bca3" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -4889,13 +5431,15 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 } { @@ -4924,6 +5468,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4980,6 +5525,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5082,6 +5628,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5200,39 +5747,6 @@ "m_Labels": [] } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.BlockNode", - "m_ObjectId": "3cf5f92e047c4e9195112ed5f6f363da", - "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": "e504c95a2ec74089b3b01244624da083" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_SerializedDescriptor": "VertexDescription.Tangent" -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -5295,6 +5809,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5304,6 +5819,30 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "408357f13440472eaa655d51f7b72542", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "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_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.OneMinusNode", @@ -5337,6 +5876,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5368,6 +5908,30 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "4293d98a68d449ad98e2a7f9dc3b0cf1", + "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_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", @@ -5419,6 +5983,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5441,6 +6006,30 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "43a99c8965df4d07a3972c4691b12dd6", + "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_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -5468,7 +6057,7 @@ "m_StageCapability": 2, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -5511,6 +6100,40 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "45e3d3d66cfd457285946763b963581a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.NormalWS", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 3063.0, + "y": 316.0, + "width": 200.0, + "height": 41.0 + } + }, + "m_Slots": [ + { + "m_Id": "f7ae45d4eb9c456a96d26eac8a4e0b22" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.NormalWS" +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -5563,6 +6186,30 @@ "m_BareResource": false } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "47cf0f868fde452a98669f1650a2059b", + "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_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -5607,6 +6254,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5628,12 +6276,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -5659,20 +6308,54 @@ { "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", - "m_ObjectId": "4af58e5c4ec044d3a1e3300036f90244", - "m_Id": 1, - "m_DisplayName": "Out_TextureCoordinates", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out_TextureCoordinates", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0 + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "49d3a7a1c27745fc827a5ca6d62fee2a", + "m_Group": { + "m_Id": "" }, - "m_DefaultValue": { - "x": 0.0, + "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": "dfbb2cc217c94b2e8426a066170278fa" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Normal" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", + "m_ObjectId": "4af58e5c4ec044d3a1e3300036f90244", + "m_Id": 1, + "m_DisplayName": "Out_TextureCoordinates", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out_TextureCoordinates", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, "y": 0.0 }, "m_Labels": [] @@ -5753,13 +6436,15 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 } { @@ -5851,12 +6536,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -5902,6 +6588,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5912,6 +6599,30 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", + "m_ObjectId": "4e5b93a2b3c54521989894db5990c78d", + "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.Vector2Node", @@ -5949,6 +6660,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6056,6 +6768,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -6106,6 +6819,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6127,6 +6841,54 @@ "m_DropdownSelectedEntries": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "54543eb3195f4e73a39954ac93a96763", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "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_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "54c38288a74d4182a1a1e0efecf5bca3", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "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_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -6153,6 +6915,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6263,6 +7026,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6306,6 +7070,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6374,7 +7139,7 @@ "m_Title": "glTF Base Color", "m_Position": { "x": -1873.9998779296875, - "y": 177.5999755859375 + "y": 156.9999542236328 } } @@ -6393,6 +7158,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -6405,6 +7171,42 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "59f1cbc834b1495ea909024f381227ea", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2662.0, + "y": 469.0, + "width": 56.0, + "height": 24.0 + } + }, + "m_Slots": [ + { + "m_Id": "0f0dc3330ade4991a882802089051d04" + }, + { + "m_Id": "408357f13440472eaa655d51f7b72542" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.Internal.Vector3ShaderProperty", @@ -6420,6 +7222,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -6432,6 +7235,30 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "5a846f3c9c4148de944f13074a2e6628", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "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_SGVersion": 0, "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.HDLitSubTarget", @@ -6455,6 +7282,40 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "5c15a022a7544a28afebdfa44df446f6", + "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": "8f285ca3ce0a4a828961bde7cbd427b0" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Tangent" +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -6523,6 +7384,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6550,6 +7412,30 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "5deabd945d1f4419a0bd768f20c98bce", + "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_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty", @@ -6565,6 +7451,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -6609,6 +7496,29 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "5ef8521372b84290bb0dd802e03a4b70", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "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", @@ -6649,39 +7559,6 @@ "m_Labels": [] } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.BlockNode", - "m_ObjectId": "5fef7f4d4afb4fa9a428dfc4eb653dc5", - "m_Group": { - "m_Id": "" - }, - "m_Name": "SurfaceDescription.BentNormal", - "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": "89e29b9ad40c40f99ae8a48ad10b8d34" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_SerializedDescriptor": "SurfaceDescription.BentNormal" -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -6697,6 +7574,17 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.GroupData", + "m_ObjectId": "616b97a6d63d4c31afbbf6bd5ce53b17", + "m_Title": "Compute Flat Normals", + "m_Position": { + "x": 1426.0, + "y": -355.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -6759,6 +7647,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6872,6 +7761,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6887,30 +7777,6 @@ "m_DropdownSelectedEntries": [] } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", - "m_ObjectId": "65a05de863dc4e3a82922e20d0e2bc8a", - "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.Vector1MaterialSlot", @@ -7002,6 +7868,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7044,12 +7911,36 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.BooleanShaderProperty", + "m_ObjectId": "67936ae5dd7247028358dc8aebfa7c86", + "m_Guid": { + "m_GuidSerialized": "ffb16dd4-a902-4ee0-bb71-2e0540589a87" + }, + "m_Name": "computeFlatNormals", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "computeFlatNormals", + "m_DefaultReferenceName": "_computeFlatNormals", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": true, + "hlslDeclarationOverride": 1, + "m_Hidden": false, + "m_Value": true +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -7101,6 +7992,55 @@ "m_Labels": [] } +{ + "m_SGVersion": 2, + "m_Type": "UnityEditor.ShaderGraph.TransformNode", + "m_ObjectId": "68a2471a3eb946709efba739c0f292cc", + "m_Group": { + "m_Id": "616b97a6d63d4c31afbbf6bd5ce53b17" + }, + "m_Name": "Transform", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1937.0, + "y": -55.999996185302737, + "width": 211.0, + "height": 341.00006103515627 + } + }, + "m_Slots": [ + { + "m_Id": "6a40e35cd8714eb991020436157e267e" + }, + { + "m_Id": "b0b43db2a34547059e464e61189be5e6" + } + ], + "synonyms": [ + "world", + "tangent", + "object", + "view", + "screen", + "convert" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Conversion": { + "from": 3, + "to": 2 + }, + "m_ConversionType": 2, + "m_Normalize": true +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.CategoryData", @@ -7217,6 +8157,9 @@ }, { "m_Id": "7de6510c684046cb8ace0a0049c1c2f7" + }, + { + "m_Id": "67936ae5dd7247028358dc8aebfa7c86" } ] } @@ -7253,14 +8196,28 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BooleanMaterialSlot", + "m_ObjectId": "695d9d3f1ce7429ba5fbcb25a8bd623d", + "m_Id": 0, + "m_DisplayName": "Predicate", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Predicate", + "m_StageCapability": 3, + "m_Value": true, + "m_DefaultValue": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.GroupData", "m_ObjectId": "69cd55544d0c4d0398f9591b9fbe134d", "m_Title": "glTF PBR Metallic-Roughness", "m_Position": { - "x": -1865.199951171875, - "y": 1582.39990234375 + "x": -1865.0001220703125, + "y": 1691.9998779296875 } } @@ -7279,6 +8236,29 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "6a40e35cd8714eb991020436157e267e", + "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 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -7389,6 +8369,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7446,6 +8427,30 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "6dd210bb1ea4449f933fa7152aa5cc74", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "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_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -7463,6 +8468,40 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "6f449156dbab463fbe881fdd47008765", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 3532.0, + "y": 133.0, + "width": 200.0, + "height": 40.99998474121094 + } + }, + "m_Slots": [ + { + "m_Id": "4e5b93a2b3c54521989894db5990c78d" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Position" +} + { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty", @@ -7478,6 +8517,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -7505,6 +8545,42 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "70bbdfab2d5044a1bf58888803f4c331", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2662.0, + "y": 595.0, + "width": 56.0, + "height": 24.0 + } + }, + "m_Slots": [ + { + "m_Id": "9c148665b428494e8d0033c6384af681" + }, + { + "m_Id": "76a301a5fd1e4dc7bd3849b19bb65791" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -7541,6 +8617,61 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.SystemData", + "m_ObjectId": "722402682a8f44c59950b416360a4c7a", + "m_MaterialNeedsUpdateHash": 280370, + "m_SurfaceType": 0, + "m_RenderingPass": 1, + "m_BlendMode": 0, + "m_ZTest": 4, + "m_ZWrite": false, + "m_TransparentCullMode": 2, + "m_OpaqueCullMode": 2, + "m_SortPriority": 0, + "m_AlphaTest": true, + "m_TransparentDepthPrepass": false, + "m_TransparentDepthPostpass": false, + "m_SupportLodCrossFade": false, + "m_DoubleSidedMode": 1, + "m_DOTSInstancing": false, + "m_CustomVelocity": false, + "m_Tessellation": false, + "m_TessellationMode": 0, + "m_TessellationFactorMinDistance": 20.0, + "m_TessellationFactorMaxDistance": 50.0, + "m_TessellationFactorTriangleSize": 100.0, + "m_TessellationShapeFactor": 0.75, + "m_TessellationBackFaceCullEpsilon": -0.25, + "m_TessellationMaxDisplacement": 0.009999999776482582, + "m_Version": 1, + "inspectorFoldoutMask": 1 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "7233cfa2dccd496da8b20ce6175b8080", + "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 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", @@ -7553,7 +8684,7 @@ "m_StageCapability": 2, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -7580,36 +8711,6 @@ "m_Labels": [] } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", - "m_ObjectId": "73ab34ae051549d9882afb91038c9f3a", - "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.PropertyNode", @@ -7636,6 +8737,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7671,6 +8773,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7709,6 +8812,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7730,12 +8834,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -7757,6 +8862,30 @@ "m_BareResource": false } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "76a301a5fd1e4dc7bd3849b19bb65791", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "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_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty", @@ -7772,6 +8901,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -7799,6 +8929,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -7859,6 +8990,40 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "78563c3ec8b84ebaac63ce98d1f4e4ab", + "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": "7ae13891bf2e45a0b11c0fbc0dadf514" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Specular" +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -7874,6 +9039,36 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "7ae13891bf2e45a0b11c0fbc0dadf514", + "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.SubGraphNode", @@ -7903,6 +9098,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8007,6 +9203,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8031,6 +9228,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -8043,6 +9241,12 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.HDLitSubTarget", + "m_ObjectId": "7f4ab31fab4c4490947809c917642bc5" +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -8069,6 +9273,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8160,6 +9365,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8185,12 +9391,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -8287,6 +9494,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8327,6 +9535,47 @@ "m_Channel": 0 } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CrossProductNode", + "m_ObjectId": "83e9fc5df53948d1a11c3f8cb22f6c8e", + "m_Group": { + "m_Id": "616b97a6d63d4c31afbbf6bd5ce53b17" + }, + "m_Name": "Cross Product", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1850.0, + "y": -296.0000305175781, + "width": 130.0, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "5ef8521372b84290bb0dd802e03a4b70" + }, + { + "m_Id": "c718ac92dc1d47d5bbb68dd627e14152" + }, + { + "m_Id": "05ae919c92984df5b10d10cab9d4a427" + } + ], + "synonyms": [ + "perpendicular" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty", @@ -8342,6 +9591,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -8403,12 +9653,13 @@ } { - "m_SGVersion": 0, + "m_SGVersion": 2, "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalLitSubTarget", "m_ObjectId": "84c4a27cc281482e826d5ff5910c3594", "m_WorkflowMode": 1, - "m_NormalDropOffSpace": 0, - "m_ClearCoat": false + "m_NormalDropOffSpace": 2, + "m_ClearCoat": false, + "m_BlendModePreserveSpecular": false } { @@ -8561,6 +9812,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8610,6 +9862,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8657,6 +9910,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8787,30 +10041,6 @@ "m_Labels": [] } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", - "m_ObjectId": "89e29b9ad40c40f99ae8a48ad10b8d34", - "m_Id": 0, - "m_DisplayName": "Bent Normal", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "BentNormal", - "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.SubGraphNode", @@ -8823,10 +10053,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -1539.60009765625, - "y": 1179.2000732421875, + "x": -1540.0, + "y": 1179.0, "width": 356.0, - "height": 95.2000732421875 + "height": 95.0 } }, "m_Slots": [ @@ -8840,6 +10070,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8881,6 +10112,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8890,6 +10122,30 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "8a39e92c72c84d408002bb106403d004", + "m_Id": 1, + "m_DisplayName": "True", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "True", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.SubGraphNode", @@ -8928,6 +10184,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9003,6 +10260,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9103,6 +10361,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9223,6 +10482,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9232,6 +10492,30 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.TangentMaterialSlot", + "m_ObjectId": "8f285ca3ce0a4a828961bde7cbd427b0", + "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.DynamicVectorMaterialSlot", @@ -9283,8 +10567,8 @@ "m_ObjectId": "9152a890faa84cd7b266b944cf210185", "m_Title": "glTF Emissive Texture", "m_Position": { - "x": -1864.8001708984375, - "y": 2352.39990234375 + "x": -1865.0001220703125, + "y": 2352.0 } } @@ -9326,6 +10610,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9387,6 +10672,42 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "93ffc62fdf6c4736a17f7c47b1e8780f", + "m_Group": { + "m_Id": "616b97a6d63d4c31afbbf6bd5ce53b17" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1942.0, + "y": -134.0, + "width": 186.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "b0197047593547b3af597df04b19a829" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "67936ae5dd7247028358dc8aebfa7c86" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", @@ -9402,12 +10723,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -9428,10 +10750,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -1534.0, - "y": 360.4000244140625, + "x": -1495.0, + "y": 216.00001525878907, "width": 356.0, - "height": 95.19998168945313 + "height": 279.0 } }, "m_Slots": [ @@ -9444,7 +10766,8 @@ ], "synonyms": [], "m_Precision": 0, - "m_PreviewExpanded": false, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9496,6 +10819,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -9523,6 +10847,30 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "9a25b7aaeb65434db79e383727457942", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "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_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -9549,6 +10897,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9573,6 +10922,30 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "9c148665b428494e8d0033c6384af681", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "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_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.StickyNoteData", @@ -9593,6 +10966,44 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DDYNode", + "m_ObjectId": "9d4b3621033644748b92b8a8b4e563cd", + "m_Group": { + "m_Id": "616b97a6d63d4c31afbbf6bd5ce53b17" + }, + "m_Name": "DDY", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1690.0, + "y": -296.0000305175781, + "width": 132.0, + "height": 94.00003051757813 + } + }, + "m_Slots": [ + { + "m_Id": "5deabd945d1f4419a0bd768f20c98bce" + }, + { + "m_Id": "c82316a24433499085a4951a1a0723ef" + } + ], + "synonyms": [ + "derivative" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", @@ -9644,6 +11055,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9679,6 +11091,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9724,6 +11137,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -9783,6 +11197,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9807,6 +11222,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 2, @@ -9831,7 +11247,7 @@ "m_StageCapability": 2, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -9863,6 +11279,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9949,6 +11366,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9971,10 +11389,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1136.800048828125, - "y": 1393.599853515625, + "x": 2850.0, + "y": 464.00006103515627, "width": 200.0, - "height": 42.0001220703125 + "height": 40.999969482421878 } }, "m_Slots": [ @@ -9985,6 +11403,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10088,6 +11507,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10271,6 +11691,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -10315,46 +11736,22 @@ }, "m_DefaultValue": { "e00": 1.0, - "e01": 0.0, - "e02": 0.0, - "e03": 0.0, - "e10": 0.0, - "e11": 1.0, - "e12": 0.0, - "e13": 0.0, - "e20": 0.0, - "e21": 0.0, - "e22": 1.0, - "e23": 0.0, - "e30": 0.0, - "e31": 0.0, - "e32": 0.0, - "e33": 1.0 - } -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", - "m_ObjectId": "aa2605f6bc7b415cb44cda2ec0ba098e", - "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 + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } } { @@ -10372,12 +11769,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -10422,6 +11820,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -10496,6 +11895,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10645,6 +12045,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10692,6 +12093,20 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BooleanMaterialSlot", + "m_ObjectId": "b0197047593547b3af597df04b19a829", + "m_Id": 0, + "m_DisplayName": "computeFlatNormals", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": false, + "m_DefaultValue": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", @@ -10717,6 +12132,29 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "b0b43db2a34547059e464e61189be5e6", + "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 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", @@ -10732,12 +12170,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -10834,6 +12273,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10891,6 +12331,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10973,6 +12414,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11005,6 +12447,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11081,6 +12524,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11159,6 +12603,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -11186,6 +12631,44 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DDXNode", + "m_ObjectId": "b98e9cff89f54b0b81d7d5e6d8ee3fe6", + "m_Group": { + "m_Id": "616b97a6d63d4c31afbbf6bd5ce53b17" + }, + "m_Name": "DDX", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1688.0, + "y": -182.00003051757813, + "width": 132.0, + "height": 93.99998474121094 + } + }, + "m_Slots": [ + { + "m_Id": "4293d98a68d449ad98e2a7f9dc3b0cf1" + }, + { + "m_Id": "e4522a4d0c5845c498340e6022f935c3" + } + ], + "synonyms": [ + "derivative" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", @@ -11207,6 +12690,30 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "bb72c6dbe0704d8ab82b287cc55d20cc", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "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_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -11277,6 +12784,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -11318,6 +12826,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11399,6 +12908,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -11411,6 +12921,42 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "c00a1130d79c414bb88af2bd444d2387", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2661.0, + "y": 428.0, + "width": 56.0, + "height": 24.0 + } + }, + "m_Slots": [ + { + "m_Id": "f7e19600c9d54a02b6f5d8f786cb9722" + }, + { + "m_Id": "e5ac048bff1d482f89e5249a8e4878d6" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -11468,6 +13014,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11495,10 +13042,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1840.800048828125, - "y": 567.2000122070313, - "width": 208.80029296875, - "height": 303.20001220703127 + "x": 1804.0, + "y": 551.0000610351563, + "width": 208.0, + "height": 301.99993896484377 } }, "m_Slots": [ @@ -11519,6 +13066,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11551,6 +13099,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11600,6 +13149,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11635,45 +13185,13 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.BlockNode", - "m_ObjectId": "c308a5bf938a487aa4997061bf28b4a4", - "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": "aa2605f6bc7b415cb44cda2ec0ba098e" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_SerializedDescriptor": "VertexDescription.Position" -} - { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty", @@ -11689,6 +13207,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -11726,30 +13245,6 @@ "m_Labels": [] } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", - "m_ObjectId": "c543fc46b0334e33931fc1086e6103c5", - "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.DynamicValueMaterialSlot", @@ -11798,6 +13293,29 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "c718ac92dc1d47d5bbb68dd627e14152", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 1.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", @@ -11813,6 +13331,30 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "c80c64247e91432b8ada710299aa8c73", + "m_Id": 3, + "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_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -11828,6 +13370,42 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "c82316a24433499085a4951a1a0723ef", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "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_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.HDLitData", + "m_ObjectId": "ca08403e654c4b2682692e8a7e762d6c", + "m_RayTracing": false, + "m_MaterialType": 0, + "m_RefractionModel": 0, + "m_SSSTransmission": true, + "m_EnergyConservingSpecular": true, + "m_ClearCoat": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", @@ -11875,6 +13453,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11914,6 +13493,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -11953,7 +13533,7 @@ "m_StageCapability": 3, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -12160,10 +13740,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 0.0, - "y": 0.0, - "width": 0.0, - "height": 0.0 + "x": 3071.0, + "y": 675.0, + "width": 200.0, + "height": 41.0 } }, "m_Slots": [ @@ -12174,6 +13754,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -12207,6 +13788,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -12263,13 +13845,15 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 } { @@ -12328,6 +13912,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -12470,6 +14055,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 2, "m_CustomColors": { "m_SerializableColors": [] @@ -12491,6 +14077,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -12543,6 +14130,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -12555,8 +14143,8 @@ "m_ObjectId": "da5f26e4dc7649dbae635a3bcb0ac50b", "m_Title": "glTF Ambient Occlusion", "m_Position": { - "x": -1869.599853515625, - "y": 3075.2001953125 + "x": -1868.999755859375, + "y": 3089.0 } } @@ -12657,6 +14245,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -12669,8 +14258,8 @@ "m_ObjectId": "dbd4e9568a614874b25288e2229220e7", "m_Title": "glTF Normal Texture", "m_Position": { - "x": -1868.4000244140625, - "y": 947.2000122070313 + "x": -1867.9998779296875, + "y": 947.0000610351563 } } @@ -12702,6 +14291,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -12726,7 +14316,7 @@ "m_StageCapability": 2, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -12805,12 +14395,72 @@ "m_StageCapability": 3, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "dfbb2cc217c94b2e8426a066170278fa", + "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.RedirectNodeData", + "m_ObjectId": "dfbd35e3a92844c3b5b780c5ddf670b9", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2656.0, + "y": 552.0, + "width": 56.0, + "height": 24.0 + } + }, + "m_Slots": [ + { + "m_Id": "fd8b438285c44899b9628cda0886ec08" + }, + { + "m_Id": "33b5eb80a1a14288839727f8d01c64e0" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.OneMinusNode", @@ -12844,6 +14494,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13009,6 +14660,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -13072,6 +14724,30 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "e4522a4d0c5845c498340e6022f935c3", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "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_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.OneMinusNode", @@ -13105,40 +14781,18 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.TangentMaterialSlot", - "m_ObjectId": "e504c95a2ec74089b3b01244624da083", - "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": 1, "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", "m_ObjectId": "e5345877026f422cb9787a73aef331b2", + "m_Datas": [], "m_ActiveSubTarget": { "m_Id": "84c4a27cc281482e826d5ff5910c3594" }, @@ -13147,45 +14801,37 @@ "m_ZTestMode": 4, "m_ZWriteControl": 0, "m_AlphaMode": 0, - "m_RenderFace": 0, + "m_RenderFace": 2, "m_AlphaClip": true, "m_CastShadows": true, "m_ReceiveShadows": true, + "m_SupportsLODCrossFade": false, "m_CustomEditorGUI": "", "m_SupportVFX": false } { "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.BlockNode", - "m_ObjectId": "e5ca7bb83a9d4a5b99c6b17e8aa77844", - "m_Group": { - "m_Id": "" - }, - "m_Name": "SurfaceDescription.NormalTS", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 2592.0, - "y": 1296.4000244140625, - "width": 200.0, - "height": 42.0 - } - }, - "m_Slots": [ - { - "m_Id": "65a05de863dc4e3a82922e20d0e2bc8a" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "e5ac048bff1d482f89e5249a8e4878d6", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 }, - "m_SerializedDescriptor": "SurfaceDescription.NormalTS" + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } } { @@ -13214,6 +14860,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13343,6 +14990,20 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.LightingData", + "m_ObjectId": "e9c7bb604cf149d2a987d5390e28f19a", + "m_NormalDropOffSpace": 0, + "m_BlendPreserveSpecular": true, + "m_ReceiveDecals": true, + "m_ReceiveSSR": true, + "m_ReceiveSSRTransparent": false, + "m_SpecularAA": false, + "m_SpecularOcclusionMode": 1, + "m_OverrideBakedGI": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", @@ -13400,6 +15061,43 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "eb177f931f76429a8d6bf9211408efe3", + "m_Group": { + "m_Id": "616b97a6d63d4c31afbbf6bd5ce53b17" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1712.0, + "y": -15.0, + "width": 56.0, + "height": 24.0 + } + }, + "m_Slots": [ + { + "m_Id": "9a25b7aaeb65434db79e383727457942" + }, + { + "m_Id": "6dd210bb1ea4449f933fa7152aa5cc74" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13487,6 +15185,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13524,6 +15223,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13648,6 +15348,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13731,6 +15432,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13831,6 +15533,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13887,6 +15590,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -13927,6 +15631,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13936,6 +15641,30 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "f7ae45d4eb9c456a96d26eac8a4e0b22", + "m_Id": 0, + "m_DisplayName": "Normal (World Space)", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "NormalWS", + "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": 2 +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", @@ -13948,12 +15677,36 @@ "m_StageCapability": 3, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "f7e19600c9d54a02b6f5d8f786cb9722", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "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_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector2Node", @@ -13991,6 +15744,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -14053,7 +15807,7 @@ "m_StageCapability": 3, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -14095,8 +15849,8 @@ "m_ObjectId": "fb5719d9c5c74100943dcfd4d0eb6eb7", "m_Title": "Raster Overlays", "m_Position": { - "x": 511.2000427246094, - "y": -390.7999572753906 + "x": 511.0, + "y": -391.0 } } @@ -14162,6 +15916,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -14189,6 +15944,30 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "fd8b438285c44899b9628cda0886ec08", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "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_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", diff --git a/Runtime/Resources/CesiumDefaultTilesetShader.shadergraph.meta b/Runtime/Resources/CesiumDefaultTilesetShader.shadergraph.meta index 6c59b0f7..e0228086 100644 --- a/Runtime/Resources/CesiumDefaultTilesetShader.shadergraph.meta +++ b/Runtime/Resources/CesiumDefaultTilesetShader.shadergraph.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 407c0cff68611ac46a65eec87a5203f5 +guid: f1bf6a52c1d9b4896bcefbee4a1432af ScriptedImporter: internalIDToNameTable: [] externalObjects: {} diff --git a/Runtime/Resources/CesiumUnlitTilesetShader.shadergraph b/Runtime/Resources/CesiumUnlitTilesetShader.shadergraph index 72731191..f9304f04 100644 --- a/Runtime/Resources/CesiumUnlitTilesetShader.shadergraph +++ b/Runtime/Resources/CesiumUnlitTilesetShader.shadergraph @@ -860,6 +860,7 @@ "m_OutputNode": { "m_Id": "" }, + "m_SubDatas": [], "m_ActiveTargets": [ { "m_Id": "a7598719e24745feaf16e7918a003822" @@ -920,6 +921,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -996,6 +998,7 @@ "m_SGVersion": 1, "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", "m_ObjectId": "0b13d12d08424496b256a56f0d80cb3c", + "m_Datas": [], "m_ActiveSubTarget": { "m_Id": "232262d0ba174b328ac7c0a26741bf40" }, @@ -1008,6 +1011,7 @@ "m_AlphaClip": true, "m_CastShadows": true, "m_ReceiveShadows": true, + "m_SupportsLODCrossFade": false, "m_CustomEditorGUI": "", "m_SupportVFX": false } @@ -1095,6 +1099,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1208,6 +1213,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1243,6 +1249,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1250,6 +1257,20 @@ "m_SerializedDescriptor": "SurfaceDescription.Smoothness" } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.LightingData", + "m_ObjectId": "15c9bb8616f04dd1a4cfc046cf8738e8", + "m_NormalDropOffSpace": 0, + "m_BlendPreserveSpecular": true, + "m_ReceiveDecals": true, + "m_ReceiveSSR": true, + "m_ReceiveSSRTransparent": false, + "m_SpecularAA": false, + "m_SpecularOcclusionMode": 1, + "m_OverrideBakedGI": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -1280,6 +1301,26 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.BuiltinData", + "m_ObjectId": "18fbcd8fbbae46228605c79494a06337", + "m_Distortion": false, + "m_DistortionMode": 0, + "m_DistortionDepthTest": true, + "m_AddPrecomputedVelocity": false, + "m_TransparentWritesMotionVec": false, + "m_AlphaToMask": false, + "m_DepthOffset": false, + "m_ConservativeDepthOffset": false, + "m_TransparencyFog": true, + "m_AlphaTestShadow": false, + "m_BackThenFrontRendering": false, + "m_TransparentDepthPrepass": false, + "m_TransparentDepthPostpass": false, + "m_SupportLodCrossFade": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", @@ -1309,6 +1350,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1341,6 +1383,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1376,6 +1419,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1447,6 +1491,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1471,6 +1516,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1498,6 +1544,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1559,6 +1606,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1592,6 +1640,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1633,6 +1682,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1692,6 +1742,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1725,6 +1776,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1760,6 +1812,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1793,6 +1846,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1839,7 +1893,7 @@ "m_StageCapability": 2, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -1871,6 +1925,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2002,6 +2057,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2152,12 +2208,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -2196,8 +2253,8 @@ "m_ObjectId": "4a41d973edee4e78908095d72048df35", "m_Title": "Raster Overlays", "m_Position": { - "x": 4.000078201293945, - "y": 692.0 + "x": 4.0, + "y": 690.9999389648438 } } @@ -2294,6 +2351,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2326,6 +2384,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2415,8 +2474,8 @@ "m_ObjectId": "58024f53511649d981c8e23aa11c6cec", "m_Title": "Clipping", "m_Position": { - "x": 7.600099563598633, - "y": 1580.7999267578125 + "x": 8.000242233276368, + "y": 1580.0 } } @@ -2465,6 +2524,12 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.HDLitSubTarget", + "m_ObjectId": "5a94ea2a903848acac0f57a37ae0936c" +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -2495,12 +2560,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -2542,6 +2608,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2600,6 +2667,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2636,6 +2704,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2706,6 +2775,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -2820,6 +2890,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2967,6 +3038,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3000,6 +3072,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3022,6 +3095,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3060,6 +3134,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3093,6 +3168,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3144,7 +3220,7 @@ "m_StageCapability": 2, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -3165,12 +3241,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -3277,6 +3354,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3347,6 +3425,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3377,12 +3456,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -3440,6 +3520,18 @@ "m_Space": 3 } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.HDLitData", + "m_ObjectId": "83a82c2b8def4148b018c8d32dd4de57", + "m_RayTracing": false, + "m_MaterialType": 0, + "m_RefractionModel": 0, + "m_SSSTransmission": true, + "m_EnergyConservingSpecular": true, + "m_ClearCoat": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -3497,8 +3589,8 @@ "m_ObjectId": "8746fcebacab4d73a15f32bfb3654c98", "m_Title": "glTF Base Color", "m_Position": { - "x": -1626.0, - "y": 999.9999389648438 + "x": -2066.999755859375, + "y": 912.9999389648438 } } @@ -3591,6 +3683,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3741,6 +3834,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3813,6 +3907,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3911,6 +4006,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3952,6 +4048,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3976,6 +4073,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 2, @@ -4024,7 +4122,7 @@ "m_StageCapability": 2, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -4066,6 +4164,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4193,6 +4292,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4282,6 +4382,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4349,6 +4450,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4457,6 +4559,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4493,12 +4596,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -4578,6 +4682,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4610,6 +4715,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4705,6 +4811,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4768,6 +4875,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4795,6 +4903,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4833,6 +4942,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4881,6 +4991,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4943,6 +5054,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4975,6 +5087,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5189,13 +5302,15 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 } { @@ -5287,6 +5402,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 2, "m_CustomColors": { "m_SerializableColors": [] @@ -5319,6 +5435,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5343,6 +5460,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -5367,7 +5485,7 @@ "m_StageCapability": 2, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -5421,7 +5539,7 @@ "m_StageCapability": 3, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -5631,6 +5749,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5674,6 +5793,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5784,6 +5904,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5793,6 +5914,38 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.SystemData", + "m_ObjectId": "f50ba5b75ab54f33a99570ddf22131a6", + "m_MaterialNeedsUpdateHash": 280370, + "m_SurfaceType": 0, + "m_RenderingPass": 1, + "m_BlendMode": 0, + "m_ZTest": 4, + "m_ZWrite": false, + "m_TransparentCullMode": 2, + "m_OpaqueCullMode": 2, + "m_SortPriority": 0, + "m_AlphaTest": true, + "m_TransparentDepthPrepass": false, + "m_TransparentDepthPostpass": false, + "m_SupportLodCrossFade": false, + "m_DoubleSidedMode": 1, + "m_DOTSInstancing": false, + "m_CustomVelocity": false, + "m_Tessellation": false, + "m_TessellationMode": 0, + "m_TessellationFactorMinDistance": 20.0, + "m_TessellationFactorMaxDistance": 50.0, + "m_TessellationFactorTriangleSize": 100.0, + "m_TessellationShapeFactor": 0.75, + "m_TessellationBackFaceCullEpsilon": -0.25, + "m_TessellationMaxDisplacement": 0.009999999776482582, + "m_Version": 1, + "inspectorFoldoutMask": 9 +} + { "m_SGVersion": 3, "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", @@ -5808,6 +5961,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, diff --git a/native~/Runtime/src/Cesium3DTilesetImpl.cpp b/native~/Runtime/src/Cesium3DTilesetImpl.cpp index fb91cda5..7dae800e 100644 --- a/native~/Runtime/src/Cesium3DTilesetImpl.cpp +++ b/native~/Runtime/src/Cesium3DTilesetImpl.cpp @@ -609,6 +609,7 @@ void Cesium3DTilesetImpl::LoadTileset( TilesetContentOptions contentOptions{}; contentOptions.generateMissingNormalsSmooth = tileset.generateSmoothNormals(); + contentOptions.generateMissingTangents = tileset.generateTangents(); CesiumGltf::SupportedGpuCompressedPixelFormats supportedFormats; supportedFormats.ETC2_RGBA = UnityEngine::SystemInfo::IsFormatSupported( diff --git a/native~/Runtime/src/TilesetMaterialProperties.cpp b/native~/Runtime/src/TilesetMaterialProperties.cpp index 31c854bb..fdfbe030 100644 --- a/native~/Runtime/src/TilesetMaterialProperties.cpp +++ b/native~/Runtime/src/TilesetMaterialProperties.cpp @@ -82,6 +82,9 @@ const std::string "_overlayTextureCoordinateIndex_"; const std::string TilesetMaterialProperties::_overlayTranslationAndScalePrefix = "_overlayTranslationAndScale_"; + +const std::string TilesetMaterialProperties::_computeFlatNormals = + "_computeFlatNormals"; #pragma endregion TilesetMaterialProperties::TilesetMaterialProperties() @@ -131,6 +134,8 @@ TilesetMaterialProperties::TilesetMaterialProperties() Shader::PropertyToID(System::String(_normalMapTextureRotationName))), _occlusionTextureRotationID( Shader::PropertyToID(System::String(_occlusionTextureRotationName))), + _computeFlatNormalsID( + Shader::PropertyToID(System::String(_computeFlatNormals))), _overlayTextureCoordinateIndexIDs(), _overlayTextureIDs(), _overlayTranslationAndScaleIDs() {} diff --git a/native~/Runtime/src/TilesetMaterialProperties.h b/native~/Runtime/src/TilesetMaterialProperties.h index f8533465..6e56f307 100644 --- a/native~/Runtime/src/TilesetMaterialProperties.h +++ b/native~/Runtime/src/TilesetMaterialProperties.h @@ -85,6 +85,9 @@ class TilesetMaterialProperties { const int32_t getOcclusionTextureRotationID() const noexcept { return this->_occlusionTextureRotationID; } + const int32_t getComputeFlatNormalsID() const noexcept { + return this->_computeFlatNormalsID; + } const std::optional getOverlayTextureCoordinateIndexID(const std::string& key) const noexcept; @@ -128,6 +131,8 @@ class TilesetMaterialProperties { int32_t _normalMapTextureRotationID; int32_t _occlusionTextureRotationID; + int32_t _computeFlatNormalsID; + std::unordered_map _overlayTextureCoordinateIndexIDs; std::unordered_map _overlayTextureIDs; std::unordered_map _overlayTranslationAndScaleIDs; @@ -166,6 +171,8 @@ class TilesetMaterialProperties { static const std::string _overlayTexturePrefix; static const std::string _overlayTextureCoordinateIndexPrefix; static const std::string _overlayTranslationAndScalePrefix; + + static const std::string _computeFlatNormals; }; } // namespace CesiumForUnityNative diff --git a/native~/Runtime/src/UnityPrepareRendererResources.cpp b/native~/Runtime/src/UnityPrepareRendererResources.cpp index dbeff78c..2ff367fc 100644 --- a/native~/Runtime/src/UnityPrepareRendererResources.cpp +++ b/native~/Runtime/src/UnityPrepareRendererResources.cpp @@ -100,35 +100,6 @@ std::vector generateIndices(const int32_t count) { return syntheticIndexBuffer; } -template -void computeFlatNormals( - uint8_t* pWritePos, - size_t stride, - TIndex* indices, - int32_t indexCount, - const AccessorView& positionView) { - - for (int i = 0; i < indexCount; i += 3) { - - TIndex i0 = indices[i]; - TIndex i1 = indices[i + 1]; - TIndex i2 = indices[i + 2]; - - const glm::vec3& v0 = - *reinterpret_cast(&positionView[i0]); - const glm::vec3& v1 = - *reinterpret_cast(&positionView[i1]); - const glm::vec3& v2 = - *reinterpret_cast(&positionView[i2]); - - glm::vec3 normal = glm::normalize(glm::cross(v1 - v0, v2 - v0)); - for (int j = 0; j < 3; j++) { - *reinterpret_cast(pWritePos) = normal; - pWritePos += stride; - } - } -} - /** * @brief The result after populating Unity mesh data with loaded glTF content. */ @@ -141,7 +112,6 @@ template struct CopyVertexColors { uint8_t* pWritePos; size_t stride; size_t vertexCount; - bool duplicateVertices; TIndex* indices; struct Color32 { @@ -159,28 +129,14 @@ template struct CopyVertexColors { } bool success = true; - if (duplicateVertices) { - for (size_t i = 0; success && i < vertexCount; ++i) { - TIndex vertexIndex = indices[i]; - if (vertexIndex < 0 || vertexIndex >= colorView.size()) { - success = false; - } else { - Color32& packedColor = *reinterpret_cast(pWritePos); - success = CopyVertexColors::convertColor( - colorView[vertexIndex], - packedColor); - pWritePos += stride; - } - } - } else { - for (size_t i = 0; success && i < vertexCount; ++i) { - if (i >= colorView.size()) { - success = false; - } else { - Color32& packedColor = *reinterpret_cast(pWritePos); - success = CopyVertexColors::convertColor(colorView[i], packedColor); - pWritePos += stride; - } + + for (size_t i = 0; success && i < vertexCount; ++i) { + if (i >= colorView.size()) { + success = false; + } else { + Color32& packedColor = *reinterpret_cast(pWritePos); + success = CopyVertexColors::convertColor(colorView[i], packedColor); + pWritePos += stride; } } @@ -356,36 +312,12 @@ void loadPrimitive( ? false : pMaterial && pMaterial->hasExtension(); - bool hasNormals = false; - bool computeFlatNormals = false; auto normalAccessorIt = primitive.attributes.find("NORMAL"); AccessorView normalView; if (normalAccessorIt != primitive.attributes.end()) { normalView = AccessorView(gltf, normalAccessorIt->second); - hasNormals = normalView.status() == AccessorViewStatus::Valid; - } else if ( - !primitiveInfo.isUnlit && primitive.mode != MeshPrimitive::Mode::POINTS) { - computeFlatNormals = hasNormals = true; - } - - // Check if we need to upgrade to a large index type to accommodate the - // larger number of vertices we need for flat normals. - if (computeFlatNormals && indexFormat == IndexFormat::UInt16 && - indexCount >= std::numeric_limits::max()) { - loadPrimitive( - meshData, - primitiveInfo, - options, - gltf, - node, - mesh, - primitive, - transform, - indicesView, - IndexFormat::UInt32, - positionView); - return; + primitiveInfo.hasNormals = normalView.status() == AccessorViewStatus::Valid; } meshData.SetIndexBufferParams(indexCount, indexFormat); @@ -441,7 +373,7 @@ void loadPrimitive( ++numberOfAttributes; // Add the NORMAL attribute, if it exists. - if (hasNormals) { + if (primitiveInfo.hasNormals) { assert(numberOfAttributes < MAX_ATTRIBUTES); descriptor[numberOfAttributes].attribute = VertexAttribute::Normal; descriptor[numberOfAttributes].format = VertexAttributeFormat::Float32; @@ -554,9 +486,7 @@ void loadPrimitive( attributes.Item(i, descriptor[i]); } - int32_t vertexCount = computeFlatNormals - ? indexCount - : static_cast(positionView.size()); + int32_t vertexCount = static_cast(positionView.size()); meshData.SetVertexBufferParams(vertexCount, attributes); NativeArray1 nativeVertexBuffer = @@ -576,7 +506,7 @@ void loadPrimitive( size_t stride = sizeof(Vector3); size_t normalByteOffset, colorByteOffset; - if (hasNormals) { + if (primitiveInfo.hasNormals) { normalByteOffset = stride; stride += sizeof(Vector3); } @@ -586,52 +516,25 @@ void loadPrimitive( } stride += numTexCoords * sizeof(Vector2); - if (computeFlatNormals) { - ::computeFlatNormals( - pWritePos + normalByteOffset, - stride, - indices, - indexCount, - positionView); - for (int64_t i = 0; i < vertexCount; ++i) { - TIndex vertexIndex = indices[i]; - *reinterpret_cast(pWritePos) = positionView[vertexIndex]; - // skip position and normal - pWritePos += 2 * sizeof(Vector3); - // Skip the slot allocated for vertex colors, we will fill them in - // bulk later. - if (hasVertexColors) { - pWritePos += sizeof(uint32_t); - } - for (uint32_t texCoordIndex = 0; texCoordIndex < numTexCoords; - ++texCoordIndex) { - *reinterpret_cast(pWritePos) = - texCoordViews[texCoordIndex][vertexIndex]; - pWritePos += sizeof(Vector2); - } - } - } else { - for (int64_t i = 0; i < vertexCount; ++i) { - *reinterpret_cast(pWritePos) = positionView[i]; - pWritePos += sizeof(Vector3); + for (int64_t i = 0; i < vertexCount; ++i) { + *reinterpret_cast(pWritePos) = positionView[i]; + pWritePos += sizeof(Vector3); - if (hasNormals) { - *reinterpret_cast(pWritePos) = normalView[i]; - pWritePos += sizeof(Vector3); - } + if (primitiveInfo.hasNormals) { + *reinterpret_cast(pWritePos) = normalView[i]; + pWritePos += sizeof(Vector3); + } - // Skip the slot allocated for vertex colors, we will fill them in - // bulk later. - if (hasVertexColors) { - pWritePos += sizeof(uint32_t); - } + // Skip the slot allocated for vertex colors, we will fill them in + // bulk later. + if (hasVertexColors) { + pWritePos += sizeof(uint32_t); + } - for (uint32_t texCoordIndex = 0; texCoordIndex < numTexCoords; - ++texCoordIndex) { - *reinterpret_cast(pWritePos) = - texCoordViews[texCoordIndex][i]; - pWritePos += sizeof(Vector2); - } + for (uint32_t texCoordIndex = 0; texCoordIndex < numTexCoords; + ++texCoordIndex) { + *reinterpret_cast(pWritePos) = texCoordViews[texCoordIndex][i]; + pWritePos += sizeof(Vector2); } } @@ -645,17 +548,9 @@ void loadPrimitive( pBufferStart + colorByteOffset, stride, static_cast(vertexCount), - computeFlatNormals, indices}); } - if (computeFlatNormals) { - // rewrite indices - for (TIndex i = 0; i < indexCount; i++) { - indices[i] = i; - } - } - meshData.subMeshCount(1); // TODO: use sub-meshes for glTF primitives, instead of a separate mesh @@ -1470,6 +1365,22 @@ void* UnityPrepareRendererResources::prepareInMainThread( *pModelMetadata); } } + // + // if (tilesetComponent.generateTangents()) { + // for (size_t i = 0; i < meshes.Length(); ++i) { + // const UnityEngine::Mesh& mesh = meshes[i]; + // if (mesh.tangents().Length() == 0) { + // const bool useTempVertexNormals = mesh.normals().Length() == 0; + // if (useTempVertexNormals) { + // mesh.RecalculateNormals(); + // } + // mesh.RecalculateTangents(); + // if (useTempVertexNormals) { + // mesh.normals(System::Array1<::DotNet::UnityEngine::Vector3>(nullptr)); + // } + // } + // } + // } model.forEachPrimitiveInScene( -1, @@ -1541,10 +1452,25 @@ void* UnityPrepareRendererResources::prepareInMainThread( UnityEngine::MeshFilter meshFilter = primitiveGameObject.AddComponent(); meshFilter.sharedMesh(unityMesh); - UnityEngine::MeshRenderer meshRenderer = primitiveGameObject.AddComponent(); + + if (tilesetComponent.generateTangents()) { + for (size_t i = 0; i < meshes.Length(); ++i) { + if (unityMesh.tangents().Length() == 0) { + const bool useTempVertexNormals = unityMesh.normals().Length() == 0; + if (useTempVertexNormals) { + unityMesh.RecalculateNormals(); + } + unityMesh.RecalculateTangents(); + if (useTempVertexNormals) { + unityMesh.normals(System::Array1<::DotNet::UnityEngine::Vector3>(nullptr)); + } + } + } + } + const Material* pMaterial = Model::getSafe(&gltf.materials, primitive.material); @@ -1566,6 +1492,15 @@ void* UnityPrepareRendererResources::prepareInMainThread( UnityEngine::Material material = UnityEngine::Object::Instantiate(opaqueMaterial); material.hideFlags(UnityEngine::HideFlags::HideAndDontSave); + + int32_t computeFlatNormalsPropertyID = + materialProperties.getComputeFlatNormalsID(); + bool computeFlatNormals = !primitiveInfo.hasNormals && + !primitiveInfo.isUnlit && + primitive.mode != MeshPrimitive::Mode::POINTS; + + material.SetFloat(computeFlatNormalsPropertyID, computeFlatNormals); + meshRenderer.material(material); if (pMaterial) { setGltfMaterialParameterValues( diff --git a/native~/Runtime/src/UnityPrepareRendererResources.h b/native~/Runtime/src/UnityPrepareRendererResources.h index 51f2528d..983b4586 100644 --- a/native~/Runtime/src/UnityPrepareRendererResources.h +++ b/native~/Runtime/src/UnityPrepareRendererResources.h @@ -28,26 +28,33 @@ struct CreateModelOptions { */ struct CesiumPrimitiveInfo { /** - * @brief Whether or not the primitive's mode is set to POINTS. - * This affects whether or not it can be baked into a physics mesh. + * @brief Whether the primitive's mode is set to POINTS. + * This affects whether it can be baked into a physics mesh. */ bool containsPoints = false; /** - * @brief Whether or not the primitive contains translucent vertex + * @brief Whether the primitive contains translucent vertex * colors. This can affect material tags used to render the model. */ bool isTranslucent = false; /** - * @brief Whether or not the primitive material has the KHR_materials_unlit + * @brief Whether the primitive material has the KHR_materials_unlit * extension. * @remarks This may be overridden if - * DotNet::CesiumForUnity::Cesium3DTileset::ignoreignoreKHRMaterialsUnlit() is + * DotNet::CesiumForUnity::Cesium3DTileset::ignoreKhrMaterialsUnlit() is * set. */ bool isUnlit = false; + /** + * @brief Whether the primitive contains normals + * @remarks If normals are not present and using a lit material, + * they should be generated on the CPU or in the material's shader. + */ + bool hasNormals = false; + /** * @brief Maps a texture coordinate index i (TEXCOORD_) to the * corresponding Unity texture coordinate index. diff --git a/native~/extern/cesium-native b/native~/extern/cesium-native index 396dfc17..3e087426 160000 --- a/native~/extern/cesium-native +++ b/native~/extern/cesium-native @@ -1 +1 @@ -Subproject commit 396dfc17058f9782a65e03680fd3fdd5dd15eaa8 +Subproject commit 3e08742630050710c11da6c5b0c875c0af6fe4d2