浏览代码

Fixes to polygon and ellipse nodes

/main
Matt Dean 7 年前
当前提交
afc52ffa
共有 2 个文件被更改,包括 20 次插入19 次删除
  1. 13
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Procedural/Shape/PolygonNode.cs
  2. 26
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Procedural/Shape/RepeatingDotNode.cs

13
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Procedural/Shape/PolygonNode.cs


static string Unity_Polygon(
[Slot(0, Binding.MeshUV0)] Vector2 UV,
[Slot(1, Binding.None, 6, 6, 6, 6)] Vector1 Sides,
[Slot(2, Binding.None, 1, 1, 1, 1)] Vector1 Radius,
[Slot(3, Binding.None)] Vector1 Rotation,
[Slot(1, Binding.None, 6, 0, 0, 0)] Vector1 Sides,
[Slot(2, Binding.None, 0.5f, 0, 0, 0)] Vector1 Width,
[Slot(3, Binding.None, 0.5f, 0, 0, 0)] Vector1 Height,
[Slot(4, Binding.None)] out DynamicDimensionVector Out)
{
return

{precision}2 uv = (UV * 2 - 1) * {precision}2(1, -1);
{precision} pCoord = atan2(uv.x, uv.y) + radians(Rotation);
{precision}2 uv = (UV * 2 - 1) / {precision}2(Width, Height);
uv.y *= -1;
{precision} pCoord = atan2(uv.x, uv.y);
{precision} value = 1.0 - smoothstep(.4, .41, distance);
{precision} value = 1 - step(1, smoothstep(0, 1, distance));
Out = value;
}
";

26
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Procedural/Shape/RepeatingDotNode.cs


using System.Reflection;
using UnityEngine;
/*namespace UnityEditor.ShaderGraph
namespace UnityEditor.ShaderGraph
[Title("Procedural", "MakeSubgraph", "Repeating Dot")]
public class RepeatingDotNode : CodeFunctionNode
[Title("Procedural", "Shape", "Ellipse")]
public class EllipseNode : CodeFunctionNode
public RepeatingDotNode()
public EllipseNode()
name = "Repeating Dot";
name = "Ellipse";
return GetType().GetMethod("Unity_Repreatingdot", BindingFlags.Static | BindingFlags.NonPublic);
return GetType().GetMethod("Unity_Ellipse", BindingFlags.Static | BindingFlags.NonPublic);
static string Unity_Repreatingdot(
static string Unity_Ellipse(
[Slot(1, Binding.None, 4.0f, 4.0f, 4.0f, 4.0f)] Vector1 Count,
[Slot(2, Binding.None, 0.5f, 0.5f, 0.5f, 0.5f)] Vector1 Radius,
[Slot(2, Binding.None, 0.5f, 0, 0, 0)] Vector1 Width,
[Slot(3, Binding.None, 0.5f, 0, 0, 0)] Vector1 Height,
UV *= 2.0 - 1.0;
UV = fmod(UV * Count, 1.0) * 2.0 - 1.0;
Out = step(length(UV),Radius);
UV = (UV * 2.0 - 1.0);
UV = UV / {precision}2(Width, Height);
Out = step(length(UV), 1);
}*/
}
正在加载...
取消
保存