Home Technical Talk

Megascans for Parralax Occlusion in Unreal 5

Asim7
polycounter lvl 9
Offline / Send Message
Asim7 polycounter lvl 9
I grabbed a material from Megascans, it has a albedo, normal map and a texture with 3 channels.
Red = AO
Green = Roughness
Blue = Displacement / Height ?
I want to use the last texture for Parallax Occlusion but I can't seem to make it look right.

In the Heightmap channel(V4), I keep hearing it should be set to Red for X direction?
I assumed I would have to make it blue? Since the displacement map is in the blue channel of the Texture i'm using. Which one would be correct here? 

Replies

  • Fabi_G
    Offline / Send Message
    Fabi_G high dynamic range
    Hi! If height is packed in the blue channel, yes, the Heightmap Channel parameter should be 0,0,1,0.  

    That aside, you should verify what information is packed into which channel. Should be able to preview the different channels inside Unreal. Could pack yourself to be sure. I believe a common packing for Unreal is ORM (Occlusion, Roughness,  Metalness).

    Best include more information/images (channel, what does result look like). Could check documentation, if you haven't already, and inspect sample content.
  • Asim7
    Offline / Send Message
    Asim7 polycounter lvl 9
    Fabi_G said:
    Hi! If height is packed in the blue channel, yes, the Heightmap Channel parameter should be 0,0,1,0.  

    That aside, you should verify what information is packed into which channel. Should be able to preview the different channels inside Unreal. Could pack yourself to be sure. I believe a common packing for Unreal is ORM (Occlusion, Roughness,  Metalness).

    Best include more information/images (channel, what does result look like). Could check documentation, if you haven't already, and inspect sample content.
    Yea, I usually pack it as ORM as well. Im in the start of a project so I'm using megascan textures just so I can have some temporary lookdev going.
    It seems to have a AO map in Red, a roughness in Green and a heightmap in Blue.

    But when I add the blue channel it looks completely wrong, it's like it's tiling the UV / adding more bricks instead of doing parallax occlusion. Seems to work fine with red channel, just no clue what it's using.. i'm assuming for some reason it's using the AO map.

    It looks like when blue channel is on, it's pushing the entire texture back so it looks like it's tiling.

  • Fabi_G
    Offline / Send Message
    Fabi_G high dynamic range
    Yes, looks like displacement and the naming ORD suggests so too.
    Maybe try setting the reference plane to 0.5, so the parallax goes equally inwards and outwards.
    Looks like there was once a sample project, maybe it's still available so you can take a look. There is also an old documentation entry. I think the benefit of using POM also depends on the surface. If it has little depth to begin with, it won't do much.
  • Asim7
    Offline / Send Message
    Asim7 polycounter lvl 9
    Fabi_G said:
    Yes, looks like displacement and the naming ORD suggests so too.
    Maybe try setting the reference plane to 0.5, so the parallax goes equally inwards and outwards.
    Looks like there was once a sample project, maybe it's still available so you can take a look. There is also an old documentation entry. I think the benefit of using POM also depends on the surface. If it has little depth to begin with, it won't do much.
    Great idea on the reference plane, setting it to 0.5. However, it was not the solution.
    For some reason it keeps looking wrong if I set it to the blue channel, theoretically it makes sence that it'd be the blue channel but it seems only red channel works and looks ok  :o

    As you can see, it's like the entire plane is pushed down bellow the curb on blue channel with barely any POM going on. I guess i'll just keep using the red channel for now, until I figure out what can be done. Thanks for the info and the links :smile:
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    erm
    is the plane moving? why is the plane moving?  POM is not for displacing things, it just messes with UVs
    maybe it's just perspective


    There's not much range in that height texture - you'll need lots of samples or to run autolevels on it
       
  • Fabi_G
    Offline / Send Message
    Fabi_G high dynamic range
    Strange. Here is a quick test with a POM material as described in the old unreal documentation entry posted above (Heightmap Channel - blue, reference plane - 0.5), with some default Megascans texture sets assigned:

    edit: ah, you're probably using Pixel Depth Offset.
  • Asim7
    Offline / Send Message
    Asim7 polycounter lvl 9
    Fabi_G said:
    Strange. Here is a quick test with a POM material as described in the old unreal documentation entry posted above (Heightmap Channel - blue, reference plane - 0.5), with some default Megascans texture sets assigned:

    edit: ah, you're probably using Pixel Depth Offset.
    Sorry for the late responce, but yes I have two shaders, one with and one without Pixel Depth Offset. Dosn't seem like either of them work as intended though, at least not with the blue channel. I'll keep looking into it, for now the red channel seems to work for some reason.

    I'm assuming since your test was also using megascan textures that we have the same type of heightmap in blue channel, do you mind perhaps showing me your shader graph for the Parallax Occlusion? Here is mine, with the pixel depth offset.
Sign In or Register to comment.