Author Topic: Corona 5 - 2.5D Displacement on Curves  (Read 16277 times)

2019-11-08, 11:07:46
Reply #30

dj_buckley

  • Active Users
  • **
  • Posts: 871
    • View Profile
Scene has now been uploaded 1573207621_CER003-BLOCK-A-B-MASTER-06.max

There are no textures, but it's just a brick texture so you can test with any random brick you have.  I've only uploaded the curved building too, the test renders have been coming from a master scene which this building is XRef'd into.  So you've got the X-ref.  There should be a layer (currently turned off) in there called _TESTING which will have a ground plane/daylight etc.

2019-11-08, 11:09:12
Reply #31

GeorgeK

  • Corona Team
  • Active Users
  • ****
  • Posts: 838
  • George
    • View Profile
Will upload the scene shortly - but for what it's worth here's the direct comparison.  Remember the horizontal edges along the bands are only there because the curves needed them.  The more I test this, the more the flat undivided areas barely look displaced, leaving me wondering should we have been dividing the geo all along even before 2.5D - anyway see attachments.

Would need to investigate your scene on this, because I've tested many flat surfaces with no issue what so ever on 2.5D and old.  I've also destroyed the flat geometry with tons of edges, floating vertices, inverted normals, x-form manipulation, different texture displacements, everything worked the same.

Something is really going on there, make sure they use the same displaced material and that the UV'S are correctly set.
George Karampelas | chaos-corona.com
Chaos Corona QA Specialist | contact us

2019-11-08, 11:09:57
Reply #32

dj_buckley

  • Active Users
  • **
  • Posts: 871
    • View Profile
Will upload the scene shortly - but for what it's worth here's the direct comparison.  Remember the horizontal edges along the bands are only there because the curves needed them.  The more I test this, the more the flat undivided areas barely look displaced, leaving me wondering should we have been dividing the geo all along even before 2.5D - anyway see attachments.

Would need to investigate your scene on this, because I've tested many flat surfaces with no issue what so ever on 2.5D and old.  I've also destroyed the flat geometry with tons of edges, floating vertices, inverted normals, x-form manipulation, different texture displacements, everything worked the same.

Something is really going on there, make sure they use the same displaced material and that the UV'S are correctly set.

It's all the same material - basic box mapping - anyway the scene has been uploaded, please test away.
« Last Edit: 2019-11-08, 11:15:14 by dj_buckley »

2019-11-08, 12:53:03
Reply #33

GeorgeK

  • Corona Team
  • Active Users
  • ****
  • Posts: 838
  • George
    • View Profile
Will upload the scene shortly - but for what it's worth here's the direct comparison.  Remember the horizontal edges along the bands are only there because the curves needed them.  The more I test this, the more the flat undivided areas barely look displaced, leaving me wondering should we have been dividing the geo all along even before 2.5D - anyway see attachments.

Would need to investigate your scene on this, because I've tested many flat surfaces with no issue what so ever on 2.5D and old.  I've also destroyed the flat geometry with tons of edges, floating vertices, inverted normals, x-form manipulation, different texture displacements, everything worked the same.

Something is really going on there, make sure they use the same displaced material and that the UV'S are correctly set.

It's all the same material - basic box mapping - anyway the scene has been uploaded, please test away.

Hey dj_buckley,

Your displacement map ID channel is 1 on multi/sub material slot 2, and your UVWmodifier channel is 3. While bump and 2/3 of diffuse textures are set on 1 resulting on things being shown and not shown upon rendering. I would suggest you collapse the entire thing to a clear-issue free editable poly, and apply a single UV modifier. Also the object/polygon ID's of the horizontal building support beams is 1 on hidden geometry and 3 on shown.

For the horizontal support-beams you don't need any tessellation to your geometry for displacement to be shown correctly, on flat surfaces. Preferably keep the face polygon to a simple quad but do address the curvature with density. If you decide to go with density then preferably go for isometric, uniform edge tessellation.

