Процедурная генерация простейших объектов. Редактирование UV разметки из API
31 июля 2016 11:55
Приветствую. Решил попробовать поиграться с модулем geometry и попробовать сгенерировать с нуля какой нить mesh.
И всё получилось!
![]()
Получилось назначить координаты вершин, индексы и направления нормалей. А вот как uv карту разметить не пойму.
И ещё для чего нужен Attribute name "a_tangent"?
Пример создания процедурного обруча (импортировать через менеджер проектов)
И всё получилось!
![](https://www.blend4web.com/media/uploads/7e3e4515-f1ef-4370-931c-5413fe2f5c37/test_geometry.png)
Получилось назначить координаты вершин, индексы и направления нормалей. А вот как uv карту разметить не пойму.
И ещё для чего нужен Attribute name "a_tangent"?
Пример создания процедурного обруча (импортировать через менеджер проектов)
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
http://naviris.ru/
31 июля 2016 15:02
Добрый день.
В основном используется при наложении карты нормалей (нормалмапы).
Насчёт текстурных координат - тут всё посложнее, на первый взгляд кажется, что необходимо на исходный меш нанести UV и текстуры, чтобы сгенерировался шейдер, использующий текстурные координаты. Могу ошибаться, но стоит попробовать использовать аттрибут a_texcord
В понедельник смогу более подробно отписать на этот счёт
И ещё для чего нужен Attribute name "a_tangent"?
В основном используется при наложении карты нормалей (нормалмапы).
Насчёт текстурных координат - тут всё посложнее, на первый взгляд кажется, что необходимо на исходный меш нанести UV и текстуры, чтобы сгенерировался шейдер, использующий текстурные координаты. Могу ошибаться, но стоит попробовать использовать аттрибут a_texcord
В понедельник смогу более подробно отписать на этот счёт
31 июля 2016 17:41
Добрый день ![smiling]()
![]()
И опять всё получилось! Только называется параметр a_texcoord (опять ковырялся в сорцах
)
Кому интересно прилагаю исходник.
Кажется понял почему в документации нет этого параметра… Потому что с нодовыми материалами uv карта не работает, только стековый материал.
И если объекту нужно отдать 2 uv карты… Пока не понятно как…
P.S. Теперь есть способ в b4w строить графики и диаграммы![smiling-eyes]()
P.S. Интересно а можно ли менять геометрию физическую материала Special: Collision…
![smiling](/static/pybb/emoticons/smiling.png)
но стоит попробовать использовать аттрибут a_texcordПопробовал!
![](https://www.blend4web.com/media/uploads/7a3e03eb-6ee8-417c-9e7e-9bbab00ed268/test_geometry2.png)
И опять всё получилось! Только называется параметр a_texcoord (опять ковырялся в сорцах
![smiling-eyes](/static/pybb/emoticons/smiling-eyes.png)
Кому интересно прилагаю исходник.
Кажется понял почему в документации нет этого параметра… Потому что с нодовыми материалами uv карта не работает, только стековый материал.
И если объекту нужно отдать 2 uv карты… Пока не понятно как…
P.S. Теперь есть способ в b4w строить графики и диаграммы
![smiling-eyes](/static/pybb/emoticons/smiling-eyes.png)
P.S. Интересно а можно ли менять геометрию физическую материала Special: Collision…
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
http://naviris.ru/
02 августа 2016 17:53
Добрый день, Кирилл! Решил разобрать ваш пример. Не совсем понимаю как происходит формирование данной геометрической фигуры . ![smiling]()
Могу ли я вас попросить сделать аналогичный пример, но только с кубом? Пример, где только назначаются вершины. Думаю с ним будет попроще, так как точек требуется меньше…
![smiling](/static/pybb/emoticons/smiling.png)
Могу ли я вас попросить сделать аналогичный пример, но только с кубом? Пример, где только назначаются вершины. Думаю с ним будет попроще, так как точек требуется меньше…
02 августа 2016 21:25
Ответ на сообщение пользователя АндрейДобрый вечер
Добрый день, Кирилл! Решил разобрать ваш пример. Не совсем понимаю как происходит формирование данной геометрической фигуры .
Могу ли я вас попросить сделать аналогичный пример, но только с кубом? Пример, где только назначаются вершины. Думаю с ним будет попроще, так как точек требуется меньше…
![smiling-open-mouth](/static/pybb/emoticons/smiling-open-mouth.png)
Тут назначениями вершин не отделаться. Как же направление нормалей и uv карта?
Так что делаем по хардкору
![smiling-open-mouth](/static/pybb/emoticons/smiling-open-mouth.png)
Собственно куб. dynamic_cube.zip
![](https://www.blend4web.com/media/uploads/ff894a84-accc-4a4c-9d9c-878f1f91c145/cube.png)
Но код там то там тоже получился слегка мудрёный… Создание куба распилино на несколько подфункций.
Алгоритмы создания геометрии черпаю от сюда и совсем чутка переписываю, что бы b4w скушал.
Так что в теории можно сгенерировать и 3d текст, и научить b4w загружать другие 3D форматы, кроме его собственного json.
Но это уже другая история
![smiling-sunglasses](/static/pybb/emoticons/smiling-sunglasses.png)
P.S. Если код трудно понимается могу сделать генерацию обычной плоскости.
![winking](/static/pybb/emoticons/winking.png)
P.S.S Ещё нашёл интересный файлик в репозитории b4w
P.S. Интересно а можно ли менять геометрию физическую материала Special: Collision…Опытным путём выяснил, что геометрия в физике пока что не заменяется.
Нашёл сам a_color
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
http://naviris.ru/
03 августа 2016 09:36
03 августа 2016 10:21
Ответ на сообщение пользователя Семенцов РоманНу вдруг чего поменялось за это время
Да, это так. Как-то с вами раньше обсуждали эту тему, вопрос был по поводу применения скейла в физическом мире
![smiling-open-mouth](/static/pybb/emoticons/smiling-open-mouth.png)
Немного поигрался с геометрией, разобрался как можно менять вертексный цвет по глобальным координатам. А следовательно можно проводить любые манипуляции с вершинами… А это открывает такие возможности!
![smiling-heart-shaped-eyes](/static/pybb/emoticons/smiling-heart-shaped-eyes.png)
![](https://www.blend4web.com/media/uploads/a9bc180d-386e-4c30-a611-e842b9d7037e/ezgif.com-optimize.gif)
В данной сцене не используется ни одного динамического источника освещения. Только светит сверху солнце.
Пока идёт отпуск продолжаю воплощать всякие идеи из головы.
Проект test_geometry_vertex.zip
Генерацию объектов и работу с вертексами разбил на отдельные модули.
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
http://naviris.ru/