적 캐릭터가 플레이어 캐릭터를 향해 총알을 발사하는 예



Posted by cwisky

F키를 누르면 1인칭 카메라 1미터 앞에서 총알이 발사되도록 한 예


먼저 언리얼에서 1인칭 템플릿을 사용하여 프로젝트를 생성하고 Actor 를 기반으로 클래스 블루프린트를 생성하고 아래처럼 작성한 후에 CB에서 드래그하여 뷰포트에 올리고 게임을 실행하여 F키를 누르면 일인칭 캐리턱 카메라 1미터 앞에서 정면으로 총알이 발사되는 것을 확인할 수 있다



Posted by cwisky

BlendSpace는 다수개의 애니메이션이 부드럽게 연결되어 실행될 수 있도록 설정하는 파일이며 언리얼 엔진은 BlendSpace에 설정된 다수개의 애니메이션 사이에 보간법(Interpolation)을 적용하여 자연스럽게 연결되도록 한다


Idle, Walk, Run 애니메이션을 속도를 기반으로 배치 연결하여 임의의 속도에서의 애니메이션 구현하기

예를 들어, 속도를 기반으로 하여 다수개의 애니메이션을 연결한 경우, 중간속도 구간에서는 언리얼 엔진에 의해 보간된 애니메이션이 자동으로 지원된다.


CB에서 마우스 우측 > 애니메이션 > Blend Space > 파일 이름을 BS_Idle_Walk_Run 등으로 입력

생성된 Blend Space를 더블클릭하여 페르소나 에디터를 열고 다음과 같이 설정한다


Idle, Walk, Run 애니메이션을 연결할 때 속도에 따라 나열하면 중간 구간에서는 언리얼 엔진에 의해 보간된 애니메이션이 지원된다. 하단 그래프의 초록색 점을 마우스로 상하로 이동하면 보간된 애니메이션을 미리 확인할 수 있다



State Machine에 Blend Space를 설정하기

Animation Blueprint를 작성하고 State Machine 을 생성하고 특정 상태에 위에서 작성된 Blend Space파일을 드래그하면 된다



스테이트 머신 안에 포함된 특정 스테이트 안에 Blend Space를 설정한 예

속도 기반으로 3개의 애니메이션을 연결했기 때문에 특정 속도를 지정하면 해당 속도대의 애니메이션이 실행된다



속도를 부드럽게 올리거나 내리면서 다양한 속도에 따른 애니메이션을 실행하는 경우

예를 들어, 캐릭터가 정지하고 있다가 걷기 시작하고 이어서 달리는 애니메이션을 화면에 출력하고자 한다면 다음과 같이 Speed 값을 0 ~ 375까지 점차적으로 변경해주면 된다



애니메이션 블루프린트의 이벤트 그래프에서 위에서 사용된 Speed 변수의 값을 점차적으로 증가하거나 감소하면 된다



캐릭터에 애니메이션 블루프린트를 설정한다


Posted by cwisky