您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 

33 行
845 B

using System.Reflection;
namespace UnityEngine.MaterialGraph
{
[Title("Math/Vector/Reflect")]
class ReflectNode : CodeFunctionNode
{
public ReflectNode()
{
name = "Reflect";
}
protected override MethodInfo GetFunctionToConvert()
{
return GetType().GetMethod("Unity_Reflect", BindingFlags.Static | BindingFlags.NonPublic);
}
static string Unity_Reflect(
[Slot(0, Binding.None)] Vector3 normal,
[Slot(1, Binding.None)] Vector3 direction,
[Slot(2, Binding.None)] out Vector3 reflection)
{
reflection = Vector3.one;
return @"
{
{precision}3 vn = normalize(normal);
{precision}3 vd = normalize(direction);
reflection = 2 * dot(vn, vd) * vn - vd, 1.0;
}";
}
}
}