A Unity ID allows you to buy and/or subscribe to Unity products and services, shop in the Asset Store and participate
in the Unity community.
Discussion in 'Assets and Asset Store' started by reissgrant, Sep 6, 2010.
Beast Light Mapping won't work with vertex painted meshes?
I include a mobile shader that allows blending with BEAST lightmaps.
Hi Reissgrant, great tool! I was just curious before purchasing; is the vertex color data for editor/display purposes only? We'd like a tool like this for painting shadows on assets on mobile platforms. Generally, vertex color data is much cheaper than large lightmap textures, and the clarity is lost when dealing with big scenes and memory budgets. A tool like this would allow us to go through the level and paint the areas of shadow/radiosity instead of depending on beast or external lightmap textures.
Could you confirm that such a workflow can be accomplished using this? Again it's more along the lines that we would like to set the vertex color to something dark and shadow-like and paint along edges and intersections. I heard you make mention of performance on the devices, but is there anything else you've noticed with how this is handled? Off the top of my head there's no reason for this to run slower than a 1024x1024 lightmap texture when lighting a room, but I'd love to hear your thoughts.
Kovac, thanks for the interest!
The vertex painter modifies the vertex color outside of the editor as well. So, if you would like to paint the colors black for shadows, they will show up black at runtime (assuming you're using a vertex color shader that will display the actual vertex color). Any other questions please let me know!
First of all the tool is awsome, but we found a bug. If i click See vertex colors the mesh does not change. I am using unity 3.5
awesome, how can i get this, cuese there's just one link in the first post and there when i click purchase with paypal i'm getting an error!
A long time ago i've bought a version from your website, that was the only way to obtain it. Now i saw that you had it on the assetstore, how can i have the assetstore version now ?
Jernej, did you buy through the asset store or through the website? There is a fix for this with the latest release.
It's available on my website in my sig, or through Unity's Asset Store
I emailed all customers a download link with the latest and greatest version, so if you didn't receive it, email me from the paypal purchase email and I will send it out again
whenever I try to paint cloth physics weights, I just get a rectangle selection box, the tool says to hold CTRL or CMD to paint, doesn't seem to be working.
When you say "doesn't seem to be working" what do you mean exactly?
Do you get a circular graphic illustrating the tool is active?
Do you paint but no weights seem to be applied?
Is the object locked and ready to be painted?
I'm interested in Vertex Painter for a project that requires a terrain on iOS 3gs and up. I've used fixed function and shader vertex colors in other engines and desktop hardware in the past but not so much for mobile.
Without a demo I'm not sure what to expect performance wise. When blending three textures on a single terrain mesh, will the terrain mesh get drawn three times in hardware to get the blend result like old 90's desktop tech.
Since my client is paying very little for a freeware game it would be nice to determine whether your vertex painter is suitable or I'm better off cutting up the terrain and making UV's fit.
So any information about the mobile shaders and how they perform would be handy, thanks.
I, too, have the same problem as XRA. I'm on a Mac with the latest OS (Lion 10.7.3) and I have the latest Unity Pro Version 3.5.0f5. Here are two screenshots showing the hair I'm trying to paint but I just get a rectangle dragging underneath the rest of the stuff and no color changes to the vertices boxes.
Tysoe, Don, I will respond to these later tonight when I get back to my desktop and can troubleshoot. Thanks.
Tysoe, The 3 texture mobile blend shader will result in two draw calls and the 2 texture blend shader is only 1 draw call.
If you are not satisfied with the performance after purchase, PM me and ask for a refund and you will get one no questions asked.
A rough idea of performance can be found on the previous page, where someone tested the two texture and three texture blend. Unfortunately I do not have a 3gs to test on.
Don, are you using CTRL to paint? do not click and drag. Only press CTRL and drag, otherwise you will get the rectangle if you try to click and drag.
Aha! Or so I thought. I was clicking with the mouse instead of JUST holding Control or Command. Unfortunately, it still doesn't work. So I played around with it for a while. No matter what settings and values I used the vertex painter did not visually appear to be affecting the vertices. The only thing I did notice was that the larger radius I used the more time it took for the 'paint' code to execute. This only occurred when holding control or command! So something is definitely processing data trying to sort through all of the vertices to paint, but they are not affecting the point or they are being reset or protected somehow.
To test their being affected I used Unity's cloth painting and was able to use select all and select none, and change values with visual color changes occurring with the boxes representing the vertices. I was also able to, point by point, touch and affect any vertex with their paintbrush tool; ugh, very painful. Here is a snapshot to show the lower section of hair having been painted point by point, the green boxes (green during play, yellow when not playing) are all values that are set to zero. I also tested running the game as seen in the picture below to test if the values were being affected but not correctly displayed by the boxes; again, the only points that move are the one's in blue that were hand touched with Unity's skinned cloth tool.
Thanks for jumping on this problem quickly Grant and I look forward to using this tool very soon!
I should also note that I am using the latest version of the Vertex Painter, (ver 1.1.3), and this is a fresh project only created a couple of days ago. The menu bar under 'Vertex Painter' only read 'Vertex Painter v.1' so perhaps that is an issue? or a bug?
I also tested using the normal vertex painting and that works great. I also tried using the cloth painter on a default unity skinned character that I added a cloth component to and it does not work (same results as the images above).
I can also send you this project as it is not anything huge. Just let me know where you'd like me to drop it.
Don please send me the project so I can troubleshoot.
A few things you can try in the meantime:
I have a skinnedcloth character in the demoscene. It is in : Assets/_vertexPainter/Demoscene/Models/skinnedClothTest.fbx
I just tested this by dragging it in the scene and it worked perfectly.
Try the same by adding a skinned cloth modifier, locking it and painting. Set the "max distance target value" to 0 and try to paint.
Another thing to test would be the sizing of your object. Create a cube primitive in Unity and it should be 1x or 2x the size of your skinned cloth object you are trying to paint. Often if the size of your object is too large or too small, it creates problems for the tool. This can be helped by simply resizing your skinned cloth object using the scale modifier. Size it down to the size of a primitive cube, paint it, then upsize it when you are finished painting.
I looked at your screenshot, and the play button is activated. Are you trying to paint while in play mode? You should only paint in Editor Mode when not playing the scene.
No dice, yet. I loaded up your 'vertexPainterDemoScene_Finished' which already has the skinned cloth character. When I view the boxes you can see they are multicolored. I tried to lock and paint but nothing would change. I also tried using the tool to clear all of the values to 0 and it still had multicolored boxes! Very odd. Whenever I would attempt to paint I would get 'Array index is out of range' errors. I also dragged in the model fresh and still no luck and even dragging it in fresh it showed multicolored boxes.
I also went back to my scene and put in a primitive cube and it's default size is the size of the head you see in the previous images. So the scale should be ideal for editing.
Note, I normally try painting in Edit mode but in the previous email pics I tried it in Play mode as well.
I have the project up on DropBox and just need an email for you to access it (or I can put it up in Google Docs which requires an email as well). PM me. (By the way, are you testing this on a Mac or PC?)
Don, PM sent with my email.
This is very strange behavior, and I have no clue what would cause this. I am testing on a PC, though Monday I can test on a Mac if it isn't resolved by then. I'll look forward to receiving your test file.
Thanks, that sounds pretty decent performance wise and as far as I am concerned vertex blending is a must have feature. Going to go buy it now.
@Don: Unity 3.5 has broken the skinned cloth functionality, so I will have to dig in the code to figure out what has changed in 3.5.
Until then, the skinned cloth painter will work with the previous version of Unity if you still have that installed. I'll let you know when I have a fix for this.
Whats the difference between indie and commercial license?
They are ultimately the same, though I urge developers who are using it for large commercial projects to pay a little extra
Okay, I do have 3.4. Does the PC version of Unity 3.5 work with the cloth painting?
Thanks again, for looking at this, I look forward to a fix for the Mac!
The PC version has the same bug with 3.5.
I have just purchased Vertex Painter but have run into an issue with the shaders. I want my game to run on mobile devices so I select one of the mobile shaders but they just won't display correctly. The first shader seems to work 'mobile_Vertex_Blend_2tex' but the Unlit versions show up almost black. I have all the texture slots filled in.
There looks to be three, 3texture lightmap mobile shaders, 2 of which show up as a wireframe in the viewport and the third shows up really dark, but with some of the colours from the verts showing through.
Hope you can help
I've just purchased a professional license only to come across the 3.5 bug (exactly as Don is experiencing above) - is there any workaround?
Otherwise, could you share as much as you know about the existing problems so I might explore a solution?
What I do know is that I was getting inconsistent results with the default painter while trying to nail down this problem.
Because of this, I have forwarded a bug report to Unity; but I'm still going to try and figure out a solution.
The problem is with the transform not being calculated correctly. In previous versions, the transform was fine, but in this new version they are doing something different with the skinned transforms, and I'm not sure what yet.
Can you please post a screenshot?
If you're using the 3 texture mobile blend (mobileVertexBlend_3tex ), use as follows:
Paint 0 alpha for texture 1
Paint 1 alpha for texture 2
Paint white color for texture 3 (r=1, g=1,b=1);
@Don / alleycatsphinx:
This is a screenshot of what I am talking about, this is the default skinned cloth painter in a brand new project with no plugins (without importing the vertex painter), and after applying a skinned cloth modifier.
This is the vertex representation that is shown, which is wrong.
Because of this, the transform cannot be calculated correctly for the vertex painter to paint the cloth weights. As soon as Unity fixes this, I can modify the vertex painter to work with it. I will release a patch when this happens.
Hi, Reissgrant! I just purchase your Vertex painter and have the trouble as Don. I need to paint weights for skinned cloth. Object is locked for painting, I see brush circle, press Ctrl and try painting vertex weights, but nothing happens - vertex color and values not changing. I try to down scale my object - no success. But.. I try paint in your demo scene, on skinnedClothTest2 object and get result - colors and values are changing.
I have Unity v3.4.0f5.
I think it may be down to how I am lighting my scene and my Rendering Path settings. I am not getting good performance on Android, 15 fps, so I changed the Rendering path to Vertex Lit and the Graphics level to OpenGL ES 1.x
I am running into issues getting it working at a speed I am happy with. Any tips?
@korotkevich.md: thanks for the email, let me know if you need any more support.
@Mr Turnip Head: This could be a few things, and I wouldn't recommend testing with the emulator. I test on my old android phone and I get much better performance with that. As far as optimizations, reduce the vertex count, so it is not so dense, and maybe use the two texture blend rather than the three texture blend. The two texture blend is only one draw call while the three texture is a two draw call and that can get expensive. Let me know how that works for you.
Thanks for the reply reissgrant.
I am running my scene on a Motorola Xoom tablet and just can't get the performance I am after unfortunately. When I have the terrain mesh optimised I may try the vertex painting again and see if I can get 30fps. Think for now I am just going to have to go back to the old ways and use single diffuse textures for now.
Nice program to use though. Will get some use out of it I am sure.
I just saw there is a new version of Unity available; 3.5.1. Could you try this with you samples and see if we got lucky and have cloth painting fixed?
Hi, the tool looks nice, I might buy it, but I have a few questions about it.
When you paint the vertex colors, where is the info stored ?
Let's say I have 30 cubes in my scene (which are all the same cube prefab), and I paint only one of the cubes, will that paint the other cubes with the same information as well ? If I paint one of the cubes and then update the prefab what happens to the other cubes ? Can I paint the cubes independently even if they come from the same prefab or do I need to have a different prefab for each cube ?
I bought this yesterday, from assetstore,how can i get your email?
I just PM you and give you the invoice no.,Need the 3.5 bug fix version!!
@Don: the 3.5.1 has not fixed the bug
@Patapouffe: If you make a prefab of the vertex colored object, all instances of that prefab will inherit the vertex colors. If you want a unique object you will have to make another prefab.
@liverol: as soon as Unity fixes the skinned cloth transform bug, I will release a fix, if need be.
Very interested in buying, a question:
If I reimport the mesh I am painting will the alpha information be lost? - I assume it would be lost if the topology had changed (added/removed vertices) but if the only change was the positions of some verts would the alpha data still be intact? I'm thinking about if I was fine tuning a landscape, just little adjustment of vert positions here and there.
The tool looks great - just wish there was a Demo version
@stuatk: I just implemented this, so if you tweak the model, you can copy the colors to the new mesh:
Would this be available right now?
...I would be nice to have just a "Reload Mesh" Button as well
Yes, this is available right now. If for whatever reason you do not have it, PM me and I will make sure you get the updated package
EDIT: I looked into making it simple with a "reload Mesh" type function, but identifying the mesh associated with it was not a simple task. Unity gives each mesh a unique ID, that changes each time you restart the program. Because of this, I would have to build a database of IDs that constantly change, once on each restart. Or, when you want to "reload" I would have to check all vertex painted meshes and compare it against the selected mesh to see if the vertex counts match (and even this would not work since simply moving vertices can change the vertex count). In the future I may come up with a better solution, or just take the time to do it properly.
Someone asked how to do a hard-edged blend, so here is an example of one; using one of the included (hard edge blend) shaders:
I was waiting for this... this function should become a standard part of the terrains in Unity...
Does the Vertex Painter work on Terrains?
I can't seem to get it to paint. I added a Mesh Renderer to the terrain. but it won't give me the brush tool when I press CTRL.