[tutorial][C] La 3D n°2
Posté le 31/05/2012 00:26
bien, vu que je l'ai proposé et que depuis on me le demande hardiment, je vais tenter en quelques minutes de faire un petit tuto sur les parties le plus obscures de la 3D!
Donc, je répond tout d'abord aux demandes concernant les faces cachées, et pour cella, je m'inspirerais du premier
tuto sur la 3D
Méthode 1 (Basic/C): (marchant uniquement avec des cubes, pratique pour un minecraft par éxemple)
on calcule la possibilité d'apparition des faces par rapport aux vecteurs de rotation du cube (variables contenant les angles de rotation dans le cas présent), si une face ce situe dans les ° (pour la face devant nous, je dirais que s'est a peux près vers rotation sur l'axe Y entre -90 et +90 et entre -90 et +90 de l'axe X) qui lui correspondent, elle est affichée, pour ce qui est des exemples, je les ferais plus tard, je vais bientôt me coucher.
-Méthode 2 (la plus rapide pour le C et l'indispensable pour les objets autres que des cubes, peut servir en Basic) :
Cette méthode est assez proche de la précedente, si ce n'est que l'on ne va pas calculer l'angle de la face, mais l'incidence (droite perpendiculaire a la face).
Pour cella, j'ai un calcul simple mais efficace que j'utilise dans mon
minecraft
qui peut ressembler a sa:
//en C
//en prenant Xn et Yn ou n est le numéro de l'un des points de la face
/*une face a ces points tels quels pour qu'elle soit visible
0---1
|***|
3---2
*/
La_Face_Est_Visible=(((X0-X1)*(Y2-Y1)-(Y0-Y1)*(X2-X1))<0)
pour le basique, remplacez Xn et Yn par vos variable et "La_Face_Est_Visible" dans une variable qui vous permettra de déterminer les faces a afficher
IMPORTANT! mon calcul part du principe que la fenêtre de la calto a Xmin<Xmax et Ymin>Ymax, prenez le en compte!
ce n'est surement pas très clair tout ce que j'ai écrit, mais je l'ai tapé a la va-vite juste avant de me pieuter
si vous avez des questions, n’hésitez pas, je suis la pour sa!
Citer : Posté le 01/06/2012 09:49 | #
j'ai r.i.e.n compris...
I own a graph 3575+.
Citer : Posté le 01/06/2012 17:04 | #
Merci pour ton tuto Limachi !
Seulement, je suis désolé, comme Vdragon, je n'ai strictement rien compris...
Tu me pardonneras certainement mais autant de fautes d'orthographe ne peuvent pas amener à une bonne compréhension du tuto. De plus, j'ai du mal à saisir la structure du tuto et la méthode qu'il faut choisir.
Quels sont les avantages de l'une ? Ses inconvénients ?
En tout cas, c'est une bonne initiative. J'espère de tout coeur que mes quelques conseils pourront t'amener à porter cet intéressant tuto à maturité !
La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Citer : Posté le 01/06/2012 20:28 | #
génial mais ça marche avec n'importe quel polygone?
Citer : Posté le 01/06/2012 21:05 | #
Il y a un tuto ici qui explique bien les bases.
Mais après tout dépend de ce que vous voulez faire.
En basic, c'est vraiment limité, surtout si c'est pour un jeu car les calculs puis l'affichage risquent d'être long.
A mon avis, il faut trouver un moyen de faire de la pseudo 3d, on limitant les rotations et déplacements pour afficher des trucs pré-calculés.
Escape prison
Bloxorz
Free wheel
QR code
Nombre en or
RayCasting Engine
Mario Party
Zelda
et Planète Casio
Citer : Posté le 01/06/2012 21:45 | #
ouf vdragon et Neo vous ma rassurez je croyais que j'étais un total noob en ne comprenant pas le tuto
Jouez à 6 sur une seule calto : Curve Fever
Un die and retry qui vous fera bieeeen rager Test Andropov
un très bon sokoban
le seul vrai jeu de foot en basic : FIFA 12
Ca c'est ce que j'appelle un jeu de reflexion jewel master
Qui vaincra l'intelligence artificielle de cet othello
Le célèbre pacman
Et tant d'autres BTL's games
Le jeu du mois de Novembre et award du jeu le plus dur de l'année 2013 MultiTask, testez-le
Citer : Posté le 02/06/2012 23:06 | #
dsl, je suis trop dans mon monde quand je fais un tuto
heum, comment vais-je faire?
-Avantages de la n°1: fonctionne sur une méthode de pré-calcul, est donc plus rapide mais moins précise, et en plus ne marche (de préférence) qu'avec les cubes (en tout cas, c'est plus simple)
-Avantages de la n°2:utilisant directement l'orientation trigonométrique des faces, elle est nettement plus précise que la précédente, mais a grande échelle, elle est plus lente que la n°1
j'ai tenté de limiter la casse, dsl, mais je pense que c'est plutôt de fautes syntaxiques et logiques dont tu parlais.
Pour la structure? c'est un peux du vrac d'info, je l'ai pas préparé a l'avance, j'aimerais bien le clarifier, bien sur, mais je vais commencer par en faire une version papier en premier (plus facile de réfléchir avec un crayon dans la main qu'avec un clavier )
Quant a la méthode, je conseille la 2ème, mais elle est légèrement plus lente que la première au niveau des calculs
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed
-mon tuto sur les Str
Mes calto: G25+, G75
Mon minecraft en dévelopement
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Citer : Posté le 07/05/2014 11:45 | #
Prend sa pelle et déterre
... Ymin>Ymax t'es sur ?
Il y aurais moyen de le faire avec Ymin<Ymax ?
en inversant par exemple La_Face_Est_Visible=(((Y0-Y1)*(X2-X1)-(X0-X1)*(Y2-Y1))<0)
Ou encore comme ça La_Face_Est_Visible=(((X0-X1)*(Y2-Y1)-(Y0-Y1)*(X2-X1))>0)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Citer : Posté le 07/05/2014 12:29 | #
De toute manière, sur l'écran C, c'est dans ce sens-là.
Et puis en Basic, il est facile de le mettre à l'envers.
Citer : Posté le 07/05/2014 12:33 | #
A ok, mais en C on peux paramétrer le fenêtre ?
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Citer : Posté le 07/05/2014 12:36 | #
Non, c'est pour ça
En gros dans son tuto, Limachi fait comme si la fenêtre Basic était comme celle en C, c'est à dire que le 0,0 est en haut à gauche
Citer : Posté le 07/05/2014 12:39 | #
ok merci, bref, j'ai pas compris grand chose à son truc, quand je teste, j'ai des trucs bizarres
Par contre, j'ai trouvé comment ne pas afficher les face non-visible (en Basic), mais ça ne marche que pour les cubes ou les trucs à moins de points
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)