So, can EI do displacements?


#1

I’ve been having this problem with displacements in EIAS for quite a while now. So much so that I was seriously considering switching to something else this weekend.
Here you can see an example of the artefacts I keep getting. This happens with noise-shaders (NX, NoiseFactory) as well as bitmaps. The latter one to a lesser degree. And if you think those artefacts don’t look too hot in a still, wait until you see them dancing around in animation.
All I did was apply some displacement with NX and then layer a white image on top in the diffuse channel, and this is the result:

The one thing I haven’t tried yet is normal-mapping, since I haven’t got anything that can create normal maps. So here are a few questions:
-Can normal maps be used for displacement, or are they only for Bump-maps?
-If “yes”, would they get rid of the above problems?

P.S. some of you may have seen me posting about this on the EITG forum. Apologies for the repetitive posting, but so far I haven’t had any answers.


#2

What values are you entering in the displacement and bump map fields?


#3

At the moment I’m playing around with a character that’s about 140 units high in Animator, in NX I’m giving it a displacement value of 0.1 and it already occurs. Bump map values don’t seem to make a difference. Changing the resolution of the mesh doesn’t make a difference either. The real problem here is the white image map, it brings out all the mistakes, without it, those artefacts would disappear in the NX texture.

I would like to be able to use quite high values to make the model look a bit more beaten up, but I’m not going anywhere near the displacements you see some people using when applying displacement maps from Zbrush. I remember seeing a test in C4D where they turned a cube into a sphere, just by using a displacement map.
Again, I’m not anywhere near those values. The only differences between those examples and me that I can think of are: A. I use EIAS B. I guess they were using normal maps.

So would normal-maps give me a cleaner displacement?

P.S. I could try and upload an example project if that would help.


#4

Normal maps are for bump use only.
Could you upload a project file?

I thought 6.01 fixed this bug…
If it is the bug I’m thinking of, it is caused by badly welded vertices, so polygons become detached from one another when displaced…

I’ve done far more daring things with displacement before so I’m quite confused by this…
Ian


#5

Hi, Manuel

We see no ability to help you without prj. You can use our e-mail for larger files (up to 1 Mb). No NX please (here you need to ask David and Luis).


#6

Thanks for the help guys, I solved the riddle. As it so often happens, I managed to solve the riddle while creating the project files I was going to upload here, I guess it’s the perfect devise to concentrate the mind. The problem was lack of resolution in the mesh and the wrong choice of noise. Some noises seem to be more suitable for displacement than others.


#7

BTW, there’s some free utilities or PSD type filters to create normal maps. Unfortunately I don’t know where they are but they do exist. I use Zbrush.

I would love to see the whole Zbrush/Displacement/EIAS giant pinned down. It would be great if we had a thread of contributors that really nailed the process.
I need to wrap my head around DE options (Displacement Exporter for ZB). The good thing is, when the right options are working with EIAS 8bit diplacement renderer, a simple script line from DE can be posted and shared.

I still have this question mark in my head about EIAS 0-255 displacement range. I forgot how EI’s displacement works (0=128 grey?) My thought is I won’t have to use Lolo’s PS (+/-) curves with the right DE settings.
I would be very happy with EIAS…beside the tearing wmp problem.

Ok…where did I put that slingshot?


#8

A displacement map either works positive or negative in EIAS. So either the model inflates or it deflates. You would have to load two displacement maps, one with a positive value and vice versa, to get it to work “properly”. I was checking out the C4D demo the other day and noticed that they have an option to keep 50% grey as neutral, so it’s not impossible to program.
Add to that the fact that there is no micro-polygon displacement, a less than helpful shaderball and you get all the ingredients for a non-technically minded person like myself starting a “Can EIAS do displacements” type of thread.


#9

I don’t care how technically inept one may be, if you say “Sub-pixel, micro-poly displacement mapping” in a crowd, they will be talking about how smart you are way after the party is over. :slight_smile:

I believe there’s option in DE to dumbdown the 16 bit to 8 bit. Also I think there is an option to turn the nuetral to black in DE. Or it’s generate both +/- maps from DE.

Thanks, that jeered my memory. Yes, EI should have an option that converts map to 50% as nuetral. Then go up and down with one map. Maybe it can be done with XP (?) I really dislike the two maps>PS curves>plus/minus workflow. It’s meticulous and time consuming, especially if you fighting seams at the same time.

I found options to fix seams in ZB, but I haven’t use AUV (autoUV) since I learn my own UV editing I used GUV.

Ok Let’s will give it a whirl and see what we get this time!


#10

Hi, Alonzo

  1. Well, why 50%? Maybe 25% or 70% would be same or more usable for some map(s)?:twisted:

  2. It cannot be done with XP, but for EI procedurals there are no any obstacle to use any midpoint they want.

  3. Any changing of midpoint affects only object’s “geometrical size” (like it’s bigger with mid 0 and smaller with mid 0.5), but all surface normals remain absolute same. So, we’ve doubts that another midpoint would make you happy :wink:


