Author Topic: black edge + opacity bug in refractive material  (Read 4016 times)

2021-07-22, 21:08:38

v.p.vlasenko

  • Active Users
  • **
  • Posts: 71
    • View Profile
1. Black edge where object with refractive material contacts other geometry - image attached.
2. Setting opacity to 0 makes fog like material.
On the second image water material have opacity 0, but underneath surface have blue color.
The third image is a preview but the sphere is still barely visible.

Both problems appear on physical and legacy materials.

Corona V7.

2021-07-23, 16:14:13
Reply #1

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12690
  • Marcin
    • View Profile
Could you send us this scene archived with all assets? The uploader is in my signature below.


2. Setting opacity to 0 makes fog like material.
On the second image water material have opacity 0, but underneath surface have blue color.
The third image is a preview but the sphere is still barely visible.

These things are expected. When you hide the surface (set opacity to 0) you still see the volume.
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2021-07-27, 15:33:36
Reply #2

v.p.vlasenko

  • Active Users
  • **
  • Posts: 71
    • View Profile
Uploaded 1627392598_black-edge.zip. I simplified the scene and used simple materials - the edge is still visible.

Quote
These things are expected. When you hide the surface (set opacity to 0) you still see the volume
so there is no way to make a hole in let's say "water" surface, except adjusting geometry?
Just to clarify - that a surface with reflection/refraction and absorption without scattering.
« Last Edit: 2021-07-27, 15:37:09 by v.p.vlasenko »

2021-08-04, 10:25:34
Reply #3

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12690
  • Marcin
    • View Profile
At least one of those objects was heavily scaled. Applying "reset xform" to both the sea and the object fixes the issue immediately.
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2021-08-06, 15:21:01
Reply #4

v.p.vlasenko

  • Active Users
  • **
  • Posts: 71
    • View Profile
Thanks for the answer - haven't tried reset xform.

What about the second question?

In that scene there was a pool a bit higher than the sea - I need to do sea invisible below that pool, how can I do that? For sea I used a plane with a high scale multiplier in settings (so it go up to horizon), so changing geometry isn't an option.



2021-08-10, 17:00:10
Reply #5

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12690
  • Marcin
    • View Profile
I am very sorry, but I do not understand your question. Can you please show some images of the issue that you are having? Could you also attach a simple scene demonstrating the issue?
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2021-08-11, 16:04:22
Reply #6

v.p.vlasenko

  • Active Users
  • **
  • Posts: 71
    • View Profile
Here we go with the same simple scene, with simple materials, you can recreate that by yourself.

1. "sea" surface with displace
2. "pool" surface, without displace or bump
3. "sea" and "pool", we can see "sea" surface below "pool". I think this is expected as we have a refractive surface below another refractive surface.
4. Comparison of how it looks and how I want it.
5. I used corona distance to make "sea" disappear below "pool". Created cylinder and made 0 opacity inside it. But we still see blue volume? below the surface. This wasn't expected by me.
6. Comparison again. And that will be visible again in the next 2 screenshots.

So the question - how to make "sea" completely invisible below "pool" without cutting geometry? If I cut a hole in the "sea" plane - everything works as expected in this particular case, but I don't want to do that as I set the scale counter pretty high (30 or 40) in the plane properties to cover the view up to the horizon (there are different cameras in the original scene so need this plane to be big)

The next problem seems to be bound to the previous: there was a camera in the same scene (not a simplified one) close to "sand" looking at the horizon. For water surface close to the camera I used PhoenixFD for simulation of waves in cap mesh mode. The surface further from the camera was a simple plane with corona displacement with PhoenixFD ocean. I expected some artifacts on the edge but now what I've got.

Here simplified representation
7. Single plane
8. Same plane split into 2 objects, same material.

For me something like that was expected with the single plane - ray entering some medium and never exit it. But not with 2 planes - ray enters -> hits surface below -> exit.


 





2021-08-13, 12:44:45
Reply #7

GeorgeK

  • Corona Team
  • Active Users
  • ****
  • Posts: 838
  • George
    • View Profile
Hey, pretty interesting report. The best way to overcome this with Corona distance is to utilize "Color inside" (white) within coronadistance and not use it along with opacity, that won't work, rather use it as volumetric absorption. (file attached) I've updated the file with some additional masking, unfortunately, the underlying mesh is still being calculated on the overlapping absorption distance.

I believe this could work in your case, if not please let me know to see if there is some other way we can overcome this. I am reporting this to the dev. team in case there is something that can be done about it.

