Что меня больше всего раздражает в Unity(Part 1)

Что меня больше всего раздражает в Unity(Part 1)

1. Импорт материалов по умолчанию

О да! 856 серых материалов с невнятными названиями, которые создаются автоматически и валяются по всему проекту, создавая новые папки и файлы. Артисты незадумываясь пихают тонну мешей в проект и засирают его всем чем только можно.

Решение:

Недавно я узнал о такой замечательной штуке как AssetPostprocessor! Это глубокозапрятанная вещь, которая позволяет дописывать код в импортер ассетов, таким образом позволяя устанавливать правила, что и как будет импортироваться!

ModelImporter importer = (ModelImporter)assetImporter; var asset_name = Path.GetFileName(importer.assetPath); importer.materialImportMode = ModelImporterMaterialImportMode.ImportStandard; importer.materialLocation = ModelImporterMaterialLocation.External; importer.SearchAndRemapMaterials(ModelImporterMaterialName.BasedOnMaterialName, ModelImporterMaterialSearch.Everywhere);

Теперь проблема с этими бесячими материалами решена.

2. Нельзя ничего делать с Game View

Вот в UE, например, можно взять и из игрового окна выделить объект, полетать камерой и т п, это иногда даже удобно. А в юнити я ждал этого лет 5, пока не решил эту проблему сам.

Решение:

В текущем проекте платформере очень много чекпоинтов и разных планов для камеры, настраивать которые довольно проблематично вручную, поэтому я сделал так, чтобы левый/правый клик мышки переключал камеру прямо в редакторе, а выделение объектов на колесико

protected void OnGUI() { Event e = new Event(); while (Event.PopEvent(e)) { if (e.rawType == EventType.MouseDown && e.button == 0) { // тут пишем чего вам больше нравится :)

3. Сраный доступ в Runtime к частицам!

Что меня больше всего раздражает в Unity(Part 1)

Все вот эти вот VAR создают столько лишнего кода что иногда хочется удавиться, а не заниматься этими вашими ВЫЭФИКС...

Решения я пока не нашёл ) приходится перебирать варианты и страдать, собственно ничего нового. Но всё же партиклы это весело :)

Вчерашние муки были вознаграждены прикольными гифками.

4. Иерархия сцены и подводные камни

Что меня больше всего раздражает в Unity(Part 1)

Вот вы например знали, что можно взять и скрыть объект из сцены вообще. Я это узнал когда искал проблему тормозов в одном проекте, где на пустой сцене всё дико лагало, оказалось, что в одном купленном с асетстора плагине были невидимые объекты (тысячи их!) На решение загадки ушло несколько часов натужного гугление и перебора вариантов.

Решение:

В каждом своем проекте я делаю скрипт работающий в редакторе, который проверяет на Awake transform.hideFlags - отвечающий за скрытие объекта, а так же выстраивает мои объекты согласно иерархии, объекты со скриптами, камеры, источники света и тому подобное, очень удобно!

FindObjectOfType<ReflectionProbe>()?.transform.SetSiblingIndex(++order); FindObjectOfType<LightProbeGroup>()?.transform.SetSiblingIndex(++order);

А вообще Unity мне очень нравится, в UE всё с этим гораздо хуже))

Если вам эта тема понравилась, то ставте лайки, потому что у меня этих штук и лайфаков довольно много на мой субъективный и нубский взгляд. Всем бобра!

PS:

Ищу людей в команду в этот проект:

4040
40 комментариев

А давай еще)

5
Ответить

У меня тред про это есть. Если от Твиттера не тошнит, то можете почитать)

3
Ответить

сегодня некогда, кодить надо))

1
Ответить

Ой, я много такого могу расписать тоже. А про анрил еще больше) Я даже записывал себе в доки все подобные моменты))

Кстати 1 пункт решается легко если приучить себя и команду к нормальной грамотной иерархии в проекте и ОБЯЗАТЕЛЬНОМ отключении импорта материалов во всех модельках. Все материалы должны создаваться только из юнити, под полным контролем.

2 пункт имхо вкусовщина, ты можешь расположить Game рядом со сценой (или переключиться) и в сцене в рантайме ворочать все как угодно.

4 пункт - так а это не косяк ассета? Юнити причем? Судя по этой радужной раскраске - проблема именно в надстройках над редактором, кушают они мама не горюй и из-за этого я давно отказался от подобного. А тем временем иерархия в юнити по дефолту максимально удобная и лаконичная вещь.

2
Ответить

не отбирай хлеб у бедных ))))
1. приучить себя и КОМАНДУ ))) даже звучит весело.
2. я на ноуте часто работаю, там просто нет места для двух больших окон Game и Scene, и я очЧчччееень ленивый.
4. Нет, я же там рассказал про один курьезный случай со скрытыми мешами.

Ответить

В Юнити больше всего бесит то, что там тысяча багов, которые никто не правит и никогда не будет править, и тысяча костылей, из-за которых куча вещей работает не как в документации в некоторых случаях. И на все претензии они отвечают типа: "Ну вы знаете, так с самого начала повелось, если это исправить, все старые проекты поломаются, где эти костыли подпёрты другими костылями"

2
Ответить

Мне кажется, что это не совсем так. В любом проекте есть старый код, который очень сложно и дорого убирать. Какие вещи не работают так, как в документации написано например?

Ответить