Мобильные сложности
|
|
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
На первый взгляд сложно, но потом все даже просто. Для тестирования рекомендую использовать программу, которая разработана для мобильной разработки в Юнити. Где то в документации написано ее название
Успехов!
|
|
| |
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 за предоставление информации!
|
|
| |