Page 1 sur 1

objet en mouvement le long de son RayCast

Publié : 29 Avr 2019 18:43
par Kaloverian
bonjour,

avec if(Physics.RayCast(arguments)),un rayon invisible se crée depuis la position de l'objet jusqu'au hit.
Même le rayon réfléchi sur hit peut être dessiné

Y a-t-il une fonction particulière de l'API de Unity permettant que l'objet suive ces rayons?Si oui,lesquelles?
ou alors il faut implémenter par soi-même?Si c'est le cas,quel est en pseudo-code cette implémentation?

merci de votre aide

Re: objet en mouvement le long de son RayCast

Publié : 29 Avr 2019 18:53
par Max
Bonsoir,
Kaloverian a écrit :
29 Avr 2019 18:43
Y a-t-il une fonction particulière de l'API de Unity permettant que l'objet suive ces rayons?Si oui,lesquelles?
Oui.
Suivre une droite (ton rayon) n'est rien d'autre qu'une translation.
Donc déjà il suffit de regarder du coté de Translate (ainsi que Transform.forward par exemple).

Re: objet en mouvement le long de son RayCast

Publié : 29 Avr 2019 19:03
par Kaloverian
oui j'y avais évidemment pensé...
mais pour suivre le rayon réfléchi,il n'y alors pas d'autre moyen de faire sur l'objet( au moment où il arrive au hit) un transform.Rotate en coordonnées locales de l'angle compris entre le rayon incident et réfléchi ?

Re: objet en mouvement le long de son RayCast

Publié : 29 Avr 2019 19:59
par Max
Kaloverian a écrit :
29 Avr 2019 19:03
mais pour suivre le rayon réfléchi,il n'y alors pas d'autre moyen de faire sur l'objet( au moment où il arrive au hit) un transform.Rotate en coordonnées locales de l'angle compris entre le rayon incident et réfléchi ?
je ne comprend pas trop ton histoire de rayons réfléchis.
Maintenant un rayon, c'est un point de départ, un point d'arrivé, donc facile de déterminer une direction. Quand ton objet arrive à un point de changement de rayon, pas de rotation à proprement parlé à faire, mais un changement de direction (changement au niveau du transform.forward par exemple) et donc on reste sur des translations.

Re: objet en mouvement le long de son RayCast

Publié : 29 Avr 2019 21:37
par ZJP
Kaloverian a écrit :
29 Avr 2019 19:03
oui j'y avais évidemment pensé...
mais pour suivre le rayon réfléchi,il n'y alors pas d'autre moyen de faire sur l'objet( au moment où il arrive au hit) un transform.Rotate en coordonnées locales de l'angle compris entre le rayon incident et réfléchi ?
Et en prenant la "normale" du point d'impact comme point de départ de la "réflexion" ?!.

Re: objet en mouvement le long de son RayCast

Publié : 29 Avr 2019 21:56
par Max
ZJP a écrit :
29 Avr 2019 21:37
Et en prenant la "normale" du point d'impact comme point de départ de la "réflexion" ?!.
+1

incrémenter les coordonnées locales

Publié : 02 Mai 2019 01:18
par Kaloverian
bonjour,

Partant d'un objet,il est facile de le translater en incrémentant ses coordonnées globales.
Mais comme à un moment donné,cet objet tourne,afin de ne pas changer la nature de cette translation,je préfère incrémenter ses cordonnées locales et sans utiliser transform.Translate
Ce que reflète ce petit script C# où rien n'est translaté selon l'axe local X!
Pourquoi?

Code : Tout sélectionner

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class translation_locale : MonoBehaviour {

	public GameObject objet;
	public Transform obj;


	// Use this for initialization
	void Start () {
		
	}
	
	// Update is called once per frame
	void Update () {

	
		Vector3 pos = transform.position;
	       Vector3 posLocal = transform.InverseTransformPoint(pos);
		
		posLocal.x+=1;
		

	}
}





merci de votre aide