Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 07.05.2019
Сообщений: 6

Line Renderer, при рисовании второй линии связывает ее с первой

15.10.2020, 09:15. Показов 1492. Ответов 3

Студворк — интернет-сервис помощи студентам
Уважаемые форумчане помогите пожалуйста новичку в Unity, при рисовании линии возникает такая ситуация, конец первой линии автоматически связывается с началом второй линии, как мне это убрать? Где именно ошибка в коде? Хотелось бы, чтобы линии рисовались независимые друг от друга.
Код SceneController.cs:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class SceneController : MonoBehaviour {
    
     [SerializeField]
    protected LineRenderer m_LineRenderer;
    [SerializeField]
    protected Camera m_Camera;
    protected List<Vector3> m_Points;
 
    void Start()
    {
       
        Reset();
    }
 
   
    // Рисование линии, line renderer
        public virtual LineRenderer lineRenderer
    {
        get
        {
            return m_LineRenderer;
        }
    }
 
    public virtual new Camera camera
    {
        get
        {
            return m_Camera;
        }
    }
 
    public virtual List<Vector3> points
    {
        get
        {
            return m_Points;
        }
    }
 
    protected virtual void Awake()
    {
        if (m_LineRenderer == null)
        {
            Debug.LogWarning("DrawLine: Line Renderer not assigned, Adding and Using default Line Renderer.");
            CreateDefaultLineRenderer();
        }
        if (m_Camera == null)
        {
            Debug.LogWarning("DrawLine: Camera not assigned, Using Main Camera or Creating Camera if main not exists.");
            CreateDefaultCamera();
        }
        m_Points = new List<Vector3>();
    }
 
    protected virtual void Update()
    {
 
            if (Input.GetMouseButton(0))
            {
                Vector3 mousePosition = m_Camera.ScreenToWorldPoint(Input.mousePosition);
                mousePosition.z = m_LineRenderer.transform.position.z;
                if (!m_Points.Contains(mousePosition))
{
                    m_Points.Add(mousePosition);
                    m_LineRenderer.positionCount = m_Points.Count;
                    m_LineRenderer.SetPosition(m_LineRenderer.positionCount - 1, mousePosition);
                }
            }
        
    }
 
    protected virtual void Reset()
    {
        if (m_LineRenderer != null)
        {
            m_LineRenderer.positionCount = 0;
        }
        if (m_Points != null)
        {
            m_Points.Clear();
        }
    }
 
    protected virtual void CreateDefaultLineRenderer()
    {
        m_LineRenderer = gameObject.AddComponent<LineRenderer>();
        m_LineRenderer.positionCount = 0;
        m_LineRenderer.material = new Material(Shader.Find("Particles/Additive"));
        m_LineRenderer.startColor = Color.red;
        m_LineRenderer.endColor = Color.red;
        m_LineRenderer.startWidth = 0.3f;
        m_LineRenderer.endWidth = 0.3f;
        m_LineRenderer.useWorldSpace = true;
    }
 
    protected virtual void CreateDefaultCamera()
    {
        m_Camera = Camera.main;
        if (m_Camera == null)
        {
            m_Camera = gameObject.AddComponent<Camera>();
        }
        m_Camera.orthographic = true;
    }
 
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.10.2020, 09:15
Ответы с готовыми решениями:

Задать стиль линии при рисовании на канве?
Пытаюсь нарисовать Квадрат на канве. Задаю следующие свойства: crop.Canvas.Pen.Style:=psdot; crop.Canvas.Pen.Width := 1; ...

Сохранить старые линии при рисовании новой
Здравствуйте. У меня есть задание - построить линии в программе. Я это сделала, но дело в том, что старая линия удаляется при построении...

Работа с Line renderer
Всем доброго времени суток. Есть простой код, получающий координаты точек на окружности с определённым шагом и далее по этому массиву...

3
 Аватар для samana
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
15.10.2020, 19:38
По-моему LineRenderer создаёт только цельные линии. Чтобы было много отдельных линий, то нужно для каждой отдельной линии создавать свой объект с компонентом LineRenderer.
0
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
15.10.2020, 19:57
Галочка Loop.
0
0 / 0 / 0
Регистрация: 07.05.2019
Сообщений: 6
20.10.2020, 07:56  [ТС]
Спасибо, откликнувшимся. Проблему решим просто клонированием объекта.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.10.2020, 07:56
Помогаю со студенческими работами здесь

Line Renderer Collider
Ситуация такая: 2D игра-платформер, игрок рисует курсором мышки произвольную линию на экране, после чего эта линия должна стать физически...

Рисование стандартными графическими методами. Ошибка при рисовании линии
На форме командная кнопка (Button) и графическая область (PictureBox). Пользуясь этой темой, написал процедуру Private Sub...

Обновление позиций точек line renderer
Есть line renderer и функция с рекурсивным отражением. Есть пара вопросов: 1)Как можно обновлять, т.е. перерисовывать линию в режиме...

Unity line renderer растягивает текстуру
Сама проблема заключается в том, что при добавлении новых точек в комплект line renderer, которые создают поворот (идут в сторону от линии)...

При рисовании кистью ощущается задержка и вместо цельной линии образуются пробелы между точками
Доброго времени суток. Делаю простенький графический редактор. Столкнулся с такими проблемами: 1) При рисовании кистью ощущается...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru