Форум

Сообщения, созданные пользователем ice99
14 ноября 2016 12:01
Ответ на сообщение пользователя Иван Любовников
Такое сейчас не поддерживается, но в планах на будущее есть.
Жаль. Смогу вечером поковырять, но я так понял нужно делать вторую сцену, по сути с той же моделью и ортогональной камерой во второй сцене, и при запросе режима "орто" в первой сцене скрывать всё кроме одной плоскости, на которую делать RTT со второй сцены.
По идее потерь производительности быть не должно.
13 ноября 2016 15:48
Не нашел в API функции смены проекции камеры (перспективный\ортогональный). В сцене одна камера, нужно чтобы она по команде становилась или перспективной или ортогональной. Если 2 камеры, то путь к RTT, но у меня одна, поэтому хотелось бы менять её проекцию. Такое вообще возможно?
12 ноября 2016 23:36
Собственно сабж.
Прикрепил рисунок, где показал как я это реализовал.

Взял 3D сетку, удалил все грани, далее перевел её в кривую, и сделал у неё Bevel квадратом.
Наложил одну модель на другую, получился эффект линий.

Вопрос в том, можно ли это реализовать программно, без дополнительной сетки? Пример с линиями смотрел, но там простая процедурная генерация.
08 ноября 2016 14:56
Под свой вордпресс сделал HTML. но нет кнопки "play" а анимация сразу запускается, на страницу вставляю так <iframe src="/wp-content/uploads/2016/09/wam7500.html" width="800" height="500" allowfullscreen="allowfullscreen"></iframe> нопри переходе на страницу где расположен код, плеер сразу начинает грузится, а хотелось бы чтобы пользователь сам нажимал на "play".
Как начинающий, я тоже столкнулся с похожими вопросами.
Дальше вам захочется больше возможностей для своей идеи.
Мой совет, забудьте про плеер, делайте приложение. Сложнее, нужно въехать, но полный контроль за ситуацией.
Как вариант - допилите сорцы плеера под себя.
Вот статья по которой я сделал свой прелоадер (изначально вы хотели убрать логотип B4W).
08 ноября 2016 14:27
Слишком сильно падает, вроде, не должно быть такого. Всего 11 анкоров на простой сцене? А в каком браузере смотрели? И какие у вас GPU/CPU?
Браузеры все доступные. FX-8300 и GTX-760
Да, так сильно. В любом случае я нашел выход. У меня, как я и умничал в предыдущем сообщении выпуклый объект и выпуклое множество анкоров (ну, считайте объект - сфера, а анкоры расположены на бОльшей сфере). Я разбил всё множество анкоров (11 шт) на 4-ре подмножества (лево,право,зад, перед) и в зависимости от угла камеры (таргет в центре объекта) скрываю анкоры, которые находятся "за" объектом. т.е. одновременно у меня видно не более 2-х граней анкоров. Плюс добавил ограничения на видимость по вертикальному углу, т.е. когда камера смотрит "сильно сверху" - все анкоры убираются.
Плюс добавил вашу методику скрытия по дистанции.
В итоге я получил псевдо-функцию скрытия невидимых анкоров как мне кажется меньшими аппаратными затратами.
Однако это будет идеально работать в случае "все анкоры снаружи геометрии". Если допустим объект сложный (ну, планировка 3-х комнатной квартиры например, где анкоры находятся внутри каждой из комнат), то тут эта логика работать не будет, и нужно будет что-то допиливать.
ВОЗМОЖНО это связано с геометрией анкоров (ну, типа обводка с затуханием), но не тестировал.
В любом случае пожелание "сделать скрытие анкоров менее тормознутым" у меня осталось. Для демок и обучалок подсказка на объекте - первичная вещь.

ХОТЯ можно сделать и следующий вариант. Я его реализовал, но не в качестве анкора. Делаем "анкоры" обычными мешами (можно билбордами) проблемы с тормозами при определении невидимости не будет, а при ховере (или клике) на них по координатам мыши на канве выводим div с нужной нам инфой.

Просто, если вы не допилите незатратное скрытие анкоров, то на сложных проектах - придется делать именно так.

