Quest3D - Русскоязычное сообщество

Quest3D => Логика => Тема начата: МИ}{@ЛЪIЧ от 25 Октября 2009, 11:39:47



Название: Как сделать так что бы объект на втором плане не выделялся
Отправлено: МИ}{@ЛЪIЧ от 25 Октября 2009, 11:39:47
Я прилагаю файл и видео, у меня проблема состоит в том что наводя курсор на один дом и если под углом попадает второй то вылетают обе информации, такая же проблема и на закрытие этой информации, если под крестиком находится объект то он выделяется и происходит вылет очередной информации о доме.Помогите доработать схему.


Название: Re: Как сделать так что бы объект на втором плане не выделялся
Отправлено: cashis от 25 Октября 2009, 12:46:23
Помойму тут надо использовать CollisionRayCheck а не DetectMouseCollision! И надо получать ближайшую точку колизии и сравнивать с точкой получаемой для определённого предмета и если они ровны, то объект выделяется.


Название: Re: Как сделать так что бы объект на втором плане не выделялся
Отправлено: МИ}{@ЛЪIЧ от 25 Октября 2009, 13:15:02
я пробывал у меня что то через рей чик не получилось.


Название: Re: Как сделать так что бы объект на втором плане не выделялся
Отправлено: DimiS от 26 Октября 2009, 13:40:26
просто у тебя сейчас сделано наверняка таким образом: если курсор мышки наведён на объект, то выполнять для него чёто там
А надо так: если курсор мышки наведён на мой объект и он ближайший к камере, то выполнять чёто там. Ну это так, в общем.
Если все твои объекты описаны статично без применения массивов или ОО списков, то можешь в одном месте сделать колижн рей чек со всеми твоими объектами. У колижен рей чека есть опция находить ближайшую точку пересечения -- тебе нужно её включить. Колижен рей чек будет возвращать индекс объекта с которым произошло пересечение луча мышки, индекс считается от 1. Далее по этому индексу ты можешь определить на какой из объектов наведена мышка, ну и сделать чё там те надо.


Название: Re: Как сделать так что бы объект на втором плане не выделялся
Отправлено: МИ}{@ЛЪIЧ от 26 Октября 2009, 19:09:10
на примере моей схемы может что то типа этого сделать? А то я не очень понял.


Название: Re: Как сделать так что бы объект на втором плане не выделялся
Отправлено: redis от 21 Ноября 2009, 19:25:27
Все здраствуйте, впринцепи я сделал чтобы сразу два обьекта не выделялись (правдо через гуи элемент выделяется), возможно слишком замудрёно, и гуру могут сделать попроще, но если тебя не устраивает этот вариант, то я могу в свободное время посидеть подумать как сделать через "колизион рэй чек", а так лови  :)


Название: Re: Как сделать так что бы объект на втором плане не выделялся
Отправлено: МИ}{@ЛЪIЧ от 21 Ноября 2009, 19:38:55
Спасибо большое! да то что нужно, жалко конечно что через крестик пробивает, но если у Вас будет время сделайте пожалуйста, а пока я эту схемку применю.


Название: Re: Как сделать так что бы объект на втором плане не выделялся
Отправлено: МИ}{@ЛЪIЧ от 14 Января 2010, 22:24:29
Помогите исправить пробивание через гуи элемент объекта, так как объектов в сцене более 30 и при нажимании на крестик выделяется другой объект.


Название: Re: Как сделать так что бы объект на втором плане не выделялся
Отправлено: DimiS от 15 Января 2010, 02:38:19
Вот, сделал.
Там два отдельных колижен рей чека на твой гуй и на 3д объекты сцены, это потому что для них используется разная камера. Ещё, в гуёвом колижен рей чеке важен порядок подключения гуёвых элементов, нужно подключить сначала кнопочку, а потом панельку на которой находиться эта кнопка. Если сделать наоборот то он всегда будет показывать наведение только на панельку. Короче порядок, обратный тому в котором ты их рисуешь.