АКСЕЛЕРОМЕТЕР. ИГРОВАЯ КАМЕРА.

Программирование на Юнити.

АКСЕЛЕРОМЕТЕР. ИГРОВАЯ КАМЕРА.

Сообщение andrewio 07 ноя 2017, 16:26

Привет! Начал играться с акселерометром, и есть проблемка.

При повороте камеры при помощи акселерометра возникают колебания (дрожание камеры) при затухании движения, и далее продолжаются в состоянии покоя.

Если чувствительность = 1, то колебаний нет, всё плавно.
Следование камеры за движением телефона происходит медленно, не реалистично.

Если чувствительность > 1, колебания есть.
Чем больше чувствительность, тем реалистичнее движения, но больше колебания.

Пробую несколькими способами, но поведение одинаковое.
Гироскоп не интересует.

--------
Задача
--------

Убрать колебания (дрожания), увеличив чувствительность.
Скрипт прикладываю.

--------------------
Движение камеры
--------------------

Ориентация: Landscape.

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

Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class AccelerometerCameraControl : MonoBehaviour
{
        public float sensitivityXZ = 9f;

        private float rotationalAngleFactorXZ = -90f;
        private Vector3 currentRotationXZ;     

        void LateUpdate ()
        {      
                Way2();
        }

        // Quaternion.Slerp
        public void Way2()
        {
                currentRotationXZ.x = Input.acceleration.z * rotationalAngleFactorXZ;
                currentRotationXZ.z = Input.acceleration.x * rotationalAngleFactorXZ;

                transform.localRotation = Quaternion.Slerp(
                        transform.localRotation,
                        Quaternion.Euler(currentRotationXZ),
                        Time.deltaTime * sensitivityXZ);
        }

        // Math.Lerp
        public void Way1()
        {
                currentRotationXZ.y = transform.localEulerAngles.y;
                currentRotationXZ.x = Mathf.LerpAngle(
                        transform.localEulerAngles.x,
                        Input.acceleration.z * rotationalAngleFactorXZ,
                        sensitivityXZ * Time.deltaTime);

                currentRotationXZ.z = Mathf.LerpAngle(
                        transform.localEulerAngles.z,
                        Input.acceleration.x * rotationalAngleFactorXZ,
                        sensitivityXZ * Time.deltaTime);

                transform.localRotation = Quaternion.Euler(currentRotationXZ);
        }
}
 


UPDATE 09/12/17:

Спасибо за наводку про ФНЧ.

Из этой темы у меня получился новый ассет
AR Camera ACCELEROMETER: http://u3d.as/YSM

Последний раз редактировалось andrewio 09 дек 2017, 19:49, всего редактировалось 1 раз.
AR Unity Assets: _ttp://u3d.as/kPA
Аватара пользователя
andrewio
UNец
 
Сообщения: 3
Зарегистрирован: 07 ноя 2017, 16:18
Откуда: Москва
  • Сайт

Re: АКСЕЛЕРОМЕТЕР. ИГРОВАЯ КАМЕРА.

Сообщение snezhok_13 07 ноя 2017, 17:11

Гироскоп вам нужен, а не акселерометр
Разработка игр, немножко игровая журналистика, сейчас делаем Календарь: даты выхода игр
Аватара пользователя
snezhok_13
UNIверсал
 
Сообщения: 450
Зарегистрирован: 09 сен 2013, 11:12
Skype: s.coremission
  • Сайт

Re: АКСЕЛЕРОМЕТЕР. ИГРОВАЯ КАМЕРА.

Сообщение Cr0c 07 ноя 2017, 18:07

snezhok_13 писал(а):Гироскоп вам нужен, а не акселерометр

и отрезать минимум половину устройств. Логично.
andrewio писал(а):Убрать колебания (дрожания), увеличив чувствительность.

ФНЧ поищи для акселерометра
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

Re: АКСЕЛЕРОМЕТЕР. ИГРОВАЯ КАМЕРА.

Сообщение andrewio 08 ноя 2017, 21:50

snezhok_13 писал(а):Гироскоп вам нужен, а не акселерометр

бро, я ведь предупредил, что решение с помощью гироскопа меня не устраивает :ymparty:
AR Unity Assets: _ttp://u3d.as/kPA
Аватара пользователя
andrewio
UNец
 
