|
|
|
|
|
|
[Title("Input", "Scene", "Ambient")] |
|
|
|
public class AmbientNode : AbstractMaterialNode |
|
|
|
{ |
|
|
|
const string kOutputSlotName = "Color"; |
|
|
|
const string kOutputSlot1Name = "Sky"; |
|
|
|
const string kOutputSlot2Name = "Equator"; |
|
|
|
const string kOutputSlot3Name = "Ground"; |
|
|
|
const string kOutputSlotName = "Color/Sky"; |
|
|
|
const string kOutputSlot1Name = "Equator"; |
|
|
|
const string kOutputSlot2Name = "Ground"; |
|
|
|
public const int OutputSlot3Id = 3; |
|
|
|
|
|
|
|
public AmbientNode() |
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
public sealed override void UpdateNodeAfterDeserialization() |
|
|
|
{ |
|
|
|
AddSlot(new Vector4MaterialSlot(OutputSlotId, kOutputSlotName, kOutputSlotName, SlotType.Output, Vector4.zero)); |
|
|
|
AddSlot(new Vector4MaterialSlot(OutputSlot1Id, kOutputSlot1Name, kOutputSlot1Name, SlotType.Output, Vector4.zero)); |
|
|
|
AddSlot(new Vector4MaterialSlot(OutputSlot2Id, kOutputSlot2Name, kOutputSlot2Name, SlotType.Output, Vector4.zero)); |
|
|
|
AddSlot(new Vector4MaterialSlot(OutputSlot3Id, kOutputSlot3Name, kOutputSlot3Name, SlotType.Output, Vector4.zero)); |
|
|
|
RemoveSlotsNameNotMatching(new[] { OutputSlotId, OutputSlot1Id, OutputSlot2Id, OutputSlot3Id }); |
|
|
|
AddSlot(new ColorRGBMaterialSlot(OutputSlotId, kOutputSlotName, kOutputSlotName, SlotType.Output, Vector4.zero)); |
|
|
|
AddSlot(new ColorRGBMaterialSlot(OutputSlot1Id, kOutputSlot1Name, kOutputSlot1Name, SlotType.Output, Vector4.zero)); |
|
|
|
AddSlot(new ColorRGBMaterialSlot(OutputSlot2Id, kOutputSlot2Name, kOutputSlot2Name, SlotType.Output, Vector4.zero)); |
|
|
|
RemoveSlotsNameNotMatching(new[] { OutputSlotId, OutputSlot1Id, OutputSlot2Id }); |
|
|
|
} |
|
|
|
|
|
|
|
public override string GetVariableNameForSlot(int slotId) |
|
|
|
|
|
|
case OutputSlot1Id: |
|
|
|
return "unity_AmbientSky"; |
|
|
|
return "unity_AmbientEquator"; |
|
|
|
return "unity_AmbientEquator"; |
|
|
|
case OutputSlot3Id: |
|
|
|
return "UNITY_LIGHTMODEL_AMBIENT"; |
|
|
|
return "unity_AmbientSky"; |
|
|
|
} |
|
|
|
} |
|
|
|
} |