onMouseDown не работает
|
|
zaicev9797 | Дата: Среда, 04 Июня 2014, 16:17 | Сообщение # 1 |
AbRaKaDaBrA
Сейчас нет на сайте
| пишу такой код
void OnMouseDown() { Debug.Log("ihhwndchdw"); }
тыкаю по кнопке, но консоль пустая Коллайдер на кнопке есть, и его граница находится перед камерой. Что не так?
проект Mysterious Space. The losted moment
|
|
| |
allods | Дата: Среда, 04 Июня 2014, 16:25 | Сообщение # 2 |
почти ветеран
Сейчас нет на сайте
| void OnMouseDown(0) { Debug.Log("ihhwndchdw"); }
|
|
| |
robertono | Дата: Среда, 04 Июня 2014, 16:33 | Сообщение # 3 |
Чокнутый Кот
Сейчас нет на сайте
| zaicev9797, скрипт с этим кодом на объекте на который ты кликаешь?
|
|
| |
zaicev9797 | Дата: Среда, 04 Июня 2014, 16:54 | Сообщение # 4 |
AbRaKaDaBrA
Сейчас нет на сайте
| Цитата robertono ( ) на объекте на который ты кликаешь? даЦитата allods ( ) void OnMouseDown(0) { Debug.Log("ihhwndchdw"); }
консоль ругается на нолик
проект Mysterious Space. The losted moment
|
|
| |
allods | Дата: Среда, 04 Июня 2014, 17:24 | Сообщение # 5 |
почти ветеран
Сейчас нет на сайте
| А попробуй с коллайдером
|
|
| |
zaicev9797 | Дата: Среда, 04 Июня 2014, 17:42 | Сообщение # 6 |
AbRaKaDaBrA
Сейчас нет на сайте
| на кнопке и так коллайдер висит
проект Mysterious Space. The losted moment
|
|
| |
KamiRonin | Дата: Среда, 04 Июня 2014, 17:48 | Сообщение # 7 |
почти ветеран
Сейчас нет на сайте
| была тема
Мыслю - значит программирую... Конструктивная критика - умных ведет к совершенству... Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
|
|
| |
zaicev9797 | Дата: Среда, 04 Июня 2014, 17:53 | Сообщение # 8 |
AbRaKaDaBrA
Сейчас нет на сайте
| честно, так и не понял, в чем соль
а эта функция может сработать если жмякнуть, находясь внутри коллайдера?
проект Mysterious Space. The losted moment
|
|
| |
KamiRonin | Дата: Среда, 04 Июня 2014, 17:56 | Сообщение # 9 |
почти ветеран
Сейчас нет на сайте
| вот на официальном форуме юньки ветка
в двух словах: - нет ли между камерой и конечной "кнопкой" невидимого коллайдер-объекта не дающего нажать - глубина зрения камеры (критично!!) - толщина триггера - не должна быть нулевой (критично!) ну там есть еще нюансы, почитай.
Мыслю - значит программирую... Конструктивная критика - умных ведет к совершенству... Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
|
|
| |
KamiRonin | Дата: Среда, 04 Июня 2014, 17:59 | Сообщение # 10 |
почти ветеран
Сейчас нет на сайте
| Цитата zaicev9797 ( ) а эта функция может сработать если жмякнуть, находясь внутри коллайдера? онМоус делает рейкаст от камеры к мышке и если попадает в коллайдер не исключенный из рекаст-слоев - то срабатывать должен. т.е. даже наоборот бывает - нужно чтобы когда ты находишься внутри коллайдера - он не отрабатывался, а он все равно лезет. пытаешься избежать. т.ч.......
Мыслю - значит программирую... Конструктивная критика - умных ведет к совершенству... Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
|
|
| |
zaicev9797 | Дата: Четверг, 05 Июня 2014, 16:07 | Сообщение # 11 |
AbRaKaDaBrA
Сейчас нет на сайте
| ну тогда все ясно, теперь вопрос только как в этой функции указать, какие слои игнорировать Добавлено (04.06.2014, 21:17) --------------------------------------------- можно конечно самостоятельно срейкастить, номнежинтересно Добавлено (04.06.2014, 21:40) --------------------------------------------- хм, кажись сам разобрался Добавлено (04.06.2014, 21:42) --------------------------------------------- нет, не разобрался, думал поместить объект на слой игноррейкаст, но мне это явно не подходит. Можно ли как-то указать маску для этой функции (onMouse)? Добавлено (05.06.2014, 16:07) --------------------------------------------- Теперь другая проблема
у меня есть Корабль, к Короблю удочерен объект Кокпит, а к Кокпиту удочерен объект Монитор
При старте я создаю несколько кнопок из одного префаба с помощью цикла, и сразу удочеряю их кокпиту. Кнопки имеют коллайдер и им назначен слой Near.
когда я тыкаю мышкой, я сначала пускаю один рейкаст
ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(transform.position,ray.direction,out hit,100000,rayCastingMask)) // в инспекторе в рейКастингМаск указан только слой Near { Debug.Log(hit.transform.name);//вывожу имя того, пок кому тыкнул }
потом второй
if(Physics.Raycast(ray,out hit,RadDist)) { if (Screen.showCursor) { ....... и т.д. // это уже к делу не относится
Дак вот почемуто, когда я тыкаю ПО КНОПКАМ (они у меня названы "Button") он мне выводит имя корабля, когда я тыкаю немного мимо кнопок, он мне ничего не выводит.
я даже на всякий случай отключил коллайдер самого кораблика, но только почемуто всеравно при щелканьи по кнопкам появляется имя корабля.
Я отказываюсь понимать такое поведение. Народ, объясните в чем дело?
проект Mysterious Space. The losted moment
|
|
| |
Daly | Дата: Четверг, 05 Июня 2014, 16:48 | Сообщение # 12 |
постоянный участник
Сейчас нет на сайте
| мб рейкаст не правильно летит? Точнее не от того объекта от которого ты ожидаешь?
|
|
| |
zaicev9797 | Дата: Четверг, 05 Июня 2014, 17:19 | Сообщение # 13 |
AbRaKaDaBrA
Сейчас нет на сайте
| я его из камеры пускаю Добавлено (05.06.2014, 17:19) --------------------------------------------- тем болле я на кораблике коллайдер отключил, а выводится всеравно имя корабля
проект Mysterious Space. The losted moment
|
|
| |
allods | Дата: Четверг, 05 Июня 2014, 18:51 | Сообщение # 14 |
почти ветеран
Сейчас нет на сайте
| на чем скрипт то? Так как if (Physics.Raycast(transform.position,ray.direction,out hit,100000,rayCastingMask)) // в инспекторе в рейКастингМаск указан только слой Near
ты пускаешь его из transform.position. Если скрипт не на камере то возможно ты пускаешь свой рэй из чего то другого, но в сторону куда смотрит камераДобавлено (05.06.2014, 18:51) --------------------------------------------- if (Physics.Raycast(ray,hit,100000,rayCastingMask)) {
Debug.Log(hit.transform.name);
} вот так можеет
|
|
| |
zaicev9797 | Дата: Четверг, 05 Июня 2014, 18:57 | Сообщение # 15 |
AbRaKaDaBrA
Сейчас нет на сайте
| скрипт на камере (он вообще у меня один в сцене) еслиб этих скриптов в сцене было несколько получился бы эксепшин
проект Mysterious Space. The losted moment
|
|
| |
allods | Дата: Пятница, 06 Июня 2014, 03:44 | Сообщение # 16 |
почти ветеран
Сейчас нет на сайте
| короче где то радужный пони зарыт , нужен скрин с компонентами и прочими бобрами
|
|
| |
Daly | Дата: Пятница, 06 Июня 2014, 08:41 | Сообщение # 17 |
постоянный участник
Сейчас нет на сайте
| Цитата allods ( ) короче где то радужный пони зарыт , нужен скрин с компонентами и прочими бобрами
ты про бубен и про 7-ро козлов сказать
|
|
| |