Skip to content

Creating the Base Skin Material

Once your character has been imported we need to assign a shader/material to it. This is a combination of multiple textures that will work together to display the final details on your mesh.

Step 1: Setting Up The Base Skin Material

  1. In your creature folder, create a new folder called Textures
  2. Inside the Textures folder, import your textures you created in the previous step. Be sure they are named a descriptive title so you can easily distinguish them.
  3. In your dinosaur folder, create a new folder called Skins
  4. Within your Skins folder, create a new folder named after the skin you will be importing. For instance, if the skin is called “Blue Back” the folder should be called BlueBack.
  5. Locate the M_DinoSkin shader found within Content\Dinosaur\Materials\DinoSkin. Right click on the material and select “Create material instance”. Name the material instance MI_CreatureName_Skin_Base
  6. Move this material to your Skins folder by dragging and dropping it into that folder in the content browser.
  7. Right click this new material and select “Create material instance” again, This will create a child of this material instance. Name this newly created material MI_CreatureName_Skin_SkinName and put it into your new skin folder.
  8. Double click and open up your Base skin shader. Inside this material you will see variables you can change and assign different textures to. Assign the textures found within your “Textures” folder to each parameter, as explained in the next step.

base_skin_mask_allo

Step 2: Applying Textures to the Material

  1. Open the Base skin shader and look at the Details panel on the right. Here you will see many different Parameters.
  2. Assign all the textures and values to the appropriate parameters based on the table below. If a parameter is not listed below, you can ignore it.
PreviewParameter NameDescription
N/ABrightnessMake small tweaks to the brightness of your shader. Compare your tweaks against base game dinosaurs for best balance.
N/ADetailNormalTilingThe tiling size of the detail normal map.
N/ANormalIntensityThe intensity of the base normal map of your creature.
N/ASpecularityThe specularity of your creature. Change this to make your creature more/less reflective.
base_babyskinBabySkinThe baby skin of your dinosaur. This is a traditional colour texture that does not use the RGB masking system.
base_basenormalBaseNormalThe normal map of your creature
base_detailnormalDetailNormalA small normal map that tiles across your creature to give it extra detail. By default this is a scale texture, however you can change this to be fur, feathers, or anything you like.
base_mouthalbedoMouthAlbedoYour Detail Colour texture
base_patternskinmaskPatternSkinMaskThe Markings of your skin.
base_baseskinmaskBaseSkinMaskThe Base Pattern of your skin.
base_raRAYour RA Mask
base_toothandmouthmaskToothAndMouthMaskYour Packed Detail Mask
base_woundlocationsWoundLocationsYour Wound Location Mask
base_woundmaskWoundMaskYour Wound Mask
N/AColour1 to Colour4The colours for your skin. Don't get these confused with Colour#Old (which does nothing).
N/APatternColorThe colour for the markings layer.
N/ADetailTintThe tint that is applied to the claws, teeth, mouth, etc.

Step 3: Setup Eye Material

You can use the base game eye material, or you can set up your own eye material.

Using The Base Game Eye Material

  1. Go to Material /Game/Dinosaur/Materials/Eyes/Materials/M_EyeRefractive
  2. Right-click on the material and select Create Material Instance
  3. Name the material MI_DinoName_Eye
  4. Open the material and look at the parameters on the right. You can customize these parameters to make your eye look better. The suggested parameters to edit are:
  • DepthScale - Set this to 0 or something subtle like 0.2
  • IrisBrightness - Makes your eye brighter.
  • PupilScale - Adjust the scale of your pupil.
  • ScaleByCenter - Makes your eye larger or smaller.
  • UsesMembrane? - Check this ON for the nictitating membrane, and OFF to disable the membrane.
  • IrisColour - The base eye texture for your creature.
  • ScleraTint - The colour around your creature's eye.
  1. When you're done with your eye material, you should assign it to the eye material slot on your creature's skeletal mesh.

base_material_eye_slot

Creating Your Own Eye Material

