Home Unity

Multi Texture using a Blend Mask that is paintable in engine

overhira
polycounter lvl 3
Offline / Send Message
overhira polycounter lvl 3
Are there any plug-ins/shaders that support multi texture blending using a blend mask that is paintable in engine?

I'm currently rolling with a multi texture set up that uses a blend mask put together in the Shader Forge. It gets the job done, but being able to paint the blend mask in real time (in Unity) would be extremely helpful. 

Thanks!

Replies

  • RyanB
    Options
    Offline / Send Message
    If you are blending based on vertex colour or vertex alpha, then you need a plugin to paint vertex colours in Unity.  There's a bunch of them on the asset store.  If you are using an image-based mask you could try the TexturePaint plugin on the asset store.
  • Eric Chadwick
    Options
    Offline / Send Message
    I did a bunch of this a year or so. Same recommendation as Ryan.

    Plus, if you're using a Terrain, that offers up to 4 per-pixel blend masks. Shaders have to be edited to specifically support Unity Terrain though.

    My setup is outlined here FWIW

    http://polycount.com/discussion/160691/sketchbook-eric-chadwick
  • overhira
    Options
    Offline / Send Message
    overhira polycounter lvl 3
    RyanB said:
    If you are blending based on vertex colour or vertex alpha, then you need a plugin to paint vertex colours in Unity.  There's a bunch of them on the asset store.  If you are using an image-based mask you could try the TexturePaint plugin on the asset store.
    I'm running with an image-based mask setup currently since I'm finding that vertex density is limiting my painting ability. Is this the plugin you're referring to as the TexturePaint plugin? 

    Ideally I would want a plugin that could write to a preexisting texture AND display the final output textures (not just the painted mask) in real time. Not sure if you have any input/referral in that regard. 

    I did a bunch of this a year or so. Same recommendation as Ryan.

    Plus, if you're using a Terrain, that offers up to 4 per-pixel blend masks. Shaders have to be edited to specifically support Unity Terrain though.

    My setup is outlined here FWIW

    http://polycount.com/discussion/160691/sketchbook-eric-chadwick
    Looks like some awesome stuff! I'll definitely dig deeper into that stuff once I start tackling Terrain. Have you looked at MegaSplat at all?

    Thank you both for the input!
  • RyanB
    Options
    Offline / Send Message
    overhira said:
    RyanB said:
    If you are blending based on vertex colour or vertex alpha, then you need a plugin to paint vertex colours in Unity.  There's a bunch of them on the asset store.  If you are using an image-based mask you could try the TexturePaint plugin on the asset store.
    I'm running with an image-based mask setup currently since I'm finding that vertex density is limiting my painting ability. Is this the plugin you're referring to as the TexturePaint plugin? 

    Ideally I would want a plugin that could write to a preexisting texture AND display the final output textures (not just the painted mask) in real time. Not sure if you have any input/referral in that regard.
    I personally have never done any painting of textures in Unity but there are lots of Unity paint scripts out there.  You'll have to try them out to find one that works for you.  Here's another one to try free:
    https://www.assetstore.unity3d.com/en/#!/content/33506

    You need a shader that takes an image to blend between the two textures.  As long as the shader is applied to the object and whatever paint program you find allows you to write to that image, it will update in realtime.  I usually write these myself.

    I prefer to do any painting of masks or vertex colours outside of Unity.  Max, Maya, Blender, etc. all have built-in paint tools.  So I would set up a shader/material in whatever program, paint the mask texture, then export everything to Unity. 

Sign In or Register to comment.