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

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

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

Общие вопросы вопросы не попадающие ни в один из доступных разделов

Ответ
 
Опции темы
Старый 27.04.2015, 15:07   #1
ILonion
ПроЭктировщик
 
Регистрация: 02.10.2014
Сообщений: 102
Написано 5 полезных сообщений
(для 25 пользователей)
MeshIntersect

Доброго времени!
Снова я с вопросами.
Подскажите как можно в юнити на C# реализовать блитцевский MeshIntersect:
http://www.blitzbasic.co.nz/b3ddocs/...t&ref=comments

?
(Offline)
 
Ответить с цитированием
Старый 27.04.2015, 15:56   #2
seaman
Знающий
 
Регистрация: 08.01.2013
Адрес: Мурманск
Сообщений: 276
Написано 100 полезных сообщений
(для 174 пользователей)
Ответ: MeshIntersect

OnColliderEnter + MeshCollider
(Offline)
 
Ответить с цитированием
Старый 28.04.2015, 10:34   #3
ILonion
ПроЭктировщик
 
Регистрация: 02.10.2014
Сообщений: 102
Написано 5 полезных сообщений
(для 25 пользователей)
Ответ: MeshIntersect

Спасибо, seaman!
(Offline)
 
Ответить с цитированием
Старый 01.05.2015, 21:40   #4
ILonion
ПроЭктировщик
 
Регистрация: 02.10.2014
Сообщений: 102
Написано 5 полезных сообщений
(для 25 пользователей)
Ответ: MeshIntersect

Каким либо образом можно сделать return bool при проверке события столкновения?
OnColliderEnter и подобные ему не подходят.
Необходимо из пользовательского метода проверять событие столкновения и возвращать false\true.
Можно это как-то реализовать в юнити?
(Offline)
 
Ответить с цитированием
Старый 01.05.2015, 22:50   #5
ILonion
ПроЭктировщик
 
Регистрация: 02.10.2014
Сообщений: 102
Написано 5 полезных сообщений
(для 25 пользователей)
Ответ: MeshIntersect

Нашел: http://docs.unity3d.com/ScriptRefere...eckSphere.html
Не актуально.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
LLI.T.A.L.K.E.R. (01.05.2015)
Старый 02.05.2015, 15:39   #6
seaman
Знающий
 
Регистрация: 08.01.2013
Адрес: Мурманск
Сообщений: 276
Написано 100 полезных сообщений
(для 174 пользователей)
Ответ: MeshIntersect

Сообщение от ILonion Посмотреть сообщение
Каким либо образом можно сделать return bool при проверке события столкновения?
OnColliderEnter и подобные ему не подходят.
Необходимо из пользовательского метода проверять событие столкновения и возвращать false\true.
Можно это как-то реализовать в юнити?
Событие не обязательно совпадет по времени с Вашей проверкой. Поэтому проверять событие - это неверно. Нужно проверять некий флаг, который устанавливается при возникновении события. Типа:
bool flag;
void OnColliderEnter(Collider c)
{
   flag = true;
}
void MyFunc()
{
...
   if(flag) ...;
...
}
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ILonion (03.05.2015)
Старый 02.05.2015, 17:48   #7
ILonion
ПроЭктировщик
 
Регистрация: 02.10.2014
Сообщений: 102
Написано 5 полезных сообщений
(для 25 пользователей)
Ответ: MeshIntersect

Понимаю. Спасибо, seaman!
Просто у меня в методе void MyFunc() цикл, и в нем происходит передвижение объекта шажками (без рендера). в зависимости от события пересечения цикл должен прерваться и т.д.
Совсем линейная логика.
(Offline)
 
Ответить с цитированием
Старый 02.05.2015, 20:40   #8
seaman
Знающий
 
Регистрация: 08.01.2013
Адрес: Мурманск
Сообщений: 276
Написано 100 полезных сообщений
(для 174 пользователей)
Ответ: MeshIntersect

Вот у меня чувство, что что-то у Вас не то в архитектуре.
Вы уверены, что Ваш цикл закончится за кадр? Вы уверены, что тем самым Вы не повесите рендер и все вызовы Юнити? Зачем Вам вообще что-то двигать "шажками", если это никто не увидит?
Вам я так понимаю просто нужно поставить объект в крайнюю точку перед коллизией? Почему бы просто ее не рассчитать, без "перемещения" в цикле? Тем более, что Вам подходит коллизия со сферой.
Как?
Пускаем луч из текущего положения в направлении движения. Получаем точку коллизии. Отступаем по оси движения назад на нужное расстояние. Ставим там объект.
(Offline)
 
Ответить с цитированием
Старый 03.05.2015, 11:52   #9
ILonion
ПроЭктировщик
 
Регистрация: 02.10.2014
Сообщений: 102
Написано 5 полезных сообщений
(для 25 пользователей)
Ответ: MeshIntersect

Вы совершенно правы. Однако, мне эта штука нужна для сервисного скрипта, который создает базу данных формы 3д объекта в дискретном пространстве. Ни цикл, ни этот расчет никто видеть не должен.

Однако, при проверке Physics.CheckSphere никакие шажки мне не нужны, это я упустил из виду, держа в голове блитцевский Meshintersect

Спасибо за помощь!
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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