Форум

Объект, с которым произошло столкновение

22 июня 2015 14:03
Я наверное уже надоел со своими вопросиками.. =)
Скажите пожалуйста - каким образом мне получить объект с которым произошло столкновение?

    var char_coll = m_ctl.create_collision_impulse_sensor(character);
    var door_coll = m_ctl.create_collision_sensor(character,'door');
    var sensors= [char_coll, door_coll];

    m_ctl.create_sensor_manifold(character, "COLLISION_DOOR", m_ctl.CT_SHOT, sensors,
        logic_func, trigger_door);


здесь я создаю сенсор, который срабатывает при соприкосновении персонажа с дверью.. Объект персонажа мне известен - character. А как получить дверь?
http://born2fish.ru - секреты рыбной ловли
22 июня 2015 14:04
добавлю, что дверей у меня много, у всех стоит одинаковый collision_id
http://born2fish.ru - секреты рыбной ловли
22 июня 2015 15:43
Я недавно задавал похожий вопрос в этой теме
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
23 июня 2015 12:18
Кирилл, спасибо! Прочитал вашу ветку форума (что интересно - уже встречал ее ранее, но вот из головы вылетело). Так понимаю, что в последней версии движка в callback еще не добавили функционала?
http://born2fish.ru - секреты рыбной ловли
23 июня 2015 12:41
Хотел бы еще спросить - вы не нашли решения, кроме как создавать несколько сенсорных множеств? У меня в сцене около 150 дверей. И 1 персонаж. Не очень хотелось бы создавать 150 сенсорных множеств.

Возможно есть какие-то методы, позволяющие получить объект, на который направлен вектор из камеры?
http://born2fish.ru - секреты рыбной ловли
23 июня 2015 13:21
Добрый день!
Я смотрю всем одновременно понадобилась эта фишка) Точно такая же проблема. Не буду темы плодить, подскажите, может уже есть информация будет ли вообще и когда эта функция? У нас под сотню объектов… и, в общем… очень не хочется обходить этот момент костылями.
23 июня 2015 14:36
Ответ на сообщение пользователя Shaman
Хотел бы еще спросить - вы не нашли решения, кроме как создавать несколько сенсорных множеств? У меня в сцене около 150 дверей. И 1 персонаж. Не очень хотелось бы создавать 150 сенсорных множеств.

Возможно есть какие-то методы, позволяющие получить объект, на который направлен вектор из камеры?
Получать объект удобнее всего с помощью функции scenes.pick_object(), передавая в неё нужные экранные координаты. Тут не понадобится никакая физика. Важно только удостовериться, что на соответстующих объектах включена опция Enable Object Select. Это описано здесь.

Добрый день!
Я смотрю всем одновременно понадобилась эта фишка) Точно такая же проблема. Не буду темы плодить, подскажите, может уже есть информация будет ли вообще и когда эта функция? У нас под сотню объектов… и, в общем… очень не хочется обходить этот момент костылями.
В Developers preview, который мы выложили вчера этот функционал уже реализован. Документацию обновим, когда будет финальный релиз. Пока вы можете присоединиться к тестированию и посмотреть на новый функционал в модуле physics
Разработчик Blend4Web
29 июня 2015 13:09
Спасибо за ответ..

Получать объект удобнее всего с помощью функции scenes.pick_object(), передавая в неё нужные экранные координаты

но если у меня нет курсора мыши - он залочен функцией

m_mouse.request_pointerlock


как же мне все таки получить объект, на который я смотрю после столкновения с ним?
http://born2fish.ru - секреты рыбной ловли
29 июня 2015 13:42

но если у меня нет курсора мыши - он залочен функцией

Почему бы не использовать координаты середины экрана для определения объекта, на который смотрит персонаж
Разработчик Blend4Web
30 июня 2015 14:25

Почему бы не использовать координаты середины экрана для определения объекта, на который смотрит персонаж

спасибо, за ваш ответ! но боюсь, что данное решение мне не совсем подходит.. ведь мое приложение работает не в полноэкранном режиме. или есть возможность определить координаты центра объекта canvas3d?
http://born2fish.ru - секреты рыбной ловли
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.