Процедурная генерация простейших объектов. Редактирование UV разметки из API

31 июля 2016 11:55
Приветствую. Решил попробовать поиграться с модулем geometry и попробовать сгенерировать с нуля какой нить mesh.

И всё получилось!


Получилось назначить координаты вершин, индексы и направления нормалей. А вот как uv карту разметить не пойму.

И ещё для чего нужен Attribute name "a_tangent"?

Пример создания процедурного обруча (импортировать через менеджер проектов)
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
31 июля 2016 15:02
Добрый день.

И ещё для чего нужен Attribute name "a_tangent"?

В основном используется при наложении карты нормалей (нормалмапы).

Насчёт текстурных координат - тут всё посложнее, на первый взгляд кажется, что необходимо на исходный меш нанести UV и текстуры, чтобы сгенерировался шейдер, использующий текстурные координаты. Могу ошибаться, но стоит попробовать использовать аттрибут a_texcord

В понедельник смогу более подробно отписать на этот счёт
31 июля 2016 17:41
Добрый день
но стоит попробовать использовать аттрибут a_texcord
Попробовал!

И опять всё получилось! Только называется параметр a_texcoord (опять ковырялся в сорцах )

Кому интересно прилагаю исходник.

Кажется понял почему в документации нет этого параметра… Потому что с нодовыми материалами uv карта не работает, только стековый материал.
И если объекту нужно отдать 2 uv карты… Пока не понятно как…

P.S. Теперь есть способ в b4w строить графики и диаграммы
P.S. Интересно а можно ли менять геометрию физическую материала Special: Collision…
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
02 августа 2016 17:53
Добрый день, Кирилл! Решил разобрать ваш пример. Не совсем понимаю как происходит формирование данной геометрической фигуры .

Могу ли я вас попросить сделать аналогичный пример, но только с кубом? Пример, где только назначаются вершины. Думаю с ним будет попроще, так как точек требуется меньше…
02 августа 2016 21:25
Ответ на сообщение пользователя Андрей
Добрый день, Кирилл! Решил разобрать ваш пример. Не совсем понимаю как происходит формирование данной геометрической фигуры .

Могу ли я вас попросить сделать аналогичный пример, но только с кубом? Пример, где только назначаются вершины. Думаю с ним будет попроще, так как точек требуется меньше…
Добрый вечер .

Тут назначениями вершин не отделаться. Как же направление нормалей и uv карта?

Так что делаем по хардкору

Собственно куб. dynamic_cube.zip


Но код там то там тоже получился слегка мудрёный… Создание куба распилино на несколько подфункций.

Алгоритмы создания геометрии черпаю от сюда и совсем чутка переписываю, что бы b4w скушал.

Так что в теории можно сгенерировать и 3d текст, и научить b4w загружать другие 3D форматы, кроме его собственного json.
Но это уже другая история

P.S. Если код трудно понимается могу сделать генерацию обычной плоскости.
P.S.S Ещё нашёл интересный файлик в репозитории b4w

P.S. Интересно а можно ли менять геометрию физическую материала Special: Collision…
Опытным путём выяснил, что геометрия в физике пока что не заменяется.

Ещё вопрос к разработчикам: А есть ли атрибут для чтения/записи вертексного цвета меша?
Нашёл сам a_color
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
03 августа 2016 09:31
Класс, спасибо! Пойду изучать !
03 августа 2016 09:36
Опытным путём выяснил, что геометрия в физике пока что не заменяется.

Да, это так. Как-то с вами раньше обсуждали эту тему, вопрос был по поводу применения скейла в физическом мире
03 августа 2016 10:21
Ответ на сообщение пользователя Семенцов Роман
Да, это так. Как-то с вами раньше обсуждали эту тему, вопрос был по поводу применения скейла в физическом мире
Ну вдруг чего поменялось за это время

Немного поигрался с геометрией, разобрался как можно менять вертексный цвет по глобальным координатам. А следовательно можно проводить любые манипуляции с вершинами… А это открывает такие возможности!

В данной сцене не используется ни одного динамического источника освещения. Только светит сверху солнце.

Пока идёт отпуск продолжаю воплощать всякие идеи из головы.

Проект test_geometry_vertex.zip
Генерацию объектов и работу с вертексами разбил на отдельные модули.
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
05 августа 2016 02:32
оч круто ! ++
Денис
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.