본문 바로가기

언리얼C++게임개발/07.애니메이션 시스템의 설계

(4)          글쓰기    
점프의 구현 GrounToJump 조건 Jump to JumpIdle조건 JumpIdel to JumpEnd 조건 JumpEnd to Ground조건 트랜지션 조건이 필요없는 경우 Transition Category에서 Auto Rule Based On Sequence Player in State를 체크하면 된다.
스테이트 머신 제작 기계가 반복해야 하는 동작을 스테이트로 정의하고 지정된 스테이트의 동작을 반복 수행할 수 있다 캐릭터가 반복해서 재생해야 할 애니메이션 동작을 애니메이션 블루프린트 스테이트 머신이 처리하도록 한다. 애님 그래프의 빈 공간을 우클릭해 스테이트 머신 새로 추가 클릭 이름을 BaseAction으로 지정 스테이트 머신을 더블 클릭하고, 머신 편집 윈도우에서 우클릭->스테이트 추가 Ground로 이름 변경 시작 노드와 추가한 스테이트를 트랜지션으로 연결 트랜지션: 시작->목적 드래그 시 생성되는 단방향 화살표 서로 다른 스테이트끼리 이동이 가능하도록 연결 추가한 스테이트를 더블 클릭하고 해당 스테이트의 애님 그래프 제작. Blend Poses by bool은 조건에 따라 2가지 애니메이션을 선택해 출력해준다. 스..
[애니메이션시스템] 폰과 데이터 연동 게임을 플레이하면서 실제 폰의 속도에 따라 다른 애니메이션을 재생하기 위해서는 프레임마다 폰의 속력과 애님 인스턴스의 CurrentPawnSpeed 값이 동일해야 한다. 이를 위해 폰의 Tick함수에서 애님인스턴스의 CurrentPawnSpeed에 쓰거나 애님인스턴스의 Tick에서 폰의 속도 정보를 가져온 후 이를 CurrentPawnSpeed에 업데이트하는 방법이 있다 후자로 구현해본다 애님인스턴스 클래스는 틱마다 호출되는 NativeAnimationUpdate함수를 가상 함수로 제공한다. 그래서 ABAnimInstance에 이를 상속받은 하나의 함수를 선언한다. 폰과 애님 인스턴스 데이터 연동 폰의 Tick 함수에서 애님 인스턴스의 CurrentPawnSpeed 조정 애님 인스턴스의 Tick에서 폰의..
애니메이션 블루프린트 1. 애니메이션 기본 제작 다양한 상황에 맞는 애니메이션을 재생할 수 있도록 애니메이션 블루프린트 기능을 활용한다. 애님 인스턴스: 애니메이션 블루프린트의 기반 스켈레탈 메시를 소유하는 폰의 정보를 받아 애님 그래프가 참조할 데이터 제공 블루프린트와 C++로 제작가능 애님 그래프: 시각적 도구를 사용해 애니메이션 시스템을 제작하도록 설계 애님 인스턴스의 변수 값에 따라 변화하는 애니메이션 시스템을 설계하는 공간 블루프린트로만 제작 가능 체계적인 애니메이션 시스템 설계를 위해 스테이트 머신 제공 새로운 C++클래스를 만든다 부모는 AnimInstance로 이름은 ABAnimInstance로 한다. CurrentPawnSpeed라는 이름의 float 변수를 만들어 이동 속도에 따라 애니메이션을 다르게 구현해..