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



Реп: (503)
* seneka12345,
зачем?
Он же через UIButton делает, он этот shopID в инспекторе в поле OnClick каждой кнопки забивает



Реп: (212)
* phonecrusher_nik,
Я как то не подумал :rolleyes:
phonecrusher_nik @ 01.09.2015, 20:08 *
чет как-то через одно место все...

да и вообще, главное, чтобы работало :D



Реп: (11)
Привет друзья! Давно меня тут не было, года 2 наверно..может кто и вспомнит) было много причин по старой команде где раньше был, но отвечал больше за финансовую часть настроек всех привязок аккаунтов, чеки на инкассо итд итп...ой чет я отвлекся... не хочу вспоминать этих пи.д.сов))....

Вот решил теперь осваивать эту не легкую среду, разработку игр под Unity.
Скажу сразу, сори за нубские вопросы, пожалуйста только учусь не пните и не пинайте сильно))

Разработку веду с iMac системы OSX..под Android ...зы: не обессудьте)) так вот, делаю локацию, столкнулся с такой типа проблемкой, модель ящик бывает мелькает текстура то норм то нет, все шейдеры вроде применил однотипные под Mobile/Bumped/diffuse , то опять получ какая-то фигня мелькает именно на одном этом ящике, что это может быть? Вроде как слышал сказали что это фейл с UI и исправляется только в 3dMax типа, поясните пожалуйста, исправить не могу, так как не умею работать в Максе

Прикрепленные изображения
Прикрепленное изображение



Реп: (348)
elcorosso @ 04.09.2015, 06:46 *
именно на одном этом ящике

А в сцене присутствуют еще такие же ящики с теми же матами?
elcorosso @ 04.09.2015, 06:46 *
с UI

Не с UI, а с UV.
Просто если развертка или сетка кривая, то может спокойно артифатчить (закрашиваться монотонным цветом, выпадать сами полигоны).. Если проблема именно в этом, то редактирование в среде моделирования (3DS Max, Blender, Cinema4D и иже с ними) обязательна. Иначе это ничем не исправить..

Сообщение отредактировал mastersmit - 04.09.15, 04:17



Реп: (503)
* elcorosso,
либо лежит моделька в модельке (меш продублиорван/2 го в одной позиции и т.д.), либо меш кривой (где-то полигоны продублированы, где-то нормали вывернуты)



Реп: (11)
mastersmit @ 04.09.2015, 03:10 *
Не с UI, а с UV.
Просто если развертка или сетка кривая, то может спокойно артифатчить (закрашиваться монотонным цветом, выпадать сами полигоны).. Если проблема именно в этом, то редактирование в среде моделирования (3DS Max, Blender, Cinema4D и иже с ними) обязательна. Иначе это ничем не исправить..



мне кажется проблемка именно в самой как бы модельке ну или кто ее ранее типа делал...
если не сложно и если умеешь ты не мог бы поправить ее пжлст?
Скрины
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение


Их вообщем 7 ящиков с этим...текстуры наложил, материалы созданны как бы..тока на не которых ящиках типа по 3 материала но также есть и по 1, а конкретно на этом что бликает 1...

Сообщение отредактировал Zyomich - 04.09.15, 17:21
Причина редактирования: Спойлер



Реп: (11)
phonecrusher_nik @ 04.09.2015, 06:55 *
либо лежит моделька в модельке (меш продублиорван/2 го в одной позиции и т.д.), либо меш кривой (где-то полигоны продублированы, где-то нормали вывернуты)


чуть ниже скинул скринчики, посмотри пжлст...
ну до оптимизации мне еще ой как далеко, но всеже позволю у вас спросить: cкажи а 96 fps почему такой большой  ну и дроуколов столько, порядка 196 и это притом, что еще собственно и ничего нету на локации как бы))? ну или много чего-то может?
Скрин
Прикрепленное изображение


Сообщение отредактировал Zyomich - 04.09.15, 17:22



Реп: (11)
Друзья вроде получилось, только когда конкретно на этом ящике убрал галочку Mesh Renderer...потом заново зашел она стоит..и все устранилось, бликов нету....тока я не понял почему так получилось типа))смешались как-то может хз...
Скрин
Прикрепленное изображение


Сообщение отредактировал Zyomich - 04.09.15, 17:25
Причина редактирования: Спойлер



