Search Unity

[Released] Composite: A node-based material editor to easily create (physically based) materials

Discussion in 'Assets and Asset Store' started by Max-Plooi, Apr 18, 2015.

  1. Max-Plooi

    Max-Plooi

    Joined:
    Jul 10, 2013
    Posts:
    10
    Hi everyone!

    Composite is a node-based material editor for Unity to easily create/blend all your materials. By using simple grayscale masks you can define where the different materials will show in your final result. All blending of different maps like normal maps, specular maps, occlusion maps, etc. will be handled automatically.

    With this I hope to bring an easier workflow to material creation, especially for the new physically based materials in Unity 5. Because this can be a hard step for everyone who is new to physically based shading.

    View on Asset Store | Official Website


    For any questions that cannot be posted on these forums please contact me at: contact@maxplooi.com.


    Some features:

    • Blend multiple materials together with masks

    • Easily create variations by changing the base materials

    • Integrated in the inspector with full zoom support

    • No extra assets: everything is stored inside your material

    • Intuitive workflow with visual previews for every node

    • Automatic conversion between Metallic and Specular workflow

    • Blending is done with entire materials, no need to manually blend metallic maps/specular maps/bump maps/etc.

    • Supports most blend modes known from Adobe Photoshop and similar software to blend your masks

    • Absolutely no performance impact on your game and no additional assets included in a build


    Introduction video:




    And a few screenshots:






     
    Last edited: Jul 18, 2015
    SAOTA, Zicandar and Seneral like this.
  2. Max-Plooi

    Max-Plooi

    Joined:
    Jul 10, 2013
    Posts:
    10
    A new update was released with an introduction video and an official website. Let me know what you think of this asset and what kind of features you would like to see added in the future!
     
  3. IanStanbridge

    IanStanbridge

    Joined:
    Aug 26, 2013
    Posts:
    334
    Hi I've been playing around with this. Its pretty good. Is there anyway to delete a node after you add it though ? I would assume that if you selected a node and pressed delete on the keyboard it would remove it. Also is there a way to deselect a node connecter after you have selected it. Pressing escape for example should really deselect everything so you are not constantly moving a connector around if you select the wrong node.

    Also at one point the zoom started working strangely for me so I couldn't see the nodes I was adding. You should either put a limit on the zoom so that you can't zoom too far or make it so that when you select a composite material in the editor it is centred at a sensible zoom level around the existing nodes.

    I think the tool would be much more powerful if you created a mask projection node where you could project a 2d texture mask onto the 3d object directly rather than requiring the user to have baked masks geared for that objects uv map in a separate 3d painting package to be able to use it first.

    You could also perhaps make another type of composite material that expected the materials to all be using different shaders and so wouldn't combine them but would instead just blend and render multiple shaders at the expense of the extra draw calls. You could use if for example to coat an object in ice where the refractive ice would have to be a different shader from a standard unity pbr one.
     
  4. Max-Plooi

    Max-Plooi

    Joined:
    Jul 10, 2013
    Posts:
    10
    Hi, thank you for your feedback!
    Pressing delete when a node is selected should delete it. I haven't had any problems with this before and no other reports that it doesn't work, but if this doesn't work for you then I will make sure to take a look at it for the next update.
    For the connector, it should be deselected when you click on an empty space in the graph.

    When you couldn't see the nodes you were adding, was this when you added the first node? or when adding additional nodes to the graph? For the first node the graph is not automatically centered, I will make sure to fix this. A manual fix for now if you have a problem with zooming is to select the NodeGraph asset inside your material and set the View Area x and y to 0,0. (the zoom should be clamped between 0.1 and 1)

    The mask projection node is a great idea! I have thought about it before and I will see if I can make this work, it will be a significant amount of work to make this properly though, so expect this in one of the major updates.

    For the shaders, I am not sure if this is currently possible in Unity without having to modify all the shader code. I will look into this as it definitely would be a useful feature.
     
  5. IanStanbridge

    IanStanbridge

    Joined:
    Aug 26, 2013
    Posts:
    334
    Hi I just double checked and for whatever reason when you first open the window the node connectors will deselect correctly if you click an empty space, but on other occasions they won't. Perhaps it is if you zoom while having a node selected or something ? Also I think you need to make the backspace button also delete objects as well as delete for mac users. My mac laptop doesn't have a delete button for example. You should mention the delete functionality in your documentation and how to deselect nodes so that people know about it.
     
  6. Max-Plooi

    Max-Plooi

    Joined:
    Jul 10, 2013
    Posts:
    10
    It looks like the gui event is marked as used by another node, handle or element. I have added it as a bug to my list.
    Never thought about a mac not having a delete button...

    I hope to have fixed these issues in an update within the next few weeks (the asset store submissions take a while to review)
     
  7. McGregor777

    McGregor777

    Joined:
    Sep 6, 2013
    Posts:
    8
    Hi !

    I'm searching for a solution for compositing textures. I would like to let the player be able to customize his character at runtime by changing skin color, facial hair or brows texture, frekles amount & stuff. Is it possible by using Composite ?
     
  8. Max-Plooi

    Max-Plooi

    Joined:
    Jul 10, 2013
    Posts:
    10
    Hi McGregor777,

    Composite only works inside the Unity editor and not at runtime, so it would be hard to customize a character. You can however create multiple textures/materials in the editor and then blend or switch between these textures at runtime.
     
  9. TechnicalArtist

    TechnicalArtist

    Joined:
    Jul 9, 2012
    Posts:
    736
    Can work with Alloy and skyshop materials?
     
  10. Max-Plooi

    Max-Plooi

    Joined:
    Jul 10, 2013
    Posts:
    10
    Unfortunately Composite currently does not work with Alloy and Skyshop.
    One of the planned features is to add support for custom blend settings for different shaders and properties to allow blending of a bigger variety of materials. However, this features is not fully working yet and I can't give you any specific date when this feature will be added.
     
  11. Max-Plooi

    Max-Plooi

    Joined:
    Jul 10, 2013
    Posts:
    10
    A new version has been released yesterday (v1.0.2) with a few fixes as well as a few new features!
     
  12. Max-Plooi

    Max-Plooi

    Joined:
    Jul 10, 2013
    Posts:
    10