Virtual Painter - Paint 3D Objects in Realtime - Paint anything on your Model

EDIT : http://forum.unity3d.com/threads/165657-Virtual-Painter-3D-Mesh-Painting-Tool-For-amp-Within-Unity3D?p=1132224#post1132224 ----------> That’s the new post. This one’s just got messed up.

Hi !!

I have been working on this tool for somedays and I have at last got something to show you guys :slight_smile: As the title suggests, Virtual Painter is a tool that allows you to paint textures, normal maps, colours and much more. So after creating your models you can simply bring them in unity3d and start painting in realtime. So there is absolutely no need for you to unwrap your models for texturing. Simply bring in your textures in unity3d and start painting !

Features :

  1. Shader Independent
  2. Alpha Blending
  3. Paint Textures
  4. Paint Colours
  5. Paint Normal Maps
  6. Very Fast
  7. Custom Brushes
  8. Brush Opacity which affects everything (Colour, textures, normal maps, etc.)
  9. Saves textures in png format
  10. Paint Unlimited amount of textures, normal maps, etc.
  11. Add Unlimited amount of brushes
  12. Paint in Realtime
  13. The tool also comes with a very handy GUI script which scales the gui elements according to the screen size
  14. Paint Specular Maps
  15. Paint Parallax Maps
  16. Paint Illumination Maps
  17. Paint Detail Maps

More Features to be Added later :

  1. Texture Tiling
  2. Control over size of brush
  3. Option to paint lightmaps

If people are interested, I will upload the tool to the asset store for 20$.

Here’s the first image :

Here’s the webplayer :
http://dl.dropbox.com/u/73916347/Virtual%20Painter%20Webplayer%20-%20Shirt%20Demo/WebPlayer/WebPlayer.html

Controls : Press the spacebar to allow movement of the camera and then use the arrow keys to fly about. Press the spacebar again to lock the camera.

A better one is along the way :slight_smile:

EDIT : I have changed the pricing of the tool and have uploaded it to the asset store. It is currently being reviewed

1 Like

This is what got me interested. Looking forward to some demo.

Yes I know !!! :smile: People like me who are programmers and don’t know much about asset creation… I think its really gonna help them. How I achieve this is by providing 3 types of base textures of low, medium and high resolutions. If your model is big you can apply the high resolution base texture in order to reduce stretching. Its as simple as that :slight_smile: In the near future I am going to add more features like texture scaling which will make things much more intuitive. :slight_smile:

Here’s another image :

The entire car was painted without any need of unwrapping it !!

Shader used was from the hard surface pro package

And Here come’s our favourite… SLENDER MAN !!

The model was downloaded from the internet and all the bump maps, textures and colours were applied within unity3d using Virtual Painter.

This is great! Three questions:

  1. When will this be released?

  2. What will it cost?

  3. Why is slender brown and gray?

I hope to release this within a week’s time and it will cost 20$.

Lol :smile: Well I am a very bad artist thats why :stuck_out_tongue:

EDIT : I have changed the pricing of the tool and have uploaded it to the asset store. It is currently being reviewed

oh well, very cool. :smile:

Nice, useful tool even if u do unwrap I think

Thanks a lot :slight_smile:

That works great so far, my main comment would be it doesn’t paint across UV seams, which I’m sure is a real pain to add? I also couldn’t paint on the seam at the back of the mesh.

What is the chance this could also paint on light maps? I’ve tried to code that in the past and couldn’t find a good way to save them, however I’m more a artist than a programmer.

Thank you :slight_smile: The current build cannot paint on UV seams and I am afraid I can’t code it myself :frowning: But I’ll give it a shot none the less…As for lightmaps, I really did’nt give it much thought :stuck_out_tongue: But now that you have mentioned it, I’ll see what can be done :slight_smile:

EDIT : Could you please be more specific as to what functionalities you would want for a lightmap in this tool ?? By “paint on lightmaps” did you mean painting baked objects in a scene ??

This looks pretty cool, although I am wondering, will it be able to paint over objects which have shared materials (like say, a building that shares materials with another, would they be able to have unique “paints” done to them?) allowing me to paint a couple models I have lying around and am too lazy to UV unwrap! lol

Thanks MD_Reptile :slight_smile: What Virtual Painter basically does is that it modifies the base texture objets. So if 2 of your models have the same base texture, then painting on one model simultaneously reflects on the other model.

Hi Gnimmel :slight_smile:

For your lightmap question, this is what I did… The scene was baked and the shader of the shirt was changed to “LegacyShaders\Lightmapped\Bumped Diffuse”. Now, I applied the near lightmap to the “Lightmap(RGB)” slot. This became the base lightmap on which I would paint textures. This is what I ended up with :

The box on the right bottom corner of the image is the lightmap. The spots on it means that the lightmap is being affected in those areas.

So is this what you were talking about ??

EDIT : I made a mistake with the language of the lightmap toggle. It should be “paint on lightmap” instead of “Paint Lightmap :p”

As a fellow programmer, I am very curious. How is it you handle the unwrapping exactly? I mean, if I export an object from Blender into Unity without it being UV mapped, a texture won’t even display on it.

Well, its simple… I don’t handle the unwrapping !! :smile: Unity does !!!

The slender model which I have textured was downloaded from the net with its format being .obj . The download did not come with any textures or anything else. Just a simple slender model. After that I added a white texture as base for the model of size 1024x1024. Now using the setpixels function I started painting on this texture. In order to check whether the applied texture’s uv’s were correct or not, I saved the modified texture as a .png file and then deleted the model from both the project and the hierarchy window. I reimported the model and voila ! the texture got applied automatically with the correct shader and uv’s.

The only problem I am currently facing is that, parts of the model having the same uv’s get textured even if you don’t want them to. Take for example the slender model. Only one half of the model was probably made by the artist and the other half was simply mirrored. I can say this because when I started painting on one part of the model, the uv of the corresponding part got painted. So if I painted one half, then the other half got painted simultaneously.

And this is the reason why I am delaying the release of this tool. Its not exactly a problem because in most cases that would be the desired result but I am still trying to find out a solution for it. In my opinion finding out the coordinates of the uv, on which the mouse wants to paint, in 3d space could be a possible answer.

Anyways, I hope I have answered your question :slight_smile:

Tried to paint on a terrain today… It was painting fine but the paint never appeared where I was clicking on the terrain. After quite a lot of frustrating moments I have given up on adding terrain paint as a feature in virtual painter :frowning:

Wolfstien; by painting on lightmaps I mean just that, being able to paint in extra darker or lighter area’s. It might not be possible with how you have things set up, but I tried a test a while ago and was able to paint on one fine. What I couldn’t do was save it because it’s a exr file, not png. This was just an idea, it might be a lot more work to add this to a already working tool.

oh… i could add it but have you tried saving your modified lightmap as a .png and then in the texture importer, clicking on the “import as lightmap” option ?
I think that should work.