Еще замечание по производительности.
У меня на сцене всего 2 селектабл(или пикабл) объекта. Когда я вращаю таргет камеру вокруг объекта (ЛМБ+драг) не то чтобы фпс падает, сложно сказать, но микрофризы каеие-то происходят. Отключил функцию выделения объектов (при mousemove)- фризы ушли.
Видимо вот этот блок вызывает напряг.
				var x = e.clientX;
				var y = e.clientY;
				var objME = m_scenes.pick_object(x, y);


В общем, решил следующим образом - "при нажатой ЛМБ - не осуществлять пикинг объекта" - фризы как бабка отшептала.

Смотрел я видео по оптимизации проектов , но оно какое-то поверхностное и не охватывает эти моменты.
Нужна какая-то более конкретная тулза для профилирования. Если знаете - порекомендуйте.

Еще, было бы хорошо, если бы вы сопоставили функциям - условный "вес", и разработчикам можно было бы ориентироваться применять или не применять их в своих проектах . Понимаю, что зависит от железа, но думаю вам можно собрать комп с неизменной конфигурацией, на котором исследовать затратность ресурсов. Пропорция то меняться не будет. Вот например рэйкастинг на mousemove создает микрофризы, и чтобы этого не замечать - оптимально рэйкастить неподвижную модель, и т.д.
07 ноября 2016 12:07
Сейчас не помню, где получилась "нестыковка", но поэкспериментировав с режимами фулскрина я заметил что ИНОГДА ротация выключается, а иногда нет (при одинаковом то коде). Возможно из-за скорости ОТПУСКАНИЯ мыши после клика. Использовал mousedown.

В общем, используя mouseup и проверку при вкл\выкл фулскрина
if (m_cam.is_auto_rotate() == false) {
	m_cam.auto_rotate(0.1);
}

победил.
07 ноября 2016 11:40
это сам объект-сенсор, а надо использовать метод get_sensor_value
Виноват, протупил.

лучше, думаю, использовать таймер-сенсор: create_timer_sensor
Смогу попробовать протестировать вечером, но сразу замечание (ну или мысли вслух).
А я правильно понимаю, что рекомендовав create_timer_sensor вы подразумевали их (сенсор движения камеры и сенсор таймера) завязку в одну систему? Ну, т.е. стартовать сенсор таймера после того как сенсор камеры не детектит движение? Просто выполнять сенсор таймера каждые например 10 секунд идеологически неправильно, его должна побуждать камера.

Получается в этом случае (связка) он нужен просто для отсчета времени внутри приложения? Я к тому, что а не из пушки ли по воробьям мы стреляем ,используя сенсор для отсчета времени?
06 ноября 2016 12:57
Коллеги, а у всех отключается вертикальная развертка в Chrome? (для профилирования приложения).
Добавляю параметр "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" –disable-gpu-vsync
Vsync не отключается.
Погуглил, нашел пару тем на форуме разработчиков, где народ тоже не может отключить В-развертку.

Windows 7 x64
Chrome 54.0.2840.87 m
06 ноября 2016 08:58
Для начинающих, форум - основной источник разрешения проблем и сложностей в разработке. Сам активно пользую его и поиск по нему, как в русской, так и в англоязычной версии. А пожеланий, собственно 2.

1. Расширенный поиск (в теме, в сообщении). Текущий Яндексовский не особо удобен.

2. Например есть тема "Вопрос-ответ", на момент времени "сейчас" - там 78 страниц. Я подумал, как же было бы удобно, если бы все сообщения можно было показать на одной странице ,а не скакать по 78-и. "Режим печати", например. Удобство еще в том, что можно использовать Ctrl+F по всей теме сразу. Так, например реализовано на ру-борде, и это просто мегафича. Вот пример тема из 300 страниц, которые в режиме печати отображаются на одной. Все сообщения за 7 лет на одной странице. Печатать такие портянки никто не будет, но поиск и удобство просмотра решают. Убираем аватары, свистелки, и.т.д. Остаются только текст и ссылки.
В новостях читал, что "пилите" новый сайт, может как раз и об этом подумать
06 ноября 2016 08:39
я бы с удовольствием воспользовался бы какой нить надстройкой, где интерфейс былбы похож на максовский…
При запуске блендера, на сплеше можно выбрать UI схему 3ds max-а. Либо Ctrl+Alt+U в Input-е. Однако не рекомендую. Сам еще действующий Макс-ер ,и нахожу Blender-овские настройки удобней и производительней.