浏览代码
Advanced master updates
Advanced master updates
- Add subsurface master node - Add custom data support to abstract advanced master - Removed pragma target 5.0 (for GL)/main
当前提交
e9270489
共有 9 个文件被更改,包括 202 次插入 和 30 次删除
-
98MaterialGraphProject/Assets/Matt/AbstractAdvancedMasterNode.cs
-
2MaterialGraphProject/Assets/Matt/AnisotropicMaster.ShaderGraph
-
12MaterialGraphProject/Assets/Matt/AnisotropicMetallicMasterNode.cs
-
2MaterialGraphProject/Assets/Matt/New Material.mat
-
10MaterialGraphProject/Assets/UnityShaderEditor/Editor/Templates/advancedSubshader.template
-
1MaterialGraphProject/Assets/Matt/SubsurfaceMaster.ShaderGraph
-
9MaterialGraphProject/Assets/Matt/SubsurfaceMaster.ShaderGraph.meta
-
86MaterialGraphProject/Assets/Matt/SubsurfaceMetallicMasterNode.cs
-
12MaterialGraphProject/Assets/Matt/SubsurfaceMetallicMasterNode.cs.meta
2
MaterialGraphProject/Assets/Matt/AnisotropicMaster.ShaderGraph
文件差异内容过多而无法显示
查看文件
文件差异内容过多而无法显示
查看文件
1
MaterialGraphProject/Assets/Matt/SubsurfaceMaster.ShaderGraph
文件差异内容过多而无法显示
查看文件
文件差异内容过多而无法显示
查看文件
|
|||
fileFormatVersion: 2 |
|||
guid: 25497a67e7ee41d4c8f2039c1df994a1 |
|||
timeCreated: 1495614205 |
|||
licenseType: Pro |
|||
ScriptedImporter: |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|||
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} |
|
|||
using System; |
|||
using UnityEngine.Graphing; |
|||
|
|||
namespace UnityEngine.MaterialGraph |
|||
{ |
|||
[Serializable] |
|||
[Title("Master/SubsurfaceMetallic")] |
|||
public class SubsurfaceMetallicMasterNode : AbstractAdvancedMasterNode |
|||
{ |
|||
public const string MetallicSlotName = "Metallic"; |
|||
public const int MetallicSlotId = 2; |
|||
|
|||
public const string TranslucencySlotName = "Translucency"; |
|||
public const int TranslucencySlotId = 9; |
|||
|
|||
public const string LightFunctionName = "Advanced"; |
|||
public const string SurfaceOutputStructureName = "SurfaceOutputAdvanced"; |
|||
|
|||
public SubsurfaceMetallicMasterNode() |
|||
{ |
|||
name = "SubsurfaceMetallic"; |
|||
UpdateNodeAfterDeserialization(); |
|||
} |
|||
|
|||
public override string GetMaterialID() |
|||
{ |
|||
return "SHADINGMODELID_SUBSURFACE"; |
|||
} |
|||
|
|||
public override int[] GetCustomDataSlots() |
|||
{ |
|||
return new int[] { 9 }; |
|||
} |
|||
|
|||
public override string[] GetCustomData() |
|||
{ |
|||
string translucencyInput = GetVariableNameForSlotAtId(9); |
|||
if (translucencyInput == "") |
|||
translucencyInput = "float3(0,0,0)"; |
|||
else |
|||
translucencyInput = translucencyInput + ".rgb"; |
|||
return new string[] { "o.CustomData = float4(" + translucencyInput + ", 0);" }; |
|||
} |
|||
|
|||
public sealed override void UpdateNodeAfterDeserialization() |
|||
{ |
|||
AddSlot(new MaterialSlot(AlbedoSlotId, AlbedoSlotName, AlbedoSlotName, SlotType.Input, SlotValueType.Vector3, Vector4.zero)); |
|||
AddSlot(new MaterialSlot(NormalSlotId, NormalSlotName, NormalSlotName, SlotType.Input, SlotValueType.Vector3, Vector4.zero)); |
|||
AddSlot(new MaterialSlot(EmissionSlotId, EmissionSlotName, EmissionSlotName, SlotType.Input, SlotValueType.Vector3, Vector4.zero)); |
|||
AddSlot(new MaterialSlot(MetallicSlotId, MetallicSlotName, MetallicSlotName, SlotType.Input, SlotValueType.Vector1, Vector4.zero)); |
|||
AddSlot(new MaterialSlot(SmoothnessSlotId, SmoothnessSlotName, SmoothnessSlotName, SlotType.Input, SlotValueType.Vector1, Vector4.zero)); |
|||
AddSlot(new MaterialSlot(OcclusionSlotId, OcclusionSlotName, OcclusionSlotName, SlotType.Input, SlotValueType.Vector1, Vector4.zero)); |
|||
AddSlot(new MaterialSlot(AnisotropySlotId, AnisotropySlotName, AnisotropySlotName, SlotType.Input, SlotValueType.Vector1, Vector4.zero)); |
|||
AddSlot(new MaterialSlot(TangentSlotId, TangentSlotName, TangentSlotName, SlotType.Input, SlotValueType.Vector3, Vector4.zero)); |
|||
AddSlot(new MaterialSlot(AnisotropySlotId, AnisotropySlotName, AnisotropySlotName, SlotType.Input, SlotValueType.Vector1, Vector4.zero)); |
|||
AddSlot(new MaterialSlot(TranslucencySlotId, TranslucencySlotName, TranslucencySlotName, SlotType.Input, SlotValueType.Vector3, Vector4.zero)); |
|||
|
|||
// clear out slot names that do not match the slots
|
|||
// we support
|
|||
RemoveSlotsNameNotMatching( |
|||
new[] |
|||
{ |
|||
AlbedoSlotId, |
|||
NormalSlotId, |
|||
EmissionSlotId, |
|||
MetallicSlotId, |
|||
SmoothnessSlotId, |
|||
OcclusionSlotId, |
|||
AlphaSlotId, |
|||
AnisotropySlotId, |
|||
TangentSlotId, |
|||
TranslucencySlotId |
|||
}); |
|||
} |
|||
|
|||
public override string GetSurfaceOutputName() |
|||
{ |
|||
return SurfaceOutputStructureName; |
|||
} |
|||
|
|||
public override string GetLightFunction() |
|||
{ |
|||
return LightFunctionName; |
|||
} |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: 7c541e9dc2ccc50469af225259c7cb17 |
|||
timeCreated: 1478188276 |
|||
licenseType: Pro |
|||
MonoImporter: |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
撰写
预览
正在加载...
取消
保存
Reference in new issue