No announcement yet.

Really Weird Material Problem -- Help!

  • Filter
  • Time
  • Show
Clear All
new posts

    Really Weird Material Problem -- Help!

    My team and I have a game where a player can change the world between a technological future and a pastoral past. In order to give the player some good visual feedback, we created two kinds of materials to place on our objects in game -- one that dissolves between two materials (meaning something is wood in the past and metal in the future) and another material style that dissolves to 0 opacity, meaning the object will disappear on the world toggle.

    For the most part, it's really successful and looks great. Occasionally, however, we get a really odd problem, which is particularly apparent in this puzzle:

    On top, you'll see the Detail Lighting of the map, which shows how it ought to be constructed. Below, you can see the Lit mode, showing some materials vanishing behind others.

    Note how the railing on the top right platform vanishes, but only into the ceiling, and it's actually visible in front of the floating picture (an Easter Egg in our game) but not around it at all.

    The water plane, on the bottom right, is not using a vanishing material, but is translucent. However, the wall uses a vanishing material, and appears to supercede the water when rendering.

    In the top right, a yellow pressure pad (like the one on the far left) vanishes completely into the ceiling.

    This only happens with our vanishing material, not the swapping material. Here's the material tree for the vanishing material:

    We're not really sure what this is caused by. We assume it has to be something in the Opacity settings. Does anyone have any idea how to fix this problem? It's not an issue in the editor so much, as flickering is pretty common with these weird swapping textures we have, but when it shows up in game it creates an inexcusable problem.

    It has to do with how game engines handle translucency and the order in which transparent objects are rendered. I don't know much about it, but normally all translucency is done in a single pass which causes transparent objects to dissapear into each other. In the rendering options of your objects you can specify the translucency sort priority which determines the order that the engine draws them in. You can also specificy seperate translucent passes in the material editor. Doing some of these things cause the drawcalls in the engine to go up and degrades performance, you have to read up on it in the documentation.

    Although your game may look very basic, translucency, especially non masked translucency is one of the biggest resource hogs in UDK.


      Your screen shot cleverly hides what kind of material and the lighting model you're working with. You can occasionally fake lighting pretty well with unlit materials, as opposed to trying to use the translucent material type try swithing it to additive and MLM_Unlit. If the problem is fixed just work on faking the lighting.


        Hey, guys. Thanks for replying!

        We managed to solve our problem. We were using a Translucent blend, but when we switched to Masked blend and plugged the opacity bits into the Opacity Mask channel, everything began to work perfectly, and we've had no problems since.

        Solved! Thanks for the help.

        And HellClown -- sorry about not showing my lighting modes; the onscreen keyboard was covering it (I'm using a Macbook and have no PrntScrn to hit) so I edited it out of the image, and forgot to put it into the text. Apologies.


          I've had to do something similar.

          -open the material, under the Lightmass section of the material check Cast Shadow as Masked (I think that's what it is) that will render lighting on the object like normal.

          -under translucency, check Use lit Translucency Depth Pass