헬로

오랜만에 쓰는 일지


반가워


그동안 스테이지 시스템이랑 세이브 로드 기능, 그리고 이벤트 스테이지 만들고 있었음


3fb2df32d6c639a16bf1d1bc10f11a39571d3349426476291e72



3ea9d121e0f130a760b8d3fb11d8221d18905bb2091d93e4c3a9aec6

루트 스테이지 - 전투 스테이지 - 이벤트 스테이지로 나눴음.


기본적으로 루트 스테이지에서 다른 스테이지로 넘어가는 방식


스테이지에 진입하면 진행도가 로컬파일에 저장되고, 다시 시작하면 불러와짐.



28abd528f1e12ca769ba98b21fd704035c605497482b95cce4ed

이건 테스트중인 이벤트 스테이지.


이벤트 스테이지는 여러 개의 컷으로 이루어져 있음.

각 컷은 텍스트와 버튼들로 이루어짐.


각 컷에 진입할 때 텍스트와 버튼의 텍스트, 콜백이 설정됨.


거기에 추가로 텍스트 애니메이션을 추가해봤음.

1. 글자가 천천히 나타남

2. 특정 글자에 특수효과랑 색깔 적용

3. 화면 클릭하면 글자 천천히 나타나는 거 스킵됨.


텍스트 애니메이션은 TMP로 구현함.


TMP_Text.textInfo.meshInfo에서 각 문자의 메쉬를 건드릴 수 있더라.

TMP 진짜 개잘만든듯



24b0d121e09c28a8699fe8b115ef04699c38f5b5

: 각 문자의 정점을 따로 만지면 이렇게 글자가 깨져 보이게 할 수도 있음.



24b0d121e08076b660b8f68b12d21a1d41d733713d

: 각 문자의 정점 4개에 동일한 값을 주면 이렇게 글자 단위로 움직이게 만들 수 있음.


각 글자의 메쉬를 조작할 수 있으니, 그냥 Update에서 글자의 메쉬를 건드리면 그럴싸하게 보임.


24b0d121e08376b660b8f68b12d21a1d8526c990e9

: 테스트용 코드
여기선 대충 sine 함수를 따라 움직이게 만들었음.


거기에 추가로, 문자열을 제공할 때 어디에 어떤 애니메이션을 적용하게 할지 정할 수 있게 만듦.

<AnimationType>content</AnimationType> 이렇게 글이 제공되면, 저 <></> 사이에 있는 내용만 애니메이션이 적용되게



39b8c832c4dc31ab6fabdfba189f2334a0853ab16bc9d2e6570414451949

: 스크립트가 실행되면 저 지시어는 사라지고, 그 사이 글자의 인덱스만 리스트에 담아서 처리하는 거임.


일단 기능만 쭉쭉 계속 구현하는 중.


기능 구현은 즐거운데

디자인이 필요한 곳을 손대려 하니까 너무 어지럽다


디자인은... 디자이너에게...


기어요


그럼 안녕.