Bonjour, cela fait quelques heures que je cherche mais je ne trouve rien qui fonctionne pour moi, je me permets donc de poster un message sur ce forum.
Je travaille sur un Jeux 2D. J'ai une scène avec un GameObject qui possède un Rigidbody. Je souhaite appliquer une force à ce Rigidbody pour que celui-ci se déplace vers le curseur de ma souris.
J'ai créé un vecteur2 dans la void Update nommé mousePosition qui correspond à la position de ma souris. Je sais que l'on peut appliquer une force à un RigidBody avec AddForce ou velocity mais cela envoie mon objet dans une direction donné et non pas vers un point dans l'espace... HELP PLEAS
[RESOLU][DB AL] Déplacer un Rigidbody vers le curseur de la souris
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
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
[RESOLU][DB AL] Déplacer un Rigidbody vers le curseur de la souris
Dernière édition par Marin le 16 Juin 2019 18:52, édité 1 fois.
Re: [DB AL] Déplacer un Rigidbody vers le curseur de la souris
Salut,
poste ton code, cela sera plus simple pour nous.
poste ton code, cela sera plus simple pour nous.
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ
Re: [DB AL] Déplacer un Rigidbody vers le curseur de la souris
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Controler : MonoBehaviour {
public GameObject CameraIn;
public Rigidbody2D rb;
Vector3 mousePosition;
public float Speed;
float MouseX, MouseY;
void Update ()
{
//fait tourner le personage en direction de la souris
mousePosition = Input.mousePosition;
mousePosition = Camera.main.ScreenToWorldPoint(mousePosition);
Vector2 direction = new Vector2(mousePosition.x - transform.position.x, mousePosition.y - transform.position.y);
transform.right = direction;
//faire deplacer le rigidbody vers la souris??
}
void FixedUpdate()
{
CameraIn.transform.position = new Vector3(transform.position.x, transform.position.y, transform.position.z -3);
}
}
Re: [DB AL] Déplacer un Rigidbody vers le curseur de la souris
re,
je comprends mieux. Tu t'es basé sur ce tuto visiblement.
La souris te fournis une direction en fait. Donc pour le Rigidbody, tu peux lui appliquer une vélocité avec pour composante cette direction, genre:
je comprends mieux. Tu t'es basé sur ce tuto visiblement.
La souris te fournis une direction en fait. Donc pour le Rigidbody, tu peux lui appliquer une vélocité avec pour composante cette direction, genre:
Code : Tout sélectionner
rb.velocity = direction * Speed;
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ
Re: [DB AL] Déplacer un Rigidbody vers le curseur de la souris
Génial, et en ajoutant un "* Time.deltaTime" je crée un mouvement continu jusqu'à ce que le GameObject arrive au curseur de la souris
Merci beaucoup
Merci beaucoup