광산김가네

[모각코][Unity/유니티]0818 TIL_퀘스트 기능 구현하기 본문

TIL(Today I Learn)

[모각코][Unity/유니티]0818 TIL_퀘스트 기능 구현하기

어둠의 그림자 2021. 8. 20. 19:39

이번 회차에서는 퀘스트기능을 구현하기 시작했다. 그에 앞서 npc및 스프라이트 추가및 ui 수정을 진행하였다.

 

1. ui 수정_ npc,대화창

결과화면

npc 

- npc 애니메이션 설정의 세부적 내용은 반복적으로 다루었기때문에 생략하겠다. 

제자리에서 움직이는 idel 애니메이션을 적용해주었고 이미지를 넣어줬다.

대화창

1. 애니메이션 스프라이트로 직접 만들기

대화창에서 오른쪽 하단에 위치한 검정색 커서를 삽입하고, 애니메이션을 넣었다.(위아래로)

위와 같이 animation 설정창을 띄워주고 해당 스프라이트를 누르면 add 버튼을 눌러서 애니메이션을 생성할수있다

그다음, add property로 애니메이션을 그림만 가지고도 설정할수있다. 이번경우에는 anchored position으로 y값만 변경하여 위아래로 움직임을 주었다.

2.npc와 대화할때 초상화 띄우기

사물과 차이점을 두기위해 설정하였다.

또한 단순히 똑같은 그림을 띄우는것이 아닌, 대화내용에 따라 표정의 변화를 주었다.

talkmanager에 public으로 배열을 만들어주고, 거기에 다양한 표정을 삽입해주었다. npc당 4가지 표정을 삽입해줬기에, 크기 8의배열을 만들어주고 스프라이트를 삽입했다.

또한 portraitIndex를 사용하여 add 해주었고

대화 데이터에 같이 인덱스를 넣어주었다. 이렇게만 설정하면 따로 입력되지않기때문에 아래 코드와 같이 1. split 2. parse를 사용했다

+Color는 사물과 대화할때는 초상화를 없애기 위해 설정함

2.퀘스트 기능 초기 구현_questManager, questData.cs

앞서 만든 talkmanager와 talkdata와 비슷한 방식이다.

이런식으로 npc를 대화할때, quest가 잇는 상태에서의 대화와 없는 상태에서의 대화를 차이점을 두었다.

오른쪽 그림과 같이 퀘스트유무에 따라 대화 내용의 차이를 두고, 그 그분을 왼쪽 사진과 같이 할수있게 하였다.

퀘스트 내용으로는 꽃 아이템 줍기(a키 누르면 꽃이 인벤토리에 담기는), 나무조사하기(스페이스바 누르면
나무 관련된 내용이 대화창에 뜨는)를 구현해보려고한다.

자세한 구현은 다음시간에 이어서 하려고한다.

 

<다음시간 목표>

- 퀘스트 기능 마저구현

- 서브메뉴, 저장기능 구현하기