[RESOLU] Détacher un child d'un bone et de son parent pour lui ajouter un rb
[RESOLU] Détacher un child d'un bone et de son parent pour lui ajouter un rb
Salut, j'essaie de crée un système de dégâts pour un véhicule mais je débute dans l'animation et les bones sur Unity. J'aimerais permettre à ma porte de voiture de se détacher de son bone et lui ajouter un rigidbody pour la faire se détacher du véhicule en cas de dégâts trop important. Quel méthode devrais-je utiliser, détacher la porte du parent et du bone en lui ajoutant un rigidbody avec une force calculé au moment de l'impact ? Sachant que je n'arrive pas très bien à séparer la porte du bone pour qu'elle retrouve un fonctionnement normal, dans la hiérarchie sa donne ça :
Véhicule
-Armature
---BonePorte
-Porte
---PartieIntérieur (Attaché au bone)
---PartieExterieur (Attaché au bone)
Quand j'y pense sa faciliterais surement les choses si le bone n'était que sur la porte directement et pas sur les 2 child, mais étant donné que le parent de la porte est crée sur Unity, j'ai un peu de mal a reproduire le même schéma sur blender, si y'a des connaisseur dans le domaine sa serrais sympas de m'éclairer sur le sujet .
Véhicule
-Armature
---BonePorte
-Porte
---PartieIntérieur (Attaché au bone)
---PartieExterieur (Attaché au bone)
Quand j'y pense sa faciliterais surement les choses si le bone n'était que sur la porte directement et pas sur les 2 child, mais étant donné que le parent de la porte est crée sur Unity, j'ai un peu de mal a reproduire le même schéma sur blender, si y'a des connaisseur dans le domaine sa serrais sympas de m'éclairer sur le sujet .
Dernière édition par Farstone le 28 Sep 2018 12:56, édité 1 fois.
Re: Détacher un child d'un bone et de son parent pour lui ajouter un rb
Salut,
Ta porte fait-elle partie du mesh du reste de la voiture ?
Ta porte fait-elle partie du mesh du reste de la voiture ?
Re: Détacher un child d'un bone et de son parent pour lui ajouter un rb
La porte n'est pas attaché au mesh du véhicule mais elle se trouve dans le même parent, elle a une partie intérieur et extérieur pour facilité le choix de matériaux (intérieur sport, extérieur street par example) d'ou le fait que 2 partie soit attaché au bone, la porte elle même a 2 mesh en gros, ne sachant pas si je pouvait mettre 2 uv set sur 1 mesh j'ai préféré prendre la solution sécuritaire, en espérant que sa ai du sens.
EDIT : Après mettre renseigné, il est possible de faire des parent/child dans blender, ce qui me permettras d'animer le parent de la porte plutôt que les 2 partie, mais je ne sait toujours pas comment "détacher" ma porte sur Unity pour lui mettre un rb
EDIT : Après mettre renseigné, il est possible de faire des parent/child dans blender, ce qui me permettras d'animer le parent de la porte plutôt que les 2 partie, mais je ne sait toujours pas comment "détacher" ma porte sur Unity pour lui mettre un rb
Dernière édition par Farstone le 28 Sep 2018 11:45, édité 1 fois.
Re: Détacher un child d'un bone et de son parent pour lui ajouter un rb
Bon... C'est pas super clair...
Bon déjà, tu peux mettre plusieurs UV sur un même mesh, mais là je ne vois pas bien l'intérêt.
Pourquoi parenter les deux morceaux de ta porte à un bone ? Et pourquoi utiliser des bones dans une voiture ? :p
Tu pourrais directement parenter la porte à la voiture, ce serait beaucoup plus simple.
Moi je ferai un hiérarchie comme ça :
Au pire, tu peux intercaler un pivot pour la porte :
Ensuite il suffit de changer le parent du transform de la porte (ou du pivot, si tu choisis cette option) pour le détacher de la voiture.
Bon déjà, tu peux mettre plusieurs UV sur un même mesh, mais là je ne vois pas bien l'intérêt.
Pourquoi parenter les deux morceaux de ta porte à un bone ? Et pourquoi utiliser des bones dans une voiture ? :p
Tu pourrais directement parenter la porte à la voiture, ce serait beaucoup plus simple.
Moi je ferai un hiérarchie comme ça :
Code : Tout sélectionner
Voiture
ExtérieurPorte
IntérieurPorte
Code : Tout sélectionner
Voiture
Pivot
ExtérieurPorte
IntérieurPorte
Re: Détacher un child d'un bone et de son parent pour lui ajouter un rb
C'est encore un prototype rien de définitif dans le setup, je cherche justement le meilleur moyen de mettre sa en place pour avoir un truc propre.Alesk a écrit : ↑28 Sep 2018 11:45Bon... C'est pas super clair...
Bon déjà, tu peux mettre plusieurs UV sur un même mesh, mais là je ne vois pas bien l'intérêt.
Pourquoi parenter les deux morceaux de ta porte à un bone ? Et pourquoi utiliser des bones dans une voiture ? :p
Tu pourrais directement parenter la porte à la voiture, ce serait beaucoup plus simple.
Moi je ferai un hiérarchie comme ça :
Au pire, tu peux intercaler un pivot pour la porte :Code : Tout sélectionner
Voiture ExtérieurPorte IntérieurPorte
Ensuite il suffit de changer le parent du transform de la porte (ou du pivot, si tu choisis cette option) pour le détacher de la voiture.Code : Tout sélectionner
Voiture Pivot ExtérieurPorte IntérieurPorte
Si je veux mettre plusieurs UV c'est pour permettre au joueur de changer le matériau intérieur sans avoir à changer le matériau de l’extérieur (j'ai 1uv set pour l'intérieur et 1 pour l'extérieur, mais comme la porte fait partie des 2 sa complique les choses)
Pour ce qui est du bone j'ai un peu de mal à comprendre, n'est-ce pas le moyen le plus simple d'animer quelque chose ? Je suis au courant qu'un joint pourrait être une solution mais j'ai besoin que la porte soit animé. Si tu pouvait préciser pourquoi l'utilisation d'un bone est incorrect dans mon cas sa m'aiderais bien
Re: Détacher un child d'un bone et de son parent pour lui ajouter un rb
Les UV c'est pour définir les coordonnées de textures, mais pas le lien entre les triangles du mesh et les matériaux, ce n'est pas du tout la même chose.
Là tu peux sans problème utiliser un seul UV et deux matériaux différents.
A partir du moment où chaque morceau de ton mesh utilise un matériau différent, ça ne pose aucun souci d'avoir leurs coordonnées UV qui se superposent, puisqu'elle seront utilisées dans des contextes (matériaux) différents.
Les bones ça sert surtout à animer des objets organiques ou éventuellement des objets mécaniques composés d'un seul mesh.Twiixy a écrit : ↑28 Sep 2018 11:55Pour ce qui est du bone j'ai un peu de mal à comprendre, n'est-ce pas le moyen le plus simple d'animer quelque chose ? Je suis au courant qu'un joint pourrait être une solution mais j'ai besoin que la porte soit animé. Si tu pouvait préciser pourquoi l'utilisation d'un bone est incorrect dans mon cas sa m'aiderais bien
Dans ton cas, comme les objets sont séparés car ils doivent pouvoir bouger individuellement, pas besoin de bones, un parentage direct entre les objets est suffisant.
Re: Détacher un child d'un bone et de son parent pour lui ajouter un rb
Je me suis mal exprimé pour les UVs, en faite j'ai 2 UV set pour maximiser la texel density, et j'ai 1 matériaux par set d'uv (potentiellement plus par la suite) la porte a ses UV dans les 2 set, c'est pourquoi j'ai décidé de la séparer en 2 mesh pour eviter d'avoir a mettre 2 matériau sur 1 mesh ne sachant pas si c'était une bonne pratique. Sinon je pense comprendre ce que tu veux dire avec les bones, je vais essayer de faire une animation sans bone sur la porte pour voir ce que sa donne. En tout cas si tu pense que regrouper l'intérieur et l’extérieur de ma porte en 1mesh et utiliser 2 matériaux sur 1 mesh renderer dans Unity est une bonne (ou meilleur) pratique, sa m'arrange aussi l'important pour les perf si je me souviens bien, c'est le nombre de matériaux différent et non pas le nombre de mesh les utilisant.
Re: Détacher un child d'un bone et de son parent pour lui ajouter un rb
Oui alors faut pas non plus trop psychoter sur le nombre de matériaux
Si tu as 15000 voitures à afficher, là ok, il vaut mieux optimiser.
Mais si tu souhaites faire un rendu de qualité et détaillé pour une voiture, tu peux en coller plusieurs (bon pas 500 non plus hein !)
Mais disons que si tu as un matériau pour l'extérieur et un autre pour l'intérieur sur un même mesh, ça sera vraiment pas grave, au contraire, il vaut mieux limiter le nombre de gameobjects.
Si tu as 15000 voitures à afficher, là ok, il vaut mieux optimiser.
Mais si tu souhaites faire un rendu de qualité et détaillé pour une voiture, tu peux en coller plusieurs (bon pas 500 non plus hein !)
Mais disons que si tu as un matériau pour l'extérieur et un autre pour l'intérieur sur un même mesh, ça sera vraiment pas grave, au contraire, il vaut mieux limiter le nombre de gameobjects.
Re: Détacher un child d'un bone et de son parent pour lui ajouter un rb
Effectivement sa marche très bien sans bone aussi, il m'importe juste les animation en double depuis blender faudra vérifier d'ou sa viens, sinon pour les 2 matériaux sur 1 mesh c'est surtout le message d'erreur de Unity qui ma fait douter "This renderer has more materials than the mesh has submesh. Multiple material will be applied to the same submesh, wich costs performance. Consider using multiple shader passes." mais je suppose que dans mon cas c'est pas très grave. Merci bien pour ton aide Alesk
Re: [RESOLU] Détacher un child d'un bone et de son parent pour lui ajouter un rb
Ton message d'erreur indique que tu appliques deux matériaux sur un mesh où seulement un matériau est référencé sur les triangles que le composent.
Il y a donc un souci, il faut vérifier ça.
Il y a donc un souci, il faut vérifier ça.