Какая самая лучшая формула?

15

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

Пример формулы наивной головы Боба, примененной к оси вверх:

http://www.wolframalpha.com/input/?i=abs%28sin%28x%29%29

tenpn
источник
... или я должен рассмотреть возможность сохранения точки в пространстве одинаковой, но регулировки высоты тона камеры?
Tenpn
Интересный вопрос. На самом деле, я впервые подумал, что покачивание головы может вызвать болезнь. Я обычно не чувствую тошноту от какой-либо игры, но я видел людей, которые не могут смотреть на любую движущуюся игру от первого лица, не чувствуя себя плохо Даже когда я просто смотрю вокруг, не гуляя.
Дэвид Гувейя
Мое предложение, вероятно, будет смотреть на людей, идущих и бегущих, и попытаться выяснить закономерность их движения головы XY. Я не думаю, что подача обычно используется, если человек не смотрит вокруг.
Дэвид Гувейя,
8
Снаркий ответ: Тот, который я могу выключить;)
Эндрю Рассел
2
По моему личному опыту, покачивание головы всегда раздражает, если не тошнит. Я всегда выключаю это.
Джорен

Ответы:

19

Г! Не меняйте высоту. Совсем. Если только вы не хотите, чтобы игрок чувствовал, будто играет пьяным и сражается с камерой. Ваш фокус устанавливается контролем игрока, не меняйте его.

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

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

Больше всего, держите движение тонким. Соблазн при реализации состоит в том, чтобы усилить фактор 'bob', пока он не станет заметным, потому что вы хотите, чтобы он вступил в силу. Это не хорошо. В идеале игрок даже не замечает покачивания - если вы спросите их после тестирования, заметили ли они, что их точка зрения покачивается во время бега, я думаю, что они должны сказать «нет». Цель качающегося движения в точке обзора состоит в том, чтобы сделать движение естественным, чтобы вы не чувствовали себя так, будто скользите как камера поверх колесной тележки. Задний мозг игрока поймает искусственную природу наивной реализации, но для того, чтобы обмануть восприятие, нужны лишь небольшие тонкие изменения.

MrCranky
источник
1
Последний пункт может быть применен ко многим областям развития, например, ИИ. Это хороший момент.
Tenpn
8

Есть много причин тошноты. Вот факторы окружающей среды для рассмотрения:

  1. Чем больше экран, тем больше вероятность появления тошноты.
  2. Чем ближе пользователь сидит к экрану, тем больше вероятность появления тошноты.
  3. Чем темнее комната, тем больше шансов вызвать тошноту.
  4. Сторонние зрители - неинтерактивные пассажиры - чаще испытывают тошноту, чем те, кто имеет какую-то форму контроля над игрой.
  5. Слегка перекошенное положение просмотра обычно вызывает больше тошноты, чем прямое положение обзора или резко перекошенное положение просмотра. (Это обычно взаимодействует с № 4 выше, что еще больше ухудшает ситуацию для неинтерактивных зрителей)

(Обычно у вас нет контроля над этими факторами окружающей среды, если вы не устанавливаете игровую установку. В этом случае вам обязательно следует рассмотреть их.)

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

С точки зрения самого поведения камеры, любой вид автоматического ритмичного движения может легко вызвать тошноту. Повороты наихудшие (особенно наклонные), но даже ритмичные переводы из стороны в сторону или вверх и вниз вызовут тошноту для многих (но не всех!) Игроков.

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

Как правило, чем медленнее цикл и чем меньше движение камеры вдоль этого цикла, тем меньше будет тошноты для игроков, которые к нему чувствительны.

Кроме того, внезапные изменения скорости особенно вредны для тошноты; любое ритмичное движение, которое вы выбираете, должно быть плавным по всей дуге, а не «подпрыгивать» вдоль любой оси, как это делает ваш примерный график.

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

Тревор Пауэлл
источник
Каковы ваши источники?
Анко
5

Я просто добавлю две дополнительные идеи к столу.

Прежде всего, вы когда-нибудь видели камеру Mirror's Edge от первого лица в действии? Смотрите эту ссылку, если у вас нет. Я не уверен , что поле, но есть довольно много рулонных изменения , которые происходят, и я думаю , что это выглядит очень динамичным и свежим. Так что это просто возможность для вас рассмотреть возможность включения в свою формулу, если вам нравится чувство, которое она дает.

Еще одна идея, которую я не знаю, использует ли какая-либо игра, состоит в том, чтобы взять упрощенную анимированную трехмерную модель ходьбы персонажа, и даже если вы не будете выполнять рендеринг, вы все равно можете собрать из нее информацию о положении головы или даже прикрепить свой камера до костей головы. И если у персонажа есть движение глаз, независимое от его головы, вы могли бы даже включить оба . Я не знаю, как это будет выглядеть в действии, но я полагаю, что это должно вести себя очень реалистично. Но есть также шанс, что это может выглядеть очень отвратительно :-)

Дэвид Гувея
источник
2

Система человеческого зрения включает в себя некоторое (довольно сложное) управление с обратной связью, позволяющее глазам отслеживать относительное движение объектов. В конечном итоге это приводит к тому, что при фокусировке на определенной точке изображение этой точки будет продолжать проецироваться примерно в одно и то же место на сетчатке, несмотря на движение точки и вашей головы. (В качестве простой демонстрации: сфокусируйтесь на слове на этой странице. Переместите голову. Обратите внимание, как сильно вы должны двигать головой, прежде чем слово начнет размываться и смещаться от центра поля зрения.)

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

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

ipeet
источник
0

Я определенно не рекомендую менять высоту камеры, поскольку облицовка камеры находится под контролем игрока. Использование синусоидальной функции для тонкого отклонения вдоль вертикальной оси / Y обычно работает хорошо.

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