Как нарисовать линию Unity3D

Общие вопросы о Unity3D

Как нарисовать линию Unity3D

Сообщение guno7 18 янв 2018, 14:25

Добрый день. Я разрабатываю одну 2D игрушку. При нажатии на кнопку объект опускается до колацдера, сталкивается с колацдером, а потом поднимается. Мне нужно чтоб при опускании объекта он нарисовал линию, а при поднятии забирал эту линию. Как это реализовать? Заранее спасибо
guno7
UNец
 
Сообщения: 36
Зарегистрирован: 26 дек 2017, 20:28

Re: Как нарисовать линию Unity3D

Сообщение Paul Siberdt 18 янв 2018, 14:35

Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Как нарисовать линию Unity3D

Сообщение guno7 18 янв 2018, 17:54

Paul Siberdt писал(а):LineRenderer

Без указания прочих ссылок, можете помочь? Я везде читал, не че не понял
guno7
UNец
 
Сообщения: 36
Зарегистрирован: 26 дек 2017, 20:28

Re: Как нарисовать линию Unity3D

Сообщение Paul Siberdt 18 янв 2018, 18:23

Это не "прочая ссылка" - это справка Юнити про то, как рисовать линию. Разумеется, разжёвывать уже разжёванное не буду.
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Как нарисовать линию Unity3D

Сообщение guno7 18 янв 2018, 18:44

Извините, но я там нечего не понял
guno7
UNец
 
Сообщения: 36
Зарегистрирован: 26 дек 2017, 20:28

Re: Как нарисовать линию Unity3D

Сообщение samana 18 янв 2018, 21:17

А справка и на русском тоже есть
Рендер линии
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Как нарисовать линию Unity3D

Сообщение NAGIBATOR228pacan 18 янв 2018, 22:19

Можешь прочитать про GL, там можно рисовать линию по двум точкам
Синтаксис:
Используется csharp
  //void OnRenderObject()
    //{
    //    GL.PushMatrix(); // Понятие не имею что это значит
    //    GL.Begin(GL.LINES);// Тоже понятие не имею что это значит, но тут ты можешь выбрать режим рисование, в данном случаи GL.LINES - линия, между каждыми 2 вершинами он будет рисовать линию, можно написать например GL.TRIANGLES - так он будет рисовать между 3 вершинами треугольник.
    //    mat.SetPass(0);// Материал
    //    GL.Vertex(transform.position);// Самое главное, начало линии 1 вершина
    //    GL.Vertex(NujniiVector);// Самое главное, конец линии 2 вершина
    //    GL.End();// Понятие не имею что это значит
    //    GL.PopMatrix();// Понятие не имею что это значит
    //}
 

Вот пример, кидаешь в скрипт для объекта, если для камеры то пишешь OnPostRender() для объекта OnRenderObject(). Эту функцию вызывать не надо она сама вызывается. mat - материал можешь кидать его через инспектор. Копируй код и он будет рисовать линию между двумя вершинами. И да GL также работает и в 3d, только больше несколько тысяч линий лучше не рисовать с помощью него так как в unity gl какой-то тормазнутый(1 миллион линий - 0.5 фпс).
p.s В данном случаи линия прямая, но кривую можно сделать с помощью массива вершин.
NAGIBATOR228pacan
UNITрон
 
Сообщения: 318
Зарегистрирован: 15 мар 2017, 20:39

Re: Как нарисовать линию Unity3D

Сообщение guno7 21 янв 2018, 10:44

Спасибо большое! Очень помог!
guno7
UNец
 
Сообщения: 36
Зарегистрирован: 26 дек 2017, 20:28


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 8