Announcement

Collapse
No announcement yet.

Is this possible

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

    Is this possible

    Hi,

    I'm trying to make a mesh not render past another one, here is an example of what i'm trying to avoid

    Click image for larger version

Name:	waterplane.jpg
Views:	1
Size:	481.2 KB
ID:	1142078

    I was thinking that the only way this could be possible is with some sort of sorting priority, like always having the boat drawn over the water

    Is an effect like this possible with UE4?

    #2
    Here is another example

    Having let's say a water plane and a sphere, and not have the plane visible through the sphere

    Click image for larger version

Name:	tritonsub.jpg
Views:	1
Size:	384.0 KB
ID:	1064282

    Comment


      #3
      You could make a depth mask post process. Like making a hidden object the shape of the body and use that to hide the water.
      Last edited by Errvald; 12-18-2014, 07:45 PM.

      Comment


        #4
        Thanks Errvald, very interesting suggestion

        I have never done anything like that before so i'll have to do some looking around, let me know if you have interesting links

        Comment


          #5
          You can start from here: https://docs.unrealengine.com/latest...als/index.html

          Can't help you more though, never done this before.

          EDIT:
          Tom Looman (also posts on this forums) might be able to help you since he's done similar custom depth materials. example:
          http://www.tomlooman.com/the-many-us...h-in-unreal-4/
          Last edited by Errvald; 12-18-2014, 08:11 PM.

          Comment


            #6
            Thanks for your help, really appreciated

            Comment


              #7
              I have managed to get this effect but as you can see all the water gets blocked behind the glass sphere and not just inside of it, also it wouldn't have worked if my water plane wasn't translucent

              Why do i always pick the complicated stuff

              Click image for larger version

Name:	Glassbubble.jpg
Views:	1
Size:	256.1 KB
ID:	1064287

              Comment


                #8
                That's ok for the boat though right?

                Comment


                  #9
                  It should, also the boat is not my main concern as i can easily avoid it by tweaking the buoyancy, i used the penetrating wave scenario as an example

                  The main concern is really having a submarine or a diving suit going underwater and not having the water surface, fog and particles inside the vehicle

                  Comment


                    #10
                    Pixeldepth or Scenedepth opacity masking in the material may be a solution for when you are inside the submarine or the diving suit.
                    FREE VR Drum Kit Project
                    FREE Color LUT Collection
                    FREE Physics Driven Spacecraft Project
                    FREE GTA Style Vehicle Interaction
                    Dynamic DoF(Depth of Field)
                    Camera Crossfade

                    Comment


                      #11
                      Another approach would be to handle this inside the water material. If you transfer the center location and radius of the sub's glass sphere you can easily calculate the area that needs to be masked.

                      Click image for larger version

Name:	OceanMasking.jpg
Views:	1
Size:	147.4 KB
ID:	1064295

                      Pros:
                      - Cheap
                      - Works in all cases (inside, outside, etc.)
                      - Works with both transparent and opaque materials.
                      - Same method works for your particles and other stuff that should not show up inside

                      Cons:
                      - You have to know the number of objects that can cause masking ahead of time and each one will adds a few instructions to the shader (so only use it if you have a small number of "hero" objects)
                      - Only works with shapes that can be easily mathematically defined (spheres, capsules, boxes, etc.)

                      Comment


                        #12
                        Thank you so much Jacky and Arnage for the suggestions this is really appreciated

                        I have thought about masking the object through the water material directly, i was trying to find a way to calculate the bounds of the object and send that to the opacity but i couldn't figure it out, if only there was a way to calculate the bounds and transform of the shape and sent that to the material

                        Arnage, interesting, while this seems a bit limited with the shape i could give it a try and model the diving suit/submarine for this to work well enough, you mention "transfer the center location and radius of the sub's glass sphere", i see that you use a constant4 for the location, would this work only for a static mesh our could this location be dynamic?

                        Thanks again

                        Comment


                          #13
                          Jacky, i'd like to hear more about your suggestion, are you saying that i should calculate the scene depth in order to know the distance between the camera and the submarine mesh from the inside and mask that out?

                          This will all take place from the interior only and the vehicle will be dynamic

                          Comment


                            #14
                            Originally posted by KhenaB View Post
                            Arnage, interesting, while this seems a bit limited with the shape i could give it a try and model the diving suit/submarine for this to work well enough, you mention "transfer the center location and radius of the sub's glass sphere", i see that you use a constant4 for the location, would this work only for a static mesh our could this location be dynamic?
                            Those aren't constants, they're parameters. Which you can easily update from a blueprint to make the hole follow the location of the sub.

                            You are indeed constraint a bit with the shape. However, you only need the transparent parts to line up, if you have opaque hull parts the edge just needs to end up somewhere inside the thickness of the hull, which should allow for some more freedom in shape. Additionally you can also use some extra instructions to create a more complex shape.

                            Comment


                              #15
                              Ah, i'm familiar with parameters, i work with material instances, for some reason i had forgotten parameters can be accessed in blueprint

                              I want to give your method a try, what would be the easiest way to calculate the bounds of each parts of the object, the sphere shape seems quite simple but let's say the helmet isn't perfectly round, would this have to be an equation done in the material editor with trial and error until the mask matches the mesh?

                              Comment

                              Working...
                              X