Как портировать игру под Android? Unity (переделать управление)

Помогите пожалуйста. Делаю курсовую работу на тему :»Игры на мобильные устройства», но в C# я не очень давно. Сначала я написал игру под ПК в стиле TDM (Top Down Shooter). С помощью джойстика (asset) начал делать управление. Начались следующие проблемы: — при старте / после остановки движения, персонаж поворачивается на 90 градусов вправо; — при нажатии на джойстик передвижения персонаж делает выстрел; — ShootPoint (выстрел) постоянно уходит в рандомные позиции, а из-за одновременного срабатывания на джойстик передвижения может даже себе нанести урон.
public class PlayerMovement : MonoBehaviour < protected Joystick joystick; public float moveSpeed = 5f; public Rigidbody2D rb; public Camera cam; public int health = 100; Vector2 movement; Vector2 mousePos; public HealthBar healthBar; public int currentHealt; // Update is called once per frame void Start() < joystick = FindObjectOfType(); currentHealt = health; healthBar.SetMaxHealth(health); > void Update() < movement.x = joystick.Horizontal; movement.y = joystick.Vertical; mousePos = cam.ScreenToWorldPoint(Input.mousePosition); >void FixedUpdate() < rb.MovePosition(rb.position + movement * moveSpeed * Time.fixedDeltaTime); //Vector2 lookDir = mousePos - rb.position; float angle = Mathf.Atan2(joystick.Vertical, joystick.Horizontal) * Mathf.Rad2Deg -90f; rb.rotation = angle; >> public class shooting : MonoBehaviour < public Transform firePoint; public GameObject bulletPrefab; public float bulletForce = 20f; // Update is called once per frame void Update() < if (GamePause.GameIsPause) < >else < if (Input.GetButtonDown("Fire1")) < Shoot(); SoundManagerScript.PlaySound("fire"); >> > public void Shoot() < GameObject bullet = Instantiate(bulletPrefab, firePoint.position, firePoint.rotation); Rigidbody2D rb = bullet.GetComponent(); rb.AddForce(firePoint.position * bulletForce, ForceMode2D.Impulse); >
Отслеживать
задан 28 мая 2020 в 8:42
3 2 2 бронзовых знака
Персонаж поворачивается на 0 градусов, потому, что movement x:0 y:0. Игнорь нейтралку аналога, если значения movement.distance < 0.15f/0.2f .
28 мая 2020 в 13:58
Я специально уточнил, что я нуб в си шарпе, а вы так сказали как ветерану)
Перенести игру с Unity 3D на Android
Я создал игру на движке Unity3d и теперь хочу ее перенести на android. Что-то нужно устанавливать еще, подключать, переделывать? Как это можно сделать?
Отслеживать
72.1k 12 12 золотых знаков 92 92 серебряных знака 180 180 бронзовых знаков
задан 19 июл 2012 в 11:16
Вася Копенко Вася Копенко
41 1 1 золотой знак 1 1 серебряный знак 4 4 бронзовых знака
Я думаю, перенести ничего не изменяя не получится. Вот тут инструкция по интеграции юнити в андроид сдк: docs.unity3d.com/Documentation/Manual/android-sdksetup.html Кстати, интересная тема! Надо будет и себе попробовать.
19 июл 2012 в 12:18
Не совсем понятно, создали — в смысле десктопная версия? Мне кажется там нужно будет только заморочиться с управлением.
1 апр 2015 в 10:25
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Не считайте ответом, но из-за отсутствия нужно привилегии не могу редактировать (дополнять) чужие ответы.
Дополнение к ответу: Вообще необходимо сделать несколько непростых шагов:
- Установить «Unity Remote Tool» c Play.Market или AppStore (в зависимости от ОС).
- Оптимизировать управление под ваш(и) аппарат(ы). Тут пригодится 1 пункт.
- Оптимизировать быстродействие приложения.
- Оптимизировать приложение под разные разрешения экрана.
- Оптимизировать вес .apk файла.
- Отдать на тест друзьям/QA специалистам.
Отслеживать
ответ дан 7 июл 2015 в 13:05
83 1 1 серебряный знак 7 7 бронзовых знаков
Для того что-бы сбилдить (собрать) под андроид проект достаточно просто в настройках билдинга выбрать соответствующую платформу. Также понадобится установленный JDK и Android SDK. Когда будете первый раз билдить, Unity попросит указать путь к Android SDK. После билдинга вы получите *.APK файл, который нужно просто скопировать на ваше устройство и установить.
А вот дальше могут начаться проблемы и зависят они от того, что у вас в проекте.
Что может случится:
- Интерфейс — размеры экранов мобильных устройств меньше чем у компьютеров, поэтому некоторые кнопки и поля могут оказаться слишком мелкими. Просто сделайте их больше размером.
- Управление — возможно придется переписать управление под мультитач (multi touch).
Если ваш проект ориентирован как на Android, так и на PC то можете использовать директивы компилятора: Платформенно зависимая компиляция
Например вы можете написать так:
#if UNITY_ANDROID // управление для андроид, этот // кусок кода будет билдиться // только для андроида #endif #if UNITY_STANDALONE_WIN // управление для windows, этот // кусок кода будет билдиться // только для windows #endif
Как портировать Unity проект на андроид?

