Salut!
J'aurais voulu savoir comment récupérer la valeur de l'angle d'un rayon. Le but étant tout simplement qu'un objet s'oriente dans la même direction que celui-ci.
Merci!
Vecteurs normalisés => Quaternions
Re: Vecteurs normalisés => Quaternions
salut.
en script tu fais quelque chose du genre :
en appliquant ce script a l'objet qui doit suivre l'autre, cet autre qui est la cible
ou alors, si t'as le vecor3 de ton vecteur normalisé ; Transform.rotation = "vecteur normalisé" (=>ce sera un Vector3(x,y,z))
est-ce que que tu veux faire?
en script tu fais quelque chose du genre :
Code : Tout sélectionner
var cible : Transform;
function UpDate(){
Transform.rotation = cible.rotation;
}
ou alors, si t'as le vecor3 de ton vecteur normalisé ; Transform.rotation = "vecteur normalisé" (=>ce sera un Vector3(x,y,z))
est-ce que que tu veux faire?
______________________________________________________________
\_______________________ Impossible is nothing _______________________/
Re: Vecteurs normalisés => Quaternions
En gros ce que je cherche à faire c'est tirer un projectile dans la direction d'un rayon projeté par la camera.
La fonction instanciate demande une rotation, or les seules variables d'un rayon c'est, origin et direction.
Ici j'ai mis ray.direction mais ca passe pas.
La fonction instanciate demande une rotation, or les seules variables d'un rayon c'est, origin et direction.
Ici j'ai mis ray.direction mais ca passe pas.
Code : Tout sélectionner
//rayon
var viseur : GameObject;
private var ray : Ray;
private var screenPos : Vector2;
//projectile
var throwForce : float;
var projectileObject : Rigidbody;
private var newProjectile : Rigidbody;
//timer
var fireRate : float = 0.5;
private var nextFire : float = 0.0;
function FixedUpdate () {
//Convertir les coordonées du viseur en pixel
screenPos.y=(viseur.transform.position.y*Screen.height);
screenPos.x=(viseur.transform.position.x*Screen.width);
//Tirer le projectile
if(Input.GetButtonUp("Fire1") && Time.time > nextFire) {
ray = camera.ScreenPointToRay(screenPos);
newProjectile = Instantiate(projectileObject, ray.origin, ray.direction);
newProjectile.rigidbody.velocity = projectileObject.transform.TransformDirection(Vector3(0,0,throwForce));
}
}