2
\$\begingroup\$

I would like my background made of the same tiles as my foreground but with a filter which makes it appear further away from the camera.

Making the objects smaller is easy, I just have to decrease the scale of the tilemap.

But I also want it to have a "fog effect". So for example if the sky is blue then the tiles will be as blueish as far they are from the camera.

How could I implement this?

Example for fog effect:

enter image description here

\$\endgroup\$
3
  • \$\begingroup\$ Are you talking about a 2D sidescroller just like in the image? Or a 3D one? \$\endgroup\$
    – TomTsagk
    Jul 24, 2018 at 11:25
  • \$\begingroup\$ 2D, just like in the image. \$\endgroup\$
    – Tudvari
    Jul 24, 2018 at 13:23
  • \$\begingroup\$ What's wrong with making the background actually further away and applying a fog effect? \$\endgroup\$
    – clabe45
    Jul 25, 2018 at 18:15

1 Answer 1

3
\$\begingroup\$

If you are only interested in 2D fog, you can simply change the color of the background sprites so it looks like it is behind a fog. In Unity, you can simply change the color of the Image component, or the color of the material (depending how you are drawing them).

For example, try adding a dark grey color to it.

This has the disadvantage that you can't apply light-colors, as white means use the Texture's original color. Instead, you can make a trick shader-wise, if you feel comfortable with that, simply making pixels of an object whiter than they should, the further away they are from the camera.

\$\endgroup\$
4
  • \$\begingroup\$ This is a very elegant solution for dark colors. Thanks! \$\endgroup\$
    – Tudvari
    Jul 24, 2018 at 17:07
  • \$\begingroup\$ Doesn't Unity support other blend modes? Screen or multiply the background layer by a constant to get a good fog look. \$\endgroup\$
    – rebusB
    Jul 24, 2018 at 21:13
  • \$\begingroup\$ @rebusB multiply is the default I think, that's why if you put all white, all colors will have the value 1f so the texture keeps its original colors. I'm not sure if it's possible to do addition, which would support white as well, that's why I suggested a custom shader, so the user can have total control \$\endgroup\$
    – TomTsagk
    Jul 24, 2018 at 21:30
  • \$\begingroup\$ Right! Blend modes are pretty core to shader code... Turns out the article I was reading on Unity Blend Modes was plugging a plug-in so crafting shaders would be the way to go. \$\endgroup\$
    – rebusB
    Jul 24, 2018 at 21:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .