지난 글에선, 각 타일마다 타입을 가지고 카메라 이벤트를 만들었어

그래서 캐릭터가 지면체크할떄 동시에 해당 타일이

어떤 타입인지 찾아서 그에 맞는 카메라 팔로잉도 실행시켰어

그러나 너무 1차원적으로 생각한것이다보니.. 

높낮이가 다른 플랫폼간에 원하는 카메라 이동이 안나오는걸 알게됬다..


a76500aa2406752d9b5a5d66c25bf7fda4a04c3b497f7ff15fa5def55e2bb2

지금 서있는 발판과 

위 또는 아래 발판에서의 카메라 높이값 전환이 필요하단 이야기였어.


물론 이런 경우는 그냥 카메라 화면 정중앙에

언제나 캐릭터를 고정시키면되는 어려운 일이 아니지만..



특정 플랫폼이 바닥 역할을 하는 상태로
카메라 뷰가 화면을 잡아야 맞지 않을까?라는 

내 욕심 떄문에 일이 좀 꼬이게됬다. 


좌) 카메라 중앙 고정   우 ) 플랫폼이 바닥인채로 카메라 고정

0bb4c823e1f13da87abac4fb06df231d5b30bc9b34a9f411471a 0bb4c823e1f434a961ad98a518d60403c7542d005d5f49a54f


개인적으로 왼쪽이 편하지만 
오른쪽처럼 이미지가 잡혀야 맞지 않을까 생각들었다


그래서 카메라 레일같은게 필요해 만들었어.

카메라 레일의 역할은

캐릭터X 위치에 대응하는 카메라 Y값을 주는 도구로 만들었어

-

a66418ad242eb369b6f1d1bc10f11a399bacb9f42dda7bf651


a66418ad242eb369b6ed98b21fd704033207f395d7ac61144a7c

그렇게 만들어진 레일


레일을 만들고 나서 생긴 문제는

높이 차가 있는 2개 플랫폼간에

어떻게 카메라를 부드럽게 전환 시키지 였어

a14134aa1036b35896f1c6bb11f11a399e923b95a08d97f6

- 위 이미지에서 2개의 레일선은

같은 x범위를 지녔지만 완전히 다른  y값을 반환함 (위 아래)

그래서 어떻게 이 둘사이를 전환 시킬지 고민이었음



그래서 이를 해결하려고 렉트란걸 만들었어 

a67d39ad1f2e76b660b8f68b12d21a1d19cfbf27a3

topleft topright bottomleft bottormright
총 4개의 점을 참조시킨다음에 
추가로 UpperOffset | LowerOffeset이라고 float를 더해줬어 
그래서 나온게 저 붉은 영역인데 
붉은 영역은 Lerp 영역이야


붉은 영역내에서

캐릭터가 위로 갈수록 위의 파란 레일선 값을 

내려갈수록 아래 레일선 값을 

따르도록 보간한 값을 사용했어

( 붉은색 영역을 벗어나면 가까운 레일 값을 강제로 따름 )


아래) 옛날 방식 : 타일 값에서 카메라 y값을 찾아 보간 시작

a66434ab0a1eb450baf1d1bc10f11a39eee4a9c8f8c766de45b3


아래) 지금 방식 : 카메라 레일간에 보간으로 y값 찾

a14810ab1136b542bef1d1bc10f11a393bbff5285f9f82d1f8f8


난 개인적으로 아래, 

지금 바꾼 형태가 훨씬 좋은거같아



이제 끝내려하다 보니까
입력에 따른 이벤트같은걸 넣어줬더라고 기존에?

무슨 말이냐면 아래층을 볼수 있는곳에서는 
아래키를 누르면 볼수있도록 해주어야하지 않을까 그런거였어



그래서 카메라 레일을 만들면서 

위치의 기준점이자 참조 역할이 되어주는 점과

선분 사이의 전환을 담당하는 렉트까지 만들었는데

이번엔 입력 처리에 따른 다른 뷰로 전환시키는

선분그룹을 만들었어

a0450caa1b22b36182f1c6bb11f11a39aa5ee797f47ee3fa

위 이미지에서 내가 검게 칠한 선만 아래키를 누르면 아래로 시야를 떙겨주는 이벤트가 존재해


그걸 대충 실행하면

a14839aa190eb35bb2350575449f23342daa2189517d6cd0cf029f358963

딱 이벤트가 있는 선분에서만 실행되고
다른 선분에 입장시 다시 되돌아가도록한게 잘 되었어


아무튼 최근 2주동안 이것만 만졌는데
우선 내 머리속에 있던게 나와주어서 상당히 놀라웠고 
막상 실제로 보니까 100프로 만족스럽진 않지만
뭐 계속 중간에 수정도 해주고 이거저거 기능 추가하보면

괜찮아질거라고 생각중이야

끝으로 최종 모습이야

a16710ad253ab45bb2ff5b59e25ae5c121b1d0dbe8387ef94103f5a148b9ce99e8c4d40a3f


봐주서 고마우어
따봉