본문 바로가기

게임프로그래밍/실습1

(81)
[언리얼 실습] 11. 공격 애니메이션 추가하기 목차1. 애니메이션 리타겟2. 소켓 위치 수정1. 애니메이션 리타겟  다음과 같은 순서로 애니메이션을 가져왔다. 이제 이걸 리타겟하자.  새로 추가한 애니메이션 전부를 리타겟 하면 된다.2. 소켓 위치 수정 이제 다시 애니메이션에 맞게 소켓의 위치를 수정해보자  리타겟한 애니메이션에 들어간다. 이제 여기서 다시 소켓의 위치를 조절해보자.  스켈레톤 트리에서 소켓을 찾고 위치를 수정하면 된다.   한 애니메이션에서 위치를 수정하면 다른 애니메이션에서도 제대로 나오는 지 확인해주어야 한다. 아주 잘 된 것 같다. 이제 공격 애니메이션도 준비됐으니 무기를 캐릭터에 붙이도록 해보자
[언리얼 실습] 10. 캐릭터에 Socket 추가하기 목차캐릭터에 소켓 추가하기1. 캐릭터에 소켓 추가하기 캐릭터에 새로운 소켓을 추가하여 이곳에 무기를 부착하려고 한다. 에디터를 켜보자. 우리가 쓰고 있는 캐릭터의 스켈레톤 매시를 찾아 들어간다.  무기는 손에 추가할 예정이니 왼쪽 스켈레톤 트리에서 Hand를 검색하여 hand_r 본을 찾는다.참고로 언리얼 5.4 에디터 기준으로 트리가 오른쪽에 있지만 한쪽에만 있으니 보기가 힘들어 왼쪽으로 옮겼다. (강의에서도 왼쪽에 있기도 하고)  우클릭을 하면 소켓을 추가할 수 있다.소켓을 추가하고 이름을 RightHandSocket로 바꾸었다. 이 이름은 추후 C++에서 무기를 소켓에 추가할때 쓰는 이름이니 알아보기 쉽게 잘 정해야한다. 무기를 부착하기전 무기가 제대로 부착되는지 확인하기 위해 미리보기를 할 것이다..
[언리얼 실습] 9. 무기 클래스 추가하기 - Quixel Bridge 이용 이번에는 캐릭터에 장착시킬 무기를 만들고 캐릭터에 장착시켜보려고 한다.목차Quixel Bridge에서 무기 에셋 가져오기무기 클래스 만들기무기 블루프린트 클래스 만들기1. Quixel Bridge 무기 에셋 가져오기 퀵셀 브릿지에서 무기에셋을 가져와보려고 한다. 퀵셀 브릿지는 기본적으로 언리얼엔진 라이브러리에 존재하고 이를 엔진에 설치하기만 하면 된다.  이렇게 라이브러리로 들어가면 퀵셀브릿지가 존재한다. 이제 에디터로 돌아가자.  에디터 상단의 Quickly add to the project 버튼을 누르면 퀵셀 브릿지를 열 수 있다.  퀵셀 브릿지를 이용하려면 회원가입을 해야한다. 회원가입은 무료이니 우 상단의 사람 아이콘을 누르고 회원가입을 진행하자  내 기억상으로는 회원가입을 하고 무슨 월정액 결제..
[언리얼 실습] 8. End Overlap 이벤트 생성 이제 이전에 만든 구체에서 나가면 이벤트가 발생하게 해볼 예정이다.목차C++에서 EndOverlap이벤트 생성1. C++에서 EndOverlap 이벤트 생성 비주얼 스튜디오로 돌아가 엔드 오버랩 이벤트를 만들어보자. 헤더파일에 바인딩할 함수를 만든다.void OnSphereEndOverlap(); 여기에 들어갈 매개변수는 무엇일까? 다시한번 Primitive Component.h 파일로 돌아가 찾아보자  파람이 4개가 필요하다는 것을 알 수 있다. 뒤에서 부터 4개를 복사해 가져오면 된다. UFUNCTION()void OnSphereEndOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* Oth..
[언리얼 실습] 7. Overlab Event 생성 목차서론아이템 클래스 만들기C++ 클래스를 기반으로 블루프린트 클래스 만들기1. 서론 이제 캐릭터의 이동에 관한 부분은 끝났으니 공격과 관련된 부분을 해야할 차례이다. 하지만 그전에 무기(아이템) 클래스를 만들어 캐릭터에 장착하는 부분을 해보려고 한다. 캐릭터가 아이템 근처에 가면 무기를 집을 수 있게 할 것인데 그러기 위해서 우선 캐릭터가 아이템에 오면 반응을 할 수 있게 오버랩 이벤트를 만들어 보려고 한다.2. 아이템 클래스 만들기 아이템 클래스를 만들어 여기에 오버랩 이벤트를 주자. 아이템을 조종하거나 할 일은 없기 때문에 그냥 액터 클래스를 기반으로 만들면 된다. 이제 C++에서 이 액터에 오버랩 이벤트를 주자. 오버랩 이벤트를 주기 위해서 오버랩 할 영역을 만들어야 하는데 SphereCompon..
[언리얼 실습] 6. Blend Space 1D를 이용한 걷기와 달리기 애니메이션 구분 목차서론블랜더 만들기만든 블랜더 캐릭터에 적용하기1. 서론 언리얼에서 자체적으로 제공해주는 Third Game 프로젝트를 보면 속도에 따라 걷기와 달리기의 애니메이션이 서로 다르다. 우리도 이것을 구현해서 더욱 자연스러운 움직임을 만들어보려고 한다. 2. 블랜더 만들기  사실 우리가 Third person에서 애니메이션을 임포트해 올때 블랜더도 같이 따라왔다. 이걸 써도 되지만 지금은 실습을 하고 있으니 이것을 만들어보자.  콘텐츠 브라우저에 들어가서 Blend Space 1D 를 만들어 준다. 우리는 속도에 따라 걷기와 달리기의 애니메이션을 적용할 예정이라 한 개의 값만들 가지고 만드는 1D Space가 필요하다  스켈레톤을 선택하라고 하면 우리가 지금 쓰고 있는 캐릭터의 스켈레톤을 골라주면 된다.  ..
[언리얼 실습] 5. 점프 애니메이션 적용하기 점프 애니메이션을 적용해보려고 한다.목차c++에서 캐릭터가 점프 중인지 확인하기캐릭터에 점프 애니메이션 적용하기1. C++에서 캐릭터가 점프 중인지 확인하기 캐릭터 무브먼트 컴포넌트는 점프(체공)중인지 알 수 있는 함수가 존재한다. 이를 통해 간편하게 캐릭터의 점프 유무를 알 수 있다. 함수는 문자 그대로인 IsFalling() 함수이다. // Header UPROPERTY(BlueprintReadOnly, Category = "Movement")bool IsFalling; // cpp void UKnightAnimInstance::NativeUpdateAnimation(float DeltaTime){ Super::NativeUpdateAnimation(DeltaTime); if..
[언리얼 실습] 4. 점프 애니메이션 가져오기 점프 애니메이션을 적용하기에 앞서 애니메이션을 먼저 가져와 보려고 한다.목차서론점프 애니메이션 가져오기1. 서론 점프 애니메이션의 경우 믹사모에서 구하는 것은 매우 힘들다. 믹사모 애니메이션의 경우 점프 시작 부터 활공, 착지까지 하나로 이루어져 있는데 우리가 만든 캐릭터 클래스에 애니메이션을 적용하려면 이 세 부분이 다 나누어져 있어야 한다. 물론 믹사모 애니메이션을 편집하여 세 부분으로 나눌 수도 있겠지만 이 부분은 실습 과정 외의 부분이라 생각하여 하지 않고 대신 언리얼 엔진에서 쓸 수 있는 점프애니메이션을 가져오기로 했다. 2. 점프 애니메이션 가져오기 현재 캐릭터 에셋을 게임 샘플 프로젝트에서 가져왔는데 이것보다 더 좋은 것이 언리얼 에디터 자체적으로 있다는 것을 어제 알게 되었다. 이를 이용해..
[언리얼 실습] 3. 캐릭터 애니메이션 적용하기 이제 믹사모에서 가져온 애니메이션을 상황에 맞게 적용하려고 한다. 이제부터 강의 내용이 잘 기억 나지 않아 강의를 다시 보면서 실습을 진행해보고자 한다. 목차애니메이션 블루프린트 만들기C++ AnimInstance상태에 따른 애니메이션 적용1. 애니메이션 블루프린트 만들기  콘텐츠 브라우저에서 우클릭 →  애니메이션 → 애니메이션 블루프린트를 누른다.  다음과 같이 뜨면 우리가 사용했던 스켈레톤을 골라 생성을 하면 된다. 이때 내가 만든 캐릭터의 스켈레톤을 모르겠다면 캐릭터 블루프린트로 들어가 스켈레톤이 어떤 건지 확인하면 된다. 이제 애니메이션 블루프린트로 들어가보자  그럼 이러한 화면이 뜨며 이곳에서 애니메이션 설정을 할 수 있다. 이제 이동할때와 가만히 있을때의 애니메이션을 적용해야하는데 이때 기본..
[언리얼 실습] 2. Mixamo에서 다운로드 받은 애니메이션 임포트 하기 이제 만든 캐릭터가 이동하거나 점프를 할때 애니메이션 효과를 주려고 한다.목차Mixamo에서 애니메이션 다운로드 받기애니메이션 임포트 하기애니메이션을 캐릭터에 맞게 리타켓팅 하기1. Mixamo에서 애니메이션 다운로드 받기 가장 먼저 애니메이션을 다운로드 받아보자.애니메이션 에셋은 여러 곳에서 다운로드 받을 수 있는데 그중 완전히 무료로 애니메이션을 제공해주는 Mixamo를 이용하기로 하였다. Mixamo  바로가기: https://www.mixamo.com/#/ Mixamo www.mixamo.com  믹사모 홈페이지에 들어가면 로그인을 하거나 회원가입을 하라고 한다. 믹사모는 어도비에서 운영하는 사이트로 어도비 아이디가 있으면 바로 이용이 가능하다.  로그인을 하면 이렇게 다양한 애니메이션을 볼 수 ..