Sprite: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
(→‎Creation: Transparent sprites!)
Line 33: Line 33:
** the sprite exists only briefly, is NotSolid, ... player cannot inspect it too closely.
** the sprite exists only briefly, is NotSolid, ... player cannot inspect it too closely.
* [[SPR]] file format...
* [[SPR]] file format...
* If using a texture that is intended to be transparent, the texture size ''must'' be 128 x 128.  Transparency can be achieved using alpha or by using a black background layer behind a translucent layer in Photoshop
** To test: if the engine translates all RGB values of (x,x,x) into a transparency, assumed that it does.
* VTF: [[Vtex compile parameters]] "clamps", "clampt". note: [[env_sprite_oriented]] #angles ...
* VTF: [[Vtex compile parameters]] "clamps", "clampt". note: [[env_sprite_oriented]] #angles ...
* VMT: [[Shaders_in_Sprites\]]
* VMT: [[Shaders_in_Sprites\]]


[[Category:Level Design]]
[[Category:Level Design]]

Revision as of 07:27, 6 September 2010


In source, a Sprite is a rendered world object with some very special geometrickery. The sprite itself is a (static or animated) 2D image that looks 3D when viewed Normally (ie perpendicular to its surface). The trick is to make sure the player always views the sprite normally; which usually means rotating the sprite about its origin so it is always facing the Player. Obviously in multiplayer this rotation in World would not work, so the sprite is rotated only in the Player View.

Although their usefulness is severely limited, sprites are significantly "cheaper" to render than models or brushwork, and can also achieve convincing effects that would be impractical to model in 3D.

  • Lighting: Sprites cannot cast or receive any kind of shadows, nor reflect cubemaps.
  • Physics: Sprites cannot be Solid to anything.

Sprite entities

Placement

Todo: ... general usage guidelines ... configuring sprite entities in Hammer.

Creation

Todo: ...guidelines/checklist for designing & implementing sprites.
  • Design guidelines.
    • the image inside the sprite already depicts a three dimensional object;
    • the animation is constantly changing or depicts rotation;
    • the depicted object has a similar appearance from many common viewing angles (such as something spherical);
    • the viewer accepts that the depicted object only has one perspective (such as small plants or leaves).
    • the sprite exists only briefly, is NotSolid, ... player cannot inspect it too closely.
  • SPR file format...
  • If using a texture that is intended to be transparent, the texture size must be 128 x 128. Transparency can be achieved using alpha or by using a black background layer behind a translucent layer in Photoshop
    • To test: if the engine translates all RGB values of (x,x,x) into a transparency, assumed that it does.
  • VTF: Vtex compile parameters "clamps", "clampt". note: env_sprite_oriented #angles ...
  • VMT: Shaders_in_Sprites\