#11

Hang on, we’re all talking about the same thing aren’t we? Here is how I understand it:

The last circle represents what we currently can’t do in EIAS. Or so I thought. Now you guys are saying that for instance NX could do this if Konkeptoine chose to put that in. Unless NX can already do this but I’ve never managed to figure out how.


#12

Hi, Manuel

Yes, we’re all talking about the same thing, your illustration is absolute correct. However, please count that all 3 shapes have different geometry but same surface normals. So, maybe, “magic 50%” is not what you need.

We wrote:

Yes, we confirm that EI shader has ability (no obstacle, right?) to use absolute any midpoint (same as any displacement direction). But we didn’t say that NX (or other shader) already does this (cause, at least, we never seen NX :))


#13

50% represents the nuetral grey or 128 that Zbrush considers sea level or ground zero…no change in displace geometry. So, anything lighter (128-255) will be elevations in the surface geometry or darker (128-0) would be craters or imprints in geometry.

   My desire to have EIAS follow this 128 nuetral mid surface setting is so that one map, from ZB would create both hills and valleys in displacement renders. I think we would then only need to input the alpha depth factor to get a very predictable results with a simple workflow.
   
   So here's the current paradigm for ZB to EIAS. Export the Displacement map, then load it into PSD to be disected into 2 maps because EI reads zero to be black to be nuetral gray and 128 as an elevation from 0, not nuetral but upper hillside properties. 
   
   Even now, just thinking of it is confusing. I understand. In EIAS,  -255 must be 100% indentation as oppose to zero (0). 
   
   So as in Manual graph EI's displacement range is -255 to 255 then Zero is nuetral. 
   
   So in PSD, it's confusing with the displacement image data values are being clipped (cut off) or translated, (transmuting or pushing the tones to a darker or lighter value. )
   
Ok...at least now I think I understand the problem.

#14

Alonzo, you’ll see SAME elevations and craters with 50% as they are with 0%, sure :slight_smile:


#15

Grr…I understand the heart of the problem now. Zbrush divides one grayscale range (0-255) to handle both indentations and elevations simultaneously. In EIAS current displacement model, you can never interactively paint the displacement image (whether ZB or PS) if you need to set a minus or a positive value on one image which is/was interactively painted from light to dark as in ZBrush.

Funny, you can't do it in Maya either but you can set an expression to push values around (or negate an offset by .5 into indentations) which solves the problem. There is a script for Maya, but if XP can't do anything with it there's no need for me to post it.
  
  :-?

#16

Are you saying that the three shapes have different geometry after displacement, but they keep the normals from the geometry before displacement? If so, why would that be a big problem?


#17

No. You can’t protrude and extrude at the same time in EIAS. You can’t get the full dynamic range at the same time. You can’t paint white to move up from the surface then paint black to move below the surface. You are stuck at the surface if you are in positive values. Zero would only stop at the surface if you are in positive range. If you are using a (+) map at (zero) then you can’t paint darker than black (0) to unless you change the function values of the image with a minus.

It’s limited.

Also, if you have two map, the two value can become cross referenced on the same surface. 127+ and 127- would cause 128 or noise distortions. There’s no way of knowing what you’ll get in the render with the current paradigm.

if you slide the nuetrual value of 128 or 50% around to 70% then you limit the range of values the artist can use to describe the surface. Yes, he/she may want to do this but, it should be the artist discretion.

Again Thanks for you input. I’m just trying to be exact not arrogant. Please show me where I am wrong.


#18

Hello, gentlemen

Let us explain “50% prob” as we understand it. Displacement/bump creates “pits and hills”. If displacement direction is inverted, then pits and hills are inverted/swapped too. However, it doesn’t happen if you use “50%” instead of “0%” sea level. This operation simply moves “whole terrains” up or down, but hills remain hills and pits remain pits.

With “0%” there are displacement amplitudes: 0.45, 0.50, 0.55. With “50%” for same points: -0.05, 0.00, 0.05. Yes, we changed amplitudes but the differences between them are absolute same. Thus we’ve same surface bumped normals for both cases, they are calculated based on a difference between points. The results will have different geometrical sizes and a some difference, defined by different displacement amplitudes: more or less portions of surface will be shown/hidden. But “general mimics”, defined by normals, are same for both.

Math says that any constant addition doesn’t change derivative/differential, here is this case exactly.

Maybe ZB does something other, that’s we don’t know. But in any case “50% gray” would have usability near zero IMO


#19

Understood, but I didn’t think we were talking about inverting displacement maps.

I understand that the amount of displacement remains the same, but the volume, and the character of some shapes changes. Here is another illustration of what I mean:
Imagine this being a “W” from a 3D logo, and you wanted to make the lettering look like rock.

If I were to apply the same displacement to a flat surface to create a terrain, it wouldn’t matter, but with an enclosed shape, it does.


#20

Ahh yes, You know and i know.

I wondered when this would come up.

Reuben