We further investigate this issue with flat surfaces and density and compare between 2.5D and old. Cheers
George Karampelas | chaos-corona.com
Chaos Corona QA Specialist | contact us

2019-11-08, 13:01:26
Reply #34

dj_buckley

  • Active Users
  • **
  • Posts: 871
    • View Profile
Your displacement map ID channel is 1 on multi/sub material slot 2, and your UVWmodifier channel is 3. While bump and 2/3 of diffuse textures are set on 1 resulting on things being shown and not shown upon rendering. I would suggest you collapse the entire thing to a clear-issue free editable poly, and apply a single UV modifier. Also the object/polygon ID's of the horizontal building support beams is 1 on hidden geometry and 3 on shown.

This doesn't seem unusual to me - the multi sub has 2 materials for 2 different bricks.

Multi-sub 1 - brown brick - all maps relating to brown brick are set to Channel 1 - there is a corresponding UVW Box Map set to channel 1 to control this.
Multi-sub 2 - white brick - all maps relating to white brick are set to Channel 2 - there is a corresponding UVW Box Map set to channel 2 to control this.

The brown brick has an extra map in it's diffuse slot (part of a composite node) to overlay across the entire building - this is set to Channel 3 - there is a corresponding UVW Box Map set to channel 3 to control this?

So I don't see the issue.  Brown brick/white brick and the overlay texture are all different real world scales.

The support beams themselves don't have the multi-sub applied - juse the brown brick material.  This same brown brick material is Instanced into the multi-sub for the parts of the facade where the brick changes from brown to white.

Surely this is perfectly normal or are you saying I can't use a multi-sub, multi channel setup to get displacement to work properly?


With regards the support beams not needing the tesselation, I no they don't.  However, they were created when adding the connected for the curve.  The issue is that without the tesselation, the displacement looks vastly different when it reaches the curve as you go from non tesselated geo to highly tesselated geo for the curve.
« Last Edit: 2019-11-08, 13:04:59 by dj_buckley »

2019-11-08, 15:40:42
Reply #35

GeorgeK

  • Corona Team
  • Active Users
  • ****
  • Posts: 838
  • George
    • View Profile
Your displacement map ID channel is 1 on multi/sub material slot 2, and your UVWmodifier channel is 3. While bump and 2/3 of diffuse textures are set on 1 resulting on things being shown and not shown upon rendering. I would suggest you collapse the entire thing to a clear-issue free editable poly, and apply a single UV modifier. Also the object/polygon ID's of the horizontal building support beams is 1 on hidden geometry and 3 on shown.

This doesn't seem unusual to me - the multi sub has 2 materials for 2 different bricks.

Multi-sub 1 - brown brick - all maps relating to brown brick are set to Channel 1 - there is a corresponding UVW Box Map set to channel 1 to control this.
Multi-sub 2 - white brick - all maps relating to white brick are set to Channel 2 - there is a corresponding UVW Box Map set to channel 2 to control this.

The brown brick has an extra map in it's diffuse slot (part of a composite node) to overlay across the entire building - this is set to Channel 3 - there is a corresponding UVW Box Map set to channel 3 to control this?

So I don't see the issue.  Brown brick/white brick and the overlay texture are all different real world scales.

The support beams themselves don't have the multi-sub applied - juse the brown brick material.  This same brown brick material is Instanced into the multi-sub for the parts of the facade where the brick changes from brown to white.

Surely this is perfectly normal or are you saying I can't use a multi-sub, multi channel setup to get displacement to work properly?


With regards the support beams not needing the tesselation, I no they don't.  However, they were created when adding the connected for the curve.  The issue is that without the tesselation, the displacement looks vastly different when it reaches the curve as you go from non tesselated geo to highly tesselated geo for the curve.

Hi again, it was merely a suggestion knowing how 3ds max can really bug out hierarchies that supposed to work hehe:). So I am still testing many things with the issue at hand, your scene seems indeed to have issues with certain flat geometries and the new displacement, although even with the old one the flat surfaces don't behave correctly either, just the effect seems to be more subtle.

