Jump to content

  • Log In with Google      Sign In   
  • Create Account

How is the elongated light beam/tentacle effect achieved?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
5 replies to this topic

#1 OpaqueEncounter   Members   -  Reputation: 155

Like
0Likes
Like

Posted 09 June 2014 - 01:56 PM

Question's simple, how (what techniques or combination of techniques) are the elongated beams of light (pointed out by red arrows) in the screenshot from DOTA 2 achieved? The fire light (green arrow) is obvious, that's just a bunch of particles, but what about those dynamic (they twist and turn) beams of lights.

Attached Thumbnails

  • 1.jpg


Sponsor:

#2 3DModelerMan   Members   -  Reputation: 1071

Like
2Likes
Like

Posted 09 June 2014 - 01:59 PM

I would assume they're just a tesselated textured strip of triangles animated with some sort of sin() or cos() function in the vertex shader.



#3 Kaptein   Prime Members   -  Reputation: 2180

Like
1Likes
Like

Posted 09 June 2014 - 02:41 PM

Spoiler

 

Nevermind, as he said, it's probably just textured. It makes sense now that I think about it.


Edited by Kaptein, 09 June 2014 - 02:43 PM.


#4 Kryzon   Prime Members   -  Reputation: 3314

Like
4Likes
Like

Posted 09 June 2014 - 04:58 PM

Most of the time it's much simpler than we imagine.
I think it's static geometry with an animated texture (procedural or pre-rendered as a looping sequence of frames) that is moved with the texture matrix so that it slides along the geometry.
The vertices at the end of the geometry strips have zero alpha, so the effect disappears into the air.

You should check Simon's blog on visual effects for games. It's fascinating: http://simonschreibt.de/game-art-tricks/

If you're bent on finding exactly what makes that particular effect, there are API-hook applications that can capture a single frame's worth of geometry and texture in a game, though the use of these might be less than reputable (i.e. keep it to yourself):
- http://www.deep-shadows.com/hax/3DRipperDX.htm
- https://code.google.com/p/glintercept/
- http://apitrace.github.io

#5 OpaqueEncounter   Members   -  Reputation: 155

Like
0Likes
Like

Posted 10 June 2014 - 09:46 AM

Most of the time it's much simpler than we imagine.
I think it's static geometry with an animated texture (procedural or pre-rendered as a looping sequence of frames) that is moved with the texture matrix so that it slides along the geometry.
The vertices at the end of the geometry strips have zero alpha, so the effect disappears into the air.

 

So that's essentially an animated spritesheet on a quad? That seems plausible, but also potentially expensive to render. Some of those animations are pretty detailed and long.

 

In any case, I am going to give this a shot.



#6 Kryzon   Prime Members   -  Reputation: 3314

Like
1Likes
Like

Posted 10 June 2014 - 03:49 PM

If you can't afford the memory cost of an animated texture, a simple trick that you can start with is having two texture units applied to that geometry strip, each texture unit being translated at a different speed and direction. The actual image used can be the same for both units, a smooth, wavy grayscale pattern.

In the fragment shader you sample both units and colour the fragment based on the mix of them, with an expression that results in that visual and colour. The result is a rich, dynamic effect.
Based on this: http://www.gamedev.net/topic/614608-specular-highlights-on-water/#entry4881841




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS