지난 글에선, 각 타일마다 타입을 가지고 카메라 이벤트를 만들었어
그래서 캐릭터가 지면체크할떄 동시에 해당 타일이
어떤 타입인지 찾아서 그에 맞는 카메라 팔로잉도 실행시켰어
그러나 너무 1차원적으로 생각한것이다보니..
높낮이가 다른 플랫폼간에 원하는 카메라 이동이 안나오는걸 알게됬다..
지금 서있는 발판과
위 또는 아래 발판에서의 카메라 높이값 전환이 필요하단 이야기였어.
물론 이런 경우는 그냥 카메라 화면 정중앙에
언제나 캐릭터를 고정시키면되는 어려운 일이 아니지만..
특정 플랫폼이 바닥 역할을 하는 상태로
카메라 뷰가 화면을 잡아야 맞지 않을까?라는
내 욕심 떄문에 일이 좀 꼬이게됬다.
좌) 카메라 중앙 고정 우 ) 플랫폼이 바닥인채로 카메라 고정
개인적으로 왼쪽이 편하지만
오른쪽처럼 이미지가 잡혀야 맞지 않을까 생각들었다
그래서 카메라 레일같은게 필요해 만들었어.
카메라 레일의 역할은
캐릭터X 위치에 대응하는 카메라 Y값을 주는 도구로 만들었어
-
그렇게 만들어진 레일
레일을 만들고 나서 생긴 문제는
높이 차가 있는 2개 플랫폼간에
어떻게 카메라를 부드럽게 전환 시키지 였어
- 위 이미지에서 2개의 레일선은
같은 x범위를 지녔지만 완전히 다른 y값을 반환함 (위 아래)
그래서 어떻게 이 둘사이를 전환 시킬지 고민이었음
그래서 이를 해결하려고 렉트란걸 만들었어
topleft topright bottomleft bottormright
총 4개의 점을 참조시킨다음에
추가로 UpperOffset | LowerOffeset이라고 float를 더해줬어
그래서 나온게 저 붉은 영역인데
붉은 영역은 Lerp 영역이야
붉은 영역내에서
캐릭터가 위로 갈수록 위의 파란 레일선 값을
내려갈수록 아래 레일선 값을
따르도록 보간한 값을 사용했어
( 붉은색 영역을 벗어나면 가까운 레일 값을 강제로 따름 )
아래) 옛날 방식 : 타일 값에서 카메라 y값을 찾아 보간 시작
아래) 지금 방식 : 카메라 레일간에 보간으로 y값 찾
난 개인적으로 아래,
지금 바꾼 형태가 훨씬 좋은거같아
이제 끝내려하다 보니까
입력에 따른 이벤트같은걸 넣어줬더라고 기존에?
무슨 말이냐면 아래층을 볼수 있는곳에서는
아래키를 누르면 볼수있도록 해주어야하지 않을까 그런거였어
그래서 카메라 레일을 만들면서
위치의 기준점이자 참조 역할이 되어주는 점과
선분 사이의 전환을 담당하는 렉트까지 만들었는데
이번엔 입력 처리에 따른 다른 뷰로 전환시키는
선분그룹을 만들었어
위 이미지에서 내가 검게 칠한 선만 아래키를 누르면 아래로 시야를 떙겨주는 이벤트가 존재해
그걸 대충 실행하면
딱 이벤트가 있는 선분에서만 실행되고
다른 선분에 입장시 다시 되돌아가도록한게 잘 되었어
아무튼 최근 2주동안 이것만 만졌는데
우선 내 머리속에 있던게 나와주어서 상당히 놀라웠고
막상 실제로 보니까 100프로 만족스럽진 않지만
뭐 계속 중간에 수정도 해주고 이거저거 기능 추가하보면
괜찮아질거라고 생각중이야
끝으로 최종 모습이야
봐주서 고마우어
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.