
오늘은 애니메이션 몽타주를 C++로 랜덤하게 플레이 하는 방법을 알아보자. 애니메이션 몽타주 생성애니메이션 몽타주를 생성하고 몽타주 섹션의 이름을 순서대로 작성해주자. C++ 코드 작성 해당 애니메이션 몽타주의 섹션 개수를 가져오기 위해 CompositeSections.Num()을 사용해야한다.-- EnemyCharacter.cpp --void AEnemyCharacter::PlayAnimation(UAnimMontage* AnimMontage){ if(UAnimInstance* AnimInstance = GetMesh()->GetAnimInstance()) { int32 JumpSection = FMath::RandRange(1, AnimMontage->CompositeSections.Num()); ..

코드를 작성 후 컴파일을 해보면 가끔 이런 오류가 뜰 때가 있다. 내 경험상으론 99.99%의 확률로 모듈을 추가하지 않아서 나는 에러였다. 이번 경우엔 AIController를 사용하려고 헤더파일은 추가하였으나 모듈은 추가하지 않았을 경우. 언리얼 엔진 공식 레퍼런스에서 확인할 수 있는 모듈과 헤더파일명을 확보한 후 프로젝트명.Build.cs파일로 들어간다. 모듈을 추가하는 부분에 검색한 모듈의 이름을 작성하고 다시 빌드하면 오류는 사라진다. 라이언 커엽네

퀵셀 브릿지에서 3D 에셋을 다운받아 액터를 만드는데 플레이어를 그냥 통과하는 현상을 발견했다. 콜리전 프리셋도 제대로 설정했음에도 계속 이런 현상이 발생해서 시간을 좀 날렸다... 모두 블록하는 것으로 설정하였지만, 월드의 액터들과 충돌 판정이 일어나지 않았다. 피직스 시뮬레이트를 활성화하려고 해도 불가능하게 막힌 모습을 볼 수 있다 ㅜㅜ 문제의 원인은 스태틱 메시 혹은 스켈레탈 메시로 설정한 에셋 자체의 콜리전이 존재하지 않기 때문이다. 스태틱 메시일 경우 스태틱 메시일 경우 해당 스태틱 메시 에셋으로 들어가 콜리전 드롭다운 메뉴 -> 콜리전을 추가해주면 된다. 복잡해질수록 연산이 많이 필요하니 본인 프로젝트 상황에 맞게 선택하면 될 것 같다. 스켈레탈 메시일 경우 스켈레탈 메시는 피직스 에셋에 들어..

C++에서 UTexture2D 형태로 선언하면 저렇게 이미지를 선택할 수 있는 드롭다운 메뉴가 나온다. 저 이미지를 HUD에 띄우려면 UImage 형태로 사용해야 하는 것 같은데..... (내가 알기로는 그럼..) UImage -> UTexture2D는 있었지만 그 반대의 경우는 못찾아서 조금 헤맸다. 방법은 UTexture2D* WeaponBackgroundImage; // 블루프린트에서 설정해준 이미지 (Texture2D) UImage* HUDBackGroundImage;// HUD에 띄워주고 싶은 이미지 (UImage) --- WeaponHUD.cpp --- FSlateBrush Brush; Brush.SetResourceObject(WeaponBackgroundImage); HUDBackGroun..

우선 소스와 타겟간 스켈레톤을 올바르게 매핑시켜 체인을 만드는 IK Retargeting을 진행하지 않았다면 해당 링크를 참고하여 IK Retargeting을 진행하도록 하자. https://ncommit-perday.tistory.com/46 [UE5/언리얼 엔진5] 서로 다른 에셋 간 애니메이션 호환 시키기 / IK Rig Retargeting / 애니메이션 리타 개발을 하다보면 모델링, 디자인 파트에서 막히는 부분이 많을 것 같다. 다양한 애니메이션들은 많지만 단순히 에셋을 적용시키는 방법으로는 한계가 있는데, 다른 애니메이션을 나의 캐릭터 ncommit-perday.tistory.com 제목을 어떻게 작성해야 할지 모르겠는데, 이해를 돕기 위해 움짤을 첨부하자면 왼쪽처럼 몸 전체가 뛰는게 아니라 ..

에셋을 여러개 임포트하면 내가 사용해야하는 옵션을 일일히 바꿔주어야 할 일이 생긴다. 에셋 하나를 열고, 디테일 패널에서 바꿔주는게 일반적인 방법인데 동일한 종류의 에셋이면 한 번에 바꿔주는게 가능하다 여기서 각 에셋마다 압축 세팅을 UserInterface2D(RGBA)로 바꿔주고 싶다면 일일히 들어가서 바꾸는것이 아니라 바꾸고 싶은 에셋들을 모두 하이라이트하고 우클릭을 누른 후 에셋 액션 -> 프로퍼티 매트릭스를 통한 대량편집을 들어가주면 모든 에셋들을 한꺼번에 편집할 수 있는 창이 나온다. 우측 디테일 패널에서 변경하고 싶은 에셋을 특정 값으로 변경해주면 된다!

캐릭터의 움직임을 구현하다보면 방향은 그대로 있고 위치만 움직이는 경우가 있다. 위 움짤을 보면 적들이 정면을 바라보고 문워크를 하는 것을 볼 수 있다. 해결하는 방법은 좌측 컴포넌트 창에서 루트 컴포넌트 혹은 캐릭터 무브먼트 선택 후 우측 디테일 패널에서 Orient Rotation to movement를 검색 후 체크 해주고 Controller 검색 후 Use Controller Rotation Yaw를 체크 해제해주면 된다. 자연스럽게 움직이는 모습 추가) C++ 코드에서 설정하기