|
|||||||
![]() |
|
|
Thread Tools |
|
||||
|
It all started with cube... cube was then multiressed... couple of times and sculpt mode brush was used upon it... head was slowly made, and Ferengi head it was...
Multiressed at level 7 - my poor computer couldn't handle more - even with hiding parts of the mesh... Then crazy idea came to my mind - to create displacement map out of the hires mesh and apply it to the original cube... I've googled for some freeware that could do this but I just followed some 50 + links that looked promising, but turned dead -ends. And then I saw this excellent thread by jpbouza: http://blenderartists.org/forum/showthread.php?t=96746# Experimented some and here are the results: Basic mesh (multires level 5, I think) Basic mesh with subsurf modifier Basic mesh with subsurf and displacement (continuing in next post - I have reached my attachment level here)
............................................
Einsteindwarf - Free Rig and Model my Focused critique threads: NinjaGirl - SumoKnight - The Goon - EinsteinDwarf - Hellboy my art blog: www.ristesekuloski.blogspot.com |
||||
|
#1
|
||||
|
|
|
||||
|
More screenshots:
Now, I might be fooling myself but difference between the original mesh and displaced one is hardly discernible. Those are just the viewport screenshots. Now, here are two renders: original mesh at the highest level of multires and displaced mesh... which one is which? What do you say? Also, here is displacement map made with Xnormal. NOTE: I have tried ORB, but I found its command based interface a bit confusing (not to mention tens of times that I retyped the commands, because of typos); NOTE2: Render times were comparable (displacement vs multires), but I guess memory consumption with displacement mesh is a bit lower... I guess animating the scene with three multiressed characters would be nerve - wrecking...
............................................
Einsteindwarf - Free Rig and Model my Focused critique threads: NinjaGirl - SumoKnight - The Goon - EinsteinDwarf - Hellboy my art blog: www.ristesekuloski.blogspot.com Last edited by ristesekuloski; 09-Jun-07 at 22:18. |
||||
|
#2
|
|
||||
|
The right one is displaced. nice job!
............................................
mushrooms are big so I am small |
||||
|
#3
|
|
||||
|
Hey Riste, Nice Job!!
What values did you use in XNormal?? Cause I always get artifacts, and displacement maps are faceted, not smooth as the resulting normal map... |
||||
|
#4
|
|
||||
|
Thanks, I am very glad that it turned out pretty right! I think that it will look even better with textures (Displacement map can be counted as texture too, LOL)
I have used default settings with xnormal but lover res mesh was with subsurf level 3 applied. Before than that displacement was terribly faceted (it looked Hellraiser - like, which could be useful) There were some artifacts at the seams of the displacement map, but they were visible in the viewport, but not when rendered... go figure! I have so much various areas of interest in Blender that color and bump maps for this character will probably wait for a while, but I am not giving them up yet ;-) Riste
............................................
Einsteindwarf - Free Rig and Model my Focused critique threads: NinjaGirl - SumoKnight - The Goon - EinsteinDwarf - Hellboy my art blog: www.ristesekuloski.blogspot.com |
||||
|
#5
|
|
||||
|
Well, I finally gor Xnormal to work properly. Actually it wasnīt Xnormalīs fault, it was something with the scale of my model.
Anyway, the results were just good, there were some artifacts in the height map. Iīd say that xnormal is the right choice if you want speed and donīt want to go crazy with console commands (though you may have to do some corrections to the output map with the gimp). On the other hand, if you want accuracy Iīd go with ORB. Both programs output 8bits displacement maps. As I said in a previous thread, I hope that Blender 2.5 comes with Displacement baking in 16 or 32 bits. |
||||
|
#6
|
|
|||
|
Hi ristesekuloski,
I am travelling the same road with Blender and XNormal. I have a model - http://www.tidalsound.com/3dstuff/ghost1.jpg I created this from a cube. This is at Multires - level 7. I created two copies of same. Lowered one down to Multires 4 and applied Multires. I left the other at level 7 and applied multires also. I then added a Subsurf Modifier at level 3 for both. I UV Unwrapped the lower res one. I then exported both as OBJ, one called ghost_lo.obj the other ghost_hi.obj, loaded these into XNormal and hit the generate button [ tga format by the way ] - here is a jpg of the displacement result - http://www.tidalsound.com/3dstuff/xnormdisp.jpg As you can see it looks unrelated. I am at sea - not sure what happened, probably something simple, so hence this message in the hope you can spot some part of the process I might have left out. Does the mesh need to be actually textured as in with a 2d texture image first? I am using the default initial greyish shader. Anything about camera angles? Xnorm makes the maps from physical meshes, yes? Cheers Aidan |
|||
|
#7
|
|
||||
|
Aidan, I can see at once where is the problem: you have UV unwraped only low level mesh- so you don't have UV coordinates on the higher level mesh and XNORMAL doesn't know how to compare the meshes: The proper way would be this:
1. Make cube 2. Sculpt 3. Go to the lowest level of multires that you want to keep (cube is way too low), I would go to level 3 to five (I have used level 5) 4. Erase lover levels 5. UV Unwrap 6. Export obj at highest level (no subsurf) 7. Go to the lowest level, erase higher levels of multires (just in case) 8. Apply subsurf level 3 9. Export low level mesh (subsurfed) to obj 10. Now go to Xnormal and do the trick... ... 12. Remember to use UV texture coordinates with displacement modifier. Hope this helps!
............................................
Einsteindwarf - Free Rig and Model my Focused critique threads: NinjaGirl - SumoKnight - The Goon - EinsteinDwarf - Hellboy my art blog: www.ristesekuloski.blogspot.com Last edited by ristesekuloski; 26-Jun-07 at 08:00. |
||||
|
#8
|
|
|||
|
Hi ristesekuloski,
Thanks for your time on this. Some of the steps I am not sure of: 1. Make cube - OK 2. Sculpt - OK 3. Go to the lowest level of multires that you want to keep (cube is way too low), I would go to level 3 to five (I have used level 5) - OK, 3 in my case. 4. Erase lov[ w ]er levels - OK 5. UV Unwrap - UV Unwrap at the Lower level I assume, which will now be Multires 1 since deleting previous lower levels??? 6. Export obj at highest level (no subsurf) Here do you mean - push the multires Up from 1 to say 3 or 4, do not apply subsurf modifier, then export this as OBJ? Also this will now be the HiRes Mesh for Xnormal? 7. Go to the lowest level, erase higher levels of multires (just in case) Back to level 1 here, the new level 1? 8. Apply subsurf level 3 - OK 9. Export low level mesh (subsurfed) to obj - OK In my case here at this step I looked at the OBJ sizes and found this low level mesh OBJ was bigger file size wise than the high level mesh OBJ? This OK? 10. Now go to Xnormal and do the trick... - OK Any settings in XNormal needed? Or that you would recommend. I have also found that when I generate the maps in XNormal the final result for the Height Map is a black and white image where Black is the background and the mesh UV is shown in all white which would be useless for say bump mapping. Have you found this? 12. Remember to use UV texture coordinates with displacement modifier. Not sure where this comes in. I am not using the Disp Mod on this mesh. I assume this was a just in case comment ![]() Finally here is a link to the BLEND file zipped, pre any of the above - www.tidalsound.com/3dstuff/ghost.zip [ 1.5mb ]. Maybe you can spot my errors better ![]() Cheers and Thanks Aidan Last edited by aidanodr; 26-Jun-07 at 11:38. |
|||
|
#9
|
|
||||
|
I think you are doing well.
-Export highest level of MultiRes -Go to a lower level, delete multires (not quite necessary) apply subsurf and export (this file could be bigger than the Multires one) -now, play with the ray parameters in Xnormal, try different values from 0.25 to 2.0. If the image is still looking flat like, your problem (it was mine too) could be that the scale of the model is too small. I think Xnormal works fine with models constructed in the metric scale. Try scaling your model to 10 (1000%) and see what happens. In my case that did the trick in Xnormal. Regarding the uvīs, if your are using displacement mapping from a texture, you should enable the īīdispīī button in the īīmap toīī rolloutīī and set the īīmap inputīī to UV. If you have multiple UV layers you should specify the layer name for displacement. If you use the Displacement modifier (less accurate) you have to set the texture coordinates to UV in the modifier, and play with the midlevel values (0.5 shoud be ok) |
||||
|
#10
|
|
||||
|
I think that jpbouza said it all. In my case, model was some 3 x 3 x 3 blender units in size (I think) and I used default settings with XNORMAL.
imho, displacement modifier offers better control over the displacement (and you can see it in real - time which is a great time - saver), than usual displacement (also, it combines strangely with nor which causes unpredictable results) Happy blending, inform us of your success!
............................................
Einsteindwarf - Free Rig and Model my Focused critique threads: NinjaGirl - SumoKnight - The Goon - EinsteinDwarf - Hellboy my art blog: www.ristesekuloski.blogspot.com |
||||
|
#11
|
|
|||
|
Hi JPbouza,
Thank you for this input. Yip - by playing with the ray params it has improved the quality of the normal map and the height map [ see pic below ] ... and now for the BUT ![]() ![]() As you can see in the Height Map thumb above you have an image with various levels of grey scale BUT when one opens up the file as a TGA or PNG or HDR you get this: ![]() As you can see the thumb and the actual are two different things. Any ideas?? Aidan |
|||
|
#12
|
|
||||
|
The file resulting of the rendering of the normal map is a 32 bits file, the displacement map is in the alpha channel.
You will have to open it with a program that supports 32 bits, like photoshop, Cinepaint, or the Koffice painter, and save the alpha channel separately into a new file. |
||||
|
#13
|
|
|||
|
A THOUGHT:
This White Height Map image - could it be related to Graphics Card / OGL / Directx setup I wonder? Aidan |
|||
|
#14
|
|
||||
|
mmm...I donīt think so, cause the preview in XNormal is just fine. Try opnening the file in photoshop or cinepaint and extract the alpha channel.
Last edited by jpbouza; 26-Jun-07 at 17:26. |
||||
|
#15
|
|
||||
|
Woaw! That cool approach! Really inspiring and encouraging! Thanks!
|
||||
|
#16
|
|
|||
|
Hi Lads/ JpBouza,
Yes - extracting the alpha did the job indeed. Now when I apply this as a height map in my other 3D app I get two things - 1. faceting / artifacts 2. The Seams that were created in Blender seem to come over also. When one applies the Height map or Normal one gets distinct seams appearing also. Any more ideas?? Cheers Aidan |
|||
|
#17
|
|
|||
|
Some notes:
Indeed, the height map is stored in the alpha channel of the normal map output file. If you select, for example, a BMP/JPG file output ( which lack Alpha support ) you won't be able to see any height map. So always select a file format with alpha support ( TGA, TIFF, PNG OpenEXR, etc ) if you need it. However, I discourage PNG because some programs don't read well the alpha. Also caution with TGAs and old Photoshop... see http://nicolaescher.com/journal/arti...ha-channel-bug If you see in the preview dialog a correct height map but, however, is completely white then is perhaps because the program you are using to read the file is making something bad or bugged ( if so, try other output format ). Also, sure you are opening the XXXXX_normalmapAndDisplacement.XXX and not the XXX_normalmapAndDisplacement_mask.XXX ... the second one is just a mask to get smoothed antialiased edges. To get good results in the displacement map you need to use a subdiv 1-2 lowpoly. If you use the base mesh you will get a very rough one. But caution! If you use cages and you set a lowpoly subdiv2-3 you will have tons of vertices! If the cage is too slow to be managed try to use the uniform distance method instead ( but cages are always better ). So,l always pass a small subdivided lowpoly mesh and the final scuplted mesh as highpoly. xNormal does not perform subdiv internally. Hope it helps. Last edited by jogshy; 26-Jun-07 at 19:06. |
|||
|
#18
|
|
||||
|
About the seams: I seem to have seams on my object in realtime display. However they go away when rendering!
............................................
Einsteindwarf - Free Rig and Model my Focused critique threads: NinjaGirl - SumoKnight - The Goon - EinsteinDwarf - Hellboy my art blog: www.ristesekuloski.blogspot.com |
||||
|
#19
|
|
|||
|
Thanks Guys,
I should say that I think I may be going one step further than you Ristesekuloski - I am doing the Sculpt in Blender, then taking the lower res mesh to another 3D app [ www.realsoft.com ] and then trying to apply the Height map to this mesh to get a Sculpt look in this other app without the hi poly count. So this may add some more uncertainty into this. I think you went from Blender to XNormal back to Blender. Sorry if I am wrong on this. Thought I would throw this into the mix here - and by the way again appreciate all the ideas here ...By the way I think Jogshy is the creator of XNormal, I emailed these guys and asked them to drop by with any wisdom. Sorry if I am wrong here too! Cheers Aidan Last edited by aidanodr; 26-Jun-07 at 21:01. |
|||
|
#20
|
![]() |
| Bookmarks |
| Thread Tools | |
|
|