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

VPaint: Advanced Vertex Painting [Released]

Discussion in 'Assets and Asset Store' started by beck, Jul 27, 2013.

  1. jxxxxst

    jxxxxst

    Joined:
    Nov 3, 2012
    Posts:
    50
    If lightmap to vertexcolours would work in Unity5, I'd be the happiest!
    Has anyone gotten it to work? I end up with a an exception in VPaintImportTextureWindowAbstract.cs.
    I'm on Unity 5.2.1.

    EDIT : Got it to work! You have to disable continous calculation of the lightmap then build it manually, so it gets saved as a texture. Now I dont know about any flaws of this product so far.

    @QuantumTheory What do you mean by bad lightmapping?

    Best!
     
    Last edited: Oct 18, 2015
  2. CryptexHex

    CryptexHex

    Joined:
    May 29, 2014
    Posts:
    4
    Is anyone else having issues with building an executeable with this Vertex Painting Tool ? I can def out the plugin Editor Scripts (otherwise the build itself can't finish) but the all the data that is saved in the VPaint Object get erased.

    Thanks in advance!

    //Hex
     
  3. JackiechanMFG

    JackiechanMFG

    Joined:
    Oct 27, 2015
    Posts:
    3
    Hey guys,

    We really need this tool but have no idea if it works with the latest Unity build. Also, is it optimal for mobile use?

    Thanks!
     
  4. unityB

    unityB

    Joined:
    Oct 28, 2015
    Posts:
    4
    Hey @QuantumTheory

    What did you change to get the performance up?
     
  5. Disastercake

    Disastercake

    Joined:
    Apr 7, 2012
    Posts:
    317
    It appears that vPaint is now unsupported and also has some major issues with it. One I ran into is that it breaks static batching in compiled builds. I was tipped off to this when I realized that vPaint was breaking another package that required objects to be static, Fast Shadow Projector. What was weird was that it wasn't breaking it in the editor, so it was a really tricky one to figure out.

    This might not be a bug, but rather a design feature. However with no other option this can become unusable in some situations, hurting performance rather than help it.

    I've been trying to contact the vPaint developer (beck) through e-mail for a while now, but he hasn't responded in about half a year. He use to be prompt and helpful with e-mail responses, but I would consider this product unsupported at this point.

    I'd love to continue using vPaint, but I think I'll need to start looking elsewhere if support doesn't come back. If anyone can figure out why it's breaking the static batching, feedback on how to fix it would be greatly appreciated. Also, if you'd like to assist me in trying to get beck's attention, his last known support e-mail is beck@valkent.com.
     
    Last edited: May 3, 2016
  6. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081
  7. Marco-Sperling

    Marco-Sperling

    Joined:
    Mar 5, 2012
    Posts:
    620
    Thanks for pointing that out, QuantumTheory.
     
  8. Disastercake

    Disastercake

    Joined:
    Apr 7, 2012
    Posts:
    317
    Normally I wouldn't advertise another product in a thread like this, but since vPaint seems unofficially unsupported now I just wanted to let everyone know that I had successfully found an alternative vertex painting solution: ProBuilder. This won't do anything fancy like AO baking or multiple object editing like vPaint does, but personally I never used those features anyways.

    With Probuilder you can definitely get basic painting at least, and I don't think that they'll be stopping support of ProBuilder anytime soon (it's one of the biggest Asset Store packages).

    My workflow with Probuilder now is:
    1. Place object in scene.
    2. Select object in the scene
    3. Tools>Probuilder>Actions>Probuilderize Selection (this turns it into a Probuilder editable object.
    4. Use the smoothing tool in Probuilder to smooth out the normals (they get ruined in the Probuilderize conversion process, but it's just 1 button press to fix it)
    5. Use the Probuilder material editor to change the material to the supplied Probuilder texture blending vertex shader (Probuilder requires you do this instead of the inspector). Or to whatever material with the right vertex shader has (doesn't have to be texture blending).
    6. Open the vertex painting tool
    7. Do the painting

    After this initial setup process, you can just select the object then open the vertex painting tool.

    So far it does everything I need it to do, plus it can edit the mesh right in the editor if adjustments are necessary, which has just been amazingly helpful. This includes adding vertices without destroying all of the previous vertex painting data.

    The cons to this appear to be:
    1. All Probuilder objects are instanced, meaning you make a change and it only occurs on that object. There might be a way to link them globally like a prefab, but I haven't looked too deep into that yet. (The "solution" to this is to turn it into an asset when you're done painting and use that asset instance to save build space, but to paint on the object again you must create a new instance)
    2. The initial setup process is a little convoluted for just painting some vertices (but it also enables you to edit the mesh for Probuilder's other features).
    3. It appears vPaint doesn't actually paint the vertices to the mesh (which is probably why it breaks static batching), so your current vPaint data won't transfer over to Probuilder (which actually sets the color data directly in the mesh's vertices).

    There is also a free version of Probuilder, but I'm not sure if it contains the Probuilderizer command and vertex painting features.

    Also, I'd like to say that I appreciate Beck's work on vPaint over the past couple years. I wish we could have gotten a heads up that he was done with it, but I understand life can get in the way.

    I hope this helps some people who are in a situation similar to what I was!
     
    Last edited: May 3, 2016
    I am da bawss likes this.
  9. nappy-skit

    nappy-skit

    Joined:
    Feb 23, 2016
    Posts:
    1
    Hi ~ How can i use 'Vpaint Unlit 3blend Tex Shader'? like a 'Mobile/Unlit(Supports Lightmap)'-Unity built in Shader..
     
  10. Miltoid_

    Miltoid_

    Joined:
    Sep 13, 2015
    Posts:
    5
    Does everyone on the project need to have this in order to see the changes i make to a meshes vertex colour? (only one person will be painting vertex colours)
     
  11. Disastercake

    Disastercake

    Joined:
    Apr 7, 2012
    Posts:
    317
    Yes because it doesn't paint to the vertices, it stores them in a script in the scene.

    Also, fair warning, know that this tool is no longer supported.
     
  12. bac9-flcl

    bac9-flcl

    Joined:
    Dec 5, 2012
    Posts:
    829
    Technically, the script applies the vertex colors to the Mesh instance used by Unity in your scene, so it's trivial to save the mesh with vertex colors embedded as an .asset file and give it to any teammates.
     
  13. Disastercake

    Disastercake

    Joined:
    Apr 7, 2012
    Posts:
    317
    Cool, you should post some step-by-step details for the person posting the question so they can figure out how to do that without having to add the vPaint script. I'm sure it'd be helpful for them.
     
  14. Martin-Baun

    Martin-Baun

    Joined:
    Apr 12, 2015
    Posts:
    7
     
    Last edited: Apr 7, 2016
  15. Pixeldamage

    Pixeldamage

    Joined:
    Sep 6, 2010
    Posts:
    52
    I'm attempting to copy LM data to VC but getting the following console error (i'm on 5.3.3.f1) :

    NullReferenceException: Object reference not set to an instance of an object
    VPaintImportTextureWindowAbstract.ImportTexture (Boolean preview) (at Assets/VPaint/Editor/Windows/VPaintImportTextureWindowAbstract.cs:323)
    VPaintImportTextureWindowAbstract.ImportButtons () (at Assets/VPaint/Editor/Windows/VPaintImportTextureWindowAbstract.cs:259)
    VPaintImportTextureWindowAbstract.OnValidatedGUI () (at Assets/VPaint/Editor/Windows/VPaintImportTextureWindowAbstract.cs:167)
    VPaintWindowBase.OnGUI () (at Assets/VPaint/Editor/Windows/VPaintWindowBase.cs:115)
    System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
    Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
    System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:232)
    System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115)
    UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:187)
    UnityEditor.HostView.Invoke (System.String methodName) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:180)


    I tried reapplying the objects to the VPaint Group and don't seem to have any errors in the VPaint window itself
     
  16. Pixeldamage

    Pixeldamage

    Joined:
    Sep 6, 2010
    Posts:
    52
    I'm also noticing a bug that crashes Unity:

    - delete VPaint Object Component
    - mesh filter shows missing element
    - undo
    - hard crash of application
     
  17. Pixeldamage

    Pixeldamage

    Joined:
    Sep 6, 2010
    Posts:
    52
    We've not heard this from the author right? According to the store it's compatible with Unity 5
     
  18. Disastercake

    Disastercake

    Joined:
    Apr 7, 2012
    Posts:
    317
    We'll know for certain if you get a response with your problem or not. The rest of us haven't gotten a response in almost a year. Though, in my experience, you'll be waiting a long time if you wait to declare something dead until it responds back to confirm it.
     
    Last edited: May 3, 2016
  19. deadlycrow

    deadlycrow

    Joined:
    Feb 10, 2014
    Posts:
    166
    Hi ! i was wondering if i can use your asset to paint the unity terrain at realtime,my goal is to "burn" the ground beneath your feets, but only when you stay idle for a certain amount of time, the ground around you will begin to "burn" painting exponentially a lava/dirt texture when there was grass or something else, like a circle growing around you, similar to the zerg purple "flesh" that grows in the ground around your buildings... can i do that with this asset ??????
     
  20. anileger

    anileger

    Joined:
    Dec 31, 2015
    Posts:
    2
  21. dozhwal

    dozhwal

    Joined:
    Aug 21, 2014
    Posts:
    59
    why is it dead ? :'(