PDA

Просмотр полной версии : Логика устройств УпОб



Maximus_G
19.01.2004, 09:50
Ребят, интересно читать этот раздел. Хоть и непонятно... :D Как раз думал о гироскопических и магнитных датчиках УпОб... Глянул - а тут вы! :)

О схемотехнике я не думал, не моя стезя, зато думал о логике. Мысли:

1. Если угол направления взгляда виртуальной головы прямо зависит от угла поворота головы реальной (через коэффициент) - то осмативая ситуацию у себя на 6 часах, мы вынуждены смотреть на экран боком. Очень неудобно! И к тому же, неестественно. А если увеличивать коэффициент, повышая чувствительность - то нам будут мешать небольшие непроизвольные повороты головы. А если, пытаясь нейтрализовать эти повороты, сделать мертвую зону, то управление получится неточное и очень своеобразное, придется приучать своё тело к этой новой моторике. Плюсов в этом я не вижу.

2. Значит, с одной стороны, нам нужно управлять обзором головой, с другой - смотреть на экран прямо или почти прямо, и с третьей - управлять и быстро, и точно.
По-моему, оптимальным вариантом управления для пользователя была бы ситуация, когда угол поворота его головы управляет не углом, а скоростью изменения угла поворота головы виртуальной.
Т.е., например, когда мы поворачиваем голову на 10град, наш взгляд в игре начинает поворачивается со скоростью k*10 град/с, где k - настройка чувствительности. Таким образом, для того, чтобы оглянуться назад, нам нужно лишь мотнуть головой туда-обратно 1 раз, или повернуть немного, и взгляд сам отъедет полностью назад через полсекунды. И мы можем легко и непринуждённо наслаждаться картинкой не изподвыподверта, а прямо и гордо глядя на монитор.
Т.е. фактически мы будем использовать голову как хатку на джойстике. Только хатка триггерная - движение/стоп, а у нас будет плавная, и скорость движения мы контролируем естественным образом.

3. 2 оси на УпОб, слава богу, нам уже недостаточно. Было бы просто великолепно, если бы мы могли управлять приближением/отдалением взгляда (field of view) наклонами головы вперед/назад, или её приближением/отдалением от монитора. И конечно, управление тоже не прямое, а через скорость. Вот бы ещё современные симуляторы позволяли управлять положением головы в кабине... прислониться к боковому плексигласу фонаря... :)

Что скажете?

Swift_CCCP
19.01.2004, 11:19
Все твои опасения и сомнения беспочвенны.
Поверь мне. Летал в Иле как Бэтмэн с полность отключенной кабиной. Так фишка в том что голова интуитивно становится почти по центру. Это ни что не может заменить!!!!

Mishel
19.01.2004, 14:19
Идея заслуживает внимания, IMHO, хотя бы в качестве альтернативного режима в устройстве. Получается тензометрический TrackXX :).

Maximus_G
19.01.2004, 14:21
Swift_CCCP:
Все твои опасения и сомнения беспочвенны.
Поверь мне. Летал в Иле как Бэтмэн с полность отключенной кабиной. Так фишка в том что голова интуитивно становится почти по центру. Это ни что не может заменить!!!!

Прости, не понял. Что значит "интуитивно становится почти по центру"? С каким дивайсом летал? Как было реализовано управление?

---

2 Mishel:
Точно, всё это повторяет логику тензометрических органов управления.

samorez
20.01.2004, 19:13
Originally posted by Maximus_G
А если увеличивать коэффициент, повышая чувствительность - то нам будут мешать небольшие непроизвольные повороты головы. А если, пытаясь нейтрализовать эти повороты, сделать мертвую зону, то управление получится неточное и очень своеобразное, придется приучать своё тело к этой новой моторике. Плюсов в этом я не вижу.


Maximus_G, рассмотри управление не как линейное, а как
логарифмическое. Сообразил?:)

Maximus_G
21.01.2004, 09:55
Сообразил :) Это вариант, конечно.

Идея "тензометрического" управления обзором мне нравится тем, что мы будем смотреть на экран прямо, не отклоняя голову. Как известно, область наибольшей концентрации человеческого зрения находится в довольно узком секторе. Если, с "прямым" управлением, оглядываться на 6 часов - то мы будем смотреть на хвост, повернув голову к экрану, скажем, на 45 градусов, и картинка стопроцентно выезжает за пределы зоны внимания. Значит, нам придется потратить бОльшее время на распознавание картинки. В воздушном бою - это не есть гуд :) А в случае с "тензометрическим" управлением - мы делаем один резкий поворот головой туда-обратно - и по-прежнему смотрим в экран прямо.

Второй случай. Если мы медленно осматриваем горизонт, то в первом варианте мы должны мееедленно поворачивать голову (и при этом наши глаза вынуждены постоянно рефокусироваться), а в предлагаемом варианте - достаточно отклонить голову на пять градусов, и обзор будет поворачиваться самостоятельно.

samorez
21.01.2004, 19:51
Пробовать надо. Это ведь прогой делается?

Maximus_G
22.01.2004, 02:13
Да, софт нужен.

samorez
22.01.2004, 18:58
Я - пас. Подожду, что умные люди выдадут. :-(
А сам - дока в софтах?

Maximus_G
23.01.2004, 01:57
Нет, я не дока :(
Но написать программу - могу! :)
Тем более, с таким вопросом (если он возникнет) я обязательно попрошу подсобить Hruksа - ведь у него с NewView много наработок по этой части. И надеюсь, он не откажет в помощи :)

samorez
23.01.2004, 20:31
Опубликуй результаты. Всегда заглядываю.:)

Hruks
02.02.2004, 07:57
Originally posted by Maximus_G
Но написать программу - могу! :)
Тем более, с таким вопросом (если он возникнет) я обязательно попрошу подсобить Hruksа - ведь у него с NewView много наработок по этой части. И надеюсь, он не откажет в помощи :)
Нет, конечно не откажу.
Однако я не расцениваю оптимизма твоего. Да, резко двинуть голову в сторону это легко и юзабельно. Но как вернуть камеру на место? Таким же манёвром врядли удастся. Придётся центрироваться кнопкой.
Что же мы имеем на самом деле? Аналоговую хатку! Которая позволяем на произвольный угол с произвольной скоростью двигать камеру. И двигать это надо будет головой. Мы теряем непосредственный и интуитивно понятный интерфейс и приобретаем улучшенную хатку. Мы приобретаем возможность дольше смотреть прямо на монитор, но вынуждены часто дёргать головой в разных направлениях с целью небольшой коррекции угла.
Достаточно попробовать полетать в иле шлемомо чтобы понять, насколько это ущербно само по сбе - при ходи в гости - устрою демонстрацию :)

В общем считаю подход не правильным, так как он не удобен для юзания (одладает одним страшным минусом с центровкой).

Также хочется затронуть пару аргументов, выдвигаемых тобой при критике стандартного подхода:
1. "Смещать голову на 45 градусов."
2. "стопроцентно выезжает за пределы зоны внимания"
3. "прямо зависит от угла поворота головы реальной (через коэффициент)"
Итак по первому пункту: 45 градусов это очень, очень много. Достаточно примерно 20-25 градусов чтобы оглянуться полностью назад и в то же время довольно точно позиционировать взгляд. Конечно чем больше угол, тем точнее, но и монитор видно хуже. Но повторюсь - в 45 нет необходимости.
Далее по второму пункту: К счастью человек это не виртуальный пилот и у него нет нужды поворачиваться всей головой/телов/ЧемТамВообщеВирпилыСмотрят в необходимую сторону для осмотра. У него есть глаза со своими осями! :D В общем глаза отлично вертятся и смотрят на монитор при этом монитор остаётся не просто в центре внимания, а в самом фокусе! Ну конечно если на заднем фоне не находится что-то более привлекательное ;)
По третьему пункту уже высказывались про логарифмическую шкалу. Я же добавлю что не обязательно логарифм. Можно просто в общем случае описать не коэффициент k через который всё связано, а коэффициент k(x) как функцию от отклонения. Или кривая отклика. Такую кривую можно подобрать индивидуально, а можно реализовать целый набор кривых и переключать их. На практике такая кривая позволяет избавиться от мёртвых зон, очень точно позиционировать взгляд в передней полусфере и быстро оглядываться назад с чуть меньшей точностью, которой там как правило и не требуется.

Maximus_G
03.02.2004, 04:29
Я, в общем, и не утверждаю, что это обязательно будет круто.


...Но как вернуть камеру на место? Таким же манёвром врядли удастся. Придётся центрироваться кнопкой.

Видишь ли, тогда можно сказать, что "прямое" управление обзором удобно лишь для того, чтобы быстро отцентрировать взгляд в выбранную статичную точку. Но для этого однозначно лучше будет кнопка! Т.е., центрироваться кнопкой - это, на мой взгляд правильно и хорошо. Потому что быстрей и точней, чем любое ручное управление процессом.


Да, резко двинуть голову в сторону это легко и юзабельно.
Не только резко. Это юзабельно, когда у тебя вообще есть задача перемещать направление взгляда. И по-моему :), в ситуации кабина_твоего_самолёта-наземные_объекты-другие самолёты - 90% объектов, на которые ты смотришь, движутся относительно тебя. Отсюда и идея управлять непосредственно не координатой взгляда, а скоростью. Идеальная ситуация - такое управление, когда наблюдаемый тобой объект во время перемещения взгляда не движется по экрану монитора.

О 45 градусах: ОК, пусть меньше. Но когда я поворачиваю голову вправо на 25 градусов от монитора, глядя на него, то мой нос уже частично загораживает картинку на мониторе. На 45 градусов - загораживает практически полностью. Это плохо вписывается в понятие "области повышенного внимания", не так ли? ;) А нос у меня не такой уж и большой, ты видел :D Т.е. для меня область допустимых поворотов +- 15 градусов максимум.

В общем, глаза-то вертятся, но область их вращения, имхо, должна быть ограничена угловыми размерами монитора.

Из этого всего вывод для меня простой - нужно всего лишь пробовать и сравнить - и то, и другое :)

Hruks
03.02.2004, 05:00
Центрироваться кнопкой удобнее - факт!
Но центрироваться, это лишь частный случай управления.
Ситуаций масса: во время выполенения уклонения бочко нужно резко перевести взгляд с левой полусферы на правую. И хорошо, если это нужно сделать "до упора", а если нет? В режиме шлема (используя сам шлем или миниджой) это проделать легко и интуитивно - нужно симметрично перевести положение головы или шляпки в другую позицию и немного скореектировать при необходимости. В случае же управления скоростью это уже не такая простая задача.
Можно ли задать для этой цели кнопку? Конечно! Но сколько таких кнопок понадобится для всех случаев? Проже какой-нить тачпад завести. но этот пад будет 1 - отвлекать руку, а мы решили заюзать для этого голову, 2 - суть - та же камера. Только не визуальное управление а как там по научному...
Далее - огромное преимущество непосредственного управления в том, что не теряется ориентация относительно кбины. При небольшом привыкании у человека вырабатывается ориентация в виртуальной кабине. Я точно могу сказать куда летит мой самолёт в любой момент времени, куда бы я не смотрел. Ошибка определения незначительна. А вот используя хатку необходимо ориентация по деталям кабины. То же самое и падлок - он дезориентирует.
Кстати не факт, что объект не должен двигаться относительно обзора. Мне удобнее когда объект вден и камера почти неподвижна относительно самолёта. Хотя в шлеме можно добиться и того и другого легко и непринуждённо.
Я градусы точно не мерял, но это не проблема. Не то чтобы нос был уж сильно маленьким, но не мешает.
Опять же при максимальных отклонениях ты разглыдываешь хвост - чего там вглядываться-то? Если так уж критично - разверни немного самолёт. Не думаю что в реале очень удобно смотреть на 6. Там голова тоже далеко не на 180 градусов повёрнута! :)))) Остальное глазами!
Про область ограничения глаз я не понял - при чём тут монитор?
С твоим выводом согласен полностью. Я же писал только своё предположение, так как реально не юзал сам. Тем более что попробовать легко - шлем у меня есть. Дописать фичу что ты говоришь - дело одного вечера, особенно если ты детали продумаешь. ;) Останется только отладить это дело. А в планах на реализацию у меня это давно стоит - Alezz не даст соврать :cool:
Вот только на днях не получится, а на след неделе вполне.

Maximus_G
03.02.2004, 05:22
>Про область ограничения глаз я не понял - при чём тут монитор?

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

Когда монитор стоит на столе перед нами, и мы управляем обзором при помощи головы, наши глаза движутся неестественно. Поворачиваем голову и направление взгляда вправо, но при этом наши глаза вынуждены смотреть влево... т.е. у глаз вырабатывается неестественная моторика. Правда, афаик единственный способ отразить реальность - нацепить на голову не только средство УпОб, но и виртуальный шлем/очки, и синхронизировать их. Тогда монитор будет жёстко закреплен перед глазами. Почти идеальная ситуация, останется под вопросом только качество картинки и размеры видимой области.
---
Про кнопки - я, конечно, имел в виду только одну и однозначно полезную - центрирование в прицел.

А насчёт дезориентации - да, такая проблема с хаткоподобным обзором может существовать...

Теперь, вместо того, чтобы умничать тут с тобой, попробую формализовать задачу. Полезнее будет :)

Hruks
03.02.2004, 06:06
Ну умничать - это всего лишь высказывать другую точку зрения. Не так уж и плохо - спасает от реализации на практике тучи потенциальных идей! ;)
Мне кажется что монитор это далеко не вся доступная нам область видения. У меня всего-лишь 17 дюймов и расстояние примерно 25. А дома расстояние больше а диагональ меньше.
И я прекрасно вижу кучу всего вокруг монитора даже боковым зрением. А если немного повращать глазами, то градусов 120 включая боковое зрение отчётливо видно. Монитор же (геометрию лень вспоминать, поэтому навскидку) примерно 40 градусов по горизонтали и ещё меньше по вертикали.
Про неестественность... Не знаю, может быть, но мне кажется это несколько преувеличено про "у глаз вырабатывается неестественная моторика". Неужели тебе сложно смотреть на экран и поворачивать голову? Ведь провести такой эксперимент легко и не нужен шлем. Смотри в одну точку и крути головой на небольшие углы - вверх/вниз/влево/вправо.

Формулируй конечно, но думаю самое реальное воплощение этой идеи будет при использовании аналоговых хаток. Именно их, так как их точности (особенно не от геймпадов, а тех которые в джоях) как правило недостаточно для непосредсвенного обзора, а вот для относительного - чтобы поточнее задать угол вектора перемещения камеры и её скорость вполне.
Так что пиши - а я постараюсь обсудить детали и найти время для реализации пробы.

P.S. У кого есть такие хатки и микроджои? Скоро нужно будет потестить и написать впечатления...

bobby
06.10.2004, 16:14
А как на счет управления не за счет поворота головы, а смещения ее в горизантальной плоскости влево или вправо за счет наклона головы или всего туловеща.

MeanDog
12.10.2004, 14:49
Про моторику головы и глаз могу сказать из практики реальных полетов что это вполне естественно. В реальности вертеть головой приходитса гораздо больше. Глазами делаютса мелкие движения, например обзор приборов. Но если, например, вам надо посмотреть на 40 градусов влево по курсу, то вы поворачиваете голову. Это потому что отклонение глаз от прямого направления вызывает в них утомление и вы инстинктивно поворачиваете голову.
Летая в ИЛ2 с URGear (чуть переделаный) я могу сказать что это даже очень естественно. В решениях типа тракир впечатление естественности гораздо хуже. Это мои собственные впечатления.

SLI=SHURIK_25=
12.10.2004, 15:43
Про моторику головы и глаз могу сказать из практики реальных полетов что это вполне естественно. В реальности вертеть головой приходитса гораздо больше. Глазами делаютса мелкие движения, например обзор приборов. Но если, например, вам надо посмотреть на 40 градусов влево по курсу, то вы поворачиваете голову. Это потому что отклонение глаз от прямого направления вызывает в них утомление и вы инстинктивно поворачиваете голову.
Летая в ИЛ2 с URGear (чуть переделаный) я могу сказать что это даже очень естественно. В решениях типа тракир впечатление естественности гораздо хуже. Это мои собственные впечатления.
Как переделывал Шлем? подключил к юсб контроллеру? откуда сигнал брал? как работа по сравнению с гейм-портом изменилась? в джой тесте не прогонишь оси шлема?
Я аналогичным делом буду заниматься по просьбе товарищей, поделись опытом.

MeanDog
12.10.2004, 16:21
Он у меня все еще "чуть" переделанный - датчик прикреплен к нормальным наушникам так что уши теперь неболят. USB переделка в самых ближайших планах. Сигнал буду брать с одного из выходных транзисторов, но еще нужно будет поэкспериментировать.

SLI=SHURIK_25=
12.10.2004, 16:32
Он у меня все еще "чуть" переделанный - датчик прикреплен к нормальным наушникам так что уши теперь неболят. USB переделка в самых ближайших планах. Сигнал буду брать с одного из выходных транзисторов, но еще нужно будет поэкспериментировать.
Аналогично.
Вот закончу с этой партией педалей, возьмусь за шапку. У Андрея BoRada все получилось вроде, с несколькими контроллерами заработало.