Jump to content
WnSoft Forums

[3D Transformation] Need explanations about "Z position"


thedom

Recommended Posts

Hello Igor,

Congratulations to you and your team for the release of version 6.

I don't understand how Z Position parameter works.

I was expecting that the objects with different Zpos parameters wouldn't be in the same plan (see example "manually" done to undestand what I mean).

But it's not the case.

I don't see any difference between this parameter and the zoom parameter. Did I missed something ?

Unless it will work not the same way in the future ?

And can you tell us if :

- we will have the ability to change the AngleX/AngleY/Zpos with the mouse (like you can do for PZR).

- speed options for Angle X/Angle Y/Z position is already planned in a next beta of v6 ?

Thanks. :)

V6B15-Zpos.zip

Link to comment
Share on other sites

Dominique,

Z Position is a replacement of "Perspective correction" option. Because it's true movement of an object in 3D space using Z Position. You can observe non-linear speed of an object when it moves in 3D space.

- we will have the ability to change the AngleX/AngleY/Zpos with the mouse (like you can do for PZR).
In next versions.
- speed options for Angle X/Angle Y/Z position is already planned in a next beta of v6 ?
AngleX/Y use speed option of Rotation, because they all three are rotations. Z-Position uses speed for Pan X/Y - all of them are moving of an object by X,Y,Z coordinates.
Link to comment
Share on other sites

... I don't understand how Z Position parameter works.

I was expecting that the objects with different Zpos parameters wouldn't be in the same plan (see example "manually" done to undestand what I mean).

But it's not the case.

I don't see any difference between this parameter and the zoom parameter. Did I missed something ?

Unless it will work not the same way in the future ...

The attachment contains a small project (to be opened with v6.0Beta) which (hopefully) makes the effect of the movement along the z-axis a bit more clear.

Regards,

Xaver

Perspektive.zip

Link to comment
Share on other sites

The attachment contains a small project (to be opened with v6.0Beta) which (hopefully) makes the effect of the movement along the z-axis a bit more clear.

Regards,

Xaver

Perspektive.zip

Hello Xaver,

Thanks for the explanation.

Do I have it right when I see:

Frame, second keypoint:

1) pushing the arrows of the zoom effect: both pictures are showing bigger or smaller, but are showing the same surface.

2) pushing the arrows of the 3D Z position: both pictures are showing bigger or smaller, but the picture at the back is showing more or less depending the perspective.

Greetings,

Cor

Link to comment
Share on other sites

Hi Cor,

I think that you see it in a correct way.

