您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
34 行
1.2 KiB
34 行
1.2 KiB
using System;
|
|
using UnityEditor.ShaderGraph.Drawing.Slots;
|
|
using UnityEngine.Experimental.UIElements;
|
|
|
|
namespace UnityEditor.ShaderGraph
|
|
{
|
|
[Serializable]
|
|
public class ViewDirectionMaterialSlot : SpaceMaterialSlot, IMayRequireViewDirection
|
|
{
|
|
public ViewDirectionMaterialSlot()
|
|
{}
|
|
|
|
public ViewDirectionMaterialSlot(int slotId, string displayName, string shaderOutputName, CoordinateSpace space,
|
|
ShaderStage shaderStage = ShaderStage.Dynamic, bool hidden = false)
|
|
: base(slotId, displayName, shaderOutputName, space, shaderStage, hidden)
|
|
{}
|
|
public override VisualElement InstantiateControl()
|
|
{
|
|
return new LabelSlotControlView(space + " Space");
|
|
}
|
|
|
|
public override string GetDefaultValue(GenerationMode generationMode)
|
|
{
|
|
return string.Format("IN.{0}", space.ToVariableName(InterpolatorType.ViewDirection));
|
|
}
|
|
|
|
public NeededCoordinateSpace RequiresViewDirection()
|
|
{
|
|
if (isConnected)
|
|
return NeededCoordinateSpace.None;
|
|
return space.ToNeededCoordinateSpace();
|
|
}
|
|
}
|
|
}
|