J'utilise ce script pour mesurer une distance entre 2 points.
Code : Tout sélectionner
using UnityEngine;
public class LineScript : MonoBehaviour {
Transform [] _tr = new Transform[2];
LineRenderer line;
TextMesh text;
Transform _transform;
static float frequency = 0.5f;
void Awake(){
line = GetComponent<LineRenderer>();
text = GetComponent<TextMesh>();
_transform = GetComponent<Transform>();
line.material = new Material(Shader.Find("Particles/Additive"));
}
public void SetTransformArray(Transform first, Transform second){
_tr [0] = first;
_tr [1] = second;
}
public bool ContainTransform(Transform tr){
return (tr == _tr[0] || tr == _tr[1]);
}
public void DestroyThis(){
Destroy (gameObject);
}
public void DrawLine(){
Vector3 dist = _tr[0].position - _tr[1].position;
int discreteCount = (int)(dist.magnitude / frequency);
line.SetVertexCount(discreteCount);
line.SetPosition(0, _tr[0].position);
Vector3 _tempPosition = _tr[0].position;
_tempPosition.y += 200f;//200f
Vector3 _finalPosition = _tr[1].position;
_finalPosition.y += 200f;
int index = 1;
RaycastHit hit;
Physics.Raycast(_tr[0].position,Vector3.down, out hit);
Vector3 __tr0 = hit.point;
__tr0.y+= 1f;
Physics.Raycast(_tr[1].position,Vector3.down, out hit);
Vector3 __tr1 = hit.point;
__tr1.y+= 1f;
while(index < discreteCount){
Physics.Raycast(_tempPosition,Vector3.down,out hit);
Vector3 linePos = hit.point;
linePos.y +=0.5f;// +=0.5f Hauteur du texte pa rapport au sol
line.SetPosition(index++,linePos);
_tempPosition = Vector3.MoveTowards(_tempPosition,_finalPosition,frequency);
}
line.SetPosition(discreteCount - 1, _tr[1].position);
text.text = dist.magnitude.ToString ("0.00"+"m");
Vector3 pos = _tr[1].position + dist * 0.5f; //0.5f
pos.y += 30.0f; // 30.0f
_transform.position = pos;
}
}
.
Mon pb est que je ne veut pas qu'il dessine sur tous les objets ayant un collider. Certains servent pour les vl ( détecteurs, modif des vitesses ..)
Sur l'image on voit des "encoches" qui correpondent à ces objets; Je cherche à ne pas afficher ces " encoches" pour n'avoir qu'un trait sur la chaussée.
J'ai essayé de modifier le script mais je ne sais pas où mettre les modif.
Je cherche à dire :
tracer un trait sur les objets ayant un collider sauf ceux taggués en Panneau ou en Autre.
Code : Tout sélectionner
&& ( tag != Autre || tag !=Panneau)
Attention à la section où tu postes.
Nom d'un Ewok chauve, depuis le temps que tu es là,
on en est encore à te reprendre !