Создание меша по точкам

Программирование на Юнити.

Создание меша по точкам

Сообщение Heliosis 02 июл 2017, 19:37

Здравствуйте, а у меня проблема ;|

Синтаксис:
Используется csharp
public Mesh generatedMesh;
    public MeshFilter mf;

    public float distance;
    public float angle = 360f;
    public int pointsCount = 35;

    public List<Vector3> points;
    public int[] tri;

    public void Awake()
    {
        generatedMesh = new Mesh();
        mf = GetComponent<MeshFilter>();
        angle *= Mathf.Deg2Rad;
    }

    void Update()
    {
        Vector2 point;
        points = new List<Vector3>();
        tri = new int[pointsCount];
        int ic = 0;

        for (int i = 0; i < pointsCount; i += 3)
        {
            tri[i] = ic + 2;
            tri[i + 1] = ic + 1;
            tri[i + 2] = 0;
            ic++;
        }

        points.Add(transform.position);
        for (int i = 1; i < pointsCount; i++)
        {
            float _y = Mathf.Cos(angle / pointsCount * i);
            float _x = Mathf.Sin(angle / pointsCount * i);
            point.x = _x;
            point.y = _y;

            RaycastHit2D hit = Physics2D.Raycast(transform.position, point, 100f);
            points.Add(transform.InverseTransformPoint(hit.point));

            Debug.DrawLine(transform.position, hit.point);
        }

        generatedMesh.vertices = points.ToArray();
        generatedMesh.triangles = tri;

        mf.mesh = generatedMesh;
    }

Вот скрипт, он типа рабочий (относительно, сам же писал все-таки), но почему-то построенный по полученным путем рейкаста меш какой-то... неправильный и искаженный.

http://radikal.ru/lfp/s019.radikal.ru/i ... 84.png/htm
http://radikal.ru/lfp/s014.radikal.ru/i ... 63.png/htm

Причем по второй картинке видно, что он идеально правильно сшил некоторые точки, но почему-то не все.
В чем проблема?
Heliosis
UNIт
 
Сообщения: 147
Зарегистрирован: 10 фев 2016, 20:50

Re: Создание меша по точкам

Сообщение Heliosis 02 июл 2017, 19:40

Ах да, и еще, когда я отодвигаю этот объект, испускающий лучи на определенное расстояние от начала координат, он почему-то сам сквозь все коллайдеры рисует туда луч (на Vector2(0, 0), туда).
В чем может быть у меня ошибка, не подскажете?
Heliosis
UNIт
 
Сообщения: 147
Зарегистрирован: 10 фев 2016, 20:50

Re: Создание меша по точкам

Сообщение Bill Gates 04 июл 2017, 11:27

При беглом просмотре не увидел точку, которая должна быть в центре многоугольника , как я понимаю.
Bill Gates
UNIт
 
Сообщения: 127
Зарегистрирован: 16 июл 2015, 11:27


Вернуться в Скрипты

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9