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

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

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

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

Ответ
 
Опции темы
Старый 16.10.2013, 00:33   #91
EvilOkta
Знающий
 
Аватар для EvilOkta
 
Регистрация: 31.07.2008
Сообщений: 321
Написано 108 полезных сообщений
(для 229 пользователей)
Ответ: Передача переменной в метод

спасибо, в справке не нашел что можно с помощью & отследить сразу две )
__________________
Области Хаоса - мой новый Youtube проект
(Offline)
 
Ответить с цитированием
Старый 06.03.2014, 12:09   #92
EvilOkta
Знающий
 
Аватар для EvilOkta
 
Регистрация: 31.07.2008
Сообщений: 321
Написано 108 полезных сообщений
(для 229 пользователей)
Ответ: Передача переменной в метод

Ребят подскажите такой вопрос:
в общем, работаю сейчас над навигацией камеры, сделал скрипт перемещения камеры и вращения, все делал через translate и rotation.
Перемещение работает нормально, меня устраивает по удобству, а вот с вращением беда выглядит убого и по удобству тоже не особо хорошо получилось.
Начал думать и читать справки. Появилась идея сделать вращение (и перемещение до кучи) через Rigidbody, AddForce и AddTorque (в режимах импульса и силы) отслеживая перемещения мыши и генерируя преобразованные векторы направления и вращения. По задумке такую систему можно будет потом безболезнено перенести на андроид для управления жестами.

Собственно вопрос: насколько это правильно? Т.к. знаю что каждый кто разрабатывает игру рано или поздно сталкивается с навигацией камеры, притом на одном из ранних этапов разработки. Какой метод оптимальнее подходит?
Расскажите как вы реализуете работу с камерой, может у вас есть какие-то алгоритмические решения выработанные с опытом.
__________________
Области Хаоса - мой новый Youtube проект
(Offline)
 
Ответить с цитированием
Старый 06.03.2014, 12:23   #93
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Передача переменной в метод

какая камера нужна то для какого вида?
в любом случае, через ригидбоди это какой-то ужасный изврат.
мауслуки обычные удобнее всего через углы эйлера делать имхо.
в стандартных ассетах юнити уже есть пример мауслука для первого лица, можешь его за основу брать.
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Старый 06.03.2014, 15:05   #94
EvilOkta
Знающий
 
Аватар для EvilOkta
 
Регистрация: 31.07.2008
Сообщений: 321
Написано 108 полезных сообщений
(для 229 пользователей)
Ответ: Передача переменной в метод

Сообщение от Mr_F_ Посмотреть сообщение
какая камера нужна то для какого вида?
вид стратегический, над полем боя. Что-то отдаленно похожее как в игре "Проклятые земли"

по поводу ригидбоди задумался т.к. это в теории (понимаю что извратство) позволит сделать навигацию камеры с помощью жестов мыши и соответственно жестом пальцами в тач-варианте (аналог: скроллинг веб-страницы на планшете). Передавать и вращать не физическим движком а используя Transform слишком деревяно выходит. Или все-таки это более оптимальный вариант просто требующий доработки?
__________________
Области Хаоса - мой новый Youtube проект
(Offline)
 
Ответить с цитированием
Старый 06.03.2014, 17:19   #95
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Передача переменной в метод

я не понимаю как связан физический движок и жесты мыши.
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
St_AnGer (06.03.2014)
Старый 06.03.2014, 17:41   #96
EvilOkta
Знающий
 
Аватар для EvilOkta
 
Регистрация: 31.07.2008
Сообщений: 321
Написано 108 полезных сообщений
(для 229 пользователей)
Ответ: Передача переменной в метод

Сообщение от Mr_F_ Посмотреть сообщение
я не понимаю как связан физический движок и жесты мыши.
к примеру слайд мышью: в одной точке зажать ЛКМ, в другой отпустить, получится вектор направления который можно приложить к камере заставив ее двигаться в этом направлении с последующим затуханием (drag инерция при использовании rigidbody), то же самое слайд мыши при нажатии ПКМ, только для определения силы вращения (что-то вроде мауслук но с инерцией).
Я просто хочу организовать доводку и нативное управление и переложить расчеты на физ.движок а не на геометрические и физические формулы определения кватерниона вращения, направления движения и величины векторов с которыми перемещение и вращение происходит.

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

Или все что я расписал выше легко реализуется без rigidbody?
__________________
Области Хаоса - мой новый Youtube проект
(Offline)
 
Ответить с цитированием
Старый 06.03.2014, 18:19   #97
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Передача переменной в метод

А такое пробовал?
http://docs.unity3d.com/Documentatio...moothDamp.html
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
EvilOkta (07.03.2014)
Старый 07.03.2014, 10:49   #98
EvilOkta
Знающий
 
Аватар для EvilOkta
 
Регистрация: 31.07.2008
Сообщений: 321
Написано 108 полезных сообщений
(для 229 пользователей)
Ответ: Передача переменной в метод

Сообщение от pax Посмотреть сообщение
Спасибо, попробую. Плюс в справке нашел аналог для вращения - буду изучать
__________________
Области Хаоса - мой новый Youtube проект
(Offline)
 
Ответить с цитированием
Старый 13.05.2014, 12:06   #99
EvilOkta
Знающий
 
Аватар для EvilOkta
 
Регистрация: 31.07.2008
Сообщений: 321
Написано 108 полезных сообщений
(для 229 пользователей)
Ответ: Передача переменной в метод

Определить координаты мыши на плоскости в пространстве можно только рейкастом или есть какие-то математические варианты, типа проекции экранных координат в мировые?
Если только рейкаст хотел уточнить - запускать луч каждый Update не слишком будет грузить ресурсы компьютера? Или есть какие-то методы оптимизации?
__________________
Области Хаоса - мой новый Youtube проект

Последний раз редактировалось EvilOkta, 13.05.2014 в 13:44.
(Offline)
 
Ответить с цитированием
Старый 13.05.2014, 17:54   #100
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Передача переменной в метод

Тебе нужно:
  1. Camera.ScreenPointToRay
  2. Plane (Plane.Raycast)
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
EvilOkta (16.05.2014)
Старый 27.05.2014, 18:06   #101
EvilOkta
Знающий
 
Аватар для EvilOkta
 
Регистрация: 31.07.2008
Сообщений: 321
Написано 108 полезных сообщений
(для 229 пользователей)
Ответ: Передача переменной в метод

ох туплю.... как проверить число типа float на целочисленность, т.е. что у его текущего значения нет дробной части?
__________________
Области Хаоса - мой новый Youtube проект
(Offline)
 
Ответить с цитированием
Старый 27.05.2014, 18:22   #102
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Передача переменной в метод

if(Mathf.Abs(floatVar - (int)floatVar) < 0.00001f){

}
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
EvilOkta (27.05.2014)
Старый 10.06.2014, 23:44   #103
EvilOkta
Знающий
 
Аватар для EvilOkta
 
Регистрация: 31.07.2008
Сообщений: 321
Написано 108 полезных сообщений
(для 229 пользователей)
Ответ: Передача переменной в метод

а как из рейкаста удалить взаимодействие со группой объектов кроме определенных? Чтобы информация о столкновении считывалась только с определенных объектов?
Чувствую надо копать в слоях, но подскажите хотя бы принцип
upd. вроде есть способ через Layer Mask пока роюсь в справках
__________________
Области Хаоса - мой новый Youtube проект

Последний раз редактировалось EvilOkta, 11.06.2014 в 10:21.
(Offline)
 
Ответить с цитированием
Старый 11.06.2014, 15:09   #104
seaman
Знающий
 
Регистрация: 08.01.2013
Адрес: Самара
Сообщений: 284
Написано 104 полезных сообщений
(для 180 пользователей)
Ответ: Передача переменной в метод

static bool Raycast(Vector3 origin, Vector3 direction, float distance = Mathf.Infinity, int layerMask = DefaultRaycastLayers);
layerMask - маска слоя, которая используется для селективного игнорирования коллайдеров при пускании луча.
Про слои тут:
Layers
Там есть прямо пример селективного пускания лучей.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
EvilOkta (15.06.2014)
Старый 16.06.2014, 10:19   #105
EvilOkta
Знающий
 
Аватар для EvilOkta
 
Регистрация: 31.07.2008
Сообщений: 321
Написано 108 полезных сообщений
(для 229 пользователей)
Ответ: Передача переменной в метод

Сообщение от seaman Посмотреть сообщение
static bool Raycast(Vector3 origin, Vector3 direction, float distance = Mathf.Infinity, int layerMask = DefaultRaycastLayers);
layerMask - маска слоя, которая используется для селективного игнорирования коллайдеров при пускании луча.
Про слои тут:
Layers
Там есть прямо пример селективного пускания лучей.
Спасибо, вроде разобрался но ползая по справкам и форумам не понял немного по слоям:
- можно ли задавать лучу группу слоев а не один (например - поверхность уровня, динамичные объекты, статичные объекты, другие. Или в этом случае пускается например два луча отдельно по каждому слою?
- программно менять слой в рантайме, возможно ли? например объект перемещать из статичных в динамичные и т.д
__________________
Области Хаоса - мой новый Youtube проект
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


Часовой пояс GMT +4, время: 16:28.


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