본문 바로가기

기타/패스트캠퍼스 Unity

유니티 입문 패스트캠퍼스 챌린지 08일차

UnityEngine.Debug

- 오류를 미리 감지하기위해 Assert 메소드 제공

- 씬 뷰에서 시각적인 디버깅을 위해 선을 그릴 수 있음 (실제 게임에서는 보이지않는 선)

- 각종 로깅 메소드 제공

 

Log, LogError, LogWarning을 가장 자주 씀

 

EmptyObject를 만들고 C# 스크립트를 추가하고 로깅 코드를 작성

 

void Start()
{
    Debug.Log("Start");

}

콘솔창에서 로그를 확인

그 후 유니티 콘솔창에서 Start로그를 확인 할 수 있다.

 

Update에 로그를 남기면 매 프레임마다 로그가 발생해서 콘솔창을 가득 채워버리는데 동일한 로그가 여러번 쌓이는경우 Collapse 버튼을 눌러서 하나로 묶어서 확인이 가능하다.

 

무수히 많은 Update 로그
Collapse를 눌러서 묶어서 몇번 발생했는지 확인이 가능
Debug에 정의된 메소드 목록

 

변수

- 변수 명에 따라 인스펙터 뷰에 이름이 붙어있다

- Public보다 [SerializeField]를 사용해서 인스펙터에 노출하는걸 권장 (필요할때만 public)

- Start나 Awake에서 초기화를 권장 (변수에따라 선언하자마자 초기화가 안되어있다)

 

Awake에서 초기화가 불가능해서 Start에서 해야하거나, SerializeField를 붙여서 런타임 이전에 초기화 해야하는경우도 있다.

 

3개의 변수를 만들어서 인스펙터에 어떻게 표기되나 확인 해 보자.

 

[SerializeField]
int myValue;

[SerializeField]
int MyValue2;

[SerializeField]
int m_myValue3;

 

 변수명의 시작이 소문자나 대문자나 동일하게 인스펙터에서는 대문자로 보이게된다, 그리고 앞에 m_ 와 같은 방식으로 언더바를 붙여서 네이밍을 한 부분은 자동으로 무시되어있다.

 

변수명 앞에 언더바를 붙여서 자료형을 표기하는 행위는 무시된다 (헝가리안 표기법)

-> 최근에 이런식으로 이름을 짓는건 권장되지않는다

 

변수명 중간에 대문자를 넣는경우 띄어쓰기를 붙여서 보여준다 (카멜표기법)

-> 대부분 프로그래머는 카멜표기법을 사용하여 띄어쓰기대신 대문자를 섞어서 쓴다.

 

소스코드에서 값을 초기화해도 인스팩터에서 값을 변경했다면 코드의 초기값은 무시된다.

 

https://fastcampus.co.kr/dev_online_game

 

C#과 유니티로 배우는 게임 개발 올인원 패키지 Online. | 패스트캠퍼스

현직 게임업계 게임 개발자 직강 C# 프로그래밍부터 게임 물리와 수학까지 모두 정복!

fastcampus.co.kr

https://bit.ly/3FVdhDa

 

수강료 100% 환급 챌린지 | 패스트캠퍼스

딱 5일간 진행되는 환급챌린지로 수강료 100% 환급받으세요! 더 늦기전에 자기계발 막차 탑승!

fastcampus.co.kr

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.