Как портировать игру с пк на андроид unity
Перейти к содержимому

Как портировать игру с пк на андроид unity

  • автор:

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

ShootPoint + положения игрока

Помогите пожалуйста. Делаю курсовую работу на тему :»Игры на мобильные устройства», но в 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

Сортировка: Сброс на вариант по умолчанию

Не считайте ответом, но из-за отсутствия нужно привилегии не могу редактировать (дополнять) чужие ответы.

Дополнение к ответу: Вообще необходимо сделать несколько непростых шагов:

  1. Установить «Unity Remote Tool» c Play.Market или AppStore (в зависимости от ОС).
  2. Оптимизировать управление под ваш(и) аппарат(ы). Тут пригодится 1 пункт.
  3. Оптимизировать быстродействие приложения.
  4. Оптимизировать приложение под разные разрешения экрана.
  5. Оптимизировать вес .apk файла.
  6. Отдать на тест друзьям/QA специалистам.

Отслеживать
ответ дан 7 июл 2015 в 13:05
83 1 1 серебряный знак 7 7 бронзовых знаков

Для того что-бы сбилдить (собрать) под андроид проект достаточно просто в настройках билдинга выбрать соответствующую платформу. Также понадобится установленный JDK и Android SDK. Когда будете первый раз билдить, Unity попросит указать путь к Android SDK. После билдинга вы получите *.APK файл, который нужно просто скопировать на ваше устройство и установить.

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

Что может случится:

  1. Интерфейс — размеры экранов мобильных устройств меньше чем у компьютеров, поэтому некоторые кнопки и поля могут оказаться слишком мелкими. Просто сделайте их больше размером.
  2. Управление — возможно придется переписать управление под мультитач (multi touch).

Если ваш проект ориентирован как на Android, так и на PC то можете использовать директивы компилятора: Платформенно зависимая компиляция

Например вы можете написать так:

#if UNITY_ANDROID // управление для андроид, этот // кусок кода будет билдиться // только для андроида #endif #if UNITY_STANDALONE_WIN // управление для windows, этот // кусок кода будет билдиться // только для windows #endif 

Как портировать Unity проект на андроид?

Demigodd

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

Ответ написан более трёх лет назад

Persey14

Парасат Утебай @Persey14 Автор вопроса

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

Demigodd

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 комментарий

KraGenDeveloper

~KraGen~ @KraGenDeveloper

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

Решения вопроса 0
Ответы на вопрос 3

GavriKos

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

LittleBob

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

Ответ написан более года назад
Нравится 1 4 комментария

EveningEugene

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

EveningEugene

Eugene @EveningEugene
Только я не согласен про отдельный проект.
В юнити есть удобная штука

#if UNITY_ANDROID //android code #elif UNITY_STANDALONE //pc code #endif

LittleBob

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

EveningEugene

Eugene @EveningEugene
LittleBob, не будет. В этих блоках должен быть только вызывающий код, условно

DrawMobileUI(); //или DrawStandaloneUI();

Всё. Самой низкоуровневой логики там, естественно, быть не должно. А засорить код и без этого можно. Тут уже от программиста зависит.

vabka

Токсичный шарпист

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *