Home ShaderMap 4

Custom Material Presets

edited June 2020 in ShaderMap 4

Is it possible to make a custom material or start with a blank template? What I want to do is create 2 custom PBR materials in the Material Editor. I use LightWave 3D. For its Principled BSDF node its inputs that correlate to ShaderMap are Color/Albedo, Roughness, Specular, Metallic, Normal, AO, and Displacement

I have created 2 Template Libraries

1 LW_PBR Dielectric that uses Diffuse, Albedo, Roughness, Specular, Displacement, Normal, and AO with no Metallic

2 LW_PBR Metal that uses Diffuse, Albedo, Roughness, Metallic, Displacement, Normal, and AO with no specular

Currently the available PBR preset works with the metal setup and matches the control options but when I choose the PBR spec preset which eliminates the metal it matches my dielectric setup but it has the Gloss option instead of Specular. I know that Gloss is the inversion of Specular but I don't see a way to invert that in the Material Editor its reading Gloss but my map on the Project Grid is a Specular input which is what LightWave's BSDF node needs, it doesn't use Gloss. Is there a way to create a PBR material preset for the editor that replaces the Gloss input with Specular and uses the Specular map in my Project Grid?

I see that in the plugins/materials folder contains all the presets as xml's is the only way to get what I need create one from scratch? If so I have no idea how to do that


  • Is it possible to make a custom material or start with a blank template?

    Yes, you would need to create and program an XML shader file as shown in the ShaderMap SDK.

    You might start with the file "C:\Program Files\ShaderMap 4\plugins\materials\801.pbr.spec.xml" and create a copy of it called "901.pbr.spec_ex.xml". From there you can make the modifications as needed.

    It looks like what you want is a roughness / specular workflow. Could you just add a standard PBR material in the visualizer of your PBR Specular project and assign the specular map to the metal channel? (double click the material to setup maps to the material channels).

    If you want to create custom modes (preset templates) in ShaderMap you will need to create a new directory in "C:\Program Files\ShaderMap 4\start\modes" then create a custom start script. See the LUA file in "3.PBR Spec.20000019" and look for the following lines:

    -- Begin Material: Create
        function sma() material_0 = sm_add_material("801.pbr.spec") end

    This above line adds a material to the PBR Specular Start Project. You could change this to use a different material file (see "C:\Program Files\ShaderMap 4\plugins\materials\"), just make sure the following lines in the LUA script assign the maps to the correct channels of the material.

    -- Begin Material: Maps
            function sma() sm_set_material_map(material_0, 0, node_4) end
            function sma() sm_set_material_map(material_0, 1, node_2) end
            function sma() sm_set_material_map(material_0, 2, node_6) end
            function sma() sm_set_material_map(material_0, 3, node_5) end
            function sma() sm_set_material_map(material_0, 4, node_3) end
  • Ok I think understand but unfortunately I cant completely accomplish what I'm trying to do. As suggested I chose the standard PBR Mode then add a new node to the project and create a Specular map from diffuse when in the Material Editor I click the Map Setup for the PBR material and point the Metalness Map to the new Specular image on the grid by doing so I assume when I am adjusting the Metalness scale I am now doing so based on the Specular map. If that is correct why I don't mind the extra steps it would be nice for a more streamlined approach

    The reason why I say I cant completely accomplish what I would like to do is I also would like a material preset that lets me do displacement with AO. I know the PBR(RMAD) Material Editor preset is using the metalness not the Specular map. So what I'm ultimately looking for is a PBR Roughness Specular workflow with associated Material Editor options of PBR(RSA) and PBR(RSAD) presets. Its sounds like my only option is to create and program an XML shader. I have zero programing skills so that is something I cant do. I did follow the instructions above but it didn't resolve the issue it seems like there were some additional steps needed? Plus what about setting up the PBR(RSA) and PBR(RMAD) options with out knowing anything about programming. Sounds like I'm out of luck?

  • I will add your requests to the features list. That's about all I can do for now. Do you mind if I contact you for testing when this feature needs testing?

  • Sure thing I would be happy to help. I think Blender uses the same set up with its Principled BSDF shader so I'm sure it would make a great edition for the Blender users as well. I assume you have my contact info through the forums? I not let me know and I'll get it to you

  • Yes I can contact you via your signup info. Thanks for offering your help for testing.
  • Hi, regarding creating your own custom nodes for Shadermap.

    I have a texture digitization process (hardware) that works well and I now want to transfer that process into a custom shadermap template/node > same as the (light capture from multiple directions).

    My unique custom textures that I calculate are currently done in pixaflux and I need to think about recreating all these into bespoke node graphs like your lightscan setup where 4,8,12, etc maps take the diffuse images and get converted into a very specific maps. I am doing a custom specular map that shows only the highlight component in a black and white normalized map from many light angles combined. I have the current layout working as a node graph within pixa flux and also a dirty one done in shadermap so I know it can work as a map output, (as per the node graph in shader map representing the image process flow) now I would like to wrap it up so it works with the light scan workflow as a single item you pull from the template library. There are a few missing maps I use for fabric textures that you do not have. Basically I want to extend the use of your software map types for one area of texture capture (and with hardware).

    I have it working in the rough for now ... but wanted to aim for a nice complimentary template that you just link into the lightscan node > eg: like the normal (lightscan), albedo (lightscan) template only I want a specular (lightscan) custom option according to my calculation.

Sign In or Register to comment.