Реп: (0)
Добрый день! Возможно пишу не в том разделе форума, но такой информации не нашёл. Подскажите, кто в курсе - К примеру: создал игру, настроил, отточил производительность. А затем хотелось бы её продать (допустим, через Google Play). Но насколько мне извесно с версией "фри" этого сделать невозможно. Нужно покупать комерческую лицензию за $1500? Или я ошибаюсь?

Сообщение отредактировал ARMAGEDONы - 04.09.15, 14:27



Реп: (348)
Ошибаетесь. Где вы вообще этот бред вычитываете?



Реп: (0)
Я в этом деле новичёк. Поэтому посмотрев этот ролик https://www.youtube.co…B2C1D095B583B7&index=1 время на ролике 1,20 - 1,30. автор говорит об этих ограничениях. Ну если это не так, то я только рад... И не принимайте это за флуд. Если есть ветка на сайте для таких вопросов прошу перенаправить. Я щитаю, что лучше сразу определиться с платформой разроботки и уточнить все нюансы, прежде чем начинать сней работать.



Реп: (348)
* ARMAGEDONы,
Видео датируется 2012 годом, прошло три года. Если честно, то не особо рекомендую смотреть такие видео, многое поменялось с тех пор, ну если только для ознакомления, чтобы було..
Работай в Personal Edition и не парься по поводу проблем со стороны Юнитеков.



Реп: (11)
Скрины для mastersmit
+ Анимация сбор гильз очков в сцене
Тирейн правда стоит 300х300 уровень локации
Может все єто и приводить то такого fps как бы и количество дроуколов, я учусь) сильно не пинай)

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение



Сообщение отредактировал elcorosso - 04.09.15, 17:00
Причина редактирования: Спрятать под спойлеры



Реп: (348)
* elcorosso,
Прячь скрины под спойлер.. Все равно так сходу и не скажешь. Воочию надо смотреть.. многовато для такой сцены вершин и дк..



Реп: (11)
Да, спс, вспомнил)
Ну насчет локации своей я пока к сожалению хз, учусь еще) почему так много как ты говоришь триссов/дк в сцене? И дроуколов тоже.
Вроде все модели low-poly выносил на сцену !

Скажи где посмотреть управление от первого лица мультитач можна, видел в шапке на 1 стр, но так и не понял типа работает оно или нет? Хотел тоже реализовать наподобие с сменой оружия под андроид ( для начала 2 оружия, (тот же автомат и ракетница) примеры тоже видел и видео есть как бы..буду и там изучать, но там со статическим оружием, впринципе мне для начала пойдет.... , а есть ли примеры с анимацией оружия на мультитач и намного ли сложнее их реализация по сравнению со статическим без анимации типа? Или все дело в скриптах как бы)

Пересмотрел, прочел 31 страницы форума вначале пока) 2011 год)

Получ много треугольников на моделях? Хотя вроде моделей там пару штук всего? Или это треугольников внутри этой модели может быть дофига типа?

Может убрать мне дорожные буйки ввиде треугольников? У меня их на дороге 9 штук типа и посмотреть хоть может чет и изменится типа? Теперь я хоть чуток начинаю понимать, что при построении локации нужно это тоже учитывать, поменьше моделей с треугольными формами типа так получается?

Прикрепленное изображение
Прикрепленное изображение


Не, что-то тут менять другое нужно а не буйки...или треугольники можно убрать в 3д редакторе только этого увы я не умею....может кто помочь пжлст? Буду рад любой информации или советам...так как учусь этому)

Сообщение отредактировал elcorosso - 04.09.15, 19:11
Причина редактирования: Возможно много треугольников на моделях



Реп: (8)
F5Fairy @ 30.08.2015, 09:42 *
Простите за банальный вопрос, но может кто-нибудь ещеё раз прояснит раз и навсегда как делать лес для мобильных?. Я гуглил "unity3d mobile forest", но ничего понятного не нашел. Я написал скрипт, с помощью которого можно создавать низкополигональные деревья. В итоге создаётся 2 мэша - ствол и листва, оба меньше 300 вершин для динамического батча, потому что статический батч увеличивает время загрузки, так ведь? Этот скрипт создаёт несколько LOD для ствола, и ещё фоткает получившуюся модель с двух сторон, чтобы создать самый дальний LOD - крест. Но в итоге лес из 1000 деревьев всё равно тормозит. Что делать? Я пробовал разные шейдеры, пробовал немного приблизить дальний LOD. Особого вау-эффекта не получилось
Обалдеть! Только спустя неделю до меня дошло, что когда мой скрипт генерировал текстуру для дальнего лода (билборда), то она была без мипмапов. Из-за этого всё и тормозило похоже.



Реп: (11)
Во общем залип я тут с материалом: Лайтмаппингами, дроуколлами, combine Children, коллайдерыми итд))) короче мозг кипит)) многое пока в реализации мне еще не понятно..ну ниче

Но с управлением мультитач все еще актуален вопросик от first person schooter:) писал чуть выше

Сообщение отредактировал elcorosso - 05.09.15, 00:55



Реп: (11)
Друзья! Может я не то ищу по своему примеру, что выше скидывал при пустой сцене у меня FPS 94-97 и дроуколов 160-180 поправьте если че) Лазил лазил и вот на что набрел по оптимизации, как уверяет автор что при этом скрипте рост FPS составил примерно 25%, а DrawCalls упал на почти на 40%.


При запуске он собирает со всех дочерних объектов мэши, «склеивает» их в один, а потом подключает полученную модель себе в MeshFilter. Материал берет у одного из дочерних объектов и так же применяет его на себя. Рендереры у дочерних объектов он выключает.

Далее необходимо создать пустой объект. Его глобальные координаты должны быть базисными, т.е. положение в начале координат, все оси совпадают, масштаб — единица. Локальные координаты не так важны.

Теперь кладем в этот объект, объекты которые нужно объединять.
И подключаем к этому пустому объекту скрипт Combine. Он так же автоматически подключит MeshRenderer.


Готово! Теперь запустив проект, можно увидеть что наш пустой объект обрел форму и цвет. Так же стоит заметить, что у дочерних объектов сохранились коллайдеры.

Я конечно нуб), но чет я наверно не то тестил или не правильно сделал, вообщем тоже взял 2 объекта, т.е одинаковыми модели 2 шт и сделал как по инструкции но чет при вкл я не особо заметил прироста ))

Скрипт:

#pragma strict
@scripts RequireComponent(MeshRenderer)
function Start () {
var meshFilters = GetComponentsInChildren(MeshFilter);
var combine : CombineInstance[] = new CombineInstance[meshFilters.length];
for (var i = 0; i < meshFilters.length; i++){
var mf : MeshFilter = meshFilters[i];
combine[i].mesh = mf.sharedMesh;
combine[i].transform = mf.transform.localToWorldMatrix;
}

mf = transform.gameObject.AddComponent(MeshFilter);
mf.mesh.CombineMeshes(combine);
transform.gameObject.renderer.sharedMaterial = transform.GetChild(0).renderer.sharedMaterial;

for (var j = 0; j < meshFilters.length; j++)
transform.GetChild(j).renderer.enabled = false;
}


Прикрепленное изображение



Реп: (8)
* elcorosso,
Я не особо вдавался в подробности, но вроде сейчас ничего комбинировать скриптами не нужно. Достаточно включить на объектах галку static и юнити всё сделает. Раньше статический батч был доступен только в про-версии, поэтому придумывали такие скрипты. Если объекта всего 2, то разницы не будет. Если несколько десятков или сотен, то тогда возможно прирост будет, но на объединение множества объектов в один меш тратится дополнительное время при загрузке уровня. Поправьте меня, если ошибаюсь.

Сообщение отредактировал F5Fairy - 05.09.15, 03:03



Реп: (348)
Решил чуть отвлечься..
В Юнити захотел получить список папок в текущей папке:
using UnityEngine;
using System.IO;

public class io : MonoBehaviour {

DirectoryInfo dir;

void Start () {
dir = new DirectoryInfo (@"D:/");
Debug.Log ("===Список каталогов===");
foreach (DirectoryInfo item in dir.GetDirectories()) {
Debug.Log(item.Name);
}
}
}

Ии..ругается
Assets/TestIO/io.cs(13,52): error CS1061: Type `System.IO.DirectoryInfo' does not contain a definition for `GetDirectories' and no extension method `GetDirectories' of type `System.IO.DirectoryInfo' could be found (are you missing a using directive or an assembly reference?)

Получается, что GetDirectories в System.IO имеется и в то же время не имеется.. Это как так..
Тоже самое и с GetFiles()..


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

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

Сейчас: 28.03.24, 12:02