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

[Released] Vertex Tools Pro – Heightbased PBR Material Blending, Flowmapping and Mesh Deform

Discussion in 'Assets and Asset Store' started by PitHeimes, Feb 12, 2016.

  1. PitHeimes

    PitHeimes

    Joined:
    Oct 18, 2015
    Posts:
    322

    Hi everyone,
    we are happy to announce that we finished working on our latest asset: Vertex Tools Pro.


    What is Vertex Tools Pro?
    Vertex Tools Pro is a feature packed editor extension optimized for Unity 5 and its physically based rendering. We aimed to create a workflow that is at the same time as artist friendly as possible and still ensures high performance realtime rendering. Vertex Tools Pro comes with a fully functional Vertex Painter, a Vertex Deformer and Flowmapping as well as with a couple of PBR-Shaders especially created for this tool.


    Vertex Painter
    The Vertex Painter allows for simple editing of both static or non-static meshes' vertex colors. It reaches its full potential when used with the complementary shaders, that also come with this package. The shader itself blends up to 3 PBR materials with several optional settings.
    A key feature of the shader is of course its blending, which is not only calculated by the pure vertex colors. You also have the opportunity to influence the blending by the height maps of the different materials, thus creating detailed and individual texturing with one Unity material. To further increase the quality and the feel of the blending, the shader uses an optional enhanced parallax mapping as well as some other features (eg. heightbased transparency).
    The package also contains a 2-Material-Blend-Glass Shader with the same functionality plus optional refraction and blur.


    Vertex Deformer
    Based on the same workflow as the Vertex Painter, the Vertex Deformer allows you to deform meshes with ease. We provide options to extrude/intrude, pinch, push/pull & smooth vertices.

    Flowmapper
    In addition to the described shader features, all of them also support the use of flow data. Flow data itself is vertex based and can easily be processed from a given RGB-Flowmap. Another possibility to use flowmap data is to process it directly and automatically from the geometry itself which ensures physically correct flow results.

    SpeedTree Support
    The latest version (2.1.1) of VTP allows you to paint your SpeedTrees with vertex colors and therefore blend up to three different pbr materials on your leaves and trunks. Our VTP-Speedtree Shaders even allow for tessellation and heightbased blending on trunks and advanced translucency on leaves!





    API
    Lastly, we provide an API which allows painting and deforming of non-static objects during runtime.
    Detailed information on how to use the API will follow.


    Thanks for your interest! As always, any suggestions, comments and critics are highly appreciated. Please ask all your questions below and we try our best to answer them as soon as possible!



    – Comparison Screenshot –

    Without Vertex Tools Pro

    With Vertex Tools Pro


    - - -​
    Info for Substance Designer users:
    We uploaded a sample material with outputs for our smoothness metallic blend shader. You can easily copy these nodes and outputs into your own materials: https://www.dropbox.com/sh/eqq14yhxm6fbx2c/AACeVlNP0SF0kNwecB3SiAdpa?dl=0

     
    Last edited: Dec 8, 2017
    Ony, Mister-D, chelnok and 9 others like this.
  2. KeaGen

    KeaGen

    Joined:
    Feb 12, 2016
    Posts:
    4
    Any word on Ambient Occlusion Baking? Is it possible? Any plans? I am currently evaluating different approaches on baking AO.
     
  3. PitHeimes

    PitHeimes

    Joined:
    Oct 18, 2015
    Posts:
    322
    It is not yet possible, but it's on our roadmap. We will create a poll in just a minute to prioritize the next steps based on your wishes. As always, any participation is highly appreciated.
     
  4. PitHeimes

    PitHeimes

    Joined:
    Oct 18, 2015
    Posts:
    322
    As requested, a more stylized material blended with Vertex Tools Pro.



    As always, comments & critics are highly appreciated.
     
    Last edited: Feb 13, 2016
    DMeville likes this.
  5. Brian-Ryer

    Brian-Ryer

    Joined:
    Mar 5, 2013
    Posts:
    43
    This looks insanely good, I am sure many will agree this will elevate visuals tenfold, I don't care what the price is I just want it :D Great job.
     
    PitHeimes likes this.
  6. PitHeimes

    PitHeimes

    Joined:
    Oct 18, 2015
    Posts:
    322
    Thanks a lot :)

    A bit more insight in the process of painting and blending based on heightmaps for you. More to follow soon.



    As always, any critics & comments are highly appreciated.
     
    Tinjaw, tapticc and davidkrings like this.
  7. PitHeimes

    PitHeimes

    Joined:
    Oct 18, 2015
    Posts:
    322
    Hey again,

    here's another short video about our glass shader and flow maps this time. Here you can see how easy it is to achieve some kind of rain effect on windows for example.
    Again, more to follow soon!



    As always, any critics & comments are highly appreciated.
     
  8. tapticc

    tapticc

    Joined:
    Jan 16, 2014
    Posts:
    379
    Wishful thinking but would this work on terrains? Or would I need to export the terrain to OBJ and paint the terrain OBJ manually? I really want to use PBR on my terrains so looking for a workaround :) Also do you know the initial price when released?
     
  9. PitHeimes

    PitHeimes

    Joined:
    Oct 18, 2015
    Posts:
    322
    Hey tapticc,

    it does currently not work on terrain. We are currently discussing two possibility. Either support native terrain painting or provide you with a tool to automatically convert the terrain to mesh. With our provided tools to deform you would still be able to polish the terrain after it's a mesh. What would you prefer?

    For pricing: Currently discussing that too. Any suggestions? :D :p

    Thanks for your feedback and

    as always, any further critics & comments are highly appreciated.
     
  10. tapticc

    tapticc

    Joined:
    Jan 16, 2014
    Posts:
    379
    H
    Hi there, there is a script to convert terrain to mesh although it doesn't split into chunks, but thats a different issue!

    http://wiki.unity3d.com/index.php?title=TerrainObjExporter

    I dont expect your asset to split terrains or export them, if it did paint terrains would only be beneficial if it included pbr shading so export to mesh may be better.

    Price wise its tricky although I know Gaia did well by having a sale in the first week and getting plenty of rave reviews ;)
     
  11. tapticc

    tapticc

    Joined:
    Jan 16, 2014
    Posts:
    379
    I'm particularly interested in the API and looking forward to any runtime changes which can be made. Part of my game includes building and it would be great to be able to make walls change over time, for example gather sand.
     
  12. GCatz

    GCatz

    Joined:
    Jul 31, 2012
    Posts:
    282
    added to watch list,
    why all the cool assets must tease us like this while in review :mad:
     
  13. PitHeimes

    PitHeimes

    Joined:
    Oct 18, 2015
    Posts:
    322
    Well, our API is one way to do it. Buuuut, we will provide an update with a Vertex Color Animator. So if you just want to change something over time, you can paint, set keyframes as you like. Just like Unitys Animation Timeline :) The Vertex Color Animtor will then again be also accessible via our API.


    Well, we would also love to be in the store already ;) Sorry :(


    As always, any further critics & comments are highly appreciated.
     
    tapticc likes this.
  14. tapticc

    tapticc

    Joined:
    Jan 16, 2014
    Posts:
    379
    Thanks for the update, hope it gets through review 1st time :)
     
  15. PitHeimes

    PitHeimes

    Joined:
    Oct 18, 2015
    Posts:
    322
    Hey again,

    we received some messages asking for a more detailled insight in the process of using mesh geometry for flowdata.

    Here you go. Additionally we also covered our deform tool.


    As always, any critics & comments are highly appreciated.
     
    magique, DMeville, Tinjaw and 4 others like this.
  16. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,929
    Great video! I already have some uses for this and can't wait for the release. :)
     
  17. tapticc

    tapticc

    Joined:
    Jan 16, 2014
    Posts:
    379
    Can't wait to get my hands on the glass shader, looks awesome!
     
  18. tapticc

    tapticc

    Joined:
    Jan 16, 2014
    Posts:
    379
    Hi any chance of seeing the realistic brick textures before and after using the vertex tools? :)
     
  19. gurayg

    gurayg

    Joined:
    Nov 28, 2013
    Posts:
    269
    Hi,

    Can I learn more about the flow map features?
    -can we generate flow map textures from mesh?
    -can we bake flow map texture to vertex colors? what if the mesh already have some vcolor data we want to keep?
    -does the api include those features?
    -Are there any incoming features that helps us alter the flow map creation? vortex areas, speed change areas for generated map, blocking surfaces...etc

    Any info about the price range? Does it come with a dll or the C# code?

    Thanks for your time.
     
  20. PitHeimes

    PitHeimes

    Joined:
    Oct 18, 2015
    Posts:
    322
    Hey,

    thanks for your feedback and questions.


    Will come later this day :)


    Sort of. For a better performance our shader does not work with flow map textures but instead with vertex based flow map data. So the generated mesh based flow data are written into the vertices, not a texture.


    Yes, you can import a FlowMap Texture and bake the flow data to vertex based information. All Vertex colors will be untouched, so yeah, Blending combined with FlowMap Support works :)


    The API in the submitted version is currently a v0.8. It currently supports Painting, Deforming and calculating FlowData from Mesh (usefull after a realtime deform). More features will be submitted with updates. Suggestions welcome.


    Yes. We plan to make the flow data fully paintable with a brush. This also includes change of speeds :) Not quite sure if it will be in the first update, but it is a hot To-Do :)


    C# of course :) Though we would really like to hear about any "missing" features or your wishes.


    Still did not decide that. Will keep you updated about that.

    As always, any further critics & comments (& questions of course) are highly appreciated.
     
    tapticc likes this.
  21. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,929
    By any chance, could this be used to create flowing water, such as a stream?
     
    recon0303, TeagansDad and tapticc like this.
  22. tapticc

    tapticc

    Joined:
    Jan 16, 2014
    Posts:
    379
  23. PitHeimes

    PitHeimes

    Joined:
    Oct 18, 2015
    Posts:
    322
    Yes, without any Problem at all. You could also use the process geometry feature to automatically calculate the flow. :)
     
    Teila likes this.
  24. PitHeimes

    PitHeimes

    Joined:
    Oct 18, 2015
    Posts:
    322
    Here you go.



    As always, any further critics & comments (& questions of course) are highly appreciated.
     
  25. tapticc

    tapticc

    Joined:
    Jan 16, 2014
    Posts:
    379
    Thanks for this :)
     
  26. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,929
    Wow! That is more than expected. :) Thanks!
     
  27. tapticc

    tapticc

    Joined:
    Jan 16, 2014
    Posts:
    379
    @Teila is this for use with Gaia by any chance?!
     
  28. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,929
    All Gaia does is modify the Unity terrain and landscape it. Then you can even pull it out of game. It is a tool. Vertex painters require meshes so you probably cannot use it on Unity terrain...which is what Gaia modifies. Gaia does not make a new form of terrain.

    If your terrain is converted to a mesh, you could use it on your terrain.

    As for my use, I am thinking of using it on a plane mesh that I could use for water. Nothing at all to do with Gaia or Unity terrain. :)
     
  29. tapticc

    tapticc

    Joined:
    Jan 16, 2014
    Posts:
    379
    I meant in a Gaia'd scene rather than on the terrain, I'm hoping to use it that way but will have to be patient - not my strong point lol
     
  30. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,929
    I have Unity scenes. I just use Gaia to decorate them. Then I remove the tool.

    There is no such thing as a Gaia scene unless you mean his sessions? If so, I don't use those.
     
  31. tapticc

    tapticc

    Joined:
    Jan 16, 2014
    Posts:
    379
    I mean a Gaia generated / stamped scene
     
  32. iamsam

    iamsam

    Joined:
    Dec 22, 2013
    Posts:
    233
    Looks amazing! I thought it was submitted for review based on the initial post, if so did you not decide about the price while submitting it? Will there be a limited trial version?
     
  33. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,929
    I don't use Gaia to generate my terrains, just to put plants and textures on them. I use World Machine. I prefer the look of the erosion.
     
    tapticc likes this.
  34. PitHeimes

    PitHeimes

    Joined:
    Oct 18, 2015
    Posts:
    322
    Yeah we set a price during the review process while we were still in discussion about it. But we went with 50$ and after talking again about it we're confident that this will be the final price. Sorry for the confusion!
     
    tapticc likes this.
  35. tapticc

    tapticc

    Joined:
    Jan 16, 2014
    Posts:
    379
    Awesome thanks for the price update :)
     
  36. gurayg

    gurayg

    Joined:
    Nov 28, 2013
    Posts:
    269
    Thanks for your answers.

    Although it is great that you're going after better performance. I asked it this way because I was wondering if I can use another shader that works with generated flow maps. Also vertex count in low poly meshes might not have enough resolution for desired flow effect (guessing)

    You also said "usefull after a realtime deform" for calculating FlowData from Mesh api. But in your first post it is said that you're creating the flow data automatically. I'm confused about this.
    Does that mean that, I can not just import a mesh and generate a Flow map data? Do I need to deform a mesh with your tools in order to generate the flow data?

    In your height blended brick example, you're showing 3 used textures. I'm assuming there are height textures involved (hence the name) I was wondering 2 things. Does the example only use 1 heightmap or several? Does your system have any kind of packed textures in order to save from texture samplers?

    Thanks again for all your answers and explanations.
     
  37. PitHeimes

    PitHeimes

    Joined:
    Oct 18, 2015
    Posts:
    322
    The Flow data is calculated by a given mesh and stored in vertices. This can be done either in editor, or you can trigger the process to calculate it with our API from runtime. So when in runtime and you deform something you can always call recalculateFlow and flow gets recalculated.

    You can generate Flow data per vertex. It is currently not possible to generate a real Flow MAP (!) from the mesh, just vertex based flow data. So this means you can import any mesh and generate the flow data (per vertex, not pixel) for this mesh without having to deform the mesh manually. But we noted it for a possible update.

    In the example every texture uses its own heightmap. Though it would be sufficient to have a heightmap on the baselayer (lowest layer, red channel).

    We use packed textures where possible to save - like you already stated - texture samples. Therefore the tool comes with an assistent which packs the texture :) Furthermore, if needed, we can also provide Substance nodes for the packed texture, os you can just export from substance painter and have everything you need.


    As always, any further critics & comments (& questions of course) are highly appreciated.
     
    Last edited: Feb 18, 2016
  38. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    It is possible to make some radial menu in the editor 3D view ? It would have been faster to work calling a radial menu under the mouse position pressing space for example , it could be the brush settings on the menu.

    Why not supporting industry common standard metallic-roughness ?


    Anyway there is already a vertex painter available generously made by a user. It does the same for free.
    http://forum.unity3d.com/threads/re...es-splat-map-shaders-flow-maps-ao-etc.384787/
     
    Last edited: Feb 18, 2016
  39. PitHeimes

    PitHeimes

    Joined:
    Oct 18, 2015
    Posts:
    322
    We are supporting roughness of course :) Where does that presumption come from?

    And it does not, of course. While the functionality of the painter is mainly the same of course, the shaders are quite different. Especially in terms of blending quality and options and performance.

    Well, I believe I do not have to answer that, or do I? :rolleyes: For reference our WIP thread from October 2015: http://forum.unity3d.com/threads/in-review-vertex-tools-pro.362118/


    And now the long version of differences and why we believe the costs are worth it :)

    With the purchase of our tool you do not only get the tool as it is. You, of course, also get free support (GMT+1) and especially updates and - if needed - bugfixes for free and based upon the wishes and needs of our users.

    Furthermore our tool provides you with an easy to use and powerful API which allows the painting and deforming of your meshes at runtime.

    Since we are not using UV2 or UV3 channels to store any of our data, but instead encode and decode them, our tool ensures that you still can used static lightmaps and precomputed GI. Furthermore in this context we are not using Unity5 additionalVertexStreams, but instead a script based solution to store mesh information. This enables you to let the objects be batched by unity (static). In addition we are not generating any mesh files spamming your project folder.

    Then, the shader. The biggest difference comes with the heightbased-blending. Not only do we provide a huge variety of options to play with but we also take all heightmaps of the different channels into account. Another quality aspect is the custom Parallax mapping based on the Theory of Steep Parallax Occlusion Mapping. When it comes to performance we also measured quite a difference, due to our packed texture support.
    Lastly, we provide you with an transparent, fully blendable, glassshader and more shaders are on its way.

    And to clearly state it, the free tool is a great work. But we are confident, that the costs are worth purchasing our tool though. :)

    As always, any further critics & comments (& questions of course) are highly appreciated.
     
    Last edited: Feb 18, 2016
    TeagansDad and AdamGoodrich like this.
  40. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    I hope you will bring some stuff to really make the difference with the free plugin, like new automatic height map functions .
    For example auto random blending , this would produce unique random blendings based on some settings without needing the user to paint hours each building , just press auto blend with some parameters than tweak manually if needed. Or call auto blending by code for random generated dungeons.
    Good luck.
     
  41. PitHeimes

    PitHeimes

    Joined:
    Oct 18, 2015
    Posts:
    322
    Updated our post above with more detailed information. :)

    Added to our To-Do Update list :) Thanks for the suggestion.
     
  42. iamsam

    iamsam

    Joined:
    Dec 22, 2013
    Posts:
    233
    Thanks for the update. Its a bit expensive for my current needs but will be on my wishlist for sure.

    @zenGarden thanks for the info on the open source tool :).
     
  43. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    I have another request : triplanar shader to paint on rocks and have the possiblity to generate snow by code that would cumulate on top of rocks for example (angle based). Why not auto snow button for triplanar shader and able to call blending of snow or sand amount by code.
    Also the ability to generate snow based on height map; like at beginning snow on lower height map levels , than snow spreading over all surface.
     
  44. PitHeimes

    PitHeimes

    Joined:
    Oct 18, 2015
    Posts:
    322
    We have that ability. You can just use Unitys Animation System to animate the baseheight of each layer in our shaders. Further the first update will come with an Vertex Color Animator. Since you can adjust height per vertex too, you can then also animate single areas of your mesh. Animate the vertex Colors and thus the height of the layers.

    This has been noted. Thanks again :)
     
  45. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,929
    I absolutely agree. I looked at the free one and I find yours to be very different in terms of what it does. It is generous of the other user to offer his for free, which is something he does often.

    I am also glad you took the time to develop this great tool. I intend to purchase it.
     
  46. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    This looks like an amazing tool! Love explore using this to create rivers and lakes in conjunction with Gaia ! @PitHeimes drop me a message if you are interested in collaborating :)

    About 85% of the terrain stamps in Gaia were created with a combination of World Machine and GeoGlyph and have various different erosion types applied - the rest are real world terrains from high resolution satellite images where nature did the work for me - with v1.5 there 150 stamps which can be mixed and matched into virtually unlimited terrain combinations :)
     
  47. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,929
    Yes, and they look very nice. However, if I combine a stamp with a base of my terrain, I want the erosion to match. Instead, when I create a base using WM and then add stamps, I get erosion that isn't following the same path. In the real world, processes don't work that way. Erosion occurs on the entire terrain, not differently on different pieces and then put together.

    That is not to say that Gaia is not a great tool, but my background as geologist makes me a bit more particular about this. :) Most people won't notice. Really, we have talked about this previously, Adam. lol

    Sorry for taking the thread off topic, PitHiemes. Didn't intend for that to happen.

    Looking forward to your asset!
     
    Ony likes this.
  48. davidkrings

    davidkrings

    Joined:
    Feb 15, 2016
    Posts:
    12
    Hey, just watched all of your videos @PHeimes. Really impressive! From what I’ve seen this tool seems way more polished and well thought through.

    No front against any free tools here, I’m sure they do their jobs well but I think this tool looks more capable of what you can achieve in a professional way to me. I’m especially excited about your custom solution to store mesh information!

    Totally agree with @Teila on this one.

    On another note: I fell in love with your demo scene, is it included when purchasing your extension?
     
    Last edited: Feb 19, 2016
    Teila likes this.
  49. PitHeimes

    PitHeimes

    Joined:
    Oct 18, 2015
    Posts:
    322
    Yes, the demo scene with all dependencies will be included in the package.
     
  50. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Seeing Polybrush that has common features


    Ca wepaint a texture on some floor and extend painting on some wall on this floor , for example painting grass on floor and some grass on lower part of the wall ?

    It is possible to see "face extrude" and "vertex weld" functionnality if you bring a triplanar shader mapping ?
    To be able to alter some plane mesh grid we could modify it in many ways to make even more variations than only pushing vertex up or down.