PDA

View Full Version : vector displacement



Baba
02-29-2012, 04:14 AM
Hi all,
I have just got word from Pixologic that Zbrush 4r3 has been released. Another free upgrade :) One of the new features is the generation of vector displacement maps. As I understand it these are some kind of advanced displacementmaps.
Are they of any use to a lightwaver?
The short answer is probably "No" since I can't find any reference to them in the docs but then I hardly know what they are. Can anyone enlighten me?

MrWyatt
02-29-2012, 05:52 AM
well you can use the 32bit exr ones in world space just fine. use nodal displacement and pipe the image textures rgb into displacement. done.
for tangent space I believe dpont has a node for that too. So basically, yes they are of use in lightwave.

Baba
02-29-2012, 08:41 AM
Thanks MrWyatt.
Makes me wonder if their diagnostic thingy works with LW.

MrWyatt
02-29-2012, 08:56 AM
Thanks MrWyatt.
Makes me wonder if their diagnostic thingy works with LW.

haven't tried but it should.

MrWyatt
02-29-2012, 09:02 AM
to answer your first question. vector displacement is superior to normal displacement in the sence that while normal displacement can only displace along its normal in and out, vector displacement can displace in any arbitrary direction. maybe this image will help you understand.
http://www.spot3d.com/vray/help/150SP1/images/examples/displacement/vector_displ_shape.png

vector displacement can do things like overhangs while normal displacement cannot.

erikals
02-29-2012, 09:15 AM
i think DPont made a vector displacement reader plugin for LW btw...
if so you should be able to use those maps in LW...

mikala
02-29-2012, 11:56 AM
Here's hoping this thread gets a lot of love.
I would also like to learn more about ZBrush vector map usage in LW 11.
The in's an outs of the DP node would be very beneficial if anyone has been able to try it yet?

wyattharris
02-29-2012, 12:42 PM
Yeah, just finished watching the ZB diagnostic video and had the same question. Time to start experimenting.

erikals
02-29-2012, 02:41 PM
haven't tried it, but i bet it's straight forward...

Vector map,
http://dpont.pagesperso-orange.fr/plugins/nodes/Additionnal_Nodes_2.html

 

SaleVonGeist
02-29-2012, 03:25 PM
First few minutes of testing with diagnostic files from Zbrush and world space displacement works ok, but still no luck with tangent space. Tried both 32 and 16bit maps.
Testing in LW 9.6 and with dpont vector map node. Would love to hear if anyone had some better luck with this. :)

dpont
03-01-2012, 01:09 AM
tangent space may be handled differently in DPKit,
is there somewhere a sample obj file with a Zbrush VD map?

Denis.

SaleVonGeist
03-01-2012, 06:54 AM
Hi Denis!
Since the diagnostic files Zbrush generates are large I guess attaching it here won't work but I could send you PM with the link. There are two options when generating VD maps, smooth UVs and smooth surface normals. I guess the first one is safe to turn off, but I'm not sure for the second one (from the docs: "The vd SNormals option smooths the low resolution modelís surface normals and results in a smoother map.").
If you have any idea about the second option just tell me to turn it on or off and I'll generate the test files.

Thanks in advance.

Sasa

dpont
03-01-2012, 07:19 AM
...Since the diagnostic files Zbrush generates are large I guess attaching it here won't work but I could send you PM with the link. There are two options when generating VD maps, smooth UVs and smooth surface normals. I guess the first one is safe to turn off, but I'm not sure for the second one (from the docs: "The vd SNormals option smooths the low resolution modelís surface normals and results in a smoother map.")...

These options change the quality of the mapping
but no how 'tangent space' is handled in ZBrush,
I could only test a reasonable sized 'obj' model,
no matter the size of the image map itself (except
the limit of attachment in this forum),
the 'baked' 3D model or an image of the reference
could help also..


Denis.

SaleVonGeist
03-01-2012, 08:00 AM
These options change the quality of the mapping
but no how 'tangent space' is handled in ZBrush,
I could only test a reasonable sized 'obj' model,
no matter the size of the image map itself (except
the limit of attachment in this forum),
the 'baked' 3D model or an image of the reference
could help also..


Denis.

Here is the link to the test files, sorry about the size but I couldn't get it lower than 18MB. http://www.3d2d.hr/share/ZBrush_VDispDiagnostic_Tangent_32Bits.rar
Inside is the object with color map and displacement map. If you have the time check out the last video in the first post on this page which is about VD maps from ZB.
http://www.zbrushcentral.com/showthread.php?166716
In short, when you load up VD map and render one of the spheres should be the "perfect" sphere. I have included small jpg from the docs where you can see how the test file looks in Modo (from ZB manual).

Thank you in advance for your time.

dpont
03-01-2012, 08:42 AM
Not possible to work with such object file and map,
this is Zbrush stuff for their own demonstration,
multi objects and maps complicates
testing for me on my system.

Denis.

SaleVonGeist
03-01-2012, 08:57 AM
Ok, when I catch some free time I'll try to make some simple test file for you.

lino.grandi
03-02-2012, 11:10 AM
Denis, do you still need some simplified content? Please let me know.

erikals
03-02-2012, 11:44 AM
yes, he does :]

probably just a pure VDmap and the model...
map should look sorta like... > http://3.bp.blogspot.com/_mBTzsAsZEr8/TSAgjD4EF7I/AAAAAAAAASs/UpjzfAxMF8o/s1600/skull2.jpg

 

silviotoledo
03-02-2012, 11:50 AM
If all that Dennis nodes would be reviewed by Newtek team and incorporated as native for better performance we would have a lot of great possibilities.

I'm so interested in some of the Dennis displacement nodes that simulates the skin displacement and would allow us doing something like these:

http://youtu.be/luSOPpQ_CgM

Taron did this in the old past in messiah and it's still so hard and difficult to do in lightwave.

So, please, Mr. Lino, consider with Newtek team and Dennis this possibility.

lino.grandi
03-02-2012, 12:39 PM
http://youtu.be/luSOPpQ_CgM

I'm so interested in some of the Dennis displacement nodes that simulates the skin displacement and would allow us doing something like these:
Taron did this in the old past in messiah and it's still so hard and difficult to do in lightwave.


That's not so hard to do with LightWave...it's time for some cool tutorials about LightWave/GoZ/ZBrush interchange and setup of this kind of stuff.

Time to warm up my Camtasia Recorder!!! ;)

Baba
03-02-2012, 12:50 PM
Can't wait to see them Lino :thumbsup:

mikala
03-02-2012, 01:01 PM
Seconded.
I enjoyed the Rigging dvd immensely.
Before anyone comments...yes I have a life. :)

rcallicotte
03-02-2012, 01:21 PM
@Lino - Me 3! I have a life watching more tutorials. :thumbsup:

SaleVonGeist
03-02-2012, 06:01 PM
Denis, do you still need some simplified content? Please let me know.

It would be great if you Lino or somebody else could provide some simple content for Denis to test. Fighting a deadline here...arrrgggghhhhh...:)

silviotoledo
03-03-2012, 10:03 AM
That's not so hard to do with LightWave...it's time for some cool tutorials about LightWave/GoZ/ZBrush interchange and setup of this kind of stuff.

Time to warm up my Camtasia Recorder!!! ;)

Wow! can't wait to see that!

I still think Lightwave must have an interface to automate the SCULPT/MORPH/GOZ keying it at the timeline same way Blender animsculpt does.

Any chance to add a new deformer option after LAST ? So we would have a point cache animation from Zbrush over everything for final touch correction once the endomorph correction is too hard to setup ( time consuming ) and will not match exactly the shape we want once there's other deformers acting ( bone deformers as example ).