Both images have a constant 3D-distance. After their common shift along the z-axis (backwards), the ratio of the image sizes has changed, and (although there isn't a pan active during the movement) part of the rear boat becomes visible. This is a perspective effect (more or less as our eye would expect to see the movement in 3D).

A simple zoom would only change the size of the initial view.

Best regards,

Xaver

Link to comment
Share on other sites

Hi Cor,

I think that you see it in a correct way.

Both images have a constant 3D-distance. After their common shift along the z-axis (backwards), the ratio of the image sizes has changed, and (although there isn't a pan active during the movement) part of the rear boat becomes visible. This is a perspective effect (more or less as our eye would expect to see the movement in 3D).

A simple zoom would only change the size of the initial view.

Best regards,

Xaver

Hello again Xaver,

Thanks for the clarification. Glad that I am on the right track.

Greetings,

Cor

Link to comment
Share on other sites

Z Position is a replacement of "Perspective correction" option. Because it's true movement of an object in 3D space using Z Position. You can observe non-linear speed of an object when it moves in 3D space.

Igor, wouldn't it be better to call this function something like "Z axis zoom"?

In fact, first time I seen the function I completely misunderstood it and expected to being able to "separate" images on several planes so in a hierarchical structured set of images i would see real depth when rotating the parent node.

I suspect that many good transition effects should be easier to obtain with a real 3D system... nowadays people needs to simulate the Z coordinate when moving/rotating objects. I know that enabling Z buffering for occlusion tests will slow down the performance, but I think it's not necessary to do so. With a wise picture design, you can leverange the real 3D even without occlusion tests... Anyway, Z buffer could be an option flag, why not?

I know... I already asked for this function and it seems it is too "difficult?" to understand by final users...

I don't think so, but if this is team's choice, please rename this parameter.

Greetings! Umberto

Link to comment
Share on other sites

Igor, wouldn't it be better to call this function something like "Z axis zoom" ...

Sorry Umberto,

I have to object! The z-parameter in the 3D-window actually serves for simulating a pan along the z-axis. This is not a zoom, as it changes the perspective! Please have a look at my simple example from above and the discussion with Cor (CorVdK), posts #5-8. See also my remark here.

Regards,

Xaver

Link to comment
Share on other sites

I have to object! The z-parameter in the 3D-window actually serves for simulating a pan along the z-axis. This is not a zoom, as it changes the perspective! Please have a look at my simple example from above and the discussion with Cor (CorVdK), posts #5-8. See also my remark here.

Hello Xaver,

I already had a look at this nice demo. I only say that the "Z axis distance" illusion is kept only while you don't start rotating objects on X/Y axis.

Suppose you design a picture with this structure:

root image: x = 0, y = 0, z = 0

|

+-- child image: x = 0, y = 0, z = -20 (a bit narrowed to user eyes)

Then, if you start animating the root image by rotating it along, say, the X axis, you see that both images lays on the same plane and that the z distance only affects the child image size, not its real z position.

Since it is a little odd result to me, I would not call the parameter "Z position", sice the Z position is phisically unaffected.

Greetings... Umberto

Link to comment
Share on other sites

Umberto,

I know that enabling Z buffering for occlusion tests will slow down the performance, but I think it's not necessary to do so. With a wise picture design, you can leverange the real 3D even without occlusion tests... Anyway, Z buffer could be an option flag, why not?

Sorry, it's impossible due to restrictions of DirectX and even modern video cards. They don't support Z-buffer for images with alpha channel (32-bit textures) - all Text objects, Images with edge-antialising, Buttons.

All we can do in next versions - pseudo Z-buffer which will automatically sort order of objects taking in attention Z position of an each object in 3D space. However natural occlusions still impossible.

3D games use Z-buffer for 24-bit images (without semi-transparent areas) or use sorted tree of objects and a lot of mathematical calculations. It also produce visual defects in many cases.

As I heard DirectX 11 and future video cards will support Z-buffer for 32-bit images.

Igor, wouldn't it be better to call this function something like "Z axis zoom"?

In fact, first time I seen the function I completely misunderstood it and expected to being able to "separate" images on several planes so in a hierarchical structured set of images i would see real depth when rotating the parent node.

Probably better to use "Z distance"? Because properly say it isn't a zoom.

Link to comment
Share on other sites

All we can do in next versions - pseudo Z-buffer which will automatically sort order of objects taking in attention Z position of an each object in 3D space. However natural occlusions still impossible.

Probably better to use "Z distance"? Because properly say it isn't a zoom.

Igor, now I understand why you can't use Z buffering. I think that what you are suggesting is nice.

A "pseudo Z-buffer" based on Z distance is a wise solution, waiting for newest DirectX drivers.

Obviously some artifacts may appear, mostly if pictures are not parallel, but I can live with it.

Anyway, even if I really don't need to perform 360 degrees rotations, the "pseudo Z-buffer" should be

smart enough to consider the 180 degrees rotation of an entire group of images (then, invert the order).

And, I suppose, the Z order will be computed considering the picture point of rotation.

Since you already introduced a behavior with the "Z distance", I think that you should introduce

something else for this new behavior... uhm... trying to be as self explanatory as possible,

what about something like "Simulated Z distance" as you said, for the existing behavior and "Z position"

for the new one?

I wish to accent on the "Simulated" word, so users will understand why there is such odd behavior (zooming

without really moving)

Greetings... Umberto

Link to comment
Share on other sites

Just another thought...

The presence of both parameters is a really nice solution. I explain:

If I want to build a picture based on several layers to obtain a perspective effect,

I cut each layer from the starting image, then I insert them in a single structured picture inside PTE.

At this point, I change the "Z position" of each layer. Doing so I obtain a misalignment of each layer

because the narrow layer is zoomed respect to the far one. So, I can correct the unwanted zoom

by acting on the "Simulated Z distance".

Once correctly fixed the parameter, I obtain the starting image like it was not cutted.

Then, by rotating or moving it on the z axis, I obtain my perspective effect.

Yes, I think that both behaviors can interact one each other to get nice results.

Greetings... Umberto

EDIT: I suppose that if I keep the image parallel to the screen plane, then set, say,

"Z position" = 40 and "Simulated Z distance" = -40, the image should appear the same,

until I start panning/rotating it.

Link to comment
Share on other sites

To most of us all of this is meaningless without an example?

You are right. Hope that a written example would suffice sice I've not the right material

here to bring a running slideshow.

Keeping it simple, suppose to have a shot of a room with far chair, a table in the middle

and a near chair. I would like to obtain a 3D movement effect. I already seen some demos

in the forum that work the way I'll describe, but I wish to push it a bit further.

So, take Photoshop and start cutting out the picture into layers: The nearer chair,

the middle table, the far chair and, finally, the remaining of the room. I need to fill

the holes caused by cutting out nearer elements by manually reconstructing the layers

with cloning or something else. Finally, I get 4 layers: The room without chairs and table,

the far chair, the table, the near chair. I obtain 1 jpeg for the room and 3 png (because

of transparency) for other elements.

Now I bring everything into PTE. New slide with the room jpeg (the root element) and

3 children elements with pngs. So, I obtain the initial shoot.

Now it's time to move. I wish to obtain a panning effect. Without disturbing real 3D,

I can achieve that by simply panning each element with different offsets.

But, I want to push it a bit further, as I said: I don't want a simple panning, I wish

also a slight rotation on Y axis. This would give terrific 3D effect.

Here the problem comes: If I simply rotate the root element on Y axis, I obtain an odd

effect, because the final effect would be a plain image that rotates on Y axis, so

the 3D effect is completely lost.

Well, if a "Real Z position" parameter exists, I could place the far chair at -20, the

middle table at -40, the near chair at -60. By rotating the root element (the room)

on Y axis, now a real 3D effect is visible.

BUT! By moving children elements on Z axis toward the user eye, I will see them bigger

as they should because of the perspective effect. Since the initial picture is already

in perspective, this is an unwanted result. Hence I can act on the "Apparent Z distance"

parameters, setting it to 20 for the far chair, 40 for the table, 60 for the near chair.

This ways compensates the size of each element bringing them to their "apparent" initial

size and recomposing the initial picture. But this time each element is really on a

different plane, letting me obtain the desired 3D effect by rotating the room on Y axis.

Obviously, consider that the Y rotation should be of minimal amount, or the 3D effect

will be lost because the user will see the layers.

Hope now the proposal is more clear.

Greetings! Umberto

Link to comment
Share on other sites

Umberto, that's exactly what I had in mind with the example I attached in my original post.

Here are an other examples I found on YouTube to illustrate your explanation.

It is already possible to make such effects now but with Z buffer or something equivallent, it would be much easier. :)

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

Link to comment
Share on other sites

Umberto, that's exactly what I had in mind with the example I attached in my original post.

Here are an other examples I found on YouTube to illustrate your explanation.

It is already possible to make such effects now but with Z buffer or something equivallent, it would be much easier. :)

