Как стать лучшим программистом в Unity

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

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

1. Преждевременная оптимизация не всегда является корнем всех зол

Распространенной темой является порицание преждевременной оптимизации как ненужного шага при создании прототипа, однако это не всегда так, особенно при добавлении мелких вещей, которые, как вы точно знаете, оказывают большое влияние на производительность, и когда пришло время займитесь настоящей оптимизацией, время уже было сэкономлено за счет заботы о более мелких вещах. Давайте используем gameObject.name в качестве примера:

using UnityEngine;

public class ObjectNameScript : MonoBehaviour
{
    public string objectName;

    void Update()
    {
        objectName = gameObject.name;
		Debug.Log(objectName);
    }
}

Хотя использование gameObject.name может показаться безобидным, как мы обнаружили в статье «Unity Оптимизируйте свою игру с помощью Profiler», получение имени объекта выделяет довольно много памяти, что усугубляет проблему при его вызове. каждый кадр. Поэтому мы можем сразу перенести это назначение в функцию Start (если только имя объекта не меняется часто, в этом случае было бы более эффективно вообще пропустить использование имени и использовать вместо него переменную).

using UnityEngine;

public class ObjectNameScript : MonoBehaviour
{
    public string objectName;

    void Start()
    {
        objectName = gameObject.name;
    }

    void Update()
    {
        Debug.Log(objectName);
    }
}

2. Напишите более короткий код

Написание более короткого кода всегда экономит время, делая его более читабельным и простым в обслуживании в будущем.

Существует множество способов написания более короткого кода, а в случае Unity — код C#. Например, упростив оператор if/else, используя символ «?»:

int numA = 10;
int numB = 5;
int result;
if (numA > numB) {
    result = numA;
} else {
    result = numB;
}
Debug.Log(result);

Тот же код можно сократить до:

int numA = 10;
int numB = 5;
int result = (numA > numB) ? numA : numB;
Debug.Log(result);

Другой способ сократить код — поместить повторяющийся код в отдельную функцию и затем использовать вместо нее эту функцию.

3. Сначала код, потом задавай вопросы

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

В целом, очень немногие вещи сделают вас лучше в программировании, например, приступив к работе и начав писать код.

4. Тестирование перед внесением каких-либо изменений

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

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

Unity конечно, предоставляет множество полезных инструментов, таких как консоль (для обнаружения предупреждений и ошибок), Profiler для отладки производительности и остальная часть интерфейса (сцена, иерархия, инспектор и т. д.) для мониторинга ход игры/проекта).

5. Оптимизация — это постепенный процесс

Мы все можем согласиться с тем, что производительность игры может решить или разрушить ее, и это один из основных столпов успешного запуска. Но оценить производительность игры можно только проведя плей-тесты в различных сценариях и условиях, чтобы смоделировать игру с точки зрения обычных игроков.

Мы обсудили множество методов отладки, оптимизации и поиска узких мест в вашем игровом коде.

Чтобы узнать больше о том, как оптимизировать игру для настольного компьютера или мобильного устройства, вы можете просмотреть сообщения ниже:

  1. Unity Оптимизируйте свою игру с помощью профайлера
  2. Улучшение производительности мобильной игры в Unity 3D
  3. Unity Советы по оптимизации

Если у вас есть свои советы о том, как стать лучшим программистом в Unity, пишите их в комментариях.

Рекомендуемые статьи
Работа с массивами и списками в коде Unity
Как воспроизводить видеофайлы в Unity
Создание симулятора охоты в Unity
Как добавить эффект снайперского прицела в Unity
Как запустить кат-сцену в Unity
Как создать шейдер
Операторы Unity C#, которые необходимо знать