Форум

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

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

    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 #2798
добавлю, что дверей у меня много, у всех стоит одинаковый collision_id
http://born2fish.ru - секреты рыбной ловли
22 июня 2015 15:43 #2802
Я недавно задавал похожий вопрос в этой теме
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
23 июня 2015 12:18 #2814
Кирилл, спасибо! Прочитал вашу ветку форума (что интересно - уже встречал ее ранее, но вот из головы вылетело). Так понимаю, что в последней версии движка в callback еще не добавили функционала?
http://born2fish.ru - секреты рыбной ловли
23 июня 2015 12:41 #2815
Хотел бы еще спросить - вы не нашли решения, кроме как создавать несколько сенсорных множеств? У меня в сцене около 150 дверей. И 1 персонаж. Не очень хотелось бы создавать 150 сенсорных множеств.

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

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

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

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

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

m_mouse.request_pointerlock


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

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

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

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

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