1월, 2019의 게시물 표시

[Unreal] AnimNotify 애님 노티파이 시스템.

이미지
이전 언리얼에 이어서 , Notify 에 관련된 얘기를 조금 하겠습니다 . AnimNotify 란 , 일종의 콜백으로 해당 함수를 특정 타이밍에 연결하여 호출할 수 있도록 하는 일종의 델리게이트 ( 대리자 ) 라고 보시면 됩니다 . 적어도 언리얼 내부에선 이렇게 얘기해요 . 언리얼은 애니메이션 , 혹은 몽타주에서도 이런 콜백을 지원하고 있습니다 . 그래 서 AnimNotify죠.   주로는 애니메이션 몽타주 쪽에서 사용하는걸로 알고있지만 , 개별 행위에 스테이트를 넣을땐 애니메이션 시퀸스 등에 직접 넣을 수 있습니다 . 애니메이션 시퀸스에서 넣는걸로 해보죠 .  애니메이션 시퀸스 입니다 . 에셋 브라우저에서 선택한 상태로 있습니다 . 여기서 몽타주나 블렌드 스페이스 등 다른 항목을 조절할 수 도 있습니다만 , 애니메이션 시퀸스를 더블 클릭하면 기본으로 나오는 창이니 이걸로 해보겠습니다 . 아래쪽에 노티파이 라는 부분이 있는데 , 이 부분이 AnimNotify 를 직접 입력할 수 있는 위치입니다 . 원하는 애니메이션 위치에서 오른쪽 클릭을 사용하면 위와 같이 노티파이 추가를 할 수 있는 창이 뜹니다 . 이곳에서 노티파이 추가 항목을 자세히 보면 각종 노티파이를 넣을 수 있도록 되있습니다 . 맨 위가 커스텀 애님노티파이 , 중간이 네이티브 노티파이 ( 언리얼 엔진이 기본으로 가지고 있습니다 .), 그리고 아래에 노티파이 추가가 있습니다 . 아래에는 노티파이 스테이트 추가가 있는데 , 노티파이 스테이트는 일정 시간동안 지속적으로 해당 행위를 할 수 있도록 만들어진 노티파이입니다 .  앞의 그림이 노티파이 , 뒤의 그림이 노티파이 스테이트입니다 . 조금 다르게 생겼죠 . 애니메이션 프리뷰에서 해당 노티가 지나갈 때마다 노티에 등록한 함수들을 실행시킬 수 있게 되어있습니다 . 이제 , 새 노티파이를 추가했을때 해당 파일을 찾아가보죠 .  

[Unity] MySurvivalDay - 데이터 직렬화, 인스펙터에 표시되는 클래스, 구조체.

이미지
아는 기획 취직 희망 자가 프로젝트 제작해서 포트폴리오로 사용하고 싶어해서 조금 도와주고 있는 프로젝트 입니다. 데이터는 Serializable 로 선언을 했는데, 이는 C#에서 직렬화를 뜻하는 내용이지만, 저의 경우엔 Inspector에 인자로 보여주고 싶은 Class나 Struct를 사용할때 자주 쓰게 됩니다. StoryData도 직렬화 한 데이터로, 인자들을 직접 입력할 때 데이터 모음 형태로 할 수 있어서 편하게 사용하는 기능 중 하나입니다. 데이터 클래스를 짜고 싶었으나, 기획서의 개념간에 대해서 서로 얘기가 달라지는 부분이 많아서 제대로 쓰지 못하는 시간이 길어지네요. 또한, 이 구현에 대해서 기획자의 생각과 프로그래머의 생각이 항상 달라지니 이걸 표현할때 생각하지도 못한 부분에서 막히는 부분도 생깁니다. 적당히 뚜드려패서 합의점을 찾고, 거기에 대해서 만들어야 되는데, 시간이 자꾸 부족하네요. 언제 또 코드에 손을 댈 수 있을지 알 수 없네요 ㅠ