If you have a custom eye, you can create your own material. The important points are that it must contain the following parameters:

  • IrisHueTint - The custom colour a player can pick when editing their character.
  • OldIrisHueTint - The old eye colour you are shedding out of.
  • SheddingProgress - The Alpha used for the linear interpolate between IrisHueTint and OldIrisHueTint
  1. Create a new material by right-clicking in your Materials folder in your mod folder, and select "New Material"
  2. Open your material.
  3. You can Copy + Paste the following code into your material graph to get started. When you paste the code, it will look like the image below, but you will have to plug in the Base Colour, Specular, and Roughness.
  4. When you're done with your eye material, you should assign it to the eye material slot on your creature's skeletal mesh.
UnrealScript
function test() {
  console.log("
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_0"
   Begin Object Class=/Script/Engine.MaterialExpressionConstant Name="MaterialExpressionConstant_0"
   End Object
   Begin Object Name="MaterialExpressionConstant_0"
      R=0.100000
      MaterialExpressionEditorX=-96
      MaterialExpressionEditorY=-176
      MaterialExpressionGuid=7A1192E34E4CE322CEF1B5A5D50D2563
      Material=PreviewMaterial'"/Engine/Transient.M_Eye_DinoName"'
   End Object
   MaterialExpression=MaterialExpressionConstant'"MaterialExpressionConstant_0"'
   NodePosX=-96
   NodePosY=-176
   NodeGuid=E69282834FDCE58AA7CDC29C6DA4CE6C
   CustomProperties Pin (PinId=D0F02FBF4F5C6C77A05801B95EA99249,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Root_0 9C6E5A984449745F38F3169474E6EF51,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_1"
   Begin Object Class=/Script/Engine.MaterialExpressionConstant Name="MaterialExpressionConstant_1"
   End Object
   Begin Object Name="MaterialExpressionConstant_1"
      R=0.900000
      MaterialExpressionEditorX=-96
      MaterialExpressionEditorY=-240
      MaterialExpressionGuid=E72A70C44C80A24DF729E2B06033D3D9
      Material=PreviewMaterial'"/Engine/Transient.M_Eye_DinoName"'
   End Object
   MaterialExpression=MaterialExpressionConstant'"MaterialExpressionConstant_1"'
   NodePosX=-96
   NodePosY=-240
   NodeGuid=473DAF124FB284C3568AD38B935C6CE2
   CustomProperties Pin (PinId=40343C0348D17DD16ABF1795C4050849,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Root_0 60E7CA184DF8CDA4B930C5A0E0402434,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_2"
   Begin Object Class=/Script/Engine.MaterialExpressionTextureSample Name="MaterialExpressionTextureSample_0"
   End Object
   Begin Object Name="MaterialExpressionTextureSample_0"
      Texture=Texture2D'"/Game/Dinosaur/Materials/Eyes/Textures/Eye_Speckled.Eye_Speckled"'
      MaterialExpressionEditorX=-384
      MaterialExpressionEditorY=-96
      MaterialExpressionGuid=98E96EC840617777F94D1B8B21F874D0
      Material=PreviewMaterial'"/Engine/Transient.M_Eye_DinoName"'
   End Object
   MaterialExpression=MaterialExpressionTextureSample'"MaterialExpressionTextureSample_0"'
   NodePosX=-384
   NodePosY=-96
   ErrorType=1
   ErrorMsg="Texture Sample> Missing input texture"
   NodeGuid=EFDC195947A9381FFE92B89CECA6B1F2
   CustomProperties Pin (PinId=0F8F2B7341D71095276B25B60D563D21,PinName="UVs",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=E68808E54336212BDE07028F5298CF98,PinName="Tex",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=DC56644B41739E345DA0F39DDAE78811,PinName="Apply View MipBias",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=B9C643B54D41FD3E1BF9C0AB69FFD03D,PinName="RGB",Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_11 95C077C7462E4D3BA0019985C163680E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=DFB169DD463EBE5C887B59BAB879B5DD,PinName="R",Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="red",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=FA3A9B1F488D85F49B78E28E03458315,PinName="G",Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="green",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=236644704D2142785040BC8E689DF82E,PinName="B",Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="blue",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=D881197B4CC29083F299F78B74863C4C,PinName="A",Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="alpha",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=998E302040B97A89C10EC48E5613A5B2,PinName="RGBA",Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="rgba",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_5"
   Begin Object Class=/Script/Engine.MaterialExpressionVectorParameter Name="MaterialExpressionVectorParameter_0"
   End Object
   Begin Object Name="MaterialExpressionVectorParameter_0"
      DefaultValue=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)
      ParameterName="IrisHueTint"
      ExpressionGUID=5C88B8244E48116F2708BDBE55A22892
      MaterialExpressionEditorX=-795
      MaterialExpressionEditorY=-388
      MaterialExpressionGuid=1F7E8A214BE329C9C25DC78B2EBB7B55
      Material=PreviewMaterial'"/Engine/Transient.M_Eye_DinoName"'
   End Object
   MaterialExpression=MaterialExpressionVectorParameter'"MaterialExpressionVectorParameter_0"'
   NodePosX=-795
   NodePosY=-388
   bCanRenameNode=True
   NodeGuid=64056DFC48022A53AF378ABCC3C4CAD2
   CustomProperties Pin (PinId=F2600F384D633979068D6AAB74AF215E,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_7 64B2698C41004DD82611438470297C8F,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=E2290CFE455D64EC376EBA99CF2152D2,PinName="Output2",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="red",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=3641AD19483529CE25FF0F8B8D2F2255,PinName="Output3",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="green",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=BD906823440026E0F946E8AD783353D3,PinName="Output4",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="blue",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=187FA4984CD24FDCEE98CDB762AC6F55,PinName="Output5",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="alpha",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_6"
   Begin Object Class=/Script/Engine.MaterialExpressionVectorParameter Name="MaterialExpressionVectorParameter_1"
   End Object
   Begin Object Name="MaterialExpressionVectorParameter_1"
      DefaultValue=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)
      ParameterName="OldIrisHueTint"
      ExpressionGUID=15E970454855190F1B88728BFEC69297
      MaterialExpressionEditorX=-800
      MaterialExpressionEditorY=-192
      MaterialExpressionGuid=7C4BC92E421E46A38647A0BC680EFC4A
      Material=PreviewMaterial'"/Engine/Transient.M_Eye_DinoName"'
   End Object
   MaterialExpression=MaterialExpressionVectorParameter'"MaterialExpressionVectorParameter_1"'
   NodePosX=-800
   NodePosY=-192
   bCanRenameNode=True
   NodeGuid=E7331B63430B1D42AE0F74843E02093C
   CustomProperties Pin (PinId=5066E3F146B8B1604C87B48CF24DABD8,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_7 578169E641F37B6BA6F08C919EEBDAFF,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=0FF2132141456DCEDBB9F087772DC2E4,PinName="Output2",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="red",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=B727EDC24196AF9CE86ECB80F551EF07,PinName="Output3",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="green",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=1CDC37A849D43338550415943FE22A86,PinName="Output4",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="blue",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=A013B14A45B764259AA064A3BDE00DA0,PinName="Output5",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="alpha",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_7"
   Begin Object Class=/Script/Engine.MaterialExpressionLinearInterpolate Name="MaterialExpressionLinearInterpolate_0"
   End Object
   Begin Object Name="MaterialExpressionLinearInterpolate_0"
      A=(Expression=MaterialExpressionVectorParameter'"MaterialGraphNode_5.MaterialExpressionVectorParameter_0"',Mask=1,MaskR=1,MaskG=1,MaskB=1)
      B=(Expression=MaterialExpressionVectorParameter'"MaterialGraphNode_6.MaterialExpressionVectorParameter_1"',Mask=1,MaskR=1,MaskG=1,MaskB=1)
      Alpha=(Expression=MaterialExpressionScalarParameter'"MaterialGraphNode_10.MaterialExpressionScalarParameter_0"')
      MaterialExpressionEditorX=-464
      MaterialExpressionEditorY=-224
      MaterialExpressionGuid=37905D1347C2D0CE47D6BDAB93D6BF8D
      Material=PreviewMaterial'"/Engine/Transient.M_Eye_DinoName"'
   End Object
   MaterialExpression=MaterialExpressionLinearInterpolate'"MaterialExpressionLinearInterpolate_0"'
   NodePosX=-464
   NodePosY=-224
   NodeGuid=3E890CAA41811B01B5A93CB3FF025F99
   CustomProperties Pin (PinId=64B2698C41004DD82611438470297C8F,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_5 F2600F384D633979068D6AAB74AF215E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=578169E641F37B6BA6F08C919EEBDAFF,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_6 5066E3F146B8B1604C87B48CF24DABD8,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=5BB36E5D4C215F7E02C7C996D2E9B594,PinName="Alpha",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_10 1F8FD7514A59FBA065100C93D977D7D6,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=111C7CC04321B28097090292028FA8DE,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_11 8641CB0145F0151DC73A3D8F6F1ADF55,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_10"
   Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_0"
   End Object
   Begin Object Name="MaterialExpressionScalarParameter_0"
      ParameterName="SheddingProgress"
      ExpressionGUID=B645449148B929CAD1443397732F5FCE
      MaterialExpressionEditorX=-640
      MaterialExpressionEditorY=-80
      MaterialExpressionGuid=C237AA2640804ABC820BACA9E5912CD0
      Material=PreviewMaterial'"/Engine/Transient.M_Eye_DinoName"'
   End Object
   MaterialExpression=MaterialExpressionScalarParameter'"MaterialExpressionScalarParameter_0"'
   NodePosX=-640
   NodePosY=-80
   bCanRenameNode=True
   NodeGuid=2315B455442ADB9E94D8F1AF977EEE72
   CustomProperties Pin (PinId=1F8FD7514A59FBA065100C93D977D7D6,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_7 5BB36E5D4C215F7E02C7C996D2E9B594,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_11"
   Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name="MaterialExpressionMultiply_0"
   End Object
   Begin Object Name="MaterialExpressionMultiply_0"
      A=(Expression=MaterialExpressionLinearInterpolate'"MaterialGraphNode_7.MaterialExpressionLinearInterpolate_0"')
      B=(Expression=MaterialExpressionTextureSample'"MaterialGraphNode_2.MaterialExpressionTextureSample_0"',Mask=1,MaskR=1,MaskG=1,MaskB=1)
      MaterialExpressionEditorX=-304
      MaterialExpressionEditorY=-224
      MaterialExpressionGuid=40742CE34FF2DC8D12B424845B5BD154
      Material=PreviewMaterial'"/Engine/Transient.M_Eye_DinoName"'
   End Object
   MaterialExpression=MaterialExpressionMultiply'"MaterialExpressionMultiply_0"'
   NodePosX=-304
   NodePosY=-224
   NodeGuid=9A9014804C012C52C6C73291E940E811
   CustomProperties Pin (PinId=8641CB0145F0151DC73A3D8F6F1ADF55,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_7 111C7CC04321B28097090292028FA8DE,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=95C077C7462E4D3BA0019985C163680E,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_2 B9C643B54D41FD3E1BF9C0AB69FFD03D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=65D5AACB40F65E6B68440995A10869C9,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Root_0 A116F27348DC36D90345C9B021418C48,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object");
}

base_connect_eye_material_bp

base_slot_eye_material

Summary

Once you have set up your Base Skin material, you can apply it to your mesh. This will pull all the colors, textures, and masks together to create the final look of your creature. By following this tutorial you have created:

  • The base skin shader for your creature
  • Assigned the skin shader to your creature mesh

Congrats! You can now move on to the next step. Back to tutorial.

Footer Image

4a581e9