IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Unity Discussion :

Collision "arme contre arme" lors d'un combat dans un jeu 3D : De quoi est capable Unity ?


Sujet :

Unity

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Artiste
    Inscrit en
    Avril 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Artiste

    Informations forums :
    Inscription : Avril 2018
    Messages : 7
    Points : 1
    Points
    1
    Par défaut Collision "arme contre arme" lors d'un combat dans un jeu 3D : De quoi est capable Unity ?
    Bonjour !

    Une question relative aux animations et plus particulièrement à la gestion des collisions lors de scènes de combats dans un jeu 3D. J'aimerais savoir si Unity est capable de gérer des collisions "d'armes contre armes". Typiquement : une épée qui vient frapper une autre épée ou un bouclier, par exemple... Je suppose que c'est possible même si j'ignore comment ça marche exactement. Est-ce que le principe du ragdoll peut s'appliquer à un objet attaché au rig comme une épée ou un bouclier ? Est-ce que ça se gère avec un box collider ? Je ne sais pas. Je suis un débutant total sur Unity. Je connais un peu les grands principes de bases du logiciel. J'ai quelques notions de programmation. Mais ça s'arrête là.

    J'ai recherché sur internet des vidéos ou des tutoriels qui m'éclaireraient d'avantage mais je n'ai pas trouvé exactement ce que je cherchais. Je suis notamment tombé sur cette vidéo assez impressionnante de réalisme d'un asset d'animations de combats de mêlée :



    En gros, j'aimerais voir le même genre de vidéo mais avec des collisions d'armes contre armes. C'est possible ? Et surtout, ça donnerait quoi visuellement ? Est-ce que c'est propre (pas d'arme qui part dans tous les sens, pas de glitch, etc...) ? Auriez-vous des exemples vidéos de ce que je cherche ?

    Merci !

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Salut,

    oui il te faudra mettre des colliders.
    Tu peux d'ailleurs les voir dans la vidéo, dans la partie de boxe, ils en ont 4 chacun : 2 sur les avant-bras et 2 sur les tibias.
    Après je suppose qu'ils ont aussi dû en mettre, ou équivalent, sur la ragdoll, peut-être s'agit-il d'un rigidbody collider ? Ou d'un mesh collider ?
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Artiste
    Inscrit en
    Avril 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Artiste

    Informations forums :
    Inscription : Avril 2018
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Ah ok, c'est donc des colliders, les trucs jaunes ! Et donc en gros, si je place le même genre de collider sur deux épées qui s'entrechoquent, par exemple, en admettant que je puisse les mixer (je suis même pas sûr que ce soit possible...) avec un modèle d'animation de combat (une frappe toute simple avec l'épée, par exemple), les deux épées devraient s'entrechoquer de manière pas trop dégueu au lieu de passer l'une à travers l'autre ? ... Mais si ces colliders n'épousent pas bien les formes de l'épée, ça risque de pas être super joli, non ? Je dis ça car je viens de faire un tuto Unity (tuto débutant, vraiment) où il était question de mettre un collider en forme de capsule autour du personnage et ce collider ne faisait que l'entourer grossièrement... A moins que le rigidbody ou le mesh collider dont tu parles soit plus précis (je ne les ai pas encore regarder plus en détails) ? ...

    PS : J'ai trouvé une autre vidéo qui parle de collisions. Au tout début de la vidéo, on peut voir le perso réagir à des balles qu'il reçoit un peu partout sur le corps. C'est vraiment bien fait et c'est ce genre de truc que j'aimerais voir mais appliqué à des objets tenus en main par le perso :


    Par contre, c'est sur Unreal Engine, du coup... Au pire, ça ne me dérange pas de passer sur UE vu que de toute façon je débute donc je ne connais pas beaucoup plus Unity que UE. Mais bon, j'imagine que si UE est capable de ça, Unity doit en être capable aussi...

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Ca fait beaucoup de questions et tu ne sembles pas avoir de bases. Le plus simple serait encore d'essayer. Notament pour les collisions, tu as des paramètres où ils peuvent se traverser ou non. Sur Unity tout est graphique dans l'éditeur, et l'éditeur est gratuit, alors lance-toi..
    Ensuite c'est pas magique, faut faire le code qui gère les collisions, qui va faire cracher le sang de la vidéo, jouer le son de choc des lames, ... Tout ce qui t'est fourni c'est une callback quand une collision se produit.
    En théorie : oui tu peux faire n'importe quoi. Mettre des colliders qui épousent parfaitement chaque morceau du corps et gérer finement chaque fragment du perso pour faire "réaliste".
    En pratique : on a pas encore inventé la puissance de calcul infinie. Si t'es trop gourmand, ton jeu a une chute de fps. Donc des trucs très précis et jolis sont juste bons pour une vidéo créée avec une render farm.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Artiste
    Inscrit en
    Avril 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Artiste

    Informations forums :
    Inscription : Avril 2018
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Je te confirme que mes compétences sont plus que limitées... Mais j'aurais aimé savoir un peu dans quoi je m'engage avant de me lancer. Je ne cherche absolument pas à créer le jeu hyper révolutionnaire de la mort qui tue machin truc mais j'avais envie d'essayer de créer quelque chose de différent et de m'amuser un peu avec la motion capture (avec une ou deux kinect et le logiciel ipiSoft) ... D'ailleurs, dans un premier temps, je ne cherche même pas à faire un truc relativement complet, abouti, avec tous les petits détails qui vont bien genre le sang qui gicle quand il faut, le son de choc des lames, etc... Pour commencer, j'aimerais juste me focaliser sur la partie animation des armes et du corps. C'est le plus important pour moi. Je pensais enregistrer quelques animations en mocap à 2 personnages (la gestuelle des 2 personnages serait dépendante l'une de l'autre, je pense que je n'aurais pas le choix pour ce que je cherche à faire...) Pour te donner un aperçu, je cherche à reproduire plus ou moins ce style de mouvement :



    Les échanges de coups, les passes d'arme, seraient précalculées et scriptées avec juste quelques interactions très basiques au niveau du gameplay (un genre de QTE). Si ça se trouve, je n'aurais peut-être même pas besoin de rajouter de colliders ! Mais si je compte implanter des armes de taille différente ainsi que des personnages de taille ou de morphologie différente, je me suis dit que ça risquait d'être compliqué d'utiliser à chaque fois des animations différentes, suivant les persos et les armes (problème de puissance de calcul, comme tu dis...) A moins que ? Vu que ces paramètres seront décidés avant les phases de combat et ne changeraient plus après, peut-être que ça pourrait le faire ? ... Je sais pas si ça change quelque chose en termes de calcul... Bref, je me suis dit qu'implémenter des colliders sur les armes pour améliorer le système seraient bienvenus...

    Je sais que mon projet est assez vague et imprécis dû à mon gros manque de connaissances dans le domaine de l'animation mais comme je l'ai dit, j'aimerais savoir dans quoi je m'engage plutôt que de galérer des heures et des heures pour rien... En espérant que les infos que je donne soient malgré tout suffisantes pour obtenir une réponse, tu penses que c'est réalisable (que ce soit sous Unity ou UE) ou totalement infaisable ? Ou faisable mais beaucoup trop mangeur de fps ? ...

    Merci infiniment pour tes éclaircissements

  6. #6
    Membre expérimenté Avatar de Tonton Nico
    Homme Profil pro
    Ingénieur
    Inscrit en
    Septembre 2017
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2017
    Messages : 398
    Points : 1 320
    Points
    1 320
    Par défaut
    Salut Aelendys,

    Je rejoins l'avis de Bousk, c'est surement un gros step d'un coup que de vouloir faire tout ça, mais cela ne dois pas te décourager pour autant

    Unity ou UE je ne saurais dire la différence mais c'est surement possible avec les deux.
    Je pense si tu veux vraiment te focaliser la dessus, c'est plutôt dans un premier temps de voir lequel des deux propose des assets gratuit avec des personnages/animation pour que tu fasses quelques tests.

    Le plus gros soucis c'est de vouloir modifier/ajouter des choses ou créer tes propres modèles, la il faut toucher à la modélisation et aux animations, c'est un peu plus compliqué que de faire du code sauf si tu es à l'aise avec
    Enfin si tu veux juste tester ca, déjà tu peux lancer Unity, faire deux cylindres et t'amuser avec les colliders, animation ou vecteur force, cela permettra de te faire une idée

    TontonNico
    TontonNico

    On me dit souvent que je ressemble à Einstein... mais plutôt à Frank que Albert

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ARM] Etat des registres lors de l'exécution d'un code
    Par devdeb91 dans le forum Autres architectures
    Réponses: 3
    Dernier message: 24/06/2015, 18h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo