Форум

Сообщения, созданные пользователем Grohot
13 апреля 2016 10:44
Спасибо, Иван. Добрался до машины. Результаты такие.

Слева на зеленом фоне результаты при выключенных тенях,
справа результаты при включенных тенях.
Сверху результаты при статичной сцене (статичная камера, нет никакой анимации)
Снизу результаты при клике мыши, по которому идет пикинг.
Действительно похоже, что сам пикинг не зависимо включены тени или нет отрабатывает за одинаковое время COLOR_PICKING + разные постпроцессинги видимо, вот и складывается 0.3-0.5сек. Когда же тени включены, то накладывается видимо еще задержка от отрисовки основной сцены.
Не скажу, что 0.2-0.3сек это быстро для пикинга. Но кроме того, хотелось бы понять куда копать, чтобы найти причину в целом тормозов сцены при включенных тенях. То есть хотелось бы из этой информации научиться доставать суть проблемы )
Хотя наверно самый простой вариант - это упростить сцену, уменьшить количество объектов, полигонов и снова посмотреть на цифры. Опытным путем так сказать )
12 апреля 2016 22:49
Как можно запустить проект в просмотрщике сцен?
Сцена имеет немного мешей и вся логика прописана на самой html-странице в js. В том числе и размножение мешей до требуемого количества.
Т.е. если запустить просмотрщик из блендера в фаст превью, то по сути ж загрузится json сцены с малым количеством мешей, плюс никакой логики, а надо запустить в просмотрщике само приложение.

Цель, увидеть HUD-info. Может есть варианты увидеть его не в просмотрщике, а так же как при загрузке сцены можно указать show_fps=true, может и с hud-info так можно? (пока еще толком не знаю правда что за информация там и как ее оценивать, в документации по панели Tools & Debug как-то не очень подробно по-моему).
12 апреля 2016 12:03
Спасибо за пояснения, Роман.
Посмотрю что за HUD такой )
Сцену нужно перерисовывать с позиции камеры, которая может измениться.
У меня и сцена статическая и камера статическая - только мышью меши можно таскать
11 апреля 2016 10:39
Всем привет.
Все-таки отрабатывает метод на слабых машинках с отключенными тенями 0.2-0.35сек.
Если включить тени, то вообще долго.
Т.е. медленный отклик от клика мыши, для быстрых игр очень критично, но даже и в обычной работе это подвисание очень заметно.
В ранних сообщениях говорилось, что это из-за сабрендерринга сцены.

Но если сцена статическая возможно ли сабрендеринг хранить как бы в кеше, чтобы по клику сцена не рендерилась, а сразу вычислялся нужный объект?
То есть отрисовали сцену и заодно сразу отрисовали ее в памяти для пикинга. Потом прошел пик и мы уже не рисуем, а сразу на этой модели в памяти вычисляем нужный объект.
Или например, вывести наружу для программистов возможность управления сабрендерингом для пикинга? (чтобы он сам мог рулить, что с этого момента сцену можно зарендерить для дальнейшего пикинга, при этом он должен идти асинхронно, и иметь признак завершенности, т.е. когда прошел пик, смотрим завершился ли сабрендеринг, т.е. есть ли готовая сабсцена, если есть, то быстрый вариант (уже без отрисовки), если нет, то такой как есть сейчас).
Или меш и вычисляется именно по ходу сабрендеринга?

Может есть возможность частичного рендеренига? Т.е. разбиваем сцену на квадраты, по какому квадрату кликнули только ту часть и рендерим дабы найти нужный объект?
Или например, чтобы в сабрендеринге для пикинга участвовали только объекты с выставленным селектбл свойством (тогда в частном случае меши можно окружить просто некими квадратами из одного полигона с селектбл-свойством, чтобы в сабрендеринге участвовали примитивные объекты для увеличения его скорости).

Так же было бы неплохо по-моему сделать, чтобы на этот сабрендереринг не влияли тени или был параметр, который бы их отключал, т.к. для пикинга тени по-моему не критичны, а между тем тормозов добавляют ощутимо. Ну и отключение теней в сцене для пользователя тоже было бы удобно по-моему (хотя можно создать две сцены одна с тенями, другая без).
11 апреля 2016 08:08
Вот запёк карту нормали, используя эту модель.
Спасибо, класс. Буду вникать в запекание нормалей
10 апреля 2016 15:35
Ну берём плоскость, делаем развёртку, накладываем на неё текстуру с машинкой и карту нормалей, смотрим на неё сверху. Так?
Видимо, так. Только не знаю как именно это сделать )
Надо сделать плоский меш полностью повторяющий контуры вида машинки сверху?
Потом берем рендер машинки и делаем из нее текстуру и накладываем на эту плоскость-контур вида сверху? Или текстура делается из материала? (на меше-машинке есть только один материал). Можно даже упростить, просто не машинка, а просто сфера вид сверху.
10 апреля 2016 11:51
Например есть меш в виде маленькой машинки.
Камера ортогональная смотрит на нее всегда сверху.
В приложении главное быстрый отклик.
Поэтому хотелось бы свести этот меш-машинку буквально к картинке, но при этом, чтобы он оставался мешем.
То есть задача сделать легковесный меш буквально из одного полигона, представляющего собой силуэт вида сверху и наложить на него видимо текстуру рендера-материала, карту нормалей?
Или есть еще варианты?
08 апреля 2016 22:57
Спасибо, Михаил, понял. Копаписат не прокатит ). Придется пытаться разбирать материал.
Но тогда не понятно как его можно редактировать? (ну чтобы играя как-то со свойствами пытаться понять как что работает). Открываю тот же bronze.blend, но при выделении меша в сцене закладки материала нет.
Ок. Пытаешься смотреть просто ноды, что-то отключить/подключить, а нельзя, будто файл только для чтения.
08 апреля 2016 17:59
Всем привет!
1. В отдельную папку положил:
- материал из библиотеки
- файлы текстур используемые в материале
- там же создал новый бленд файл с тестовым мешем
2. Прилинковал библиотечный материал, который лежит в этой же папке
3. Перепрописал ссылки на текстуры, на файлы текстур, которые тоже положил в эту же папку
4. После того, как прилинковал материал (бронза) в списке материалов появились:
L bronze и L noise_01_normal
Но добавить к мешу материалы такие точно как есть в исходном объекте не выходит.
Видимо не все до конца прилинковал, будто бы не хватает некого базового материала что ли.
Кубик получается просто зеленый, текстура ложится например на шар вообще коряво, будто не задан метод наложения, но его толком и не задать вроде как.
Кроме того, когда сохраняешь проект ощущение, что все эти привязки слетают, хотя пути вроде указываешь относительные.
Пробовал все это же проделать, не вытаскивая библиотечный файл материала из SDK - результат тот же.

В общем хотелось бы пример или более подробную инструкцию как использовать материал из библиотеки при чем желательно автономно (если это вообще реально), т.е. вытащить материал из библиотеки отдельным файлом, вытащить используемые им текстуры, как все это правильно прилинковать к новому проекту, чтобы все заработало )

Прицепил тестовый архив с бронзой.
ADD:
(в архиве беда - сам материал похоже тоже ссылается на другие файлы, потому просто так взять и скопировать один bronze.blend и его текстуры видимо не достаточно?
и вообще похоже, что не целесообразно пытаться вытащить все это из SDK, если все так повязано :))
==================================
Но попробовал прилинковаться прямо к
….\blend4web_sdk_free\blender\material_library\metal\bronze.blend в SDK - все равно не получается нормальной картинки на выходе.
Попробовал на меше добавить UV-развертку по дефолту, все равно:


06 апреля 2016 22:26
Вот когда читаешь это не первого апреля и не смотришь на дату, вот это восторг