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. 최적화는 점진적인 과정입니다.
게임 성능이 성패를 좌우할 수 있으며 성공적인 출시의 기본 기둥 중 하나라는 점에는 우리 모두 동의할 수 있습니다. 그러나 게임 성능은 일반 플레이어의 관점에서 게임을 시뮬레이션하기 위해 다양한 시나리오와 조건에서 플레이 테스트를 수행해야만 평가할 수 있습니다.
우리는 게임 코드의 병목 현상을 디버그, 최적화 및 찾는 방법에 대해 다양한 방법을 논의했습니다.
데스크톱 또는 모바일 게임을 최적화하는 방법에 대해 자세히 알아보려면 아래 게시물을 확인하세요.
Unity에서 더 나은 프로그래머가 되는 방법에 대한 자신만의 팁이 있다면 댓글에 자유롭게 게시해 주세요.