Unity 3D для разработки игр на Android-устройства | [Профессиональный мультиплатформенный игровой движок]



Реп: (59)

Прошлые версии


Unity3D — это мультиплатформенный инструмент для разработки двух- и трёхмерных приложений и игр, работающий под операционными системами Windows и OS X. Созданные с помощью Unity приложения работают под операционными системами Windows, OS X, Linux, Android, Apple iOS, Windows Phone, BlackBerry, а также на игровых приставках Wii, PlayStation 3 и Xbox 360. Есть возможность создавать интернет-приложения с помощью специального подключаемого модуля к браузеру Unity, а также с помощью экспериментальной реализации в рамках модуля Adobe Flash Player. Позже от поддержки Flash отказались. Приложения, созданные с помощью Unity, поддерживают DirectX и OpenGL.

Список поддерживаемых платформ:
  • Android
  • WP8
  • iOS
  • BlackBerry 10
  • Tizen
  • Wii U
  • OculisRift
  • GearVR
  • XBox 360/ XBox One
  • PS3/PS4/PSVita
  • Windows/Windows Store App
  • Linux/SteamOS
  • Mac
  • WebPlayer
  • WebGL
  • AndroidTV
  • Samsung SmartTV

С чего начать разработку под мобильные платформы:

Исходники:

Сайты:

Видеоуроки:

Текстовые уроки:

Плагины:

F.A.Q. (будет дополняться)
В.: У меня отсутствует часть сообщений в консоли, хотя они точно должны там быть.
О.: Выключите опцию Collapse в консоли.

В.: Как мне реализовать паузу?
О.: Наиболее простой вариант — установить Time.timeScale в ноль.

В.: Как заставить два меш-коллайдера взаимодействовать?
О.: Включить опцию Convex у обоих.

В.: Как отключить/заблокировать курсор?
О.: Screen.showCursor; Screen.lockCursor.

В.:Как придать телу импульс?
О.: Rigidbody.AddForce с параметром ForceMode.Impulse. 

В.: Как изменить громкость всех источников звука в сцене?
О.: AudioListener.volume

В.: Как избавиться от смазывания текстур при отдалении от них камеры?
О.: Отключить генерацию mipmaps в настройках импорта текстуры. 

В.: Как отключить вывод предупреждений в консоль?
О.: #pragma warning disable (в справке msdn даны подробности)

В.: Как спозиционировать Scene View на выбранном объекте?
О.: Edit > Frame Selected или просто клавиша F.

В.: Как сделать объект невидимым для Raycast?
О.: Поставить его в стандартный слой Ignore Raycast. 

В.: Как сделать так, чтобы игра была в горизонтальном а не в вертикальном режиме?
О.: В Player Settings нужно выбрать пункт Landscape left в Screen оrientation.

В.: Как отключить обработку коллизий для коллайдера?
О.: Включить опцию коллайдера isTrigger. Однако, такой коллайдер всё ещё будет принимать Raycast. 

В.: Куда сохраняются логи редактора?
О.: C:\Documents and Settings\zaicheg\Local Settings\Application Data\Unity\Editor\Editor.log
Этот же документ можно посмотреть, нажав Open Editor Log в консоли.

В.: Куда сохраняются логи приложения?
О.: Для standalone: _Data\output_log.txt. Для web: C:\Documents and Settings\user\Local Settings\Temp\UnityWebPlayer\log

В.: Где можно посмотреть, какие ресурсы сколько занимают в моём билде?
О.: Там же, в Editor.log (после сборки билда). 

В.: У меня глючит физика.
О.: Проверьте, осущетвляются ли все физические действия в FixedUpdate(). Увеличьте размеры объектов. Избавьтесь от тонких (или безтолщинных) мешей (Plane). Уменьшите FixedTimesetp. НЕ ДВИГАЙТЕ СТАТИЧЕСКИЕ КОЛЛАЙДЕРЫ (начиная с Unity5 уже можно, но всеравно не стоит)

