Page 18 sur 48

Publié : ven. 19/juin/2009 17:09
par reno
En fait ce qui m'intéresse avec les sprites, c'est de continuer a faire de la 2D avec des effets moderne que je n'ai jamais utilisé, comme les transparences (eau, éclaires), les rotations, positions Z, effets de lumières (laser qui traverse l'écran), etc. Et utiliser une caméra pour "zommer" ou faire des rotations (comme les aiguilles d'une montre) offre des possibilités immenses ! Voilà, c'est ce qui m'éclaterai de faire !

Publié : ven. 19/juin/2009 18:16
par Jenova
Dans le temps, c'était pas sous purebasic mais je suis sur que équivalent existe aussi dans ce cas, j'utilisais un moteur 2D normal, seulement au lieu de transférer la mémoire tampon (qui servait à stoker l'image finale) à l'adresse mémoire vidéo, je la transférait dans l'adresse mémoire d'une texture destiné à être appliquée sur un simple polygone.
En fonction de la focale de la camera on pouvais calculer les dimensions du polygone et la distance Z qu'il devait avoir pour qu'il remplisse tout le champ de vision de la camera.
Avec ce procédé je pouvais zoomer, tourner, superposer des plans qui bénéficiaient d'effets de transparence et/ou d'une couleur invisible.
Avantage ou inconvénient de ce procédé, le scrolling donnait un aspect un peu baveux, un peu comme une nintendo nes sur la télé, et les zoom bénéficiaient eux d'un lissage qui limite l'effet gros cube (dans turtle in time sur SuperNes les projections d'adversaires étaient ultra pixelisés, avec ce procédé ça serrait un peu plus joli).
Maintenant ce procédé fonctionne bien je trouve pour les jeux retro type Nes, SuperNes, Megadrive et autre vieilles bornes d'arcade, je ne sais pas si c'est dans cet objectif que tu te lance ni même si des procédés plus pratiques ou performants ont étés trouvés depuis dans le milieu amateur.

Edit : J'ai fait un bref tour dans la doc, on dirais que la focale se règle avec la commande iCameraFOV, après pour la création d'un polygone un des premiers exemples inclus avec ce moteur importé t'expliques tout. Reste plus qu'a générer ton image dans une mémoire tampon et la transférer en guise de texture sur ton poly et le tour est joué on dirais.

Publié : ven. 19/juin/2009 18:41
par reno
Il me semble que les sprites font parti de la 3D et que justement ils sont fait pour pouvoir les utiliser avec pleins d'effets. Je pense à DEAD SPACE par exemple, ou toutes les fumées/poussières sont des images en 2D, des sprites donc. Après ça ressemble aux "bilboards", mais je ne sais pas si les effets se traitent comme les sprites. Enfin, je peux me tromper, tmyke pourra peut-être m'éclairer là-dessus :wink:

Publié : ven. 19/juin/2009 20:22
par tmyke
A l'heure actuelle, la gestion des sprites est très limité au niveau de N3XTD. Je le developpe petit à petit.
(encore une ou deux semaines).
Il s'agit de Sprite3D dans un premier temps, donc destiné à s'insérer dans les scenes, comme pour constituer
effectivement par exemple des billboard, ou encore aussi en queue de LOD sur les terrain pour la végétation
par exemples, les particules sont en quelques sorte une extension de l'utilisation de sprite3D.

Les sprite2D, viendront après, il s'agit d'une adaptation vers un environnement 2D des sprites 3D.
Afficher un sprite 2D revient à afficher un quad (2 triangles formant un rectangle) texturé orienté face à la caméra,
en projection orthogonale pour éviter les effets de perspective, et Z-buffer désactivé (donc gestion de l'ordre d'affichage).
Globalement, c'est ça pour résumer et faire court.
On profite donc aussi de tous les effets modernes connu en 3D sur ces éléments, destinés à de la 2D, y compris pourquoi
pas l'emploi de shaders. ;)

Publié : ven. 19/juin/2009 21:12
par beauregard
Jenova a écrit : un peu comme une nintendo nes sur la télé, et les zoom bénéficiaient eux d'un lissage qui limite l'effet gros cube (dans turtle in time sur SuperNes les projections d'adversaires étaient ultra pixelisés, avec ce procédé ça serrait un peu plus joli).
Maintenant ce procédé fonctionne bien je trouve pour les jeux retro type Nes, SuperNes, Megadrive et autre vieilles bornes d'arcade, je ne sais pas si c'est dans cet objectif que tu te lance ni même si des procédés plus pratiques ou performants ont étés trouvés depuis dans le milieu amateur.
avec un sprite3D, pour faire un zoom propre, ben tu prend un image 128*128 que tu affiche en 64*64, et tu zoom jusquà 128*128. Simple mais efficace.

On peut utiliser de grandes images( par rapport à une famicom ce sont des images gigantesques), car nos PC ne manquent pas de mémoire... Pour résumer, avec pb et nos PC, on pourrai refaire tout les jeux 2D des années 90( même de la neogeo) en haute résolution. Voir en 3D cel shading mais en gardant un déroulement 2D de l'action. Le cel shading, voilà du travail en perspective pour notre courageux Tmyke :)

Publié : ven. 19/juin/2009 21:25
par tmyke
beauregard a écrit :... Le cel shading, voilà du travail en perspective pour notre courageux Tmyke :)
Pas tant que cela, en fait le cel-shading (ou encore toon-shading) n'est rien d'autre qu'un petit shader
donc, rien de bien méchant ni de bien compliqué de nos jours ;)

Publié : sam. 20/juin/2009 10:27
par poshu
tmyke, dès que les sprites auront avancés dans n3xt3D, tu m'aura sur le dos, j'ai vraiment l'intention de profiter de la puissance des cartes 3D d'aujourd'hui pour me lâcher en 2D :p

Publié : sam. 20/juin/2009 10:43
par tmyke
Aï, tu met la pression :? mais j'aime ça :D

Publié : sam. 20/juin/2009 14:44
par reno
Merci poshu, on est deux !!!

Bon courage tmyke, et merci encore de tout ce travail :D

Publié : sam. 20/juin/2009 19:04
par tmyke
Petite mise à jour (la 10 ieme).

Les ajouts et améliorations concernent :
- nouveau portail internet (toujours http://www.n3xt-d.org ),
- certains point de syntaxe,
- les Sprites3D qui sont enfin opérationnels,
- ajout d'exemples de postprocessing pour les plus velus.
- renomage des exemples pour s'y retrouver plus facilement.

Les liens sont toujours ceux du post originel. ;)

Travaux en cours:
- la 2D, en particulier les sprites. Le moteur est assez pauvre pour le moment,
donc je fais en sorte que les choses changent. ;)

Publié : sam. 20/juin/2009 19:17
par Backup
Merci :)

Publié : sam. 20/juin/2009 20:43
par Anonyme
je vais regardé ce week-end ou ds la semaine pour compilé sous linux
sinon , les shadows n'ont pas évolué ? pas possible d'avoir de belle ombres sur un terrain ? :)

Publié : dim. 21/juin/2009 2:14
par cha0s
Sympa le nouveau portail !

Cool les Sprite3D. Pour l'instant je suis sur un prototype de jeux pour la japan expo donc j'utilise le moteur de pure pour aller plus vite mais plus tard je testerais le rendue avec Next3D :).

Publié : dim. 21/juin/2009 8:42
par tmyke
Cpl.Bator a écrit :je vais regardé ce week-end ou ds la semaine pour compile sous linux
J'essais demaintenir tant bien que mal le Makefile, mais j'avoue que je ne sais pas ce que cela
donne dans la pratique
Cpl.Bator a écrit :sinon , les shadows n'ont pas évolué ? pas possible d'avoir de belle ombres sur un terrain ? :)
C'est toujours le systeme basic de shadowsVolume natif d'Irrlicht. Il faut passer par des shaders pour
avoir des ombres plus évoluees. Je vais quand meme voir pour pondre un truc plus 'civilise' , c'est une
des grosse lacune de Irrlicht sur ce point. Cela fait partie des points sur lequels je vais plancher cet ete.
cha0s a écrit :Sympa le nouveau portail !

Cool les Sprite3D. Pour l'instant je suis sur un prototype de jeux pour la japan expo donc j'utilise le moteur de pure pour aller
plus vite mais plus tard je testerais le rendue avec Next3D :).
Merci, et j'espere que tu nous tiendra au courant concernant ce projet ;)

PS-> SINON, desole pour les accents, je suis avec mon tel portable, car je n'ai plus de NET depuis hier soir,
et je ne sais malheureusement pas quand cela reviendra, et c'est certainement pas un dimanche que cela
va etre corrige. :?

Publié : dim. 21/juin/2009 9:54
par poshu
Merci de l'effort déjà.

Par pure curiosité, quelle téléphone portable utilises-tu?