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
objet en mouvement le long de son RayCast
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
- Kaloverian
- Messages : 345
- Inscription : 10 Août 2016 03:03
Re: objet en mouvement le long de son RayCast
Bonsoir,
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).
Oui.Kaloverian a écrit : ↑29 Avr 2019 18:43Y a-t-il une fonction particulière de l'API de Unity permettant que l'objet suive ces rayons?Si oui,lesquelles?
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).
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
- Kaloverian
- Messages : 345
- Inscription : 10 Août 2016 03:03
Re: objet en mouvement le long de son RayCast
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 ?
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
je ne comprend pas trop ton histoire de rayons réfléchis.Kaloverian a écrit : ↑29 Avr 2019 19:03mais 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 ?
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.
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: objet en mouvement le long de son RayCast
Et en prenant la "normale" du point d'impact comme point de départ de la "réflexion" ?!.Kaloverian a écrit : ↑29 Avr 2019 19:03oui 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
+1ZJP a écrit : ↑29 Avr 2019 21:37Et en prenant la "normale" du point d'impact comme point de départ de la "réflexion" ?!.
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
- Kaloverian
- Messages : 345
- Inscription : 10 Août 2016 03:03
incrémenter les coordonnées locales
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?
merci de votre aide
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;
}
}