TheDom, you brought really good examples, thank you!

I did a test some time ago:

Layers test

but, while it's easy to do with zooming and panning, it's not so easy with rotations.

To compensate the absence of "Z buffer" it's necessary to rotate and pan layers

one each other and, to be geometrically correct, a straight pan it's not enough.

So, as you said, with "Z buffer" it would be easier and easier.

Greetings! Umberto

Link to comment
Share on other sites

One more thought...

If "Z position" will be introduced into PTE, a problem arises: The paint order of pictures that share the same Z position. I suggest to use this algorithm:

1. If Z position differs, the paint order is computed considering the Z position

2. If Z position equals, then the paint order is computed considering the position into the slide structure, as usual

This will permit to build several "groups", each one with a specific Z position that paints as expected.

I think that this algorithm is enough obvious, but wished to point it out.

Greetings! Umberto

Link to comment
Share on other sites

I worked on this problem at least 8 days, two months ago, with a template made especially for that, I haven't asked anything to Igor on this subject because there aren't any solution available to solve this problem. Imagine two objects in Symetry which are on the same place Which of them is before?

If you use PNG files with a part of transparency, how PTE can know the usefull part of the file. If we use the center function on a picture for instance, sort the files only on Zposition isn't a solution.

With 2D objects I don't think there is a usefull solution, it's not at all the same thing that with 3D object where the datas about the solid are inside the file of a tool.