B.: Не получается отредактировать элемент массива mesh.vertices (mesh.normals и прочее).
О.: Редактируйте во временном массиве vertTemp, а потом mesh.vertices = vertTemp.

В.: Я отключил скрипт, но он всё равно частично работает!
О.: Отключение скрипта действует лишь на вызов метода Update(). Start, Awake и прочие будут работать. 

В.: Как увеличить частоту физических расчётов?
О.: Edit > Project Settings > Time > Fixed Timestep

В.: Как приостановить выполнение в Editor Mode (поставить на паузу)?
О.: Debug.Break

В.: Как отобразить кириллицу в GUI?
О.: Локализация в коде это плохо. Нужно хранить текст в текстовых файлах и через код вытаскивать нужные строчки. Например, так (не самый лучший пример, но суть понятна)

В.: Как мне подгружать дополнительные ресурсы в рантайм?
О.: AssetBundles.

В.: Как менять хоткеи редактора?
О.: HKEY_CURRENT_USER\Software\Unity Technologies\Unity Editor

В.: Как разрешить игре работу "в фоне"?
О.: Edit → Project Settings → Player → Run in Background

В.: Почему не работает динамичный батчинг?
О.: В Unity есть лимит на количество вертексных атрибутов в 900 штук (лимит поставлен юнитеками опытным путем, может быть изменен в будущем, самому поменять его нельзя), именно вертексов, а не поликов. Т.е. смотрим на шейдер, которым хотим что-то отрисовать, на его входящие параметры. Видим, например, position, uv, normal - 3 атрибута. Делим 900 на 3, получаем лимит в 300 вертексов. Вот если модели с материалом на данном шейдере будут не более 300 вертексов - они будут сбатчены. Т.е. если отказаться от normal в шейдере, то получим position, uv - 900 / 2 = лимит в 450 вертексов. Если откажемся от uv (можно посчитать в том же вершинном шейдере для статичной геометрии, но это уже специфичные вещи), то получим 900 / 1 = лимит в 900 вертексов. От position отказаться нельзя, это координаты самого вертекса. Аналогично, если передавать position, uv, uv2, normal, tangent, color, то получим 900 / 6 = лимит в 150 вертексов.

В.: Почему возникают баги с обработкой столкновений коллизии?
О.: Это не баги, это непонимание того, как работает физика в юнити, уже было неоднократно объяснено. Коллайдеры без RB двигать нельзя, двигать нельзя, двигать нельзя - они считаются статичным миром, который двигаться не может и внутри расчитывается с оптимизацией по кластерам. Как только статичный коллайдер двигается - весь статичный мир перестраивается. Объекты с RB считаются отдельно как динамические объекты. Собственно, отсюда и "баг" - т.к. статичный мир не может двигаться, то и события наступать не могут при его принудительном движении.
P.S. Судя по профайлеру тот же CharacterController является статик-коллайдером со всеми вытекающими последствиями.
P.P.S. После выхода Unity 5 стало можно, но всеравно не тоит...

В.: Почему не работает Asset store? Как заставить работать?
О.: Попробуйте выключить режим использования DirectX 11

В.: Сколько стоит Unity?
О.: https://store.unity3d.com/shop/

В.: Какие отличия между Pro-версией и обычной?
О.: Заходим на страницу покупки Unity и на нужной лицензии выбираем Read more. После этого появится окошко, в котором можно посмотреть отличия между лицензиями.

В.: Где можно взять исходный код Unity?
О.: Нажмите здесь, выберете Россию, потом свяжитесь с представителями Unity Technologies. Разумеется это не бесплатно
Оригинальный текст с сайта Unity:
"If you want to license Unity to develop content for consoles and/or for embedding, cloud distribution or to access Unity source code, contact us here."


Правила поведения в теме:
  • Прежде чем задать вопрос, обязательно читайте F.A.Q. и пользуйтесь поиском по теме, возможно на ваш вопрос уже есть ответ!
    Кнопка поиск находится в правом верхнем углу.
  • Сообщения, не относящиеся к теме и вопросы, ответы на которые есть в F.A.Q. будут удаляться!!!
  • Обсуждение пиратских версий Unity или просьбы выложить пиратский контент, а так же сообщения, содержащие пиратский контент будут удаляться, а авторы по возможности будут караться!!!


В теме нет куратора. По вопросам наполнения шапки обращайтесь к модераторам раздела через кнопку "Жалоба" под сообщениями, на которые необходимо добавить ссылки.
Если в теме есть пользователь, желающий стать Куратором и соответствующий Требованиям для кандидатов, он может подать заявку в теме Хочу стать Куратором (предварительно изучив шапку темы и все материалы для кураторов).


Сообщение отредактировал derak1129 - 07.10.20, 10:38
Причина редактирования: Версия Unity 2020.1.7



Реп: (104)
* phonecrusher_nik,
я так понял что на обоих, ибо сегодня переделывал всю физику. И вообще какие-то баги странные.
Например у меня создается клон на сцене , в нем есть дочерний объект- патикл взрыва, по логике - как только объект попадает в триггер , патикл активируется, потом весь объект деактивируется. Так у меня как только попадает в триггер, патикл удаляется и ругается мол вы хотите получить доступ к объекту которого нет. Короче все покомментил оставил только
particle.setactive (true) но он так и удаляется
и ругается мол вы хотите получить доступ к объекту которого нет

Я офигеваю от таких предъяв )))

Сообщение отредактировал Артегор - 05.03.15, 21:04



Реп: (207)
Артегор @ 05.03.2015, 21:02 *
я так понял что на обоих, ибо сегодня переделывал всю физику. И вообще какие-то баги странные.

Абсолютно ничего не поменялось с 4-ки - проект с физикой прошел апгрейд на 5-ку без проблем, пришлось только лм-ки перепечь. Проблема в руках.



Реп: (3)
Не реально тупит билд под андроид. Сделал по новой проект, создал сцену, поместил на неё куб обычный, анимировал его что бы было видно плавность на андроиде. Скомпилировал. Запускаю, у меня У меня 66 frametime ( не путаем с FPS) Всё дёргается рывками. Компилировал я как и со стандартно заданным настройкам, так и по собственно настроенным. Результат не изменился. Что это такое? В сцене даже источника света нет.



Реп: (104)
* Leopotam,
мои руки влияют на то что в 5 юнити меш коллайдеры у которых есть rigidbody должны быть convex либо iskinematic?
А я оказывается большая шишка, раз мои руки влияют на таком уровне )



Реп: (207)
Артегор @ 05.03.2015, 22:07 *
rigidbody должны быть convex либо iskinematic?

Как это связано? Одно - для оптимизации вычислений + новое требование для триггеров. Второе - отключение авторасчета физики для трансформа, на котором висит RB. Вообще, мешколлайдеры - очень плохая идея для производительности, если есть возможность, то лучше переделать на примитивы типа box, sphere, cylinder.

Добавлено 05.03.2015, 22:22:

Артегор @ 05.03.2015, 21:02 *
Я офигеваю от таких предъяв )))

Кривой код - смотри то, как ты удаляешь ГО с партиклами и вообще. Удали его для начала и увидишь что все работает правильно, потом - ищи проблему.

Сообщение отредактировал Leopotam - 05.03.15, 22:21



Реп: (104)
Leopotam @ 05.03.2015, 22:22 *
то лучше переделать на примитивы типа box, sphere, cylinder.

так я и переделал уже, наверно немного не правильно выразился когда сказал "сегодня переделывал всю физику"
Leopotam @ 05.03.2015, 22:22 *
Кривой код - смотри то, как ты удаляешь ГО с партиклами

говорю же ,в коде кроме активизации патикла ничего не оставил. Хотя не важно уже, может просто баг,бывает что закомментишь кусок,а он работает.Корчое не важно,я по-другому там обошел



Реп: (503)
* Артегор,
вангую шо удалялось у тебя потому что ты галочку Autodestruct у анимации партикля снять забыл.



Реп: (207)
* phonecrusher_nik,
ну тогда эт не партиклы, а старый треш, который давно надо удалить. Актуальной системой для партиклов является только сюрикен, который и следует юзать, без легаси компонентов, которые могут пропасть в один прекрасный момент при выходе новой версии юнити.



Реп: (503)
* Leopotam,
ну это только предположение, сам тож древними не пользуюсь, но раз он начинал на юнити 4,то там все стандартные же на легаси партиклах были, вот оттуда и решил)

А вообще хорошо бы, если б юнитеки взяли и весь лишний хлам разом снесли из движка :)

Сообщение отредактировал phonecrusher_nik - 05.03.15, 23:11



Реп: (3)
Столкнулся с такой проблемой - на телефоне замеряю fps. Оно колеблется в районе 55-60. Но сама игра при этом идет не плавно. Думал на кривизну моих рук. Отключил почти все скрипты и убрал со сцены почти все объекты. На сцене сейчас 4,7к треугольников. Из движущихся объектов только модель бегущего человека и камера, которая следует за ним. Почти всегда 60 fps. И игра при этом идет, как бы, рывками! Пробовал включать и выключать вертикальную синхронизацию. Вроде изменения есть, но все же плавность, соответствующая 60 фпс, не появляется. В чем может быть дело? Продолжать искать свой косяк (хотя ума не приложу, где он может быть. да и 60фпс все же!), или кто-то сталкивался с подобным и знает ответ?
Телефон htc sensation. Также пробовал на других имеющихся под рукой смартфонах (чуть более слабых). Везде ситуация одна и та же. Плохая подборка смарфонов или все же кривые руки? Или нужно какую-то настройку в юнити поменять? (При этом в редакторе все очень плавно)
Помогите советом. Не знаю на что грешить!

Сообщение отредактировал Zronka - 06.03.15, 00:14



Реп: (51)
* Zronka,
А вы случаем не через unity remote запускаете?



Реп: (3)
* Firik,
нет. Я компилирую и устанавливаю на телефон.



Реп: (503)
* Zronka,
Дергания именно как будто камера рывками перемещается? Если да, то надо просто запилить плавное перемещение камеры (оно, как я понял, в Update прописано... Надо заменить на FixedUpdate или LateUpdate, в зависимости от того с физикой работаешь или просто с трансформами)



Реп: (3)
* phonecrusher_nik,
у меня камера - дочерний объект у модели бегущего человека, и нигде в скриптах положение камеры я не меняю!



Реп: (503)
* Zronka,
а юнити 4 или 5?



Реп: (44)
Zronka @ 06.03.2015, 01:45 *
у меня камера - дочерний объект у модели бегущего человека, и нигде в скриптах положение камеры я не меняю!

А положение бегущего человека как вы меняете?



Реп: (22)
Что делать с этими полосами? В максе пробовал менять развертку, чтобы тайл в юнити был равен одному. Ничего не изменилось. Такое на Mali400MP и на PowerVR SGX531.
Прикрепленное изображение



Кстати карта большая. В максе ставил 26*19км

Сообщение отредактировал maxiaka22 - 06.03.15, 14:29



Реп: (503)
* maxiaka22,
специфика Mali400MP и PVR SGX531

Для них надо или тайлинг не более 15, или отдельную версию с сжатием текстур под видеоускоритель



Реп: (22)
* phonecrusher_nik,
Я же говорю тайл равен единице. Какое сжатие нужно для мали?



Реп: (503)
* maxiaka22,
для мали максимум что получится сделать, это сжатие под GLES 2.x, а под PowerVR есть отдельное.


Полная версия   Текстовая версия

Помощь   Правила

Сейчас: 29.03.24, 13:04