[РЕШЕНО]Подсветить объект под мышкой.

Раздел, посвящённый всему, что связано с программированием для Редактора Юнити. Скрипты Редактора, Wizards и прочее.

[РЕШЕНО]Подсветить объект под мышкой.

Сообщение MrKalach 26 дек 2013, 13:23

Есть такая задача, имеем GameObject без коллайдера 3Д но с 2Д коллайдером. Нужно что бы при наведении мышки на сферу(GameObject) она подсвечивалась. Raycast тут не применить.

Куда копать, что делать?
Последний раз редактировалось MrKalach 10 янв 2014, 12:51, всего редактировалось 1 раз.
MrKalach
UNец
 
Сообщения: 32
Зарегистрирован: 26 дек 2013, 13:16
Откуда: ptz
  • Сайт

Re: Подсветить объект под мышкой.

Сообщение 2rusbekov 26 дек 2013, 13:41

Рейкаст применить можно, но чем он поможет? Может только найти объект. А подсвечивать это уже дело техники.
Highlighting System

ps Забыл что раздел эдитор. Вам точно в эдиторе надо?
Still alive...
Аватара пользователя
2rusbekov
Адепт
 
Сообщения: 1409
Зарегистрирован: 06 апр 2012, 12:57
Откуда: Бишкек

Re: Подсветить объект под мышкой.

Сообщение MrKalach 26 дек 2013, 13:59

Да, именно в эдиторе нужно подсвечивать.

По поводу подсветки это конечно же формальность, мне в итоге нужно знать что именно под мышкой. А нарисовать солиддиск не проблема потом.

зы. Это дополнение не подходит соответсвенно. В гейм-плее это сделать совсем не проблема :)

зы2. Посматриваю в сторону HandleUtility.WorldToGUIPoint но что то это не совсем то.
MrKalach
UNец
 
Сообщения: 32
Зарегистрирован: 26 дек 2013, 13:16
Откуда: ptz
  • Сайт

Re: Подсветить объект под мышкой.

Сообщение MrKalach 26 дек 2013, 15:38

После серфа сети я пришел к выводу что это не возможно. Обязательно нужно делать рейкаст, а он будет работать только с 3д коллайдером. И даже Physics2D.OverlapPoint тут не поможет. Печально это, что придется лишние GameObjects тащить.
MrKalach
UNец
 
Сообщения: 32
Зарегистрирован: 26 дек 2013, 13:16
Откуда: ptz
  • Сайт

Re: Подсветить объект под мышкой.

Сообщение nile 09 янв 2014, 17:06

Рэйкасты в editor mode никто не отменял. Просто их нужно запускать не из игровой камеры, а из камеры вьюпорта.
Для луча что-то в таком духе: Ray worldRay = SceneView.lastActiveSceneView.camera.ViewportPointToRay(Event.current.mousePosition);

Ну а в случае с 2д пожно попробовать через OnMouseOver() и тд
http://docs.unity3d.com/Documentation/S ... viour.html
С 2д колидерами так же работает.
Аватара пользователя
nile
Старожил
 
Сообщения: 848
Зарегистрирован: 25 фев 2011, 17:17

Re: Подсветить объект под мышкой.

Сообщение 2rusbekov 10 янв 2014, 06:04

У ТС нет коллайдеров.
Still alive...
Аватара пользователя
2rusbekov
Адепт
 
Сообщения: 1409
Зарегистрирован: 06 апр 2012, 12:57
Откуда: Бишкек

Re: Подсветить объект под мышкой.

Сообщение nile 10 янв 2014, 08:18

2rusbekov писал(а):У ТС нет коллайдеров.

без коллайдера 3Д но с 2Д коллайдером
Аватара пользователя
nile
Старожил
 
Сообщения: 848
Зарегистрирован: 25 фев 2011, 17:17

Re: Подсветить объект под мышкой.

Сообщение 2rusbekov 10 янв 2014, 08:40

Опа, не внимательно прочел
Still alive...
Аватара пользователя
2rusbekov
Адепт
 
Сообщения: 1409
Зарегистрирован: 06 апр 2012, 12:57
Откуда: Бишкек

Re: Подсветить объект под мышкой.

Сообщение MrKalach 10 янв 2014, 12:51

Все решилось строчкой:
Синтаксис:
Используется csharp
hits = Physics2D.GetRayIntersectionAll(UICamera.currentRay);
MrKalach
UNец
 
Сообщения: 32
Зарегистрирован: 26 дек 2013, 13:16
Откуда: ptz
  • Сайт


Вернуться в Editor

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3