Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Программирование игр для компьютеров > Unity > Физика

Ответ
 
Опции темы
Старый 13.06.2016, 17:46   #1
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 25.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,321
Написано 5,164 полезных сообщений
(для 14,920 пользователей)
Raycast в Editr'е без коллайдеров

Известно, что в редакторе (и не в редакторе) можно проводить рейкаст по коллайдерам.

А что если встала задача сделать рейкаст по объектам, у которых нет коллайдера?

И который им в игре не нужен, следвательно, создавать его нет смысла.

Например, я хочу сделать в редакторе рейкаст с тем, чтобы по клику мышкой вставлять ассет куда рейкастнулось, чтобы не выправлять вручную координаты и не пристраивать вручную к поверхности.

Пример: кликнули мышкой по стене, появился настенный фонарь.

Может быть, есть какие-то функции для этого, доступные только в редакторе?
Пример: https://docs.unity3d.com/ScriptRefer...setAtPath.html
Загружает ассеты в сцену откуда угодно, а не только из Resources. Доступно только в редакторе.

Может, есть что-то подобное и для рейкаста без коллайдеров? В конце концов юнити же сам по клику мышкой выделяет объекты, есть на нём коллайдеры или нет?

Дебильный вариант решения проблемы: при клике мышкой быстро создавать коллайдер, делать рейкаст, тут же убирать. Думаю, тормозить будет едрить.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 13.06.2016, 19:36   #2
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,888
Написано 1,183 полезных сообщений
(для 3,292 пользователей)
Ответ: Raycast в Editr'е без коллайдеров

Похоже что в юнити такое не возможно. Вот что удалось найти из подходящего (в сообщении №3 семпл).
http://forum.unity3d.com/threads/ray...lliders.14378/
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ABTOMAT (14.06.2016)
Старый 13.06.2016, 20:39   #3
Антихрист
Разработчик
 
Регистрация: 20.01.2007
Сообщений: 474
Написано 170 полезных сообщений
(для 393 пользователей)
Ответ: Raycast в Editr'е без коллайдеров

Сомневаюсь,что есть возможность сделать это без коллаидеров.
Вижу еще один дебильный вариант использовать Selection для CustomEditor, выбрал стенку и клацаешь по ней, думаю вполне понятно какие минусы у этого варианта.

void OnSceneGUI()
    {
        if (Event.current.type == EventType.MouseDown)
        {      
            Vector3 firstStep = Camera.current.ScreenToWorldPoint(new Vector3(Event.current.mousePosition.x, Event.current.mousePosition.y, 10));
            Vector3 secondStep = new Vector3(firstStep.x, firstStep.y, Selection.activeTransform.position.z);
            Debug.Log("Hit Point=" + secondStep);
        }
    }
К Selection.activeTransform.position.z еще +- половину ширины объекта по Z чтобы получить точку на поверхности стены.
(Online)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ABTOMAT (14.06.2016)
Старый 13.06.2016, 20:40   #4
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,156
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Raycast в Editr'е без коллайдеров

Проще поставить коллайдер, а при старте снести, когда он не нужен. А в редакторе пусть торчит.
Все рейкасты и клики обрабатывает Physix, так что без этого никак. Тебе же еще наверное нормаль и позицию касания нужно, не просто выбрать
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 14.06.2016, 04:15   #5
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,496
Написано 2,953 полезных сообщений
(для 5,217 пользователей)
Ответ: Raycast в Editr'е без коллайдеров

Сообщение от RegIon Посмотреть сообщение
А в редакторе пусть торчит.
Думаю можно так же снести при билде, чтобы в готовой игре ничего не удалять при старте. Допустим на объекте будет колайдер и скрипт, его удаляющий при старте с названием "RemoveColliderOnStart". Тогда можно найти все объекты с этим скриптом, выполнить его метод Start и удалить сами скрипты вот в такой вот функции: http://docs.unity3d.com/ScriptRefere...Attribute.html
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 06.02.2017, 00:49   #6
Mimi Neko
AnyKey`щик
 
Регистрация: 05.02.2017
Сообщений: 4
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Raycast в Editr'е без коллайдеров

В юнити редакторе же есть возможность и без коллайдера, ловить нажатие мышки, на объектах сцены!
(Offline)
 
Ответить с цитированием
Старый 06.02.2017, 00:55   #7
Mimi Neko
AnyKey`щик
 
Регистрация: 05.02.2017
Сообщений: 4
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Raycast в Editr'е без коллайдеров

Сообщение от RegIon Посмотреть сообщение
Все рейкасты и клики обрабатывает Physix, так что без этого никак
Physix - это не та самая физика, которая позволяет реально что-то нащупать. Это лишь имитация физики, реализуемая всё теми же математическими и геометрическими методами.
(Offline)
 
Ответить с цитированием
Старый 06.02.2017, 03:32   #8
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,156
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Raycast в Editr'е без коллайдеров

Сообщение от Mimi Neko Посмотреть сообщение
В юнити редакторе же есть возможность и без коллайдера, ловить нажатие мышки, на объектах сцены!
Нет. Кроме встроенного селектора без API
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 06.02.2017, 12:48   #9
Mimi Neko
AnyKey`щик
 
Регистрация: 05.02.2017
Сообщений: 4
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Raycast в Editr'е без коллайдеров

Сообщение от RegIon Посмотреть сообщение
Нет. Кроме встроенного селектора без API
- Ды ну?
Всё отлично без рейкастов и встроенного селекта работает. - в умелых руках.
только тут это никому не надо... посему пример удалён.

Последний раз редактировалось Mimi Neko, 16.02.2017 в 08:52.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +1, время: 17:00.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com