User posts Evgeny Rodygin
25 June 2015 10:52
И вас с добрым утром
"Ползание" мы тоже замечали на нашем Пятигоре. В принципе, уже есть план по улучшению стабильности персонажа. Но это будет не в этом релизе.
посмотрел что возвращает метод m_ctl.get_sensor_payload и увидел, что свойство coll_obj имеет значение null в отличии от других. Я так понимаю, там должен быть объект с которым произошло столкновение, или спешу и стоит дождаться документации?Для объектов с физическими материалами "Special: Collision" действительно не будет возвращено объекта соударения, потому что они все объединяются в общий статический массив, что серьезно упрощает рассчеты в Bullet. Данный метод нужно применять к объектам с bounding физикой.
Ещё в coll_pos и coll_norm приходят нули, если прошло мало времени от создания объекта и навешивание на него сенсора до первого столкновения. Можно стрельнуть в стену с расстояния 5 метров и заметить это.Потестировали ваше демо и пришли к выводу, что это все-таки недостатки console.log-а. Попробуйте выводить не весь массив, а его компоненты по отдельности.
Сенсор на игроке CHARACTER тоже иногда нули отдаёт, но пока не смог отловить причину.
Ещё заметил, что CHARACTER иногда на половину проваливается под колизию и плавает по поверхности будто "висит в воздухе", прыжок и спринт при этом не работают. Мне конечно нужна функция приседания игрока, но не в таком стилеПроваливания под землю у нас бывают на очень слабых машинах, например на мобильниках. Это обычно связано с интерполяцией скорости персонажа. На вашей демо не получились такого воспроизвести. Возможно, слишком мощное железо. Какая, кстати говоря, у вас машина?
"Ползание" мы тоже замечали на нашем Пятигоре. В принципе, уже есть план по улучшению стабильности персонажа. Но это будет не в этом релизе.
23 June 2015 14:36
Ответ на сообщение пользователя ShamanПолучать объект удобнее всего с помощью функции scenes.pick_object(), передавая в неё нужные экранные координаты. Тут не понадобится никакая физика. Важно только удостовериться, что на соответстующих объектах включена опция Enable Object Select. Это описано здесь.
Хотел бы еще спросить - вы не нашли решения, кроме как создавать несколько сенсорных множеств? У меня в сцене около 150 дверей. И 1 персонаж. Не очень хотелось бы создавать 150 сенсорных множеств.
Возможно есть какие-то методы, позволяющие получить объект, на который направлен вектор из камеры?
Добрый день!В Developers preview, который мы выложили вчера этот функционал уже реализован. Документацию обновим, когда будет финальный релиз. Пока вы можете присоединиться к тестированию и посмотреть на новый функционал в модуле physics
Я смотрю всем одновременно понадобилась эта фишка) Точно такая же проблема. Не буду темы плодить, подскажите, может уже есть информация будет ли вообще и когда эта функция? У нас под сотню объектов… и, в общем… очень не хочется обходить этот момент костылями.
22 June 2015 18:16
Посмотрел логи с работающего пк, вроде там тоже d3d9?Если смотрели на webglreports.com в строке ANGLE, то всё правильно. Но вообще, хром должен по-умолчанию использовать dx11 на поддерживаемом железе.
Нет, обычный интел i7 2600k, может быть это каким то образом связано с интегрированной графикой и материнкой? Но монитор разумеется подключен к внешней видеокарте.Поскольку у вас интел - это не должно быть проблемой. Я бы все-таки грешил на драйвера. Какая версия у вас стоит?
Можете ещё привести вывод about://gpu? (нужно вбить в адресной строке)
22 June 2015 14:58
Ответ на сообщение пользователя CyberLionУ вас сильно урезанные возможности видеокарты - используется d3d9 вместо d3d11. И depth-текстуры так же нет в списке поддерживаемых расширений. Полагаю, если вы наберете в браузерной строке about://gpu, то будет информация о каких-то ошибках.
Я тестировал на черепахе, софит, машинима. Нигде теней нет. А вот от очков тень лежит, возможно там текстурой сделано, я не знаю.
У вас случайно не APU от AMD стоит? Я сейчас исследовал этот вопрос и обнаружилось, что Chrome выключает dx11 на гибридной графике от AMD.
22 June 2015 12:25
Добрый день и добро пожаловать на форум!
Насчет Internet Explorer - это вполне предсказуемое поведение. На нём до сих пор нет поддержки всего функционала WebGL в том числе Depth-текстур, которые нужны для отрисовки теней.
Насчет компьютера, на котором не рисуются тени:
Скажите, пожалуйста, какие наши демо-сцены вы на нём открывали. И приведите вывод с сайта webglreport.com для этой машины.
Мы тестировали движок на схожей видеокарте AMD r270 и таких проблем не наблюдали.
Насчет Internet Explorer - это вполне предсказуемое поведение. На нём до сих пор нет поддержки всего функционала WebGL в том числе Depth-текстур, которые нужны для отрисовки теней.
Насчет компьютера, на котором не рисуются тени:
Скажите, пожалуйста, какие наши демо-сцены вы на нём открывали. И приведите вывод с сайта webglreport.com для этой машины.
Мы тестировали движок на схожей видеокарте AMD r270 и таких проблем не наблюдали.
19 June 2015 16:15
Ответ на сообщение пользователя ShamanДа. На скриншоте антиалиасинг работает. Но с такими артифактами он не может ничего сделать. По-идее в ULTRA ситуация должна быть несколько лучше. Полностью устранить этот эффект, к сожалению, невозможно.
С футбольным полем все понял, спасибо..
А вот с "лесенкой" на ребрах верхних этажей дома - проблема та же? Дело в независимой геометрии? Какие есть пути решения - сделать градусы углов дома более высоким?
В дальнейшем мы вынесем больше настроек антиалиасинга в блендер, и будет возможность настройками в какой-то степени нивелировать эти недостатки.
19 June 2015 14:39
Вы выложили изображения с vk, которые, видимо, были ужаты при загрузке. Поэтому сложно что-то оценить. Лучше выложите изображения с оригинальным размером на наш хостинг.
Про второе изображение, тем не менее, можно кое-что сказать. Если я правильно понял - вы используете независимую геометрию для линий разметки. В таком случае при резких углах (как на вашем скриншоте) не поможет никакой антиалиасинг (кроме Supersampling-а). Это типичная проблема для графики реального времени и с этим борются уже много лет, но универсального решения с нормальной производительностью здесь нет. Возможно, в вашем случае лучше использовать текстуру. Или вовсе избегать таких экстремальных углов в приложении.
Но в любом случае лучше увидеть изображения высокого разрешения.
Про второе изображение, тем не менее, можно кое-что сказать. Если я правильно понял - вы используете независимую геометрию для линий разметки. В таком случае при резких углах (как на вашем скриншоте) не поможет никакой антиалиасинг (кроме Supersampling-а). Это типичная проблема для графики реального времени и с этим борются уже много лет, но универсального решения с нормальной производительностью здесь нет. Возможно, в вашем случае лучше использовать текстуру. Или вовсе избегать таких экстремальных углов в приложении.
Но в любом случае лучше увидеть изображения высокого разрешения.
17 June 2015 10:17
Спасибо! А можно попросить ещё пофиксить обработку событий нажатий клавиш в этой демке.Спасибо за замечание! Это уже известный баг, но тут пока ничего изменять не будем, потому что тогда нужно будет значительно дописать урок по созданию этого приложения. Здесь мы старались организовать контроллы максимально просто, а для корректной обработки описанной вами ситуации нужно будет перестроить всё на CONTINUOUS сенсоры.
Дело в том что если бежать вправо, удерживая клавишу D, и одновременно нажать и отпустить клавишу A (бежать влево), но продолжать удерживать клавишу D, персонаж остановится. Хотя должен продолжить бежать вправо.
Этот же баг, кстати, проявляется и на ферме.
15 June 2015 17:25
Ответ на сообщение пользователя КириллДействительно. Спасибо, поправим!
Заметил вот. Сейчас в документации к модулю scenes дублируется метод get_object_by_name()
Вы один из немногих, кто внимательно читает документацию =)
15 June 2015 16:09
Добрый день, и спасибо за хороший отзыв.
Не уверен, что вас интересует именно антиалиасинг. Сильнее всего он проявляется на ребрах 3D моделей в виде лесенки. Его можно включить в настройках сцены, как описано здесь.
Если у вас не работает весь постпроцессинг, могу предположить, что вы используете низкие настройки качества, задавая их через API.
Вы используете экспорт в HTML? Или пишете свое приложение?
Если второе, то нужно посмотреть, на вызов функции инициализации приложения. m_app.init()
Не уверен, что вас интересует именно антиалиасинг. Сильнее всего он проявляется на ребрах 3D моделей в виде лесенки. Его можно включить в настройках сцены, как описано здесь.
Если у вас не работает весь постпроцессинг, могу предположить, что вы используете низкие настройки качества, задавая их через API.
Вы используете экспорт в HTML? Или пишете свое приложение?
Если второе, то нужно посмотреть, на вызов функции инициализации приложения. m_app.init()