Ответ: Передача переменной в метод
спасибо, в справке не нашел что можно с помощью & отследить сразу две )
|
Ответ: Передача переменной в метод
Ребят подскажите такой вопрос:
в общем, работаю сейчас над навигацией камеры, сделал скрипт перемещения камеры и вращения, все делал через translate и rotation. Перемещение работает нормально, меня устраивает по удобству, а вот с вращением беда выглядит убого и по удобству тоже не особо хорошо получилось. Начал думать и читать справки. Появилась идея сделать вращение (и перемещение до кучи) через Rigidbody, AddForce и AddTorque (в режимах импульса и силы) отслеживая перемещения мыши и генерируя преобразованные векторы направления и вращения. По задумке такую систему можно будет потом безболезнено перенести на андроид для управления жестами. Собственно вопрос: насколько это правильно? Т.к. знаю что каждый кто разрабатывает игру рано или поздно сталкивается с навигацией камеры, притом на одном из ранних этапов разработки. Какой метод оптимальнее подходит? Расскажите как вы реализуете работу с камерой, может у вас есть какие-то алгоритмические решения выработанные с опытом. |
Ответ: Передача переменной в метод
какая камера нужна то для какого вида?
в любом случае, через ригидбоди это какой-то ужасный изврат. мауслуки обычные удобнее всего через углы эйлера делать имхо. в стандартных ассетах юнити уже есть пример мауслука для первого лица, можешь его за основу брать. |
Ответ: Передача переменной в метод
Цитата:
по поводу ригидбоди задумался т.к. это в теории (понимаю что извратство) позволит сделать навигацию камеры с помощью жестов мыши и соответственно жестом пальцами в тач-варианте (аналог: скроллинг веб-страницы на планшете). Передавать и вращать не физическим движком а используя Transform слишком деревяно выходит. Или все-таки это более оптимальный вариант просто требующий доработки? |
Ответ: Передача переменной в метод
я не понимаю как связан физический движок и жесты мыши.
|
Ответ: Передача переменной в метод
Цитата:
Я просто хочу организовать доводку и нативное управление и переложить расчеты на физ.движок а не на геометрические и физические формулы определения кватерниона вращения, направления движения и величины векторов с которыми перемещение и вращение происходит. Наверное слишком усложняю, но покурив форумы увидел что многие реализуют перемещение и вращение обычным трансформом, но нигде не нашел по переносу их на жесты на мультитаче. Или все что я расписал выше легко реализуется без rigidbody? |
Ответ: Передача переменной в метод
А такое пробовал?
http://docs.unity3d.com/Documentatio...moothDamp.html |
Ответ: Передача переменной в метод
Цитата:
|
Ответ: Передача переменной в метод
Определить координаты мыши на плоскости в пространстве можно только рейкастом или есть какие-то математические варианты, типа проекции экранных координат в мировые?
Если только рейкаст хотел уточнить - запускать луч каждый Update не слишком будет грузить ресурсы компьютера? Или есть какие-то методы оптимизации? |
Ответ: Передача переменной в метод
Тебе нужно:
|
Ответ: Передача переменной в метод
ох туплю.... как проверить число типа float на целочисленность, т.е. что у его текущего значения нет дробной части?
|
Ответ: Передача переменной в метод
if(Mathf.Abs(floatVar - (int)floatVar) < 0.00001f){
} |
Ответ: Передача переменной в метод
а как из рейкаста удалить взаимодействие со группой объектов кроме определенных? Чтобы информация о столкновении считывалась только с определенных объектов?
Чувствую надо копать в слоях, но подскажите хотя бы принцип upd. вроде есть способ через Layer Mask пока роюсь в справках |
Ответ: Передача переменной в метод
Код:
static bool Raycast(Vector3 origin, Vector3 direction, float distance = Mathf.Infinity, int layerMask = DefaultRaycastLayers); Про слои тут: Layers Там есть прямо пример селективного пускания лучей. |
Ответ: Передача переменной в метод
Цитата:
- можно ли задавать лучу группу слоев а не один (например - поверхность уровня, динамичные объекты, статичные объекты, другие. Или в этом случае пускается например два луча отдельно по каждому слою? - программно менять слой в рантайме, возможно ли? например объект перемещать из статичных в динамичные и т.д |
Часовой пояс GMT +4, время: 21:43. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot