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

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

Discussion in 'Works In Progress - Archive' started by wolfstien786, Dec 11, 2012.

  1. wolfstien786

    wolfstien786

    Joined:
    Apr 12, 2012
    Posts:
    185
    EDIT : http://forum.unity3d.com/threads/16...-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 :) 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 :)

    *EDIT : I have changed the pricing of the tool and have uploaded it to the asset store. It is currently being reviewed*
     
    Last edited: Jan 10, 2013
    Pulas likes this.
  2. zyzyx

    zyzyx

    Joined:
    Jul 9, 2012
    Posts:
    226
    This is what got me interested. Looking forward to some demo.
     
  3. wolfstien786

    wolfstien786

    Joined:
    Apr 12, 2012
    Posts:
    185
    Yes I know !!! :D 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 :) In the near future I am going to add more features like texture scaling which will make things much more intuitive. :)
     
  4. wolfstien786

    wolfstien786

    Joined:
    Apr 12, 2012
    Posts:
    185
    Here's another image :

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

    Shader used was from the hard surface pro package
     
  5. wolfstien786

    wolfstien786

    Joined:
    Apr 12, 2012
    Posts:
    185
    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.
     
  6. dtg108

    dtg108

    Joined:
    Oct 1, 2012
    Posts:
    1,165
    This is great! Three questions:

    1. When will this be released?

    2. What will it cost?

    3. Why is slender brown and gray?
     
  7. wolfstien786

    wolfstien786

    Joined:
    Apr 12, 2012
    Posts:
    185
    I hope to release this within a week's time and it will cost 20$.

    Lol :D Well I am a very bad artist thats why :p

    *EDIT : I have changed the pricing of the tool and have uploaded it to the asset store. It is currently being reviewed*
     
    Last edited: Dec 18, 2012
  8. dtg108

    dtg108

    Joined:
    Oct 1, 2012
    Posts:
    1,165
    oh well, very cool. :D
     
  9. ProjectOne

    ProjectOne

    Joined:
    Aug 9, 2010
    Posts:
    442
    Nice, useful tool even if u do unwrap I think
     
  10. wolfstien786

    wolfstien786

    Joined:
    Apr 12, 2012
    Posts:
    185
    Thanks a lot :)
     
  11. Gnimmel

    Gnimmel

    Joined:
    Apr 21, 2010
    Posts:
    358
    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.
     
  12. wolfstien786

    wolfstien786

    Joined:
    Apr 12, 2012
    Posts:
    185
    Thank you :) The current build cannot paint on UV seams and I am afraid I can't code it myself :( But I'll give it a shot none the less.....As for lightmaps, I really did'nt give it much thought :p But now that you have mentioned it, I'll see what can be done :)


    *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 ??*
     
    Last edited: Dec 12, 2012
  13. MD_Reptile

    MD_Reptile

    Joined:
    Jan 19, 2012
    Posts:
    2,664
    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
     
  14. wolfstien786

    wolfstien786

    Joined:
    Apr 12, 2012
    Posts:
    185
    Thanks MD_Reptile :) 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.
     
  15. wolfstien786

    wolfstien786

    Joined:
    Apr 12, 2012
    Posts:
    185
    Hi Gnimmel :)

    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"*
     
    Last edited: Dec 13, 2012
  16. Oana

    Oana

    Joined:
    Sep 28, 2012
    Posts:
    87
    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.
     
  17. wolfstien786

    wolfstien786

    Joined:
    Apr 12, 2012
    Posts:
    185
    Well, its simple.... I don't handle the unwrapping !! :D 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 :)
     
  18. wolfstien786

    wolfstien786

    Joined:
    Apr 12, 2012
    Posts:
    185
    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 :(
     
  19. Gnimmel

    Gnimmel

    Joined:
    Apr 21, 2010
    Posts:
    358
    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.
     
  20. wolfstien786

    wolfstien786

    Joined:
    Apr 12, 2012
    Posts:
    185
    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.
     
  21. Testmobile

    Testmobile

    Joined:
    Jul 3, 2012
    Posts:
    113
    So when did you said it would be on the asset store?
    That´s a instant buy for me :)

    Edit, just saw your post about it, i will be waiting
     
    Last edited: Dec 13, 2012
  22. MD_Reptile

    MD_Reptile

    Joined:
    Jan 19, 2012
    Posts:
    2,664
    Ok, well i guess i would need to separate the materials to have it work well in stuff like I'm talking about. But that's ok, seems like a cool tool regardless. Guess i can't expect it to break my objects down to unique materials for me :p
     
  23. wolfstien786

    wolfstien786

    Joined:
    Apr 12, 2012
    Posts:
    185
    Hi Testmobile !! Thanks a lot :) I need to add a few more features and iron out a couple of bugs before releasing. So it might take 3 or 4 days more before I upload it to the asset store. Sorry for the delay.....

    Thanks MD_Reptile....... And yes it can't break down objects to simple materials....... What I tried was that I took two models, painted them separately and then saved the 2 textures. After that I tried to pack them in a single texture so that they would share the same material but alas ! the uv's got messed up :(
     
  24. wolfstien786

    wolfstien786

    Joined:
    Apr 12, 2012
    Posts:
    185
    UPDATE : Added options to paint parallax, specular, detail and illumination maps. :)

    First post has been updated..... If you want to see any other feature, then please do tell me :)
     
    Last edited: Dec 14, 2012
  25. wolfstien786

    wolfstien786

    Joined:
    Apr 12, 2012
    Posts:
    185
    Everything's pretty much ready :) I'll be writing out a quick start guide and and adding comments in the scripts, wherever necessary, and upload it to the asset store either by tonight or tomorrow. I will be updating this tool from time to time. Due to a series of back to back school exams I might not be available from January right upto March :(
     
    Last edited: Dec 15, 2012
  26. wolfstien786

    wolfstien786

    Joined:
    Apr 12, 2012
    Posts:
    185
    Virtual Painter has been sent for approval to the asset store :) Please see the first post for price changes
     
  27. TriplePAF

    TriplePAF

    Joined:
    Aug 19, 2009
    Posts:
    246

    Sorry for braking the fun but I'm pretty sure that Unity won't unwrap the regular UV's for us. Load the fbx, obj or whatever format inside a 3d program. Remove the UV map(s), save it and import it back into Unity. Now try to paint on it. It should not work because there are no seams (or in you case painting space) specified.

    Peter.
     
  28. wolfstien786

    wolfstien786

    Joined:
    Apr 12, 2012
    Posts:
    185
    Yup..... I am really sorry for not editing this earlier but recently I found out that the model had its uv's mapped :p I don't have a modelling software so thus the problem. I am extremely sorry. I will edit my post. TriplePAF, thank you for reminding me. I apologize once again for creating such a confusion.

    But the one thing I can't understand is that, do the unity primitives have their uv's mapped ?? Cause its painting just fine on them except the cube.
     
  29. ganesh-mune

    ganesh-mune

    Joined:
    Feb 13, 2013
    Posts:
    3
    Hello wolfstien,
    I have searched on assets store for your virtual painter project but I didn't get that. So will you please tell me when will you upload it to the asset store.
    Thanks
    Ganesh
     
  30. wolfstien786

    wolfstien786

    Joined:
    Apr 12, 2012
    Posts:
    185
    I am really sorry for the inconvenience ganesh.mune, but my high school exams are currently under way. I have to redo the user interface before I can upload it to the asset store. So all in all, I guess I'll be uploading this asset in the first week of march.
     
  31. Pamela_E

    Pamela_E

    Joined:
    Apr 17, 2014
    Posts:
    2
    Car image is awesome i would love to design a car like that and by seeing this i got so many new idea for my final project. Thanks!!!