Make toon fire borders sharp and dynamic
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled

- Обновлена Toon-функция в InjectToonFireToShaderGraph.cs.
- Убрано финальное сглаживание по texAlpha, что позволило сделать внешнюю границу пламени острой и динамически колыхающейся.
This commit is contained in:
Данил Ярош 2026-08-06 14:08:08 +03:00
parent 087f122639
commit 75b8b75590
2 changed files with 44 additions and 2 deletions

View File

@ -203,7 +203,7 @@ public static class InjectToonFireToShaderGraph
""m_SourceType"": 1,
""m_FunctionName"": ""ToonFireColor"",
""m_FunctionSource"": """",
""m_FunctionBody"": ""float3 colInner = float3(1.0, 0.95, 0.4) * baseColor.rgb * 2.2;\nfloat3 colMid = float3(1.0, 0.55, 0.0) * baseColor.rgb * 1.8;\nfloat3 colOuter = float3(1.0, 0.15, 0.1) * baseColor.rgb * 1.4;\n\nfloat stepOuter = step(0.85, rawValue);\nfloat stepMid = step(1.0, rawValue);\nfloat stepInner = step(1.15, rawValue);\n\nfloat3 finalColor = float3(0,0,0);\nif (stepInner > 0.5)\n{\n finalColor = colInner;\n}\nelse if (stepMid > 0.5)\n{\n finalColor = colMid;\n}\nelse if (stepOuter > 0.5)\n{\n finalColor = colOuter;\n}\n\noutColor = finalColor;\noutAlpha = stepOuter * baseColor.a * texAlpha;""
""m_FunctionBody"": ""float3 colInner = float3(1.0, 0.95, 0.4) * baseColor.rgb * 2.2;\nfloat3 colMid = float3(1.0, 0.55, 0.0) * baseColor.rgb * 1.8;\nfloat3 colOuter = float3(1.0, 0.15, 0.1) * baseColor.rgb * 1.4;\n\nfloat stepOuter = step(0.85, rawValue);\nfloat stepMid = step(1.0, rawValue);\nfloat stepInner = step(1.15, rawValue);\n\nfloat3 finalColor = float3(0,0,0);\nif (stepInner > 0.5)\n{\n finalColor = colInner;\n}\nelse if (stepMid > 0.5)\n{\n finalColor = colMid;\n}\nelse if (stepOuter > 0.5)\n{\n finalColor = colOuter;\n}\n\noutColor = finalColor;\noutAlpha = stepOuter * baseColor.a;""
}");
// Remove previous instances of our nodes from list (if re-running script)

View File

@ -610,6 +610,48 @@
"m_SlotId": 1
}
},
{
"m_OutputSlot": {
"m_Node": {
"m_Id": "3f4b2124cb794f8e970aacc0488fc224"
},
"m_SlotId": 4
},
"m_InputSlot": {
"m_Node": {
"m_Id": "node_cartoon_fire_custom"
},
"m_SlotId": 4
}
},
{
"m_OutputSlot": {
"m_Node": {
"m_Id": "0d74e8c23ef1428eaf8c38a4c033c563"
},
"m_SlotId": 2
},
"m_InputSlot": {
"m_Node": {
"m_Id": "node_cartoon_fire_custom"
},
"m_SlotId": 0
}
},
{
"m_OutputSlot": {
"m_Node": {
"m_Id": "e48170ea86fb4291b3e4198160139b3e"
},
"m_SlotId": 2
},
"m_InputSlot": {
"m_Node": {
"m_Id": "node_cartoon_fire_custom"
},
"m_SlotId": 1
}
},
{
"m_OutputSlot": {
"m_Node": {
@ -4436,5 +4478,5 @@
"m_SourceType": 1,
"m_FunctionName": "ToonFireColor",
"m_FunctionSource": "",
"m_FunctionBody": "float3 colInner = float3(1.0, 0.95, 0.4) * baseColor.rgb * 2.2;\nfloat3 colMid = float3(1.0, 0.55, 0.0) * baseColor.rgb * 1.8;\nfloat3 colOuter = float3(1.0, 0.15, 0.1) * baseColor.rgb * 1.4;\n\nfloat stepOuter = step(0.85, rawValue);\nfloat stepMid = step(1.0, rawValue);\nfloat stepInner = step(1.15, rawValue);\n\nfloat3 finalColor = float3(0,0,0);\nif (stepInner > 0.5)\n{\n finalColor = colInner;\n}\nelse if (stepMid > 0.5)\n{\n finalColor = colMid;\n}\nelse if (stepOuter > 0.5)\n{\n finalColor = colOuter;\n}\n\noutColor = finalColor;\noutAlpha = stepOuter * baseColor.a * texAlpha;"
"m_FunctionBody": "float3 colInner = float3(1.0, 0.95, 0.4) * baseColor.rgb * 2.2;\nfloat3 colMid = float3(1.0, 0.55, 0.0) * baseColor.rgb * 1.8;\nfloat3 colOuter = float3(1.0, 0.15, 0.1) * baseColor.rgb * 1.4;\n\nfloat stepOuter = step(0.85, rawValue);\nfloat stepMid = step(1.0, rawValue);\nfloat stepInner = step(1.15, rawValue);\n\nfloat3 finalColor = float3(0,0,0);\nif (stepInner > 0.5)\n{\n finalColor = colInner;\n}\nelse if (stepMid > 0.5)\n{\n finalColor = colMid;\n}\nelse if (stepOuter > 0.5)\n{\n finalColor = colOuter;\n}\n\noutColor = finalColor;\noutAlpha = stepOuter * baseColor.a;"
}