Что меня больше всего раздражает в 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:

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

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