couldn't find a duplicate question (bit surprising to me) but anywho I'm starting to get near implementing the rendering of projectiles for my game.
My question is what are some good techniques for efficiently rendering projectiles? I would like emphasis on techniques that leave room for the projectiles to be "rich" and dynamic (Cool to look at!)
I'm also using DX11 for my rendering engine so bleeding edge techniques that can make use of that would be much appreciated too.
Thanks!
Answer
(I'm going to assume you are talking about a 3D game; if you mean a 2D game then you should specify that in your question.)
Different kinds of projectiles necessitate different approaches to visualizing them, with the three main kinds being: use a 3D model to represent the projectile (eg. a missile in an FPS), use a billboard sprite to represent the projectile (eg. a laser in a space sim), or use a particle emitter to represent the projectile (eg. a magic blast in an RPG).
Using a model for the projectile is pretty straightforward. Simply make a 3D model of the missile or whatever and move that model through the air when the weapon is fired. Often you actually combine this with a particle emitter to do, say, the flame exhaust of a missile, although shots like arrows from a bow would be just a 3D model with no particle system.
Using a billboard sprite is similar to using a model, but instead of a full 3D mesh the projectile is only a single quad. Apply a picture of the projectile as the texture on that quad. Sometimes the quad is stretched from gun to target (eg. a laser). If the projectile is something like an energy ball then the sprite is usually set to face the camera completely, but if the projectile is a laser then you want to set the sprite to rotate toward the camera around its long axis and not on either of the other axes.
Using a particle emitter for the projectile requires you to first implement a particle system in your game. With the particle system in place, spawn an emitter (ie. the point the particles emit from) at the weapon and move the emitter through the air to the target.
No comments:
Post a Comment