Comment créer un FixedJoint à partir d'un script C#

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
GeneralJ
Messages : 2
Inscription : 04 Mai 2015 23:52

Comment créer un FixedJoint à partir d'un script C#

Message par GeneralJ » 05 Mai 2015 00:03

Salut à tous!

Ça fait maintenant un moment que je cherche et que je ne trouves pas ou que mes tentatives s'avèrent infructueuses, c'est pour cela que je fais appel à vous. Voilà je cherche, à partir d'un script C#, à créer un joint de n'importe quel type (prenons un FixedJoint pour faire simple dans un premier temps) entre deux éléments quelconques.

Merci d'avance

Avatar de l’utilisateur
artemisart
Messages : 1893
Inscription : 21 Juin 2011 19:51
Localisation : Centre
Contact :

Re: Comment créer un FixedJoint à partir d'un script C#

Message par artemisart » 05 Mai 2015 00:19

Salut,

Si tu veux qu'on t'aide efficacement, faut que tu détailles plus, montre les scripts déjà tentés, les erreurs de la console, qu'est-ce qui ne marche pas exactement, etc.
Là pour l'instant on peut pas te dire grand-chose.

GeneralJ
Messages : 2
Inscription : 04 Mai 2015 23:52

Re: Comment créer un FixedJoint à partir d'un script C#

Message par GeneralJ » 05 Mai 2015 10:03

Oui désolé,

Alors j'ai essayé pas mal de chose mais deux versions ont pu être compilés mais donne le même résultat.

Voici le 1er code :

Code : Tout sélectionner

GameObject cube1 = GameObject.CreatePrimitive(PrimitiveType.Cube);
		cube1.transform.position = new Vector3(0, 0, 2);
		GameObject cube2 = GameObject.CreatePrimitive(PrimitiveType.Cube);
		cube2.transform.position = new Vector3(2, 0, 0);

		FixedJoint joint = cube1.AddComponent<FixedJoint>();
		joint.connectedBody = cube2.GetComponent<Rigidbody>();
		joint.connectedAnchor = cube2.transform.InverseTransformPoint(cube1.transform.position);
Donc cette 1ère version j'instancie deux cubes et les déplacent pour mieux les voir. De là je crée un Fixedjoint que j'attache à mon cube1 et j'essaie de le connecter au cube2.
Le résultat que j'obtiens, c'est que mon cube2 est libre de tout mouvement et le cube1 ne peut plus se déplacer.

Le 2ieme code :

Code : Tout sélectionner

GameObject cube1 = GameObject.CreatePrimitive(PrimitiveType.Cube);
		cube1.transform.position = new Vector3(0, 0, 2);
		GameObject cube2 = GameObject.CreatePrimitive(PrimitiveType.Cube);
		cube2.transform.position = new Vector3(2, 0, 0);

		cube1.gameObject.AddComponent<FixedJoint>();
		cube1.GetComponent<FixedJoint>().connectedBody =(Rigidbody) cube2.GetComponent<Rigidbody>();
Ici, pareil, je crée deux cubes, j'ajoute un composant FixedJoint sur le cube1 et je l'attache au cube2. Le résultat est le même, c'est à dire que mon cube1 ne peut se déplacer et le cube2 se déplace librement.

En ce qui concerne le résultat que j'espère obtenir, c'est deux cubes qui se déplace ensemble grâce au lien créé par le FixedJoint.

Répondre

Revenir vers « (C#) CSharp »