Announcement

Collapse
No announcement yet.

Ocean reflections - working/not working, inconsistent results...

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ocean reflections - working/not working, inconsistent results...

    As my cruiser ship project progresses I noticed that the sea (outside of the liquid container) isn't being reflected on the ship glass, and I subsequently learned this is controlled via the "Off-Screen Margin" under Rendering rollout.

    However, I get very inconsistent/unpredictable ocean reflection behaviour in my test renders, so I tried just putting a chrome sphere and chrome box and hiding my ship. First time I tried I increased Off-Screen Margin % to 100 and the sea reflection in the sphere *seems* to have worked (not convinced it has), but definitely not for one side of my box.

    However, the ship glass reflections still don't work whatever I try.

    It's almost as though the ocean in reflections for glass in the direction of travel of my liquid container are not working and are being ignored

    Furthermore....

    I appreciate that this is hard to tell from some screen grabs and my descriptions, but another problem I also sometimes get is reliability in that I sometimes get partial/incomplete oceans in my renders (i.e. the entire ocean doesn't get calculated and displayed in the render) - I haven't figured out why this happens, but usually if I abort that and do a render from another camera view (in another quad viewport, which also may/may not work) and then return back to my original camera view/quad viewport, that sometimes fixes things and my ocean is 'complete' in the render with no sea missing.......

    Please can you advise (and please note I am using the latest Nightlies from the 29th August).

    Thanks.

    Attached Files
    Jez

    ------------------------------------
    3DS Max 2023.3.4 | V-Ray 6.10.08 | Phoenix FD 4.40.00 | PD Player 64 1.0.7.32 | Forest Pack Pro 8.2.2 | RailClone 6.1.3
    Windows 11 Pro 22H2 | NVidia Drivers 535.98 (Game Drivers)

    Asus X299 Sage (Bios 4001), i9-7980xe, 128Gb, 1TB m.2 OS, 2 x NVidia RTX 3090 FE
    ---- Updated 06/09/23 -------

  • #2
    Hey.

    The ocean is a mesh created in the camera view. There is no way of knowing where the reflections will bounce at pre-render when the mesh is created. The off-screen margin widens the ocean mesh, but it won't make it infinite on all directions, unless you are using a camera that looks in all directions. You should be able to work around that by placing a v-ray plane with a v-ray displacement using an ocean texture and make it invisible to camera rays and only visible to reflection rays.

    The ocean won't render if there is not enough RAM for it to build. You will see an error in the Phoenix log if this is the case (which you can go to from the Phoenix Simulator -> Preferences).

    We are considering implementing and Isosurface ocean that won't have these issues and will use less RAM, but on the downside will render more slowly.

    I'm back at looking at how to equalize the detail between the container and the ocean extension at very low camera angles like you have. I will ping you when I know more, but it might not be fully fixable. This has been already discussed many times in the forums, but in short - the grid container has one poly per voxel, while the ocean extension has one poly per pixel when you use Ocean Subdivs = 1. This is why in the distance the container polys start getting very small related to the pixel size and create this darker, more abrasive look compared to the ocean surface. There was already a change in the nightlies that improves the results for higher camera angles, but at a low angle it's trickier to cheat it.

    Cheers!
    Svetlin Nikolov, Ex Phoenix team lead

    Comment


    • #3
      Hi Svetlin,

      Thanks for the quick response - Just a quick reply, I'll reply more later when I'm free, but for now to say ram isn't an issue, I have 128gb and was monitoring the ram via the Task Manager, it was bubbling around 60gb.

      Yes, I did wonder about using a vray plane and your suggested workaround re reflections would suffice for my needs

      Many thanks for the info also on equalisation of detail between container and ocean extension. I'll keep my fingers crossed it can be solved.

      Please, so that I can plan my time on this project, can you advise on how soon you'll know whether the equalisation issue will be fixable or not ? That was my client and I can decide what to do.

      Many thanks as always
      Jez

      ------------------------------------
      3DS Max 2023.3.4 | V-Ray 6.10.08 | Phoenix FD 4.40.00 | PD Player 64 1.0.7.32 | Forest Pack Pro 8.2.2 | RailClone 6.1.3
      Windows 11 Pro 22H2 | NVidia Drivers 535.98 (Game Drivers)

      Asus X299 Sage (Bios 4001), i9-7980xe, 128Gb, 1TB m.2 OS, 2 x NVidia RTX 3090 FE
      ---- Updated 06/09/23 -------

      Comment


      • #4
        In case there are no unexpected interruptions like yesterday, we'd know by the end of today. In case the news are bad though, not sure yet what workaround could be possible...
        Svetlin Nikolov, Ex Phoenix team lead

        Comment


        • #5
          Originally posted by Svetlin.Nikolov View Post
          You should be able to work around that by placing a v-ray plane with a v-ray displacement using an ocean texture and make it invisible to camera rays and only visible to reflection rays.
          Hi Svetlin,

          Since when the vray displacement modifier has effect on the infinite plane?

          Comment


          • #6
            .or just a regular very large plane if that doesn't work
            Svetlin Nikolov, Ex Phoenix team lead

            Comment


            • #7
              I was asking because on the page regarding the displacement mod it is stated that it should have no effect on a Vray plane.
              I tried myself on a scene and the vray plane is sort of working. Unfortunately the texture is very repetitive and can't really be edited.

              If a very large plane is used like in this tutorial it gets terribly heavy on the RAM (same thing as having a simulator with very high off screen margin and subdivision)
              https://www.youtube.com/watch?v=TFM4uV8GD48

              Comment


              • #8
                Originally posted by Svetlin.Nikolov View Post
                Hey.

                The ocean is a mesh created in the camera view. There is no way of knowing where the reflections will bounce at pre-render when the mesh is created. The off-screen margin widens the ocean mesh, but it won't make it infinite on all directions, unless you are using a camera that looks in all directions. You should be able to work around that by placing a v-ray plane with a v-ray displacement using an ocean texture and make it invisible to camera rays and only visible to reflection rays.

                The ocean won't render if there is not enough RAM for it to build. You will see an error in the Phoenix log if this is the case (which you can go to from the Phoenix Simulator -> Preferences).

                We are considering implementing and Isosurface ocean that won't have these issues and will use less RAM, but on the downside will render more slowly.

                I'm back at looking at how to equalize the detail between the container and the ocean extension at very low camera angles like you have. I will ping you when I know more, but it might not be fully fixable. This has been already discussed many times in the forums, but in short - the grid container has one poly per voxel, while the ocean extension has one poly per pixel when you use Ocean Subdivs = 1. This is why in the distance the container polys start getting very small related to the pixel size and create this darker, more abrasive look compared to the ocean surface. There was already a change in the nightlies that improves the results for higher camera angles, but at a low angle it's trickier to cheat it.

                Cheers!
                "You should be able to work around that by placing a v-ray plane with a v-ray displacement using an ocean texture and make it invisible to camera rays and only visible to reflection rays."

                how can I displace a vray plane? its not possible as far was I know? Im looking for a workaround for the same issue in vray 5

                Comment


                • #9
                  I would also be very pleased if that issue with ocean mesh in reflections gets a real workaround. For, now, I could mostly get around it by raising the off screen margin but , as I said, a solution which works for all cases would be way better.
                  www.mirage-cg.com

                  Comment


                  • #10
                    Wooops, sorry, a regular plane instead of a vray plane, yes.

                    Otherwise, yes, would be good to have the ocean fully automatic.

                    Cheers guys!
                    Svetlin Nikolov, Ex Phoenix team lead

                    Comment

                    Working...
                    X