[UE4] 어린아이 캐릭터 추가

후이재·2020년 8월 27일
1
post-thumbnail

어른과 함께 온 어린아이 캐릭터를 추가하기로 했다

뭘 하고싶은가

  • 일정 구간을 뛰어다니는 아이
  • 보리(플레이어)가 옆에서 짖으면 멈춤
  • 멈춘 다음에 특정 행동을 하면 리액션(호감도 상승)
  • 호감도 만점되면 보리 입양해가기

아이 Skeletal Mesh 가져오기

  • 역시나 SketchFab을 이용했다.
  • 무료 Mesh중 이런것이 있다는 것에 너무 감사하다
  • 이것을 Mixamo에 가져가 Rigging된 Mesh를 받아왔다. (sketchFab, Mixamo없었으면 절망적이었을것이다.)
  • 회사에서 일하면서 언리얼에서 리타게팅 하는 방법을 어깨너머로 배웠는데 해보고 싶다. 수의사 모션 쓸 때 해봐야겠다.

BT 설계하기

  • 하나 하나 만들어가는 것 보다 미리 BT로직을 설계해 둔 후에 작업하는것이 효율이 좋더라
  • 어떤 변수를 사용하고 어떤 경우 Fail처리를 할 건지 미리 정해두면 나중에 고민없이 함수만 구현하면 된다.
  • 부모가 선택할 때 까지 뛰어다니게 설계 했기에, Parent Choice를 제일 상단에 놓았다
  • 부모 선택 전까지, 보리가 바로 옆에서 짖었을 경우 Find Bori가 Set 되며 판별을 시작한다.
  • 보리가 짖지 않으면 그냥 가던 길 간다
  • DetectInterest BTT에서는 관심 정도를 측정하여 호감도 만점되면 오른쪽의 task를 수행하게 한다
  • BTT_turn은 모든 사람에게 적용하여, 요긴하게 쓰이고 있다. ^ㅅ^

보리 짖기, 아이 sensing 구현

  • 짖기는 아이의 Pawn Sensing 컴포넌트가 들을 수 있도록 Noise를 발생시키면 된다.
  • 'B'키를 입력하면 아래의 부분이 진행되도록 했다.
  • 그리고 아이의 Pawn Sensing을 추가, 조절했다. 비용 감량을 위해 See 부분은 모두 제거 해두었고, 딱 바로 옆에서 짖었을 때만 반응 할 수 있도록 범위를 적절하게 조절했다.
  • 위와 같이 오버라이딩을 통해 함수를 구성했으며, 타이머를 통해 init함수를 실행하여, 4초동안 보리가 아무런 다음 동작을 보이지 않으면 다시 호감도가 0가 되게 했다.
  • 이렇게 세탕하여, tick에 붙임으로, 보리를 찾은 후에 보리를 향해 회전하도록 했다.

Animation 구상

  • 이렇게 구상했음
    1. 달리기
    2. 보리 옆에서 짖으면 멈춰서 두리번 두리번
    3. 또 짖으면 찾아서 손 인사 하기
    4. 개인기 하나 하면 방방 뛰기
    5. 개인기 하나 더 하면 보리 선택하기

  • 이것에 맞춰서 State Machine 제작함

  • 여기서 언제든 움직이면 walk로 가게 했음

  • 이렇게 뛰어다님(뿌듯)

이제 뭘 해야하지?

  • 보리가 마음을 사로잡으면 부모가 오고 보호소 주인이 문 열어주기(문 열리는것은 포스팅은 안했지만 구현해둠)
  • 수의사 로직 시작
profile
공부를 위한 벨로그

0개의 댓글