일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- NRVO
- baekjoon
- directx
- Programmers
- 줄 세우기
- GeeksForGeeks
- 백준
- 프로그래머스
- 2294
- C
- 언리얼엔진5
- winapi
- Unreal Engine5
- RootMotion
- 오블완
- algorithm
- IFileDialog
- UnrealEngine4
- C++
- softeer
- 1563
- 팰린드롬 만들기
- TObjectPtr
- Frustum
- UnrealEngine5
- UE5
- 티스토리챌린지
- const
- DirectX11
- Today
- Total
목록UnrealEngine5 (33)
Game Develop
그냥 FString을 역참조해주면 된다. FString은 내부적으로 TArray 타입을 멤버변수로 가진 상태에서 관리하기 때문이다. F12로 정의찍다보면 역참조연산자(*)가 const TChar* 리턴된다고 코드가 작성되어있다. 메쉬나 애님인스턴스 로드할 때 경로를 매개변수로 넘겨줘서 로드하게 하려다보니까 알게 됐다. 보통 아래같이 문자열리터럴을 TEXT 매크로를 통해 const TChar*로 변환시켜서 넘긴다. 1 2 3 4 5 6 7 8 9 static ConstructorHelpers::FObjectFinder tempMesh(TEXT("에셋경로")); if (tempMesh.Succeeded()) { GetMesh()->SetSkeletalMesh(tempMesh.Object); GetMesh()..

블루프린트파일 같은거 다루다보면 가끔씩 디테일패널같은게 사라져서 안보이는 경우가 있다. 분명 상단의 Window탭을 누르면 Details에 표시가 되어있는데 안보인다. 에디터를 껐다켜도 안되고 블루프린트파일을 삭제했다가 재생성해도 해결되지 않을 경우, 아래와 같이 하면 된다. 아주 간단하다. 마찬가지로 Window탭을 누르고 최하단쪽 보면 'Load Layout'이 있고, 마우스를 갖다대면 'Default Editor Layout'이 있다. 이거 누르면 다시 잘 보인다..

예를들어 캐릭터의 전투여부에 따라 Idle모션이 바뀐다고 가정. 애님인스턴스 c++파일에서는 캐릭터클래스를 TryGetPawnOwner로 받아와서 애님인스턴스클래스자체에서도 bool IsCombat을 계속 업데이트하게 해놨다. 입문자를 위한 책예제에서는 전부 블루프린트에서 하게 해놨는데, 일단 블루프린트와 C++성능 차이가 꽤 있다는 것을 인지하고 있었기 때문에 틱마다 수행하는 이런 간단한 값업데이트정도는 C++로 하는게 맞다고 판단했다. 사실 일단은 규모가 작기 때문에 현재를 기준으로 치면 블루프린트로 처리하든 C++코드로 처리하든 별 의미는 없다. 다만, 어차피 결국 커지기 마련이고 최대한 코드로 처리할 수 있는 부분은 코드로 처리하는게 맞는 것 같다. 실제로 이렇게하니까 아래와 같이 에디터자체에서도..
나같은 경우 플레이어캐릭터의 애니메이션 이벤트그래프는 일단 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개의 옵션이 있다.언리얼문서에 의하면 각 옵션은 다음과 같다. 일단 내 경우에 하나하나 적용을 해보고 실행을 해봤다.사용한 애니메이션 시퀸스파일은 루트모..