Сообщения: 3
Зарегистрирован: 07 ноя 2017, 16:18
Откуда: Москва
  • Сайт

Re: АКСЕЛЕРОМЕТЕР. ИГРОВАЯ КАМЕРА.

Сообщение snezhok_13 09 ноя 2017, 11:35

Cr0c писал(а):и отрезать минимум половину устройств. Логично.

Половину каких устройств? На айфоне 4 появился гироскоп, если я не ошибаюсь. Я меньше года назад работал в студии где 4s УЖЕ не поддерживался.

andrewio писал(а):бро, я ведь предупредил, что решение с помощью гироскопа меня не устраивает

Извини, пропустил :) Кмк, фильровать помехи акселерометра ПРОГРАММНО, КОДОМ ИГРЫ, чтобы получить приближение к тому, что дает другая аппаратная более-менее распространенная штука это не комильфо.
Разработка игр, немножко игровая журналистика, сейчас делаем Календарь: даты выхода игр
Аватара пользователя
snezhok_13
UNIверсал
 
Сообщения: 450
Зарегистрирован: 09 сен 2013, 11:12
Skype: s.coremission
  • Сайт

Re: АКСЕЛЕРОМЕТЕР. ИГРОВАЯ КАМЕРА.

Сообщение Cr0c 09 ноя 2017, 12:22

snezhok_13 писал(а):Половину каких устройств? На айфоне 4 появился гироскоп, если я не ошибаюсь. Я меньше года назад работал в студии где 4s УЖЕ не поддерживался.

Гениально! Только айфон телефон, остальное не стоит внимания )))
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

Re: АКСЕЛЕРОМЕТЕР. ИГРОВАЯ КАМЕРА.

Сообщение snezhok_13 09 ноя 2017, 12:51

Cr0c писал(а):Гениально! Только айфон телефон, остальное не стоит внимания )))

Ну зачем Вы так. Разочаровали.
Я сам не эплодрочер, перешел на андроид и вполне счастлив.
Мне кажется классы телефонов примерно одинаковые, андроиды даже мощнее аппаратно, но только классы андроидов чем измерять? Самсунгами?
Моя мысль в том, что 4s - телефон вышедший в 2011 году с гироскопом, а на дворе почти 18й. 7 лет прошло.

Каков процент девайсов без гироскопа? Каков процент телефонов для игр без гироскопа?

7 лет пользоваться телефоном и не обновить его, ну не знаю...
Разработка игр, немножко игровая журналистика, сейчас делаем Календарь: даты выхода игр
Аватара пользователя
snezhok_13
UNIверсал
 
Сообщения: 450
Зарегистрирован: 09 сен 2013, 11:12
Skype: s.coremission
  • Сайт

Re: АКСЕЛЕРОМЕТЕР. ИГРОВАЯ КАМЕРА.

Сообщение Cr0c 09 ноя 2017, 17:26

snezhok_13 писал(а):Каков процент девайсов без гироскопа? Каков процент телефонов для игр без гироскопа?

По Яндекс.Маркету - половина без гироскопа. На руках телефоны ещё старее, значит две трети телефонов без гироскопа, как минимум.
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

Re: АКСЕЛЕРОМЕТЕР. ИГРОВАЯ КАМЕРА.

Сообщение Gamer_Jack5 10 ноя 2017, 19:42

В итоге прошло 3 дня, и мы ушли от вопроса)
Gamer_Jack5
UNец
 
Сообщения: 39
Зарегистрирован: 04 апр 2017, 20:09

Re: АКСЕЛЕРОМЕТЕР. ИГРОВАЯ КАМЕРА.

Сообщение Cr0c 10 ноя 2017, 20:06

Cr0c писал(а):
andrewio писал(а):Убрать колебания (дрожания), увеличив чувствительность.

ФНЧ поищи для акселерометра
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

Re: АКСЕЛЕРОМЕТЕР. ИГРОВАЯ КАМЕРА.

Сообщение andrewio 09 дек 2017, 19:47

Спасибо за наводку про ФНЧ.

Из этой темы у меня получился новый ассет
AR Camera ACCELEROMETER: http://u3d.as/YSM

AR Unity Assets: _ttp://u3d.as/kPA
Аватара пользователя
andrewio
UNец
 
Сообщения: 3
Зарегистрирован: 07 ноя 2017, 16:18
Откуда: Москва
  • Сайт


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9