Суббота, 20 Апреля 2024, 01:23

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Мобильные сложности (OS: Android)
Мобильные сложности
andarkyДата: Среда, 05 Февраля 2014, 13:24 | Сообщение # 1
старожил
Сейчас нет на сайте
не достигнув мастерства в разработке под Винду
я решил поработать под Андроид.

и возникли проблемы.
я пока еще не добрался к шейдерам,
а просто не могу найти хороший ресурс с примерами кода.

Я думал там все также просто как OnMouseDown()/OnMouseUp()
а оно нет...
все что мне гугл нашел - там все функции крутятся в Update()
и как-то через Raycat().

А неужели по-другому нельзя?

КАК сделать аналог OnMouseDown()/OnMouseUp() для элемента GUI
и OnMouseDown()/OnMouseUp() для 3D-объекта?

Можно ли задействовать гироскоп, если включена автоматическая ориентация экрана?
У меня вообще примеры с гироскопом не работают никак...



Моя страничка по дизайну
GameDev//Design//3D
Ютубчик
AevienДата: Среда, 05 Февраля 2014, 13:34 | Сообщение # 2
почти ветеран
Сейчас нет на сайте
Привет! Я делал все через Touch, где получал позицию пальца или пальцев на экране, потом переводил координаты экрана из одной системы в другую, и получив эти координаты переводил их в мировые. Для элементов интерфейса просто получал координаты экрана.

Вот одно из тех, что я делал при помощи именно системы Touch https://play.google.com/store/apps/details?id=com.mobilityflow.locker smile

На первый взгляд сложно, но потом все даже просто. Для тестирования рекомендую использовать программу, которая разработана для мобильной разработки в Юнити. Где то в документации написано ее название

Успехов!
andarkyДата: Среда, 05 Февраля 2014, 13:39 | Сообщение # 3
старожил
Сейчас нет на сайте
Aevien,
спасибо, щас посмотрю...



Моя страничка по дизайну
GameDev//Design//3D
Ютубчик
AstralangelДата: Среда, 05 Февраля 2014, 13:46 | Сообщение # 4
STF Games
Сейчас нет на сайте
Цитата Aevien ()
Для тестирования рекомендую использовать программу, которая разработана для мобильной разработки в Юнити.

Называется она Unity Remote, если андрюша китаец, то о ее подключении читай в теме которую я создавал - http://gcup.ru/forum/59-37148-1#599602
Но вот с точностью ее использования поспорил бы. Корректность передачи данных speed*deltatime оставляет желать лучшего.
Ну и да, конечно через touch события. )


Весь мир театр, все люди в нем актеры и каждый не одну играет роль (с) Шекспир
NEBRДата: Среда, 05 Февраля 2014, 14:10 | Сообщение # 5
почти ветеран
Сейчас нет на сайте
Цитата Astralangel ()
Корректность передачи данных speed*deltatime оставляет желать лучшего

лучше чем ничего. Если я ведь день работаю с юнькой - пользуюсь Remote + пару раз запущу на девайсе (BuiltAndRun) - этого хватает
andarky,
а по поводу тача глянь мою статью, там есть фрагмент кода который это реализует.
На спрайтах 4.3 версии делается иначе, без райкастов (если нужно - вырежу из скрипта этот фрагмент, выложу).
Вообщем то действительно, сложного ничего нет. Первый толчок к пониманию этих вещей я получил, просматривая видос на ютубе (там цикл из 4 уроков) - называется TouchButton.
Удачи!


King Size #Gamiron12

Сообщение отредактировал NEBR - Среда, 05 Февраля 2014, 14:11
RangerДата: Среда, 05 Февраля 2014, 15:26 | Сообщение # 6
почти ветеран
Сейчас нет на сайте
разница между тачем и мышью никакой за исключением колеса и мультача. события я обрабатываю в апдейт поднимаю флаг на событие и координаты . дальше общий обработчик.
без проблем свои пальцетыкалки в редакторе отлаживал.




Сообщение отредактировал Ranger - Среда, 05 Февраля 2014, 16:24
AevienДата: Среда, 05 Февраля 2014, 18:20 | Сообщение # 7
почти ветеран
Сейчас нет на сайте
Цитата Astralangel ()
Корректность передачи данных speed*deltatime оставляет желать лучшего.
Да, тут Astralangel прав, но лучшего решения проверить все в реальном времени нет
RangerДата: Среда, 05 Февраля 2014, 18:27 | Сообщение # 8
почти ветеран
Сейчас нет на сайте
Цитата andarky ()
У меня вообще примеры с гироскопом не работают никак...

ориентация не при чем.. Чтобы гиро заработал его сначала включить надо.. (Input.gyro.enabled = true;)
у меня на 3х разных устройствах разных производителей работал.
Если есть желание, завтра брошу код.


al_mtДата: Среда, 05 Февраля 2014, 19:10 | Сообщение # 9
постоянный участник
Сейчас нет на сайте
Есть. А то хочется адаптировать HTML5 для мобильных целей, а оно того...
RangerДата: Четверг, 06 Февраля 2014, 05:46 | Сообщение # 10
почти ветеран
Сейчас нет на сайте
Цитата al_mt ()
Есть. А то хочется адаптировать HTML5 для мобильных целей, а оно того...

Фрагмент кода:

Код
void Start () {
         Input.gyro.enabled = true; //UseAccelerator;
         _zeroDeviceRotation = Input.gyro.attitude;
}

void Update () {
   GyroServe();
  }
  void GyroServe(){
   _GyroRotation =  Quaternion.Slerp(_GyroRotation,Quaternion.Inverse(_zeroDeviceRotation)*Input.gyro.attitude ,.2f); // low pass filter
    
   GyroX = Mathf.Asin (Mathf.Sin (_GyroRotation.eulerAngles.x*Mathf.Deg2Rad))*Mathf.Rad2Deg; // 350 Deg => -10 Deg
   GyroZ = Mathf.Asin (Mathf.Sin (_GyroRotation.eulerAngles.z*Mathf.Deg2Rad))*Mathf.Rad2Deg;

   if(_gameStat == GameStats.going){
    if (GyroX > 10) // Backward
     CarScript.instance.accelerate(Vector3.back);
    if(GyroX < -20) // forward
     CarScript.instance.accelerate(Vector3.back*-1);
    if( Mathf.Abs(GyroZ)>5) // left, right
    {
     GyroZ = (Mathf.Abs(GyroZ) > CarScript.instance.MaxSteerAngle) ? CarScript.instance.MaxSteerAngle*Mathf.Sign(GyroZ) : GyroZ;
     CarScript.instance.WheelTurnFlag = true;
     CarScript.instance.WheelSteerToAngle(GyroZ*-1);
    }
     
   }// _gameStat == GameStats.going
  }
}


al_mtДата: Четверг, 06 Февраля 2014, 10:28 | Сообщение # 11
постоянный участник
Сейчас нет на сайте
Ага. Спасибо...
RangerДата: Понедельник, 10 Февраля 2014, 10:43 | Сообщение # 12
почти ветеран
Сейчас нет на сайте
Цитата al_mt ()
Спасибо...

В карман не положишь... плюснуть не забудь...

Добавлено (10.02.2014, 10:43)
---------------------------------------------
UPDTAE:
С удивлением сегодня узнал, что

Код
Input.GetMouseButton(0)

ловит тачи на девайсе...
Словил обидный баг поэтому..
Будьте внимательны.


NEBRДата: Понедельник, 10 Февраля 2014, 10:56 | Сообщение # 13
почти ветеран
Сейчас нет на сайте
Ranger, он ловит по моему, если скрипт в котором он присутствует, висит на текстуре (на GUITexture я проверял)

King Size #Gamiron12
RangerДата: Понедельник, 10 Февраля 2014, 11:13 | Сообщение # 14
почти ветеран
Сейчас нет на сайте
в апдейте ловит

castielblackДата: Понедельник, 10 Февраля 2014, 20:20 | Сообщение # 15
почетный гость
Сейчас нет на сайте
Везде он ловит, только очень плохо он это делает, порой даже не с первого раза срабатывает.
Юзайте тач и всё.


Знания : C#, Lua, C++, Unity, Dreemchest, DirectX 11
Выпущенные проекты : BuildAndRun, Match 3 Cubes
allodsДата: Вторник, 11 Февраля 2014, 14:41 | Сообщение # 16
почти ветеран
Сейчас нет на сайте
Цитата castielblack ()
Везде он ловит, только очень плохо он это делает

Использую и все норм, отлично ловит
Leon510Дата: Пятница, 14 Февраля 2014, 17:53 | Сообщение # 17
был не раз
Сейчас нет на сайте
ПЛИЗ,если кто то знает много про скриптирование unity3d,то помогите с тач управлением!
У нас есть два скрипта,один с тачем,другой - главный скрипт игры(там управление на кнопки).
Нужно тач запихать в скрипт...

Если можете чем то помочь,пишите мне на http://vk.com/l.lyovin.
Вот скрипты:
https://drive.google.com/file/d/0B8vYDlqGOoTANG1EMEFNQmljcFE/edit?usp=sharing

Огромное спасибо пользователю NEBR за предоставление информации!
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Мобильные сложности (OS: Android)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг