티스토리 뷰


BP_Main.uasset


일단 동영상 이고 영상을 보면 캐릭터가 왔다 갔다 거리고 움직일때 모양이 바뀌죠?

그 부분에 대한 블루프린트를 한번 보도록 하겠습니다.



일단 전체적인 모습이고..


일단 시작 부분을 보면 Movechange라는 변수가 0 인지 아닌지를 체크 하고 있습니다.

기본적으로 Movechange가 0일 경우 왼쪽 1일경우 오른쪽으로 가도록 만들 것 입니다.


0을 연결 받은 함수는 또 if 문 입니다.

Get World Location을 통해 Char 01의 좌표를 엊어내고 Break Vector로 벡터값을 Float값으로 바꿔 줍니다. 그리고 Y값을 -500과 비교해서 참과 거짓으로 나누는 것이죠 

캐릭터의 실질적인 위치를 비교하는 것 입니다.. 지금 '광산 위치 비교'라고 설명한 비교문을 보면 -500으로 되어 있죠? 저 위치가 광산 입구 부분 입니다. 

그래서 광산 위치에 도착 했는지 않했는지 체크를 하게 됩니다.

이렇게 2중으로 체크 해야지 작동이 원활하게 됩니다.

첫번째 체크는 이동 방향 결정 2번째 체크는 위치를 통한 체크로 생각 하면 됩니다.


이렇게 참과 거짓으로 나눠지는데 이 값이 참일 경우

Movechange값 (캐릭터의 이동 방향 결정)을 0으로 하고 MoveL 이라는 커스텀 함수로 넘겨 줍니다. 

커스텀 함수란 정해진 것이 아닌 자신이 함수를 만든 것인데... 자세한건 조금 있다가 알려드리겠습니다.

일단 MoveL이라는 함수는 캐릭터를 왼쪽으로 이동시키는 것을 가지고 있습니다.

이 함수를 지나간 뒤 Char Good Move 01을 정지 시키고 Chartileline... 타임라인적는다는걸 오타냈나보네요... 을 재생시켜주는 것 입니다. 이부분은 캐릭터가 움직이는 방향에 애니메이션을 바꿔 주는 것입니다.


이 부분이 MoveL 커스텀 함수의 내부 모습입니다.

함수 외부에서 MoveSpeed 라는 Float값과 Char Loca 라는 Actor값을 받아와서 MakeVector를 통해 Float값을 Vector 값으로바꾸고 이값을 Add Local offset 라는 것을 이용해서 더해주면 캐릭터가 이동하는 것 입니다.

함수에 대한자세한 내용은 다음에 써보도록 하겠습니다


이제 이 부분이 반대로 이동하는 부분 입니다.

전체적인 모습은 같은데.. 반대방향으로 돌리는 Movechange0에 추가적으로 이어지는 부분이 보이죠?

이 부분은 이제 돈을 1씩 올리고 그 값을 인터페이스상에 출력하는 곳 입니다.

GameMoney의 값을 +1 해준 다음에 Set Text를 통해 Gamemoney의 값을 출력하기만 하면 끝

-----------------------------------------------------------------------------------------------------------------

뭐 이 설명이 어렵네요 ㅠㅠ 제가쓰고도 이해할 수 있을지... 하나하나 만들면서 설명했어야 하나;;;

일단 제가만든 블루프린트 파일 전체를 올렸습니다.

해당 파일은 프로젝트의 BluePrint 폴더에 넣으면 블루프린트 부분전체를 볼 수 있습니다.

(저같은 경우 C:\Users\binproject\Documents\Unreal Projects\binproject\Content\Blueprint)

이 파일로는 컴포넌트의 이미지 는출력이 안되고 물론 실행도 할 수 없지만....

컴포넌트의 이미지 위치는 나오고 대략적인 전체 구조는 분석할 수 있고 기본적인 주석은 달아놔서 도움되는 분들도 있을거라고 믿습니다.


댓글