Unity 2

Unity : tag 확인 시 == 가 아니라 CompareTag 를 사용하라

유니티 게임 오브젝트의 tag를 체크하여, tag에 따라 다른 동작을 해주려고 할 때 tag를 체크하는 코드를 다음과 같이 작성했더니 경고 메세지가 떴다. // 1. equality operator 로 비교 if (gameObject.tag == "MyTag") { // do something... } 경고 메세지는 다음과 같았다. info UNT0002: Comparing tags using == is inefficient. equality operator 로 비교하는 것은 비효율적이라고 한다. 대안이 있을 것 같아서 조금 찾아보니, 다음과 같이 CompareTag() 로 비교하는 것이 조금 더 효율적이라고 한다. // 2. CompareTag 메소드로 비교 if (gameObject.CompareTa..

Unity 2020.12.14

Unity : 상속받은 User-defined 클래스에 중단점이 안걸릴 때

내가 만든 클래스(AttackState)에 중단점을 걸어보았더니, 다음과 같은 노티 메세지를 띄우며 중단점이 비활성화 되었다. 메세지 : 중단점이 현재 적중되지 않습니다. 해당 위치를 찾을 수 없음. 왜 이런 현상이 발생할까? 혹시 UDT 라면 모두 발생하는 이슈인가 싶어서, 부모 클래스인 State 클래스의 메소드에도 중단점을 걸어보았다. 그랬더니, State 클래스에는 중단점이 잘 걸리는 걸 확인할 수 있었다. 즉, 다음과 같은 상황이었다. 유니티는 아예 "상속받지 않은 클래스" 에 대해서는 중단점이 정상 동작하지만, UnrealEngine.Object 가 아닌 UDT 를 상속받은 자식 클래스에 대해서는 중단점을 지원하지 않는 것으로 보인다. 해결법은, 최상위 클래스인 State 가 UnrealEng..

Unity 2020.12.14