Есть два объекта, при определенных действия между ними должен появиться луч, при этом хоть объекты и статичны но они могут быть на разном расстоянии и в разных координатах до установки луча.
Суть между ними установить постоянный монотонный луч, так чтобы можно было регулировать его толщину и цвет, подскажите как такое можно сделать?
Забыл добавить - 2D.
Используй RaycastHit и RayCast.Для визуализации луча изпользуй Line renderer;
если тебе нужна просто линия между двуммя объектами,
Создай скрипт в котором будет ссылка на lineRenderer: LineRenderer lr;
И дай две переменные трансформ: Transform objectA, objectB;
и в апдейте устанавливай точки для LineRenderer void Update()
{
lr.SetPosition(0, objectA)//Установка источника линии на объекте А
lr.SetPosition(0, objectB)//Установка конечной точки линии на объекте B
}
public LineRenderer lr;
..............................
public void Test(){
if(Obj2 != null){
lr.SetPosition(0, this.transform.position);
lr.SetPosition(0, Obj2.transform.position);
}
}
то есть после определенных действий запускается метод а не в апдейте, все таки объекты статичны, зачем апдейт тогда...
В 2D ничего не видно, при переключении на 3D в редакторе видно линию, точнее непонятной длины прямоугольник, который идет не от одного объекту к другому а куда-то к центру камеры что-ли...
Если по координатам то 1й находится на 0, -2.45, 0 а второй 0, -0.94, 0 вот к примеру.
в объекте создал компонент line renderer и его засунул в переменную lr
Подскажите почему у меня такая картина получается непонятная?
lr.SetPosition(0, new Vector3(this.transform.position.x, this.transform.position.y, -0.1f));
lr.SetPosition(1, new Vector3(Obj2.transform.position.x, Obj2.transform.position.y, -0.1f));
видно что теперь от точки до точки идет, только слишком толстая линия, точнее прямоугольник, как её сделать потоньше?
с толщиной разобрался, да и материал добавил стало симпатичнее, только одно но осталось - когда линия идёт наискось то сильно видно линии, в смысле вертикальные линии, можно ли сделать какое-то сглаживание?