evenflcw
03-03-2012, 04:15 PM
No more deformer order options! There shouldn't even be any Subdivision Order, Node Displacement Order popups or an FX tab! There should just be a single list of applied deformers! If NT wasn't soo keen on adhoc solutions we would have had a deformation system more powerful (stacking+nodal) then Modo 601 years ago.

Bone deformation implemented adhoc means we have "Use morphed Position". Subdivision implemented adhoc means we have Subdivision Order popup. Node Editor implemented adhoc means we have Node Displacement Order popup and can only have one instance. They are all bad design choices from a architectural and a advanced user standpoint!

If there was a bone deformation entry (even just as a marker for the evaluation order; do the code internally for all I care), a subdivide entry, a node displacement entry, and all the FX plugins were back in the Add Displacement list, the order of their evaluation could be determined from their order in the list. So simple! No adhoc solutions would be necessary and a much tighter interface and powerful architecture would be the result. NT has been wasting precious development time with all these adhoc solutions. A single list is such an obvious and simple solution it has been crazy watching them do the extra effort with all these adhoc solutions, rather than just fix the deformation stacking. I hope we finally see a change in LW11.

dpont
03-06-2012, 11:42 AM
Here is the link to the test files, sorry about the size but I couldn't get it lower than 18MB...
...In short, when you load up VD map and render one of the spheres should be the "perfect" sphere. I have included small jpg from the docs where you can see how the test file looks in Modo (from ZB manual)...

This is the ZBrush Diagnostic I got with DPKit vector Map node,
102401

Vector Map node doesn't work well with quad,
I tripled all polys, check "Tangent B" space,
and this exploded my RAM memory..
because the node needs to store many things
from the geometry for tangent space.

the first map is the good one like for Modo,
but this should be confirmed with a better model and map.

btw, I fixed a few things in the nodes but mainly
for seams, trough there are not optimized in this ZB object.

Denis.

Boris Goreta
03-06-2012, 11:52 AM
For world vector map displacement number 3 should be used when exporting from ZBrush.
Why should tangent space displacement be used with animation ?
I am using world space vector map on a character and displacements follow deformations just fine. Is there a nice explanation somewhere, I couldn't fint it in 10 seconds, that's my patience time limit for googling.

Boris Goreta
03-08-2012, 03:21 AM
These are the settings I found work well with vector displacement:

Preferences->Import/Export->Flip and switch = 3

Vector Displacement Map:
vd Tangent off
vd 32Bit on
vd SUV off
vd SNormals on

if I had vd SUV on I get errors like in ear.jpg, with it off I get ear OK.jpg, no errors.


I still don't see what are the benefits of using tanget maps with deformations ? They are computationally more intensive and eat RAM and I didn't manage to make it work using Vector Map node. I think tangent maps have benefits when using them as normal maps but with deformations they are useless. Am I right ? :question:

erikals
03-08-2012, 03:25 AM
they would probably jitter more with animated texture deformations,
because of the 'interference' with the polyflow...

Boris Goreta
03-08-2012, 03:31 AM
I don't understand what are you saying, am I safe with using world displacement maps and shouldn't cry over tangent maps ?

erikals
03-08-2012, 04:14 AM
for normal object deformation it should work though.
maybe post a test anim?

Boris Goreta
03-10-2012, 02:43 PM
I stand corrected, world/object vector displacement map can not be used with animation. I guess we need tanget for that after all.

probiner
03-10-2012, 03:05 PM
No more deformer order options! There shouldn't even be any Subdivision Order, Node Displacement Order popups or an FX tab! There should just be a single list of applied deformers! If NT wasn't soo keen on adhoc solutions we would have had a deformation system more powerful (stacking+nodal) then Modo 601 years ago.

Bone deformation implemented adhoc means we have "Use morphed Position". Subdivision implemented adhoc means we have Subdivision Order popup. Node Editor implemented adhoc means we have Node Displacement Order popup and can only have one instance. They are all bad design choices from a architectural and a advanced user standpoint!

