Friday, August 9, 2013

Company of Heroes - Shaded Smoke


This article moved to its own webspace! You can follow him by clicking this:

10 comments:

  1. I don't know how Relic did it in CoH, but one way to do this is to only calculate the lighting for the four corners of a particle quad with normals bend away from the particle center and interpolating instead of lighting them per pixel. This is quite a bit cheaper and although it will smooth out the details in the lighting that is often beneficial in the case of smoke.

    Two games that use that technique to light their particles are Bioshock and Shadow of the Colossus. If it was even possible on PS2, Relic might have done something similar.

    ReplyDelete
    Replies
    1. What confuses me is, that not all particles are lit the same way. They all point at you and have more or less the same orientation. But sometimes the "shadow" clearly is stronger on the one side.

      Delete
    2. Here's an idea how it might be possible to achieve that effect:

      https://dl.dropboxusercontent.com/u/3284052/ParticleShading.jpg

      On the left is regular flat particle with normals pointing forward. In the center the normals are bend out from the particle center to achieve the effect I described before. Finally on the right I instead bent the normals away from the particle-systems center. This way you get a more clear light and shadowy side to the whole system. Maybe they did that?

      Delete
    3. To use the whole particle system is a nice idea! Could be possible. Or, like eRiC said (below) it's made for every particle and since they overlap, an effect like this would be possible.

      Other suggestions can be read in the polycount thread: http://www.polycount.com/forum/showthread.php?t=115889&page=12

      Thanks for thinking about this and posting the image from your dropbox :)

      Delete
  2. the gif is not one sprite only is it? At least 2 I'd think. CryEngine has a similar feature. There you can say hov much a particle sprite bulges towards the cam. works without bumpmap too.

    ReplyDelete
    Replies
    1. Really? I should work with the CryEngine some times :) Thanks for your comment!

      Delete
  3. This comment has been removed by the author.

    ReplyDelete
  4. FWIW, we broke the lit quads into 4 triangles (pyramid) and bent the outside normals away. The lighting is a combination of the directional sunlight and an ambient colour. Quite manageable on good hardware in 2006.

    ReplyDelete
  5. If you want to know how the relic fx system works we did a presentation about it at the 2012 Korea Game Conference, you can find the full presentation slides here:

    http://www.slideshare.net/proyZ/relics-fx-system

    ReplyDelete
    Replies
    1. First: Thank you so much for writing the comment! It seems you're a Relic-Dev and every comment is a honour for me but a Dev-Comment mostly brings a mass of knowledge with it. Really cool!

      Second: Thanks for this link! It's awesome! Really interesting how genius your Fx System is.

      Delete