일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Effective c++
- 영화
- 메타테이블
- 반복자
- 언리얼
- 예외
- c++
- 다형성
- operator new
- 게임
- 비교 함수 객체
- reference
- 루아
- virtual function
- 스마트 포인터
- resource management class
- 오블완
- effective stl
- Smart Pointer
- lua
- 영화 리뷰
- more effective c++
- 암시적 변환
- 상속
- 참조자
- 함수 객체
- 티스토리챌린지
- UE4
- exception
- implicit conversion
- Today
- Total
목록UE4 (33)
스토리텔링 개발자
개요 애니메이션 노티파이는 애니메이션과 함께 여러 동작들을 처리하고 싶을 때 사용하는 기능입니다. 아래에서 좀 더 깊게 알아보겠습니다. 애니메이션 노티파이란 애니메이션 시퀀스 특정 지점에서 이벤트를 발생시키는 기능입니다. 일반적으로 연출(이펙트(발자국 소리 등)나 파티클(흙먼지 등)을 스폰)에 사용합니다. 노티파이는 애니메이션 시퀀스의 노티파이 트랙 오른쪽 마우스를 눌러 추가할 수 있습니다. 기본적으로 엔진에서 범용적으로 사용 가능한 노티파이를 여럿 준비해 두었습니다. 또한 커스텀 노티파이를 생성하여 자신이 원하는 기능을 구현할 수도 있습니다. 애니메이션 노티파이 스테이트란 애니메이션 노티파이의 종류는 두 가지입니다. 애니메이션 노티파이 애니메이션 노티파이 스테이트 애니메이션 노티파이가 특정 시점(점)을..
개요 블루프린트에서는 로직을 한 덩어리로 묶을 수 있도록 하는 두 가지 방법을 제공합니다. 네, 매크로와 함수 입니다. 이 둘의 차이점은 어떻게 될까요? 매크로 vs 함수 이 매크로라는 단어에서는 친숙함에 물씬 느껴집니다. 네. C++에서 수없이 언급되는 개념이죠. 그저 아무 이유 없이 이름이 같을 리는 없을테고, 역시나 이 둘은 같은 개념입니다. 즉, BP의 매크로와 함수 는 C++의 매크로와 함수 대응 관계와 흡사합니다. 먼저 C++의 매크로와 함수를 비교해 보도록 합시다. C++ 함수 코드를 사용 단위로 구분하자면, 함수는 코드 뭉치의 최소 단위라고 할 수 있습니다. C++ 매크로 C++의 매크로는 컴파일 시 특정 코드(들)로 치환해줍니다. 코드 뭉치에 별명을 붙인다고 볼 수 있습니다. 단지 치환해..
개요 모프 타겟에 대해 알아보겠습니다. 모프 타겟 변형된 메시의 버텍스 위치들의 정보들 묶음을 뜻합니다. 주로 캐릭터의 표정을 표현하는 용도로 사용합니다. 정확히는 모프 타겟이란 3D Max에서 제공하는 기능의 이름입니다.(마야에서는 Blend Shape) 애니메이션 시퀀스 내에 fbx 파일의 모프 타겟을 임포트할 수 있으며, 가져온 모프 타겟을 블랜딩해서 자연스러운 표정을 연출할 수 있습니다. 임포트 fbx 파일로부터 모프 타겟을 임포트할 때는 다음 항목을 체크해 줍니다. 모프 타겟을 포함한 임포트 스켈레탈 메시의 이름은 기본적으로 루트 본의 이름으로 설정됩니다. 메시의 모프 타겟 프리뷰어를 통해 모프 타겟 값 설정 시 효과를 미리 확인해 볼 수 있습니다.
개요 언리얼 엔진에선 여러 에셋들로 사운드를 조합할 수 있습니다. 각 사운드 에셋에 대해 정리해 보았습니다. 사운드 에셋 종류 사운드 큐(Sound Cue) 사운드 큐는 사운드에서 가장 기본적인 에셋입니다. 사운드 웨이브(Sound Wave : 사운드 큐 에디터에 임포트된 오디오 파일)들을 다양한 노드를 통해 조작한 결과물 입니다. 실 사운드라고 봐도 무방합니다. 사운드 어테뉴에이션(Sound Attenuation) 감쇠(attenuation)를 담당하는 에셋입니다. 플레이어와의 거리에 따라 볼륨을 조절하는 프로퍼티 값들을 포함하고 있습니다. 반향 이펙트(Reverb Effect) 리버브 효과를 담당하는 에셋입니다. 리버브란 다른 부분에서 반사되어 울리는 소리를 뜻합니다. 예컨대 동굴에서 울리는 등의 효..
개요 DynamicRHI 헤더에는 해상도 등 화면에 대한 정보를 알아오는 인터페이스들이 모여 있습니다. 플랫폼 별 타겟 RHI를 프로젝트 설정 내부에서 설정할 수 있습니다. 여기서 RHI는 어떤 의미일까요. RHI란 플랫폼 별로 그래픽 API가 다를 수 있습니다. (윈도우에서는 DirectX, 모바일에서는 OpenGL) 그리고 각 API 별로 기능과 사용 방법(인터페이스)이 다릅니다. 하나의 사용법으로 각 API를 모두 통제하려면 그 API 모두를 아우르는 상위 인터페이스가 필요합니다. 그걸 뜻하는 것이 바로 RHI입니다. RHI는 그래픽 API들을 래핑한 공용 C++ 인터페이스입니다. 피쳐 레벨 플랫폼 별 그래픽 API는 성능 등의 이유로 지원하는 수준이 다를 수 있습니다. 그래서 RHI는 그 수준에 ..
개요파생 데이터 캐시란 무엇일까요? 에디터에서 새로운 레벨을 열고 실행할 때마다 '파생 데이터 캐시를 생성한다'는 메시지가 뜨곤 하는 게 퍼뜩 생각나는데요.그렇다면 에셋을 사용하기 위해 쌓이는 일종의 캐시를 의미하는 것일까요? 파생 데이터와 파생 데이터 캐시(DDC)파생 데이터(Derived Data)는 에셋을 사용하기 위해 생성되는 부가적인 데이터들입니다. 사실, 언리얼 에셋 사용을 위해선 이 파생 데이터가 반드시 필요합니다.쉐이더의 경우를 예로 들어보겠습니다. 쉐이더의 경우 렌더링하려면 쉐이더 컴파일이 필요합니다.그 컴파일 과정 후에 나온 데이터들이 있을 텐데요.그게 바로 파생 데이터입니다. 파생 데이터는 그 크기가 큰데다가, 에셋 변화가 있을 시 언제든 새로 재생성될 수 있습니다.그래서 체크인 ..
개요 패키징 과정 중 쿠킹에 대해 알아보도록 하겠습니다. 쿠킹이란 에셋들은 엔진에서 사용하기 용이한 포멧으로 저장됩니다. 하지만 그 포멧이 실제 런타임 플랫폼에는 안 맞거나 지원을 하지 않을 수 있습니다. 즉, 플랫폼에서 지원하는 포멧으로 변환할 필요가 있으며, 그 과정을 쿠킹이라 합니다. 요약하면 쿠킹이랑 기존 형식을 각 플랫폼에 어울리는 형식으로 변환하는 과정을 말합니다. 쿠킹 과정 리소스를 엔진에 Import하면 uasset 확장자 파일로 변환됩니다. uasset은 내부에 실 데이터를 보관하고 있습니다. 즉 uasset은 실제 데이터를 패킹한 형태입니다. 쿠킹을 시작하면 엔진은 uasset의 내용물을 분석하여 플랫폼에 최적화된 데이터로 변환합니다. 쿠킹 경로 /Saved/Cooked/ 폴더 내에 저..
개요 간혹 언리얼을 새로 셋팅하고 난 후 디버깅이 다소 곤란해지는 경우가 있습니다. 브레이크 포인트를 통해서 FString의 값을 확인하지 못하는 현상인데요. 이를 해결하기 위해서 어떻게 해야 하는지에 대해 정리해 보겠습니다. 비주얼라이저 Visual Studio에는 비주얼라이저가 지원됩니다 디버거를 확장시켜 FName 및 동적 배열과 같은 일반적인 언리얼 타입들을 디버깅할 수 있게 해주는 기능입니다. 이를 Visual Studio에서 활용하기 위해선 설치가 필요합니다. 그 방법은 아래와 같습니다. /Engine/Extras/VisualStudio/Debugging/UE4.natvis의 파일을 복사합니다. 아래의 경로들 중 하나에 붙여넣기 합니다. [VisualStudioInstallPath]/Commo..