If there was a bone deformation entry (even just as a marker for the evaluation order; do the code internally for all I care), a subdivide entry, a node displacement entry, and all the FX plugins were back in the Add Displacement list, the order of their evaluation could be determined from their order in the list. So simple! No adhoc solutions would be necessary and a much tighter interface and powerful architecture would be the result. NT has been wasting precious development time with all these adhoc solutions. A single list is such an obvious and simple solution it has been crazy watching them do the extra effort with all these adhoc solutions, rather than just fix the deformation stacking. I hope we finally see a change in LW11.

Shameless quote for agreement and bump :)

Boris Goreta
03-10-2012, 03:16 PM
1.mov is animation at level 0

http://www.borisgoreta.com/forum/1.mov

2.mov is animation at level 15 with object vector displacement map
displacement obviously don't follow deformation well

http://www.borisgoreta.com/forum/2.mov

3.mov is animation at level 15 with normal displacement map
displacements follow animation well but they don't describe original object correctly

http://www.borisgoreta.com/forum/3.mov

erikals
03-17-2012, 05:30 AM
hi, are you sure that is not caused by a 8bit or 16 bit image?

Boris Goreta
03-17-2012, 05:56 AM
images are all 32 bit.

in world/object space what happens is this:

Cage object gets deformed, then it gets subdivided and then all vertices get translated in world space by the amount from the vector map texture. Translation is same regardless of object deformation so it doesn't follow deformation it just adds the same translation on top of base cage deformation ( animation ) for any given frame.

in tangent space what happens is this:

There are two tangent vectors sitting on top of the base surface and they get deformed together with base object during deformation. After subdivision process those two vectors are used as a base coordinate system to apply the tangent vector displacement from the map. This way deformation from the tangent map always follows base cage deformation.


in a nutshell :)

take this as a principle

erikals
03-17-2012, 07:29 AM
 
hm, i think i understand... wonder if it's possible to fix somehow...
 

Boris Goreta
03-17-2012, 07:36 AM
Denis is our only hope :)

I've sent him simple content with the cage object, tangent map and freezed high poly object from ZBrush as a displacement reference.

erikals
03-17-2012, 07:38 AM
 
looks like it should work in Maya,... (?)
http://www.youtube.com/watch?v=R4vgluLg9WM#t=9m20
 

erikals
03-20-2012, 05:48 AM
should be able to gradually animate it be changing the opacity...
(i know, it's not the same, but interesting never-the-less...)

http://www.youtube.com/watch?v=ZPezIU0c4zc
 

Boris Goreta
03-24-2012, 04:21 AM
I'm still fighting this. I've managed to get a pretty ok vector tangent displacement for still objects but problems arise when I deform the object. Tangent vector displacement doesn't seem to follow deformations properly, maybe the vectors aren't evaluated again for every given frame ?

I've deformed an object and attached a camera to the same motion so we can better see deformation changing through time. Check tiger perspective.mov for explanation of the setup and tiger camera.mov so you can see how tangent vector deformation is not holding up. Note that the object is not just rotated in LW Layout, it has been deformed in that way and baked to MDD as you would do in a normal animated shot with a character.

So it is obvious that on frame 0 everything looks ok ( except the errors on ears which are caused by UV seams being on that exact same place, latest version of DP_Kit addresses this issue but it is only x32 for now so I couldn't test ). After the object gets deformed it seems like vector displacement is doing the same displacement it did on frame 0, it is like it can't see the deformation of the object.

I've included an image with all relevant settings from ZBrush and Modeler which work very well with tangent displacement. The only problem is when you start to animate the object. Actually this is the whole purpose of having tangent vector maps so that they could properly deform deformable objects. At this point I'm not sure this can be done. Could someone please look into this and try to do a better job then I did ?

I'd just like to stress out that this is a huuuuge feature for character animation, you could use a super simple cage object for animation and then using tangent vector displacement have a complete detailed character during render time without worrying about polygon placement or density of a cage object. This whole tiger head could be just a box with 6 faces when animating.