I am providing a comparison of a 4k texture with displacement between 2.5D and the Old, the plane does have 12 length segments. In all the scenes I've tested with various lighting scenarios (check screenshots) and different geometries, the curvature seems to be the most prominent one. One thing I've noticed is that on your scene Customize-Units set up Displayed Unit-scale you are on Metric with millimeters, yet on the unit-setup it's on Centimeters, what I would like to know is if this was changed at any time within the time you working on the scene. For some reason testing of certain flat surfaces with small horizontal subdivision does produce strange results, something I was unable to reproduce in other scenes for now except the one you've provided. So further investigation is needed.

Again thanks for the input!
« Last Edit: 2019-11-08, 15:45:44 by Corona_GK »
George Karampelas | chaos-corona.com
Chaos Corona QA Specialist | contact us

2019-11-08, 15:42:31
Reply #36

dj_buckley

  • Active Users
  • **
  • Posts: 871
    • View Profile
Thanks.  The scene units have never changed.  I've built it all from scratch

2019-11-08, 15:47:49
Reply #37

dj_buckley

  • Active Users
  • **
  • Posts: 871
    • View Profile
Your displacement map ID channel is 1 on multi/sub material slot 2, and your UVWmodifier channel is 3. While bump and 2/3 of diffuse textures are set on 1 resulting on things being shown and not shown upon rendering. I would suggest you collapse the entire thing to a clear-issue free editable poly, and apply a single UV modifier. Also the object/polygon ID's of the horizontal building support beams is 1 on hidden geometry and 3 on shown.

This doesn't seem unusual to me - the multi sub has 2 materials for 2 different bricks.

Multi-sub 1 - brown brick - all maps relating to brown brick are set to Channel 1 - there is a corresponding UVW Box Map set to channel 1 to control this.
Multi-sub 2 - white brick - all maps relating to white brick are set to Channel 2 - there is a corresponding UVW Box Map set to channel 2 to control this.

The brown brick has an extra map in it's diffuse slot (part of a composite node) to overlay across the entire building - this is set to Channel 3 - there is a corresponding UVW Box Map set to channel 3 to control this?

So I don't see the issue.  Brown brick/white brick and the overlay texture are all different real world scales.

The support beams themselves don't have the multi-sub applied - juse the brown brick material.  This same brown brick material is Instanced into the multi-sub for the parts of the facade where the brick changes from brown to white.

Surely this is perfectly normal or are you saying I can't use a multi-sub, multi channel setup to get displacement to work properly?


With regards the support beams not needing the tesselation, I no they don't.  However, they were created when adding the connected for the curve.  The issue is that without the tesselation, the displacement looks vastly different when it reaches the curve as you go from non tesselated geo to highly tesselated geo for the curve.

Hi again, it was merely a suggestion knowing how 3ds max can really bug out hierarchies that supposed to work hehe:). So I am still testing many things with the issue at hand, your scene seems indeed to have issues with certain flat geometries and the new displacement, although even with the old one the flat surfaces don't behave correctly either, just the effect seems to be more subtle.

I am providing a comparison of a 4k texture with displacement between 2.5D and the Old, the plane does have 12 length segments. In all the scenes I've tested with various lighting scenarios (check screenshots) and different geometries, the curvature seems to be the most prominent one. One thing I've noticed is that on your scene Customize-Units set up Displayed Unit-scale you are on Metric with millimeters, yet on the unit-setup it's on Centimeters, what I would like to know is if this was changed at any time within the time you working on the scene. For some reason testing of certain flat surfaces with small horizontal subdivision does produce strange results, something I was unable to reproduce in other scenes for now except the one you've provided. So further investigation is needed.

Again thanks for the input!

When you say my scene has issues with the flat geometry using both 2.5D and Old displacement, I assume you mean the flat geometry that has the horizontal edges?  The flat geometry that is just a single poly is working as expected?

2019-11-08, 16:26:04
Reply #38

steyin

  • Active Users
  • **
  • Posts: 375
  • BALLS
    • View Profile
    • Instagram Page
