일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- RVO
- winapi
- 가장 큰 정사각형
- 1563
- RootMotion
- baekjoon
- C++
- softeer
- directx
- C
- UE5
- 절두체 크기
- NRVO
- GeeksForGeeks
- UnrealEngine4
- 2294
- IFileDialog
- algorithm
- DirectX11
- 절두체
- 줄 세우기
- Programmers
- DeferredRendering
- UnrealEngine5
- 팰린드롬 만들기
- Frustum
- 백준
- const
- 언리얼엔진5
- 프로그래머스
- Today
- Total
목록UnrealEngine5 (22)
Game Develop
나같은 경우 플레이어캐릭터의 애니메이션 이벤트그래프는 일단 c++코드로 작성하고 애님그래프쪽만 블루프린트로 처리 해보려 한다. 일단은 이벤트그래프쪽은 c++코드로 처리하려고는 하는데 언제 어떻게 비중이 바뀔지는 아직 모르긴한다.. 어쨌든 AnimInstance 클래스에 아래와 같이 플레이어캐릭터 포인터 변수를 선언해주었다. class AMainPlayer* m_MainPlayer; 하지만 그냥 C++로만 하듯이 이렇게 선언해서 사용하면 안된다. 언리얼엔진에는 가비지컬렉터가 존재한다는것을 반드시 인지하고 있어야 한다. 언리얼 엔진의 가비지컬렉터에 관한 내용은 매우 방대하기 때문에 전부를 다루는것은 어렵고, 개발하면서 부딪치는 문제를 해결할 때마다 관련 경험에 대한 글을 반드시 작성하는게 좋을 것 같다. (..
목적에 맞게 파일이나 폴더를 정리하려 할 때, 임의로 윈도우 탐색기에서 막 위치를 조정하면 안된다. 아마 조정 후, 프로젝트 오픈하는 중에도 바로 에러메시지가 발생할 것이고 플레이도 안될 것이다. 반드시 에디터 내에서 파일이나 폴더의 이동,복사를 수행하는게 좋다. https://www.youtube.com/watch?v=f2o9aGC96lk 만약 언리얼엔진을 시작하려한다면 반드시 이 영상이라던가 관련 내용에대해 충분히 숙지하는 걸 추천한다. 에디터내에서 파일의 조작이 수행되어야 에디터가 변경된 경로를 인식할 수 있다. 이런 에셋들뿐만아니라 cpp파일 같은 경우도 삭제라던가 경로가 변경되면 다시 Generate해줘야 하니 반드시 관련 내용에 대해 숙지하자. 미리미리 알면 그래도 운 좋은 편이다..
C++코드 이것저것 시험하다가 한번 에디터 껐다 켰는데, 프로젝트를 여는 도중에 75%에서 더이상 진행이 안되는 현상이 발생했었다. 작업관리자에서 확인해보니 아예 CPU할당이 0%이길래 바로 관련해서 구글링을 하며 관련 해결글을 찾아봤다. 이것저것 찾아본 결과, 일단 내가 생성한 블루프린트파일을 하나씩 삭제하면서 에디터를 켜보기로 했다. 결과적으로 플레이어캐릭터에 관한 CPP파일을 상속받는 블루프린트파일을 삭제하고 프로젝트를 열었더니 다행히 잘 열리긴 했다. 그러나 기존처럼 똑같이 셋팅하고 언리얼에디터를 껐다키면 마찬가지로 75%에서 멈췄다. 약간 여기서 C++코드에 문제가 있지 않나...라는 생각이 들었다. 아래는 메인플레이어캐릭터의 생성자 코드이다. 1 2 3 4 5 6 7 8 9 10 11 12 1..
https://lifeisforu.tistory.com/332 [ UT 분석 ] 5.4. 이동 모드와 속성들 개요 [ 5.3. 플레이어 입력 ] 에서 어떤 플레이어 입력이 있는지 살펴 보았습니다. 이 섹션에서는 이동과 관련한 로직 및 애니메이션에 대해서 살펴 보도록 하겠습니다. 이동( locomotion, 보행, 운동 lifeisforu.tistory.com 각 옵션들을 자세히 설명해주셨다. 이런 글들이 얼마나 소중한지 개발 하다보면 알 수 있다..
사실 기본적인 설정관련한 내용이긴한데, 나같은 초보자한테는 도움이 될 거라 생각한다. 애니메이션 시퀸스파일의 뷰포트에는 분명히 정상적으로 루트모션이 잘 재생되는데, 실제 게임에서는 루트모션이 적용이 안되어 있을 경우가 발생할 수도 있다. 그럴 경우 먼저 메인캐릭터와 연결된 애니메이션 블루프린트파일을 연다. 이후 상단의 메뉴들 중에서 Class Defaults를 클릭하면 우측상단에 Details 패널이 표시될 것이다. Details 패널에 보면 Root Motion이라는 패널이 있다. 위 캡처본에 표시되어있는 Ignore Root Motion을 포함해서 총 4개의 옵션이 있다. 언리얼문서에 의하면 각 옵션은 다음과 같다. 일단 내 경우에 하나하나 적용을 해보고 실행을 해봤다. 사용한 애니메이션 시퀸스파일은..
본인이 직접 작성한 코드에 대한 포인터는 UPROPERTY 매크로를 붙여서 관리하게 하자. -> 잘못하면 런타임때 죽어버릴 수 있다. 월드상에 배치되는 액터라면 IsValid()함수로 유효성 체크를 한다. 언리얼오브젝트는 Destroy를 호출한다고 바로 삭제되는게 아니라, 일단 Pending Kill 상태로 마크만 표시한 후, 다음 가비지컬렉터가 작동할 때 되서야 실제로 삭제된다. 네이티브 c++ 개발할 때처럼 nullptr로만 체크를 하는것을 권장하지 않는다. UPROPERTY가 런타임때 죽는다면, 가비지컬렉터가 UObject에서 상속되는 클래스를 지워서 그렇다. 스마트포인터로 관리하거나, AddReference로 GC에 참조카운트를 올려서 관리받게 유도한다. Actor클래스의 경우 SpawnActor..