이런식으로 animnotify를 c++로 구현중에 있었다.구르기 중 처리할게 있어서 구현 중이였는데 notify내부에서 performdash 부분이실행이 안되었다.대충 이렇게 playercontroller의 PerformDash함수를 호출하는 notify인데 계속 안되
개요 이런식으로 애니메이션 블루프린트를 짜고 있었다. 다른 데이터 테이블에 이동 속도를 지정해놨는데 애니메이션의 play rate를 해당 속도에 비례하게 짜고싶어서 이런식으로 BaseSpeed값도 설정했다. 문제는 animation instance를 넣어줄때 set

이런식으로 블루프린트에서 c++클래스의 멤버변수로 만든 위젯 애니메이션에 할당해주고 싶었다.하지만 아예 PopupTxtAnim변수 자체가 블루프린트에 안떠서 고민이였다.이런식으로 두키워드를 넣어줘야한다. 나같은 경우엔 이렇게 적어서 안떴었다,,
위와같은 생성자에서 RootComponent를 DefaultSceneRoot으로 설정해둔 후,RootComponent를 런타임에 받아오는 shape component를 충돌체로 한 CollisionComponent로 변경해봤다.문제점은 MovementComponent가
AI가 possess한 AIController의 값들을 런타임에 수정하다가 아예 통째로 바꾸기가 되나 궁금해서 알아봤다.enemyData 데이터 에셋의 AIControllerClass로 중간에 변경해봤다.현재 Controller을 GetController에서 받아와 U
아웃라이너에 spawn point로 target point 액터들을 만들어 놓고 ,c++코드상에서 한번에 target point 들을 불러오고 싶었다.찾아보니 TActorIterator 형의 iterator을 써서 탐색이 가능했다. 이런식으로 원하는 객체 타입을 typ
skeletal mesh component를 이렇게 TObjectPtr로 선언해서 관리중이였다. 이 SkeletalMeshComponent를 노출시켜야 해서 대충 이렇게 짰더니 null값을 불러왔다.당연히 TObjectPtr은 스마트 포인터이므로 .Get()을 통해 가
행동트리 task를 c++코드로 작성하고 있었다. 보스의 돌진을 구현해야하는데 보스를 pawn클래스로 만들어서 launch character는 사용을 못해서 그냥 setactorlocation을 이용해서 구현을 했다.보스의 캡슐 컴퍼넌트에 콜리젼채널을 설정해서 보스 캡

move to 노드를 사용해서 블랙보드에 세팅된 key값인 player에게 다가가는 부분을 move to노드를 이용해 처리하고 있었다.문제는 move to 노드로 제어권이 가서 움직이기 시작하면 다른 노드로 가지않고 계속 move to함수가 실행이 되었다.내 생각대로라
언리얼엔진을 에픽게임즈에서 다운받지않고 깃허브를 통해 통째로 받아 사용하니 에픽게임즈 런처에서 엔진과 프로젝트 위치를 인식을 못하는 상황이다.세팅해줄 경로를 찾아보니 C드라이브-> 사용자 -> 사용자명 폴더->AppData(숨김 폴더)->Local ->\->EpicGa
현재 async loading을 FLoadingScreenAttributes와 UGameplayStatics::OpenLevelBySoftObjectPtr(this , Level);을 이용해 구현 중이다. 로딩스크린에 해당하는 위젯 블루프린트를 construction

이런식으로 간단한 속성들을 enum타입으로 관리하려고 했다. 데이터 테이블에서 해당 enum값들을 사용하기 때문에 언리얼 매크로인 UENUM() 을 붙여서 컴파일 해봤는 데, 계속 에러가 떴다.에러내용은 enum, class, struct, delegate가 아닌데 U
개요 에셋들이 언리얼은 기본적으로 다 큰것 같다. 평균 500메가 부터 큰 규모의 에셋은 1기가 2기가 한다. 이것들을 다 깃헙에 올리다가 너무 커져서 대응방안을 모색했다. 해결 다양한 방안이 있겠지만 이번엔 에셋들을 전부 gitignore을 통해 깃헙 업로드를 무시

\[Unreal] 텍스처 스트리밍 풀 오버 해결법 (사이즈 늘리기, 텍스처 최적화)Texture streaming pool over budget 경고가 레벨 창에 계속 떠서 위 블로그글을 참조하여 해결했다.cmd 창에 stat streaming이라고 치면 이런식으로 정
움직임을 SetActorLocation으로 제어했을 때 충돌처리에 관해 정리한 글이다.tick함수에서 setactorlocation과 deltatime을 통해 액터의 움직임을 제어할 때 충돌처리가 안 되서 정리해봤다.만약 collision profile에서 block처
이 시점의 카메라와 이시점의 카메라를 변경하면서 구현하려고 했다.찾아보니 playercontroller에 이런 좋은 함수가 존재하였다. 다양한 인자가 존재하지만 원하는 기능인 단순한 카메라 변경은 앞의 두 가지 인자로도 가능했다.첫번째 인자로 원하는 카메라 액터를 넣어
다양한 Get Location함수들을 정리해보려고한다.Return location of the component, in world space컴퍼넌트의 location을 world 좌표계로 반환한다.Gets the literal value of RelativeLocati
디버깅시 로그를 통해 어떤 함수에서 호출하는지 알아보려고 검색했다.\_\_FUNCTION\_\_키워드를 이용해서 함수이름을 받아오고,ANSI_TO_TCHAR 매크로를 사용해서 TCHAR형으로 변환한다.TEXT에는 %s 포맷을 사용해 호출하면 된다.