(Report ID=CRMAX-893)
« Last Edit: 2021-08-13, 14:47:04 by GeorgeK »
George Karampelas | chaos-corona.com
Chaos Corona QA Specialist | contact us

2021-08-16, 08:49:52
Reply #8

v.p.vlasenko

  • Active Users
  • **
  • Posts: 71
    • View Profile
Hi George,

I can't open the scene as I have 2021, but no - it's not working.

Using vol. absorption working better up to some point, but not in this case. I used both - absorption to get rid of volume and opacity for the surface (as there are reflections visible).
1. Without the "pool" plane it working almost as expected - but I can see the "sea" surface. Barely, but still visible. So even with pure white absorption color, 0 distance and 0 opacity that plane is still barely visible.
2. With the "pool" plane I get the wrong color inside - it differs from the image with the "sea" plane hidden. Probably due to this - "unfortunately, the underlying mesh is still being calculated on the overlapping absorption distance" and the next one as result:
3. There are displace in my example on the "sea" plane - with displacing on and absorption I get actually the same results as with opacity.

And what about images 7,8? How to combine two surfaces in a single render?


2021-08-16, 11:49:45
Reply #9

GeorgeK

  • Corona Team
  • Active Users
  • ****
  • Posts: 838
  • George
    • View Profile
Hi George,

I can't open the scene as I have 2021, but no - it's not working.

Using vol. absorption working better up to some point, but not in this case. I used both - absorption to get rid of volume and opacity for the surface (as there are reflections visible).
1. Without the "pool" plane it working almost as expected - but I can see the "sea" surface. Barely, but still visible. So even with pure white absorption color, 0 distance and 0 opacity that plane is still barely visible.
2. With the "pool" plane I get the wrong color inside - it differs from the image with the "sea" plane hidden. Probably due to this - "unfortunately, the underlying mesh is still being calculated on the overlapping absorption distance" and the next one as result:
3. There are displace in my example on the "sea" plane - with displacing on and absorption I get actually the same results as with opacity.

And what about images 7,8? How to combine two surfaces in a single render?

Thanks for clarifying, regarding the second issue with the displacement,  I am currently looking into it.

As for the absorption issue, I will update you on that as well after further discussion with the team.
George Karampelas | chaos-corona.com
Chaos Corona QA Specialist | contact us

2021-08-17, 12:10:21
Reply #10

GeorgeK

  • Corona Team
  • Active Users
  • ****
  • Posts: 838
  • George
    • View Profile
Hi again, I believe I have some extra suggestions for the Pool+Sea issue.

1) First you can try with RayswitchMtl, where the refraction operation will be handled by a fully transparent material, while the rest of the overrides by the ocean material itself, you might need some extra tweaking depending on your scene/lighting setup and setup your illumination switch accordingly, please try and let me know if it works. (Also attaching example scene saved in 3dsmax 2019)

2) Boolean Operation might be the best way to go for this, especially with 3dsMax 2022 it works pretty great you get to keep your operants somewhat intact and you have full control in reverting mesh status. In my opinion, this is the best approach for now. (example attached in the same scene)

With regard to the sea split into two volumes and the absorption issue, this is rather common I am afraid similar to: https://forum.corona-renderer.com/index.php?topic=33920.0, it would help if you can still keep your sea meshes separate as elements within the same editable poly. (once again example attached)

Please let me know how it goes.

(Report ID=CRMAX-861)
George Karampelas | chaos-corona.com
Chaos Corona QA Specialist | contact us

2021-08-25, 16:31:36
Reply #11

v.p.vlasenko

  • Active Users
  • **
  • Posts: 71
    • View Profile
Thanks George,

about boolean - something similar was done before posting here. So the problem was solved for that particular case, but that's not the best way -  that's why I asked if it is possible to do without changing geometry.

And about keeping two meshes as elements - one mesh is plane while the other is phoenixfd sim, so not sure if that's possible.

Hope that will be fixed.

2021-11-28, 23:33:19
Reply #12

v.p.vlasenko

  • Active Users
  • **
  • Posts: 71
    • View Profile
At least one of those objects was heavily scaled. Applying "reset xform" to both the sea and the object fixes the issue immediately.

Hi Maru, the problem isn't solved. I didn't check it last time, just thought after your answer that the problem was in scaling.

Now I have the same problem with a completely clean scene (no scaling problem but I tried xform too). Only two objects - geo (default corona physical material) and water (water preset from corona physical material).

So the problem is still here - black contact water edge.