Потом в самом Unity3d нажать File-> Build -> Android -> Switch Platform там в Player setting указать имя компаний и имя игры com.Company.GameName на свое усмотрение и нажать Build. Пройдет загрузка и Apk файл готов.
Ответ написан более трёх лет назад

Парасат Утебай @Persey14 Автор вопроса
Тоесь Android Studio это SDK? В unity указываю путь установки SDK(не JDK) но оно не принимает этот путь

Persey14: Когда отрывается Android Studio в окне Welcome Android Studio жмешь Configure -> SDK Manager и там галочками выбираешь Android 4.0 до новой, и в Tools выбираешь Android SDK Build Tools это и есть Sdk, вообщем устанавливаешь и все. По моему в начале когда устанавливашеь Android Studio там тебе предлагают выбрать папку для установки Android SDK. Android Studio — это интегрированная среда разработки (IDE) для работы с платформой Android.
Как Портировать игру с Андроид на Пк, игра на unity?
Как Портировать игру с Андроид на Пк?
Хочу портировать игру на unity с андроид на пк, как это можно сделать?
- Вопрос задан более года назад
- 470 просмотров
1 комментарий
Средний 1 комментарий

~KraGen~ @KraGenDeveloper
я так понял игра не твоя, если ты хочешь поиграть в эту игру на пк то используй «эмуляторы андроид» (тот же BlueStack) если решил стырить игру, это уголовка
Решения вопроса 0
Ответы на вопрос 3

Начать просто с переключения TargetPlatform и посмотреть что отвалится
Ответ написан более года назад
Комментировать
Нравится 2 Комментировать

Зависит от вашей игры.
Код в любом случае нужно будет переписывать, переделывать управление и интерфейс под Андроид, возможно ещё какие то функции игры.
Стоит создать новый проект, и на основе ПК игры делать уже под Андроид, копируя и заменяя необходимые блоки кода, объектов и так далее.
Ответ написан более года назад
Нравится 1 4 комментария

Eugene @EveningEugene
*на основе Андроид игры делать уже под ПК

Eugene @EveningEugene
Только я не согласен про отдельный проект.
В юнити есть удобная штука
#if UNITY_ANDROID //android code #elif UNITY_STANDALONE //pc code #endif

Eugene, хм, не знал про такое.
Но, мне кажется сильно засорять код будет. Потом ведь не разберёшь, что и как.

Eugene @EveningEugene
LittleBob, не будет. В этих блоках должен быть только вызывающий код, условно
DrawMobileUI(); //или DrawStandaloneUI();
Всё. Самой низкоуровневой логики там, естественно, быть не должно. А засорить код и без этого можно. Тут уже от программиста зависит.

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