CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[3D] pesanteur

vlag67
vlag67
Niveau 8
28 juillet 2006 à 20:18:06

Salut!

Après avoir posté mon début de demo zelda fait avec blender, je voudrais refaire le système "pesanteur" (je ne sais pas comment on apelle sa exactement) pour virer les petits "sursauts" qui genent pas mal :p) (cf [demo] zelda 3D 1;5)

Donc la solution que j´avais avant pour faire suivre les inégalitées de terrain à link, était de mettre 5 cube parenté a link, a différente hauteur, et de mettre 5 conditions "si cube1 touche le sol, alors link monte de 10 pixels", "si cube2 touche le sol, alors link monte de 5 pixels" etc... (pour finir avec un -20 pixel)

Donc cette solution provisoire marchait bien, mais bon quand link monte de 10 pixels d´un coup, sa se voit. Et je me vois mal faire une 20ene de cube pour avoir un résultat plus fluide :p)

Quelqu´un aurait-il une solution (sans cubes de préférence :p) ) ?

Merci d´avance

Lapintade
Lapintade
Niveau 30
28 juillet 2006 à 20:24:54

Je vois pas trop le rapport avec "pesanteur" (= force qui tire un objet vers le bas). Tu peux detailler ?
Quand tu parle d´inegalité de terrain, tu veux dire que ton terrain n´est pas "lisse", il a des irregularité ?

vlag67
vlag67
Niveau 8
28 juillet 2006 à 20:31:07

Le problème est que justement, je ne sais pas comment sa s´apelle :-d

Ce dont je parle, c´est de faire en sorte que link suive le terrain : si le terrain est une pente montante, link va monter en avançant, et inversement...

Par irrégularité je veux justement dire que le terrain n´est pas plat, il a des pentes un peu partout, contrairement à l´eau par exemple

Lapintade
Lapintade
Niveau 30
28 juillet 2006 à 20:36:36

Ok je vois.

Le probleme principale est de savoir si tu peux connaitre la hauteur de ton sol a un point donné.

vlag67
vlag67
Niveau 8
28 juillet 2006 à 20:47:46

Exact, à partir de sa, tout deviendrait plus facile (c´était d´ailleur l´utilité et le principe des cubes, mais pas précis du tout :p) )

Donc y aurait-il un moyen de connaitre la position du sol sur l´axe Z de facon plus précise (meme si c´est une solution "maison" :p) )

Lapintade
Lapintade
Niveau 30
28 juillet 2006 à 21:01:43

Ben je sais pas tu programme avec quoi ? il est fait comment ton sol ?

Lapintade
Lapintade
Niveau 30
28 juillet 2006 à 21:05:53

J´ai regardé le sujet "zelda 1.5", tu utilise donc blender, c´est ca ?

vlag67
vlag67
Niveau 8
28 juillet 2006 à 21:38:33

oui blender, mais au pire il y a une api python dessus donc... :-d

le sol est juste fait avec un mesh, tout en un :p)

1aragorn
1aragorn
Niveau 10
28 juillet 2006 à 22:23:31

tu peut pas faire une condition qui pousse ton maillage de -xx dans l´axe Z (je croit que c celui du mileu dans GameBlender) ce qui fait qu´il ya tjr une force qui tire ton modele Vers le bas,et si il saute(monter de 10 unites vers le heut par ex) tu sera sur qu´il retombera.

grayfoxdie
grayfoxdie
Niveau 8
28 juillet 2006 à 22:53:18

pourquoi tu veux refaire un systeme de pesanteur?

vlag67
vlag67
Niveau 8
28 juillet 2006 à 23:01:41

1aragorn :d) ah ouais pas con, faudra juste voir si blender fait bouger les objets dès qu´il recoit un ordre, ou s´il fait d´abord le calcul final des pixels a changer avant de faire bouger les objets (sinon le resultat sera pareil : il y aura des sursauts)

grayfox :d) En fait j´ais jamais utilisé le moteur par defaut de blender (trop de bug en collision sur les murs), donc j´en avais fait un moi-meme provisoirement. Là je le change pour justement corriger les défauts de ce moteur provisoire :p)

Lapintade
Lapintade
Niveau 30
28 juillet 2006 à 23:35:47

