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, 모니터링을 위한 나머지 인터페이스(Scene, Hierarchy, Inspector 등)와 같은 유용한 도구를 많이 제공합니다. 게임/프로젝트의 흐름).

5. 최적화는 점진적인 과정입니다.

게임 성능이 성패를 좌우할 수 있으며 성공적인 출시의 기본 기둥 중 하나라는 점에는 우리 모두 동의할 수 있습니다. 그러나 게임 성능은 일반 플레이어의 관점에서 게임을 시뮬레이션하기 위해 다양한 시나리오와 조건에서 플레이 테스트를 수행해야만 평가할 수 있습니다.

우리는 게임 코드의 병목 현상을 디버그, 최적화 및 찾는 방법에 대해 다양한 방법을 논의했습니다.

데스크톱 또는 모바일 게임을 최적화하는 방법에 대해 자세히 알아보려면 아래 게시물을 확인하세요.

  1. Unity 프로파일러를 사용하여 게임 최적화
  2. 모바일 게임 성능 향상 Unity 3D
  3. Unity 최적화 팁

Unity에서 더 나은 프로그래머가 되는 방법에 대한 자신만의 팁이 있다면 댓글에 자유롭게 게시해 주세요.