Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

VertPaint - An affordable way to paint vertex colors on your meshes and much more!

Discussion in 'Assets and Asset Store' started by GlitchedPolygons, Oct 20, 2017.

  1. GlitchedPolygons

    GlitchedPolygons

    Joined:
    Jun 18, 2013
    Posts:
    210
    Hi there,

    since the MeshBrush summer update, my primary focus was on my newest creation for the Unity asset store, which has just been released: VertPaint. It's available right here, right now: http://u3d.as/X8N

    VertPaint is, as the name implies, a vertex color painting utility. It's not only that though...
    Its main goal was to provide a pleasant level designing workflow for artists in Unity for a fair and affordable price. The interface had to be simple, compact, as user friendly and efficient as possible. I hope I was able to achieve this, but VertPaint doesn't just paint vertex colors exclusively; it also comes with a fully generic so called "shader prep utility", which allows you to quickly repack texture channels into texture maps for shader preparation.
    And speaking of shaders: VertPaint also ships with a relatively big set of custom shaders that allow you to blend your PBR materials on meshes based on their vertex colors. There are shaders for 2, 3 and 4-way blends with each 3 levels of quality/complexity (from simple lerp up to height-based blending).



    Extensive tutorial videos will follow shortly (within a few days), and I'll post them here progressively as soon as they're live. Stay tuned for more content as well! And until then, feel free to ask any questions you might have about VertPaint down here. I'll try to answer asap.

    Wish you all a fantastic weekend!

    Cheers

    Raphael Beck, from Glitched Polygons
     
    Quast and theANMATOR2b like this.
  2. GlitchedPolygons

    GlitchedPolygons

    Joined:
    Jun 18, 2013
    Posts:
    210
    So here's the first tutorial video live on YouTube:



    I created a YouTube playlist to which I will add all future VertPaint related videos. Check it out, and maybe even subscribe if you want to stay up to date :)

    Let me know what you guys think
     
  3. GlitchedPolygons

    GlitchedPolygons

    Joined:
    Jun 18, 2013
    Posts:
    210
    Here's also a short video about the included shader prep utility:

     
  4. Emerald_Eel_Entertainment

    Emerald_Eel_Entertainment

    Joined:
    Mar 30, 2016
    Posts:
    120
    I must ask: does the mesh your painting on need to be subdivided a bunch? I was thinking of purchasing this asset so I could paint puddles and dirt on flat industrial surfaces, of which wouldn't technically require generous subdivisions.
     
    GlitchedPolygons likes this.
  5. GlitchedPolygons

    GlitchedPolygons

    Joined:
    Jun 18, 2013
    Posts:
    210
    Well, it depends on how detailed you want your puddles to be. The included shaders provide nice and variated blending effects if used correctly. You could for instance choose to only subdivide the area where you want your puddles to be inside your modelling application (with a few extra polys around it to make light scatter better). Then you'd leave the flat areas untessellated... and VertPaint + its shaders would do the rest. If you need further assistance with that, you can contact me in private and I can provide a working example within a few hours.
    Cheers
     
    Shodan0101 likes this.
  6. Quast

    Quast

    Joined:
    Jul 5, 2015
    Posts:
    560
    Any update for this tool ?
     
    GlitchedPolygons likes this.
  7. GlitchedPolygons

    GlitchedPolygons

    Joined:
    Jun 18, 2013
    Posts:
    210
    Hi,

    Yeah, I'm currently gathering ideas for more stuff to add to v1.1.
    If you have any suggestions, feedback, bug reports or requests just post them here :)
     
    DrOcto likes this.
  8. junrill

    junrill

    Joined:
    Jul 27, 2016
    Posts:
    8
    Will this work on 2018.2?
     
    GlitchedPolygons likes this.
  9. GlitchedPolygons

    GlitchedPolygons

    Joined:
    Jun 18, 2013
    Posts:
    210
    Yes it should. I'll test it on v2018.2 tonight and let you know :)
     
  10. Deleted User

    Deleted User

    Guest

    How about a " Bake Splat Map" to vertex colors option? that way, some wont have to paint twice?...just a thought.
     
    GlitchedPolygons likes this.
  11. GlitchedPolygons

    GlitchedPolygons

    Joined:
    Jun 18, 2013
    Posts:
    210
    I just put it on the to do list for the next update! Thanks for the suggestion :)
     
  12. GlitchedPolygons

    GlitchedPolygons

    Joined:
    Jun 18, 2013
    Posts:
    210
    Hi there, I just tested it on 2018.2 and it works (and I even kinda feel like it's even smoother than before, hah).
    I attached a screenshot :)
    All the best and have a nice week
     
  13. junrill

    junrill

    Joined:
    Jul 27, 2016
    Posts:
    8
    Request: Please make shaders work on mobile(android) on next update. Only "2-Way Vertex Color Blending (Height Based)" works. Thanks
     
    GlitchedPolygons likes this.
  14. GlitchedPolygons

    GlitchedPolygons

    Joined:
    Jun 18, 2013
    Posts:
    210
    Oh damn, I didn't notice this huge problem. I'm so sorry! I just added this to the asap fixes. :confused:
    Thanks for pointing it out.

    I might have bad news though: on mobile you can have less texture samplers than on desktop... It's possible that this will be impossible :S
    I'll dig into it as soon as possible and do some research & development.
    Perhaps with the new Unity 2018 shadergraph there is some way to circumvent this, but then the retro-compatibility would suffer...

    I'll let everybody here know if I come up with something. Thanks again for the feedback. Highly appreciated!
    Cheers
     
  15. Noogy

    Noogy

    Joined:
    May 18, 2014
    Posts:
    132
    Hi @GlitchedPolygons, I like the look of your assets. I had a question about your Vertex Painter, does it offer a triplanar mapping mode for meshes without defined UVs? Or do you require that all meshes have defined UV maps? Thanks!
     
    GlitchedPolygons likes this.
  16. GlitchedPolygons

    GlitchedPolygons

    Joined:
    Jun 18, 2013
    Posts:
    210
    Hi Noogy,
    Thanks for asking! VertPaint does not have that feature yet, sorry!
    But I put it on my list, maybe I will implement it in the future :)
    All the best, and have a nice weekend!
     
  17. StormyMtn

    StormyMtn

    Joined:
    May 16, 2014
    Posts:
    4
    Just purchased vert paint and it has a compile error on line 772 of the vertpaintwindow.cs script. A screen shot is attached. Is there an alternate script or patch available? vert paint code error.png
     
  18. GlitchedPolygons

    GlitchedPolygons

    Joined:
    Jun 18, 2013
    Posts:
    210
    Hi there,

    That looks really odd. What version of Unity are you on? No worries, we'll get this fixed asap!
     
  19. StormyMtn

    StormyMtn

    Joined:
    May 16, 2014
    Posts:
    4
    Unity version 2018.3.4f1
     
  20. GlitchedPolygons

    GlitchedPolygons

    Joined:
    Jun 18, 2013
    Posts:
    210
    Thanks for the quick reply. I think I'm already onto something (according to the API docs, Unity decided to deprecate one overload of the color picker field method, which now causes that method call ambiguity).

    When I come home I'll investigate further, expect an update soon :)
     
  21. GlitchedPolygons

    GlitchedPolygons

    Joined:
    Jun 18, 2013
    Posts:
    210
    Hi again, so I just installed v2018.3.4 and tried just opening the VertPaint test scene. I wasn't able to reproduce the issue, sadly. It didn't give me any errors (same on 2017.4 LTS).



    Could you please send me the exact steps you did? What platform are you on?
    Don't worry, we'll figure this out together! We'll have this fixed in no time :)
     
  22. StormyMtn

    StormyMtn

    Joined:
    May 16, 2014
    Posts:
    4
    Bought the app, download, import and the error showed up immediately. I wasnt able to launch or use it yet. I am on a MBP with a Blackmagic eGPU. OSX version is 10.14.3. I also use an iMac running same OSX version.
     
  23. GlitchedPolygons

    GlitchedPolygons

    Joined:
    Jun 18, 2013
    Posts:
    210
    Thanks for the heads up. I'll see if I can find someone to lend me a Mac, maybe it's that. Either way, I'm on it. That issue is now my top priority. Thanks so much for reporting it!
     
  24. GlitchedPolygons

    GlitchedPolygons

    Joined:
    Jun 18, 2013
    Posts:
    210
    Alright! I was finally able to reproduce the bug in v2018.3.0f2.
    Explicitly naming the EditorGUILayout.ColorField method call parameters seems to solve the problem for me. I will release an update in the coming days.
    Until then, please replace that problematic line of code (the one you showed in your screenshot) with the following:

    Code (CSharp):
    1. color = EditorGUILayout.ColorField(label: colorGUIContent, value: color, showEyedropper: true, showAlpha: true, hdr: false, hdrConfig: null, options: null);
    Let me know if this helped you.

    Kindest regards,

    -RB
     
    StormyMtn likes this.
  25. GlitchedPolygons

    GlitchedPolygons

    Joined:
    Jun 18, 2013
    Posts:
    210
    Alright, hotfix v1.0f1 has been accepted by the asset store team and is available for download now. Thanks @StormyMtn for reporting the bug!
     
  26. StormyMtn

    StormyMtn

    Joined:
    May 16, 2014
    Posts:
    4
    Thanks! Saw the update on the asset store and have imported it - no errors now. Really appreciate the great communications and support!
     
    GlitchedPolygons likes this.
  27. LordHorusNL

    LordHorusNL

    Joined:
    Jun 22, 2017
    Posts:
    12
    Do any of the shaders included with this painter allow for the use of detail textures (Albedo and Normal)?

    Also is instancing supported?

    Thanks
     
    Last edited: Mar 3, 2019
    GlitchedPolygons likes this.
  28. GlitchedPolygons

    GlitchedPolygons

    Joined:
    Jun 18, 2013
    Posts:
    210
    I'm really sorry to disappoint but there are currently no detail texture slots available in any of the included shaders. I have put it on my to-do list for v1.2 though, so I'll definitively have a look into that :)
    [EDIT]
    Instancing hasn't been tested with these shaders, but it's possible that it works. I'll check it out asap and let you know
     
  29. LordHorusNL

    LordHorusNL

    Joined:
    Jun 22, 2017
    Posts:
    12

    Thanks so much, your asset looks to be one of the most usable painters on the asset store and if you can include detail textures and instancing i'm picking it up asap :)

    I'll keep my eye out for v1.2.
     
    GlitchedPolygons likes this.
  30. tcourbet

    tcourbet

    Joined:
    Oct 5, 2017
    Posts:
    46
    I haven't bought the asset yet either (looks really nice though) but I would buy it in a heartbeat if it supported detail textures! It's pretty much mandatory for me, so I'll also keep an eye out for the update :p
     
    GlitchedPolygons likes this.
  31. GlitchedPolygons

    GlitchedPolygons

    Joined:
    Jun 18, 2013
    Posts:
    210
    Sounds promising :D I'll make sure to look into VertPaint asap then
     
    tcourbet likes this.
  32. Grasp_

    Grasp_

    Joined:
    Mar 8, 2019
    Posts:
    5
    Hey @GlitchedPolygons , I really appreciate your work, both this and meshbrush are awesome tools. I am having issues however with VertPaint. I am attempting to paint onto a floating island mesh (one that the player can walk on, so it is quite large) but every time I attempt to do so, Unity freezes for probably 10 seconds and then whatever I tried to paint is applied in a single spot. Do you know the reason for it freezing, and is there a fix? Thank you!
     
    GlitchedPolygons likes this.
  33. GlitchedPolygons

    GlitchedPolygons

    Joined:
    Jun 18, 2013
    Posts:
    210
    Hi there, thanks for the message! I think your island model just has too many vertices. Maybe try splitting it up into reasonable regions?

    I'm constantly working on improving VertPaint's performance. With the new Job System I've found new hope. If everything goes well, you'll all have a much faster VertPaint in the next update :)

    If it's not that, then maybe try to send me the raw model per email (info@glitchedpolygons.com) and I'll have a look.
    If you feel too uncomfortable sending me the model for analysis, just tell me the total poly count so I can create something on the fly and do some testing :D

    All the best, and good luck with your project!

    I'm so sorry for the inconvenience, I'll give my best to improve the performance in v1.2
     
  34. Grasp_

    Grasp_

    Joined:
    Mar 8, 2019
    Posts:
    5
    @GlitchedPolygons After I had sent that I reduced the polygon count and was still having the same issue, although it wasn't as severe. The reduced amount of vertices is around 7500. How many vertices would you recommend as a maximum for my mesh? Is there a known limit? I'm going to remake my model and try to start with less polygons.

    And just so I'm aware, how long do you think it'll be before your next update?

    Thanks a lot!
     
    GlitchedPolygons likes this.
  35. GlitchedPolygons

    GlitchedPolygons

    Joined:
    Jun 18, 2013
    Posts:
    210
    Wow, that's a lot of verts!
    I usually stop at 5k and split up there. Less would probably be even healthier.

    You know, characters, weapons and things like that in a game can have up to 50k verts, no problem! Because you're not painting on them and they don't need to be rendered with a dynamic vertex color blend shader (just standard static PBR). But for something like a custom-shaded landscape with up to 4 material channels, anything above 5k vertices can become detrimental for the end user's performance if the hardware is not powerful enough. Not just when painting, but at runtime actually!

    It's not even because of VertPaint, but because of the shader it uses, and the fact that in Unity meshes are always drawn and loaded into the GPU even though maybe only 10% of it is actually visible on screen. It's an unfortunate combination of these two situations that most probably caused the issues you're facing. When a mesh is that big in volume, it almost always makes sense to split it up into carefully laid out and overthought regions. This way you can also profit from the benefits of occlusion culling.

    I tested VertPaint against ~8k verts in the year 2017 with a GeForce GTX 980 (4GB VRAM, Gigabyte Windforce G1). When under 3000 vertices, it worked very, very smoothly. But from there on upwards it degenerated rather quickly into one to three second delays per paint stroke :/

    Now to answer your last question: I plan a VertPaint update this summer, but I'm currently working on the also long awaited MeshBrush v2.0 update. Once that's released I will move on to VertPaint, where I will put my biggest effort in trying to further optimize the performance.

    Here's the current backlog that I have for VertPaint:



    I'm very sorry for the extremely slow iteration time with these updates, but I'm only one single human being behind all this :)
    I'm giving my best here. I can promise that I'll keep working on all of my code and keep up the maintenance, but I can't commit to any release dates. I hope you can understand.

    If you have any suggestions for the next VertPaint update besides performance, please feel free to post your ideas here! I'll try to cram in as many user feature requests as possible into the update.

    Kindest regards

    - Raphael
     
  36. Grasp_

    Grasp_

    Joined:
    Mar 8, 2019
    Posts:
    5
    @GlitchedPolygons I highly appreciate your advice here, I'm actually very inexperienced and am doing this for an assignment at uni, and while most other people are using the Terrain tool to make an island with water, I wanted to make floating islands. We haven't been taught anything about poly count and its impact, I knew there were low poly meshes but I wasn't aware of the significance of them and I wasn't aware how many polys (at least for an island) would be too many.

    I did remake my model and it ended up with 4600 vertices, how would that impact performance? Particularly if I'm going to have multiple islands and then use meshbrush to paint some rocks and trees and stuff on?

    No need to apologize! I think you're doing a fantastic job with these tools, just watching the videos for them I could see how much thought you'd put into them, so much customization, it's such a useful tool!

    Thanks for such quick response times also :D
     
    GlitchedPolygons likes this.
  37. Hexaedre

    Hexaedre

    Joined:
    Jan 23, 2015
    Posts:
    110
    Hi,

    Here is my features request :

    1. Being able to isolate the channel we are painting on. Like in polybrush.
    I will stop using VertPaint until it is done. Because apparently I can't add/remove informations on a specific channel without altering the other channels.

    2. Polygon sharp painting. Being able to have sharp vertex color transition between polygons may be usefull for tile base or mechanical environnement/meshes. This feature is also in polybrush, it is the "fill" mode.

    I will use VertPaint instead of polybrush (if you make the 1rst request) because the ray cast or the "aiming" in polybrush is horrible. In Polybrush, this makes the painting on big concave meshes a huge pain in the ass.


    Cheers
     
    Last edited: Jun 21, 2019
    GlitchedPolygons likes this.
  38. GlitchedPolygons

    GlitchedPolygons

    Joined:
    Jun 18, 2013
    Posts:
    210
    Hi there,
    Thanks for your feedback!

    What do you mean exactly with 1. ?
    You can very well paint on the RGBA channels individually :|

    Could you please explain what you mean exactly?



    You can even paint blends between the standard RGBA (which doesn't make extreme sense though; most vertex color blend shaders use the Red, Green and Blue channels exclusively).

    In regards to suggestion 2.: I will take a close look at PolyBrush and accordingly add your feature request to my priority list for the next update, thanks!

    Cheers, and have a nice weekend :)
     
  39. Hexaedre

    Hexaedre

    Joined:
    Jan 23, 2015
    Posts:
    110
    Hi,

    When I want to add green information on a red painted vertex, it turns the red to green. What I want is to add green while keeping the red information untouched.
    Same if I want to erase only the green information on a vertex with green, red and blue informations on it. I can't because the shift+clic erase on all the channels.

    Please take a look at Polybrush, it has the needed features (even if the aiming is horrible on concave meshes, unlike in VertPaint, as I said) it is now in the package manager, right inside unity. We can lock the channels we are painting/erasing on. Personnaly I think this schould be the n°1 feature to add to VertPaint, everything else is secondary. :)

    Cheers
     
    GlitchedPolygons likes this.
  40. GlitchedPolygons

    GlitchedPolygons

    Joined:
    Jun 18, 2013
    Posts:
    210
    Ah! I understand now. Thank you for clearing it up for me.

    I added it to my backlog for the next VertPaint update under the priority "highest"! It will probably be in the form of some "Additive" checkbox toggle to allow users to use both approaches.
    I'll have a look at polybrush when working on the feature.

    Thanks again for your feature request and feedback. It's highly appreciated!

    Cheers, and all the best of luck for your project(s). :)
     
    Quast likes this.
  41. Hexaedre

    Hexaedre

    Joined:
    Jan 23, 2015
    Posts:
    110
    You're wellcome. :)

    An other feature request, with low priority, is to make the VertPaint window, dockable. ;)

    Thank you for your work.
     
    GlitchedPolygons likes this.
  42. Quique-Martinez

    Quique-Martinez

    Joined:
    Oct 1, 2013
    Posts:
    141
    Hi, I'm having a lot of fun. Thanks for this tool.
    It would be great if optionally "Specular highlights" and "Reflections" could be disconnected like in standard shader.
     
    GlitchedPolygons likes this.
  43. GlitchedPolygons

    GlitchedPolygons

    Joined:
    Jun 18, 2013
    Posts:
    210
    Thanks for the feedback! I highly appreciate it. I noted down your suggestion :) I'm very happy to hear that you're having fun :D
     
  44. judymoon1028

    judymoon1028

    Joined:
    Aug 15, 2019
    Posts:
    4
    Is this support in LWRP?
     
  45. GlitchedPolygons

    GlitchedPolygons

    Joined:
    Jun 18, 2013
    Posts:
    210
    The vertex painter yes (it does not involve shaders), the example blend shaders not yet, but soon :)
     
    wavyeye and Lars-Steenhoff like this.
  46. Thall33

    Thall33

    Joined:
    Sep 18, 2013
    Posts:
    134
    Can't wait for that LWRP version update! Very cool.
     
  47. barootkawa

    barootkawa

    Joined:
    Mar 12, 2020
    Posts:
    1
    hi
    my brush is not work
     

    Attached Files:

  48. papazingo81

    papazingo81

    Joined:
    Jun 2, 2019
    Posts:
    14
    Hi, i just bought your vert paint asset of the unity store, However i cant seem to get it to work. Im currently using Unity 2019.3.13f1 using the universal Render pipeline and all the materials including the Demos are Bright pink?

    Does it support URP?
    I bought your meshBrush too, will i have the same trouble with this one as well due to me using URP?

    Anthony
     
    GlitchedPolygons likes this.
  49. GlitchedPolygons

    GlitchedPolygons

    Joined:
    Jun 18, 2013
    Posts:
    210
    Hi Anthony, thanks for your message.

    MeshBrush only operates at the collider level, it doesn't care about the rendering pipeline. It should work just fine :)
    VertPaint is also just a vertex color painter: it paints RGB values onto mesh vertices. It is also independent from the rendering pipeline.

    What doesn't work is the VertPaint example shaders, which are included with the package for backwards compatibility and showcase.
    But as the name implies, those are examples only. I would also not recommend using those, as they are only to show what is possible.

    The idea behind VertPaint is that you get a cool vertex color painter that you can then plug into ANY shader, rendering pipeline or anything that supports mesh vertex coloring yourself. I can not know each individual's needs for every project, that's why I wanted to separate it as good as possible from the examples. It's always best to create your own shaders anyway, because you have more control over how you want things to look and feel. I think with the new Unity there is even a visual shader graph creation tool that makes this easy. You can basically go nuts and create all kinds of things that make use of the mesh vertex R, G and B values. You could for example make a shader that takes the red channel and warps it into some grid-like glitch mesh. The possibilities are endless :)
     
  50. Imperatoss

    Imperatoss

    Joined:
    Mar 24, 2018
    Posts:
    51
    Hi, ist it working with HDRP 7.3.1?
     
    GlitchedPolygons likes this.