Je connais pas blender, desolé je peux pas aider plus. :(

vlag67
vlag67
Niveau 8
29 juillet 2006 à 13:46:58

Lapintade :d) pas forcement me dire quoi faire puisque tu ne connnais pas, mais juste me donner une piste, un truc théorique quoi :p) (comme 1aragorn, il a donné une solution sans rentrer dans les details de blender)

1aragorn :d) en fait en réfléchissant, cette solution reviendrait à celle des cubes, parce que au lieu de faire +10 pixel (par exemple), on va faire +10 -3, soit +7 (toujours par exemple ^^)

godrik
godrik
Niveau 30
29 juillet 2006 à 14:02:45

J´ai envie de te dire que si tu es au contact de ta surface
l´axe ´hauteur´ de ton bonhomme doit etre dans la direction du vecteur normale a la surface.

Lapintade
Lapintade
Niveau 30
29 juillet 2006 à 15:13:03

Ben si on parle de la theorie, les deux solution que je vois pour resoudre ce probleme sont :
- Calculer la hauteur du sol au niveau des pieds du perso (un seul point) et positionner le perso en consequence (a chaque tour de boucle). Je fais comme ca dans mon jeu
- Si le moteur fait les collision lui meme, n´utilise pas ton perso graphique pour faire la collision avec le sol, mais remplace le par une sphere ou meme deux sphere (une au niveau de chaque pied ou chaque jambe) et hop.

1aragorn
1aragorn
Niveau 10
29 juillet 2006 à 16:56:08

tu peut utiliser un script python pour pousser ton perso tjr vers le bas. c´est fun,sympa et accesible le python, et si tu te focalise sur blender ,c´est encore plus symple.puisque tu n´usera que de 60% du python.

vlag67
vlag67
Niveau 8
29 juillet 2006 à 18:51:18

1aragorn :d) j´utilise un peu python, mais juste pour des gestion de variable d´un scene a une autre :p) (sinon je maitrise pas du tout)

Lapintade :d) la premiere solution marcherait bien, mais on peut pas calculer la hauteur du sol par rapport a un point, tous au plus mettre une condition (si le sol est a 10 px du perso, alors...).
J´ais pas trop compris le truc des sphere par contre ^^

godrik :d) tu veux plutot dire perpendiculaure non?
j´y ai pensé mais après sa serait le mesh en lui meme qui serait dans le sens

Lapintade
Lapintade
Niveau 30
29 juillet 2006 à 19:04:57

"J´ais pas trop compris le truc des sphere par contre ^^"

Dans un jeu, on utilise souvent deux mondes completement separés.
Le premier c´est le monde "physique" ou "mecanique". C´est un monde simplifié au maximum qui te sert a faire les collision. Dans ce monde, ton sol a peu de polygone et tes objets sont representés par des formes simples comme des cubes, rectangles, sphere.
Pour les choses plus complexes (un perso par exemple), on utilise un ensemble de formes simples. Une voiture, ca sera par exemple en ensemble de sphere, pour un perso, tu peux utilise des spheres aussi ou des cylindre. La sphere c´est bien, car ca simplifie tous les calculs.

Le second monde, c´est le monde visuel, ce que le joueur voit. Il est bien plus complexe et detaillé. Mais celui ci ne sert qu´a l´affichage, on ne fait pas de calcul dedans.

Pour ton zelda par exemple, tu peux appliquer ce principe : Dans le premier monde, ton zelda, c´est une ou plusieurs spheres qui se balade dans un decor simplifié. L´avantage des sphere c´est que ca fait pas de sauts quand ca percute des reliefs chahutés.
Et a partir des infos calculés dans ce monde la, tu affiche tes persos.

Tous les jeux pros font comme cela.

vlag67
vlag67
Niveau 8
30 juillet 2006 à 19:26:11

ah oui tu veux parler des bouding box

mais sa ne reglerait pas le probleme (qui est de faire "suivre" les inégalitées du sol par link).
Mais je pense que je vais suivre la methode de godrik, à savoir mettre un plane invisible toujours perpendiculaire au sol, pour pour ne plus me préoccuper de la hauteur et de l´angle du sol :p)

onamoue
onamoue
Niveau 9
30 juillet 2006 à 19:59:42

tu veux ajouter de la physique a ton modèle c´est ça ? comme les objets ds HL2 par exmple

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment