Effets pour les programmeurs [fermé]


18

Quelqu'un at-il de bonnes ressources pour créer des effets spéciaux, destinés aux programmeurs. Je ne m'intéresse pas spécifiquement aux effets de particules, mais à des choses plus larges comme:

  1. Effets plein écran, flou, profondeur de champ, dommages
  2. Explosions, ondes de choc
  3. Armes, lasers, projectiles
  4. Environnement - la lumière "brille" et les faisceaux, l'eau, les bulles, la poussière, etc.

Je m'intéresse à ces choses d'un point de vue technique plutôt qu'artistique.

EDIT: Pour clarifier, je ne suis pas intéressé par les détails de bas niveau comme "une méthode pour effectuer un peeling en profondeur sur les SPU" ou "un rendu rapide des particules avec des textures de vertex", je suis intéressé par la façon dont les gens ont combiné diverses techniques dans une recette pour montrer un effet spécial pour le jeu.

Par exemple - lors du rendu d'une explosion "spatiale":

  1. Dessinez une sphère lumineuse opaque au centre.
  2. Dessinez une onde de choc alpha autour d'un axe aléatoire.
  3. Développez la sphère et diminuez l'alpha.
  4. Développez l'onde de choc et faites pivoter les UV.
  5. Les particules de spawn se déversent aléatoirement du centre.
  6. Appareil photo oscillant lorsque l'onde de choc atteint la position du spectateur.

3
Votre exemple est définitivement un artiste, pas un programmeur, un domaine. Les programmeurs donnent aux artistes des outils d'animation (généralement une interface utilisateur sophistiquée pour l'interpolation des splines), et les artistes sont ceux qui découvrent "hé, ces splines font une bonne explosion".

J'aime beaucoup ton exemple. Ce serait amusant de voir les gens ajouter leurs propres recettes. moi comme des explosions spatiales.
Dr McKay

Réponses:


6

Je suis un grand fan de beaucoup de choses évoluant simultanément à des rythmes légèrement différents.

Jetez un œil à (fiche éhontée) KØЯ. , un shooter vertical que j'ai écrit un peu en arrière. Je suis assez fier des explosions. Ce sont un tas d'arcs simples (littéralement, j'ai dessiné un cercle dans Gimp, puis j'ai supprimé un cercle décalé, puis l'ai enregistré en .png) tournant autour des trois axes à une vitesse aléatoire, s'étendant à différentes vitesses, ralentir à différentes vitesses et disparaître à différentes vitesses. Tout cela est aléatoire. J'ai juste modifié un peu le caractère aléatoire jusqu'à ce qu'il paraisse bien et je suis parti de là.

Une chose que j'ai commencé à réaliser, c'est que la violation intentionnelle subtile des lois de la physique est impressionnante. J'imagine que nous avons tous vu des anime avec des gens qui sautent des murs ou tombent de dix étages et atterrissent en un instant. Nous savons que ce n'est pas possible, alors notre cerveau l'interprète comme «omg cette personne est si impressionnante qu'elle peut défier la physique».

Les effets d'explosion sont les mêmes. Vous ne pouvez pas avoir une sphère d'explosion en expansion avec certaines parties accélérant et certaines décélérant. C'est un discours fou! Ça ne peut pas arriver! Et pourtant, c'est exactement ce que je fais, alors, bam! C'est génial.

Vous pouvez également - comme vous pouvez le voir à KØЯ. - tirer beaucoup de kilométrage de la "conception stylistique" (lire "le programmeur aspire à l'art donc il fait des monstres qui se composent d'un tas de boîtes colorées") et d'un dessin au trait fantaisie et fleurissant, tant qu'il est cohérent et ressemble à le designer était intelligent au lieu d'être simplement incompétent.

Fondamentalement, cependant, regardez d'autres jeux ou films et voyez ce qu'ils ont fait. Allez jouer à Freeous Space Battles pendant quelques heures. Ou regardez le matériel source de GSB - films de combat spatial, Star Trek et Star Wars, et allez-y. Jouez à des jeux avec des effets impressionnants, regardez des films avec des effets impressionnants, regardez des anime avec des effets impressionnants. Analysez-le à partir de là et découvrez comment simuler le comportement que vous souhaitez.


Agréable. Bon conseil.
Justicle

12

Des exemples de ce genre de choses sont à peu près ce que couvre la série GPU Gems .

Les livres 1 , 2 et 3 sont disponibles gratuitement sur le site Web de nVidia.


1
Bon conseil pour ces livres, je ne savais pas qu'ils étaient tous en ligne maintenant. Cependant, ils ne sont pas tout à fait ce que je recherche, voir la question modifiée.
Justicle

10

Si vous êtes relativement nouveau dans la programmation graphique, la chose la plus importante pour beaucoup d'effets spéciaux est de comprendre le mélange alpha et les modes de mélange en général.

Pour les lueurs, les explosions et les effets de particules, le mélange additif est votre meilleur ami.

Une fois que vous comprenez l'effet de l'ajout ou de la multiplication de couleurs et la façon dont vous pouvez utiliser les canaux alpha, vous êtes bien parti pour créer des effets spéciaux assez décents.

N'oubliez pas que les bons effets spéciaux ne sont pas toujours les effets les plus complexes ou les plus corrects physiquement. Les effets simples peuvent souvent être très efficaces s'ils sont bien exécutés.


Certes, et je suis très familier avec la programmation graphique, je suis simplement curieux de savoir comment d'autres personnes ont combiné toutes ces techniques pour créer des effets spéciaux. J'ai édité ma question ci-dessus.
Justicle

1

Regardez certains des premiers jeux de l'ère Playstation, comme Final Fantasy 7. Étant donné la faible résolution, il est souvent facile de choisir les parties, ou du moins une bonne partie d'entre elles.

Même compte tenu de votre montage, il s'agit toujours d'une question très basée sur l'artiste, probablement plus qu'auparavant. Pour cette raison, il n'y a pas de formule particulière pour une explosion ou autre chose. 10 animateurs différents créeraient facilement 10 explosions différentes lorsqu'ils recevraient la même demande précise.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.