점진적 가비지 컬렉팅 (Incremental Garbage Collection) GC가 수행될 때, 모든 메모리를 해제하는 작업으로 인해 프레임이 끊기는 경우가 발생하곤 하는 데, 점직적 가비지 컬렉팅은 여러 프레임에 걸쳐 메모리를 해제하여 GC 스파이크가…
십여 년전에 같이 일했던 동료가 가끔 이야기하던 말이다. 아직까지도 나는 가끔 되뇌이거나, 후배 개발자들에게 이슈가 터질 경우 (꼰대처럼) 말해 주기도 한다. 너무나 당연한 말이지만 그러면서도 너무 와 닿는 문구이기도 하다. 개발하면서…
UEnum을 정의하고, 그 값들을 iteration하여 로그로 찍어보았다. 아래와 같이 EFruit을 정의한다. FindObject를 이용하여, 엔진 내부에 생성된 오브젝트에 접근한다. 그 후 NumEnums() 함수로 enum 개수를 가져오고, GetValueByIndex()를 통해 enum 값을 가져온다. …
2017로 된 프로젝트를 2019.3에서 열었을 때, AssetDatabase Version 2로 에셋들을 리임포트 시킬지 여부를 묻는 것으로 시작한다. AssetDatabase Version 2가 뭔가 했더니, 플랫폼 전환 사이에 일어나는 엄청난 리임포트 시간을 줄이기 위한…
졸업을 1년 앞두고, 여름 방학 인턴을 열심히 찾아 다녔던 기억이 난다. 여름 방학이 길어서 보통 미국에서는 이 기간에 인턴이나 파트타임으로 일을 하며 사회 경험을 쌓거나 돈을 벌거나 한다. 난 컴퓨터…
이 전의 글인 ‘절차적 애니메이션의 정체‘의 후속 글로서, 이해를 돕기 위해 꼭 이 전 글을 읽기 바란다. 권투의 잽(Jab)같은 펀치 애니메이션을 만들어 보았다. 기본 자세가 하나 필요할 것 같아서, 20…
절차적 애니메이션(Procedural Animation)의 정의를 보면, 미리 정해져 있는 애니메이션을 플레이하는 것이 아니라 다양한 상황에 맞게 실시간으로 애니메이션을 생성하는 데 사용하는 기법이라고 보통은 기술되어 있다. 미리 정해져 있지 않다는 의미는 분명…
직장 생활하는 동안 형평성이라는 말을 꽤 많이 들었다. 형평성이라는 말은 은근히 많은 문제를 넘어가게 만든다. 물론 그로 인해 이익을 보는 사람과 피해를 보는 사람이 존재하게 된다. 하지만, 형평성이라는 잣대에 제대로…
언리얼 샘플에 있는 마네킨을 fbx로 익스포트하고, 블랜더에서 그 fbx를 임포트 해보면 이렇게 나온다. 블랜더 초보라서 열심히 구글링을 해봤더니, 대략 알아낸 것은 이렇다. 이건 Maya에서 만들어진 것이라서 블랜더에서는 이렇게 나온다는 것…
Editor window에 버튼이나 레이블등 콘트롤을 추가하다 보면 UI 공간이 부족하게 된다. 이때 탭을 넣어 화면을 전환시킨다면 하나의 윈도우에서 더 많은 UI 공간을 확보할 수 있다. 크롬 브라우저의 탭처럼 말이다. 탭만…