Unity Vs Unreal

Started by
23 comments, last by Gian-Reto 8 years, 4 months ago

I am still not 100% sure I understand all the different lighting options and why you can have translucent being rendered in its own or in the same pass with opaque materials, and why it makes such a difference to the way the material renders).

with separate passes (assuming alpha blend pass after non-alpha blend pass, and back to front drawing order), opaque objects will be seen through translucent ones correctly. a single pass can be faster, and can be used where overlap is not an issue. a single pass with overlap does not guarantee correct drawing order, and can lead to artifacts.

when a translucent object is drawn, its blended with the already drawn objects in the zbuffer. so anything behind it must be in the z buffer already - IE already drawn.

Norm Barrows

Rockland Software Productions

"Building PC games since 1989"

rocklandsoftware.net

PLAY CAVEMAN NOW!

http://rocklandsoftware.net/beta.php

Advertisement


I am still not 100% sure I understand all the different lighting options and why you can have translucent being rendered in its own or in the same pass with opaque materials, and why it makes such a difference to the way the material renders).

with separate passes (assuming alpha blend pass after non-alpha blend pass, and back to front drawing order), opaque objects will be seen through translucent ones correctly. a single pass can be faster, and can be used where overlap is not an issue. a single pass with overlap does not guarantee correct drawing order, and can lead to artifacts.

when a translucent object is drawn, its blended with the already drawn objects in the zbuffer. so anything behind it must be in the z buffer already - IE already drawn.

Translucent objects aren't rendered in the same pass in UE4, you must be referring to masked materials which are opaque.

Translucent objects go through a cheaper lighting pass as they are not rendered to the GBuffer.


I am still not 100% sure I understand all the different lighting options and why you can have translucent being rendered in its own or in the same pass with opaque materials, and why it makes such a difference to the way the material renders).

with separate passes (assuming alpha blend pass after non-alpha blend pass, and back to front drawing order), opaque objects will be seen through translucent ones correctly. a single pass can be faster, and can be used where overlap is not an issue. a single pass with overlap does not guarantee correct drawing order, and can lead to artifacts.

when a translucent object is drawn, its blended with the already drawn objects in the zbuffer. so anything behind it must be in the z buffer already - IE already drawn.

Translucent objects aren't rendered in the same pass in UE4, you must be referring to masked materials which are opaque.

Translucent objects go through a cheaper lighting pass as they are not rendered to the GBuffer.

Well, my confusion stems from the fact that

1) you have that option "use seperate pass" that can be deselected (which makes me believe that if deselected, translucent materials will be rendered in the same pass as opaque materials, just as norman barrows puts it... the documentation also points in this direction).

2) shadows receiving seems to not work if rendered in a seperate pass, though the materials receive shadows as expected if rendered in the same pass (at least in the editor viewport, still broken in game for me, hopefully somebody in the UE4 forums can help me there)

The fact that refraction stops working when "separate pass" is deselected also seems to strengthen normans point... though if it is true that the seperate pass breaks shadow receiving, then selecting the right option is more complicated than "better performance vs. less artifacts"....

Point is, there are so many options, yet sometimes just not enough documentation on what all this options actually DO, or why you would want to actually USE one option over another. Its a different kind of frustration than in Unity world (where there is only one option, if you want something else, search for loopholes and pray Unity doesn't plug them in the next release)... still, sometimes makes you bang your head against the wall.


I am still not 100% sure I understand all the different lighting options and why you can have translucent being rendered in its own or in the same pass with opaque materials, and why it makes such a difference to the way the material renders).

with separate passes (assuming alpha blend pass after non-alpha blend pass, and back to front drawing order), opaque objects will be seen through translucent ones correctly. a single pass can be faster, and can be used where overlap is not an issue. a single pass with overlap does not guarantee correct drawing order, and can lead to artifacts.

when a translucent object is drawn, its blended with the already drawn objects in the zbuffer. so anything behind it must be in the z buffer already - IE already drawn.

Translucent objects aren't rendered in the same pass in UE4, you must be referring to masked materials which are opaque.

Translucent objects go through a cheaper lighting pass as they are not rendered to the GBuffer.

Well, my confusion stems from the fact that

1) you have that option "use seperate pass" that can be deselected (which makes me believe that if deselected, translucent materials will be rendered in the same pass as opaque materials, just as norman barrows puts it... the documentation also points in this direction).

2) shadows receiving seems to not work if rendered in a seperate pass, though the materials receive shadows as expected if rendered in the same pass (at least in the editor viewport, still broken in game for me, hopefully somebody in the UE4 forums can help me there)

The fact that refraction stops working when "separate pass" is deselected also seems to strengthen normans point... though if it is true that the seperate pass breaks shadow receiving, then selecting the right option is more complicated than "better performance vs. less artifacts"....

Point is, there are so many options, yet sometimes just not enough documentation on what all this options actually DO, or why you would want to actually USE one option over another. Its a different kind of frustration than in Unity world (where there is only one option, if you want something else, search for loopholes and pray Unity doesn't plug them in the next release)... still, sometimes makes you bang your head against the wall.

No, the separate pass is used to avoid it being considered for certain post process effects, e.g. DoF.

If you make a translucent object, go to Lit->BufferVisualization->Overview and you will see that it is not in any of the opaque GBuffers.

EDIT: A quote from Nick Penwarden

Usually translucency is blended on to the scene before depth-of-field is computed resulting in the translucency being blurred as if it were at the same depth as the background opaque layer on to which it was blended. That's the result you get in UE4 if you disable Separate Translucency on the material.

Separate Translucency is a feature that blends certain translucent objects on to the scene after depth-of-field has been calculated. That prevents the artifact but those translucent materials will not be affected whatsoever by depth-of-field.

Also, I do agree that UE4 is hard to balance as there are so many options.

No, the separate pass is used to avoid it being considered for certain post process effects, e.g. DoF.

If you make a translucent object, go to Lit->BufferVisualization->Overview and you will see that it is not in any of the opaque GBuffers.

Any idea if this is also why there is a difference between "separate pass" to "single pass" when it comes to shadows (with "separate pass" translucency not being affected by baked shadows at least)? I get that the shadows are treated differently for translucent objects, so I guess if there is a separate pass, realtime shadows from opaque objects cannot be applied, and the shadow map will not be used?

Just asking, as I am really lost on this (You can call me a Padavan both in Unreal Engine 4 AND the ancient art of shader development :))...

This topic is closed to new replies.

Advertisement