I have made a test with a no convex solid with 60 objects which have a rotation of 360°, it need to copy 28 objects in background, that mean we have to put 112 keypoints for opacity, it's not so difficult to do. Of course if you change the size or the position of this solid you lose your work, but it would be the same thing, even with a sort on Zposition.

For convex solid, the Show front / Show back function works perfectly. Thanks Igor for this very important feature.

Here is the no-convex solid, only 28 objects have been copied in background. Impossible to sort objects with Zposition for this example, I tried to find a rule to find the good order in an Excel sheet, even with calculation of the center in % and others parameter like angles and of course Zposition, and the pans : no result available.

Link to comment
Share on other sites

I don't understand how Z Position parameter works.

I was expecting that the objects with different Zpos parameters wouldn't be in the same plan (see example "manually" done to undestand what I mean).

But it's not the case.

I don't see any difference between this parameter and the zoom parameter. Did I missed something ?

Unless it will work not the same way in the future ?

Now with beta 21, the ZPos parameter is amazing !!!

I didn't find the Zpos parameter really useful with previous betas.

With beta21, PTE manages the depth of each object/plan by itself , no need for the user to do anything (see example attached), except when we rotate the objects more than 180° on the angle X or Y .

But do we really need it, except for very particular effects ? I don't think so.

Those like Umberto who want to make a 3D animation from a 2D photo by example will make it now very easily.

Congratulations Igor for this huge improvement !

PS : I love the new icon for PTE. :)

test-Zpos-V6beta21.zip

Link to comment
Share on other sites

Now with beta 21, the ZPos parameter is amazing !!!

I didn't find the Zpos parameter really useful with previous betas.

With beta21, PTE manages the depth of each object/plan by itself , no need for the user to do anything (see example attached), except when we rotate the objects more than 180° on the angle X or Y .

But do we really need it, except for very particular effects ? I don't think so.

Those like Umberto who want to make a 3D animation from a 2D photo by example will make it now very easily.

Congratulations Igor for this huge improvement !

PS : I love the new icon for PTE. :)

I'm really excited with this new beta! I finally managed to obtain the 3D effect with no effort!

See that Igor opted not to introduce 2 Z parameters as suggested previously (one for real Z pos and one for apparent

Z pos to correct perspective effects). I agree with the choice, because a double Z parameter could

confuse many users. The same "apparent distance" correction effect can be obtained with the zoom parameter,

also if the zoom level is difficult to compute exactly to balance the perspective zoom given by the Z position.

But that's no problem at all. Just need a little trying and let's go.

This is a sample of what can be obtained:

Cave test

I agree with TheDom about the new icon. Amazing!

I also noticed that a 180 degree rotation is still not handled correctly, but I trust that

in near future also this little glitch will be solved.

Even if for my immediate needs this is a non problem, I think this should be solved

to keep consistency of the user experience.

P.S. Now just need to wait for multi track audio and finally... PTE will rule the world! :)

Link to comment
Share on other sites

This is a sample of what can be obtained:

Cave test

Great example of what we can do, it really adds an impression of depth.

But like everything, we have to use it with moderation.

Lot of photoshopping required but after, piece of cake in PTE.

Congratulations Umberto.

Lin, I think you have to post a "out of bound" example now... ;)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...