언리얼 오브젝트는 언리얼 헤더 툴이 파싱하고 분석하여 부가적인 메타 정보를 담은 소스 코드를 프로젝트의 intermediate 폴더에 생성을 해준다. 이 메타 정보는 언리얼 엔진의 UCLASS 라는 특별한 클래스를 통해 보관되어 진다.( 각 UCLASS 는 Class Default Object (이후 CDO) 라 불리는 오브젝트를 하나 유지) UCLASS 에는 언리얼 오브젝트에 대한 클래스 계층 구조, 멤버변수, 함수에 대한 정보를 가지고 있다. 런타임에서 특정 클래스를 검색해 타입을 알아내 인스턴스의 멤버 변수 값을 변경하거나 멤버 함수를 호출하는 것이 가능하다.(리플렉션) 컴파일 단계에서 언리얼 오브젝트마다 UCLASS가 생성되며 실행초기 런타임 과정에서 언리얼 오브젝트 마다 클래스 정보와 함께 언리..
루트모션은 "캐릭터의 역동적인 좌표이동을 에니메이터가 직접 제어 하기 위해 고안되었고. 기본 원리는 캐릭터의 최상위 루트 노드의 위치변화 량을 캐릭터의 월드 좌표에 곧바로 반영한다" 라고 언리얼 (UDK)에서는 설명하고 있다. 그러면 루트모션은 어떤 상황에 사용하면 좋을까, 보통 캐릭터를 움직일때 입력값(방향, 속도) 을 받아서 그 시점에 걷기(혹은 뛰기) 애니메이션을 재생 시켜서 이동 연출을 하게 된다. 하지만 불규칙 적인 애니메이션인 경우 문제가 되는데, 예를 들어 좀비 같은경우 이동시 한쪽발을 끈다던지, 절뚝 거린다든지 여러 패턴으로 이동하면 애니메이션 연출에 맞게 이동 시키기가 애매하기( 애니메이션의 커브값을 넣어서 클라이언트에서 이동시 속도 변화를 줄 수도 있긴하다) 때문에 이런경우 입력받은 속..