процедурная плоскость

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

процедурная плоскость

Сообщение BigPando 19 янв 2013, 10:01

Всем доброго времени суток.

Требуется построить процедурную плоскость аналогичную plane.
залез в http://docs.unity3d.com/Documentation/S ... /Mesh.html
почитал, посмотрел, логика понятна.
Но Я вот наверное совсем тупой и не могу понять в каком порядке нужно создавать вершины.

Может кто тюкнет меня носом в какую нибудь статейку. Про процедурное построение примитивов, какую нибудь простенькую что бы прям для детсада.
Или может кто сварганит пример простой plane, cube.

Также не понятно что такое и для чего нужно UV.

Был бы очень признателен. ^:)^
BigPando
UNец
 
Сообщения: 11
Зарегистрирован: 07 мар 2012, 14:14

Re: процедурная плоскость

Сообщение AndreyMust19 19 янв 2013, 11:07

Вообще-то по приведенной ссылке все написано.
Порядок такой:
1) Создаете массив векторов с координатами всех вершин, входящих в меш (точка отсчета - пивот).
2) Создаете массив int-ов. В [unity 3D] все полигоны могут быть только треугольниками, поэтому каждые 3 int'а - это номера вершин, из к-х состоит триангл. Но от порядка вершин в этой тройке зависит сторона, в которую будет смотреть нормаль полигона (я так и не понял как точно определить направление нормали по порядку вершин).
3) Минимум готов. Создаем меш, записываем созданные массивы по ссылкам vertices и triangles.
4) Вызываем для этого меша RecalculateBounds, RecalculateNormals, Optimize.
5) Назначаем созданный меш в полеsharedMesh компонента MeshFilter.

Если нужна текстура у меша, то после 2-го этапа инициализируем еще массив uv. Это - массив Vector2, каждый элемент описывает 2 текстурные координаты той же вершины по индексу в массиве vertices. Можете еще забить массив colors, но для использования этого массива вам нужно писать свой шейдер. С boneWeights и bindposes не работал.
Нужна помощь? Сами, сами, сами, сами, сами... делаем все сами
AndreyMust19
Адепт
 
Сообщения: 1119
Зарегистрирован: 07 июн 2011, 13:19

Re: процедурная плоскость

Сообщение BigPando 19 янв 2013, 11:56

Уважаемый AndreyMust19

Спасибо за подробные разъяснения. У меня теперь вопрос по unity3D.
На сцене создал пустой объект, повесил на него скрипт из docks, Установил вершины, UV, треугольники.
Но блин не вижу я это полигон :( . В компоненте MeshFilter поле Mesh заполняется, но геометрии там нету.
В окне Scene в режиме WireFrame геометрии тоже нет.

[curved_hands] подходящий для меня смайлик
Последний раз редактировалось BigPando 19 янв 2013, 12:39, всего редактировалось 2 раз(а).
BigPando
UNец
 
Сообщения: 11
Зарегистрирован: 07 мар 2012, 14:14

Re: процедурная плоскость

Сообщение seaman 19 янв 2013, 12:32

не вижу я это полигон

Возможно нормали не к Вам повернуты. А вообще лучше скрин и скрипт в студию.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: процедурная плоскость

Сообщение BigPando 19 янв 2013, 12:39

До меня дошло что нужно добавить Компонент MeshRenderer тогда треугольник видно ;)

Теперь у меня возник следующий вопрос. Я успешно нарисовал один треугольник, теперь естесно хочу нарисовать второй :). Два треугольника в одном mesh, это нормально (как кстати правильно называются эти треугольники?).
Нужно как то объединять общие вершины? Как в 3Dmax или достаточно назначить им (вершинам) общие координаты.
BigPando
UNец
 
Сообщения: 11
Зарегистрирован: 07 мар 2012, 14:14

Re: процедурная плоскость

Сообщение AndreyMust19 19 янв 2013, 13:27

2 треугольника с общей стороной? 4 вершины, в массив trangles пишете {0, 1, 2, 1, 2, 3}. Если нормаль одного из треугольников смотрит в другую сторону - поменяйте порядок цифр для этого полигона.
Нужна помощь? Сами, сами, сами, сами, сами... делаем все сами
AndreyMust19
Адепт
 
Сообщения: 1119
Зарегистрирован: 07 июн 2011, 13:19

Re: процедурная плоскость

Сообщение BigPando 19 янв 2013, 14:49

AndreyMust19 писал(а):2 треугольника с общей стороной? 4 вершины, в массив trangles пишете {0, 1, 2, 1, 2, 3}. Если нормаль одного из треугольников смотрит в другую сторону - поменяйте порядок цифр для этого полигона.


Спасибо Я разобрался.
BigPando
UNец
 
Сообщения: 11
Зарегистрирован: 07 мар 2012, 14:14


Вернуться в Почемучка

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

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