Recent GPU FX Tests:
These FX (including the lens flares) are done with GPU Particles- lots of math in a node based editor, similar to unreal's Niagra. Early on, Our particles tended to clump with an uneven frame rate (as seen in the jets) until we figured out how to make them deterministic. The art director asked that most of the particle systems in this project not be textured, for rough-in graybox purposes. These are some of the examples that were more polished. This map is my greybox test map, with some props added for reference. Nate Castranovo created the vegetation and the lander, Ben Freedman did the character animation and Ron Harvey did the Lander animation.
We actually didn't have a lens flare system, so I wrote one in type-script. The lens-flare system is in camera-space, and would position and fade based on an objects position in the camera matrix. Took a good bit of math, and I'd certainly planned on it being replaced by our programmers with something better engine-side, but this was done to help push our scenes a bit more. I'm doing a ray trace between the camera and the effect, so collision objects can obscure it over several frames.
Lens flare with god rays in camera space. Prototype for the sun in the landscape below.
Nate Castronovo put together this scene. I was responsible only for the low and mid-level atmospherics and sun effects.
My test map. Playing rigid body dodgeball in a minefield. These are blockout explosions and tracers done with GPU particles. Created the 'minefield' using Type-Script. It was requested that all effects just be blockout at this point, and my goal was to create a dynamic scene with a sense of action, even with a bunch of squares.
Grappling effect using GPU particles and typescript.
Example of the flow graph required to make GPU particles-- All position info is updated based on time and some high-school math and physics. This graph would be used for a basic explosion emitter.
Example of a looped deterministic graph used to make waterfalls. This isn't frame-based so an uneven framerate won't cause particle clumping. If you know the time, you know exactly where each particle will be.
Guild Wars 2: Path of Fire FX:
So the Kralkatoric Dragon Model was actually bigger than the skybox. There was no way to fade him in or out using alpha, as it would sort badly. So the trick was to make him fully opaque, and put the lighting and the fog in the shader itself. The fog is actually flow-mapped over the model, so much less particles are needed to hide him, and he receeds and fades into the fog color with distance. You can see him dissolve in and out if you look carefully, but it worked well as a rushed solution. Ronald Kury created the Model and textures. I believe Ron Harvey and Scott Dickey did the creature animation.
This is the beginning of the Death of Balthazar sequence. Brian Walter did the Character Skeletal Animation. Character Modeler is unknown. I wrote the tools used to animate the actual mesh destruction in Maya, as well as create the fx and destruction sequence.
This was R&D. I usually use geo for tornados, but had the idea of dong some vector math to get the particles to be 'lit' from within and even a bit of back and side lighting. We eventually brought in other artists to finish the tornado with geo, while I worked on the energy.
This is the final cinematic, put together by Martin Bartsch. The Hand fx are grabbed from elsewhere. I did the energy fx in addition to the fx shown previously. James Showecker did the Tornados and storm shown in the last shot, and Artem Sorokin did the tornado seen from above in the middle shot.
This shows the development of some of the FX for the Revenant skills. Illustrations done by other artists- I just animated them and created the fx and shaders.
One of the FX for the Necromancer skill- supposed to be a harnessed lost soul. Supposed to be creepy.
Basic Casting FX
Guild Wars 2 Path of Fire Elite Specs:
These are videos created by Mark Katzbach and the ArenaNet Marketing department featuring the Elite Specializations I worked on. As these were player skills requiring a player, they usually worked in teams to get the footage, with one person playing on a computer, and another person recording on a different computer. Camera was placed at a much lower angle than regular gameplay and emphasizes the character and environments:
Firebrand Elite Spec - youtube
Mirage Elite Spec - youtube (Christina Barton-initial look dev on fx)
Spellbreaker Elite Spec - youtube