Not sure if this helps or is in the same vein as the issue at hand, but I normally model in AutoCAD and import into Max. For brick buildings most of the time the modeling is made up of extrusions that intersect (say a pier and horizontal sill) but in the end have the same texture applied. I import as a linked file with geometry grouped to layers.

Displacement never handled this intersecting geometry well so I would add a smooth modifier and then a tessellate modifier operating on polygons, edge and tension set to .001 as turbosmoothing anything from CAD never seems to work. This workflow seems to work pretty well for displacement overall and for eliminating issues at those intersections.

I've also tried using subdivide, meshsmooth and quadifry all, but they never work as well.

2019-11-08, 17:51:11
Reply #39

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12711
  • Marcin
    • View Profile
Reported.
(Internal ID=420575272)

Also another:
(Internal ID=421793979)
« Last Edit: 2019-11-12, 13:28:19 by maru »
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2019-11-08, 18:11:49
Reply #40

dj_buckley

  • Active Users
  • **
  • Posts: 871
    • View Profile
Not sure if this helps or is in the same vein as the issue at hand, but I normally model in AutoCAD and import into Max. For brick buildings most of the time the modeling is made up of extrusions that intersect (say a pier and horizontal sill) but in the end have the same texture applied. I import as a linked file with geometry grouped to layers.

Displacement never handled this intersecting geometry well so I would add a smooth modifier and then a tessellate modifier operating on polygons, edge and tension set to .001 as turbosmoothing anything from CAD never seems to work. This workflow seems to work pretty well for displacement overall and for eliminating issues at those intersections.

I've also tried using subdivide, meshsmooth and quadifry all, but they never work as well.

The model is completely built inside 3DS Max, so no issues there, i'd also go as far as saying it's the cleanest model I've ever built haha

2019-11-09, 23:06:41
Reply #41

lupaz

  • Active Users
  • **
  • Posts: 951
    • View Profile
It seems I'm having a similar problem. see attached please.

It's just a box with a chamfer modifier. Smooth: "smoothing chamfer only"

2019-11-09, 23:11:27
Reply #42

dj_buckley

  • Active Users
  • **
  • Posts: 871
    • View Profile
Looks that way.  It does make me wonder what was actually tested because these are pretty basic production techniques that I use in every single project.  However the Devs are now looking into it so I'm hopeful for a fix soon.  In the meantime I'm back to old displacement but even that is kinda broke

2019-11-19, 11:37:43
Reply #43

matsu

  • Active Users
  • **
  • Posts: 60
    • View Profile
I'm adding this to the thread, even though this isn't strictly about curves, but rather about the 2.5D displacement in general.

I just tried setting up a simple textured lawn thing, and noticed some strange artifacts. Tried to see where it was coming from, and I realised it was coming from the 2.5D displacement. Tried changing to 3D and it's a huge difference.
It's just a simple JPG file, loaded with CoronaBitmap at gamma 1.0 and the bitmap size is bigger than the sample plane, so no repetition there. Displacement is at 1px in both cases.

Help/suggestion?

I think I will consider using 2.5D only in cases where memory is an issue, since the look is significantly worse. :(


2019-11-19, 11:39:59
Reply #44

GeorgeK

  • Corona Team
  • Active Users
  • ****
  • Posts: 838
  • George
    • View Profile
I'm adding this to the thread, even though this isn't strictly about curves, but rather about the 2.5D displacement in general.

I just tried setting up a simple textured lawn thing, and noticed some strange artifacts. Tried to see where it was coming from, and I realised it was coming from the 2.5D displacement. Tried changing to 3D and it's a huge difference.
It's just a simple JPG file, loaded with CoronaBitmap at gamma 1.0 and the bitmap size is bigger than the sample plane, so no repetition there. Displacement is at 1px in both cases.

Help/suggestion?

I think I will consider using 2.5D only in cases where memory is an issue, since the look is significantly worse. :(

Hey Matsu, what is the topology of your plane? Is it equally subdivided, can you please provide a wireframe?
George Karampelas | chaos-corona.com
Chaos Corona QA Specialist | contact us