새벽에 쓴게 사실 어제 써야 할 것이 12시가 넘어서 오늘 날짜로 적었습니다.

 

어제 Animation에 Notify를 받아서 Climb를 처리하는 것에 여러 문제를 남긴채로 개발을 멈췄습니다.

오늘은 이 중 Enter From Bottom, Move up, Move Down의 Animation이 정상적으로 작동되도록 하였습니다.

오랫동안 확인해본 결과 Idle 상태에서 Move 상태로 갔을 때

바로 Exit 조건까지 만족해버려서 Exit의 한 포즈로 고정이 되어버린 것이었습니다.

Exit 조건을 바꿨더니 문제를 해결할 수 있었습니다.

 

현재 Exit까지는 조건이 만족을 하지만,

Animation이 재생이 안된는지 Notify가 받아지지 않은지 이후 진행이 되지 않습니다.

그리고 Notify를 하면서 동시에 입력 금지와 이동속도, 관성 초기화를 하여 그 즉시 멈추도록 하고자 합니다.

'개발일지 > Treasure Hunter' 카테고리의 다른 글

20.07.04 개발일지  (0) 2020.07.04
20.07.03 개발일지  (0) 2020.07.03
20.07.03 개발일지  (0) 2020.07.03
20.07.02 개발일지  (0) 2020.07.02
20.07.01 개발일지  (0) 2020.07.01

내일 다시 시작하기 위해 내용을 정리합니다.

Animation에 notify를 넣는 방법을 찾았습니다.

이를 기반으로 처음부터 다시 만들어 보았는데,

Climb에 Enter하고 Move만 하지 그 뒤로 어떠한 것도 제대로 되지 않습니다.

 

아마 State와 Trigger가 정상 작동하지 않기 때문이라 생각합니다.

Conduit부터 시작해서 이것저것 쌓아가야 할것 같습니다.

 

'개발일지 > Treasure Hunter' 카테고리의 다른 글

20.07.03 개발일지  (0) 2020.07.03
20.07.03 개발일지 2  (0) 2020.07.03
20.07.02 개발일지  (0) 2020.07.02
20.07.01 개발일지  (0) 2020.07.01
20.06.29 개발일지  (0) 2020.06.29

원래 긴장하면 되던 일도 안되던데 지금이 그짝인 것 같습니다.

 

Teleport로 Climb를 하는 문제는 대부분 해결이 되었습니다.

Enter Climb From Top만 빼면 모든 기능은 작동합니다.

그렇게 보였습니다.

 

하지만 정신 차리고 보니, Exit Climb가 정상적으로 재생되지 않고 있었습니다.

그래서 일단 Push를 해놓고, Branch를 파서 다시 만들어보고 있습니다.

일지를 지금 쓰는 것도 미리 일지를 쓰고 마저 개발을 하기 위해서입니다.

 

과제 제출하려면 우선 하던 것은 다 되도록 마무리 해야 되는지라 압박이 조금 됩니다.

열흘 정도 시간이 남았으니 이번주 주말까지는 Climb를, 다음주 주말까지는 Trap/Puzzle을 손보고자 합니다.

'개발일지 > Treasure Hunter' 카테고리의 다른 글

20.07.03 개발일지 2  (0) 2020.07.03
20.07.03 개발일지  (0) 2020.07.03
20.07.01 개발일지  (0) 2020.07.01
20.06.29 개발일지  (0) 2020.06.29
20.06.25 개발일지 2  (0) 2020.06.25

저번에는 Teleport를 통한 Exit Climb from Top을 기능적으로는 구현을 해봤고,

오늘은 Collision을 조절해서 Climb를 구현해보려 했습니다.

 

이를 시도해 보았으나 원하는 결과를 얻지 못하였습니다.

Mesh의 Collision 설정 뿐만 아니라 여러 Trigger도 모두 Collision 설정을 해야 하는건가 싶기도 하고

좀 복잡해서 일단 보류를 했습니다.

 

남은 시간에는 Teleport 하는 위치를 조절하였습니다.

그래도 붕 뜨게 되는 것은 어떻게 할 수가 없었습니다.

그래서 이 문제도 우선은 보류하였습니다.

 

그 다음에는 다른 Climb에 FSM을 적용해보았습니다.

현재 Montage 생성을 해서 붙여넣기만 하면 바로 테스트가 가능합니다.

 

마지막으로 Enter Climb From Top을 구현중입니다.

위치는 Teleport로 조절이 가능한데, Rotator가 원하는 방향으로 되지 않아서 남은 시간을 모두 소모했습니다.

 

그리고 잘 되는줄만 알았던 Rope가 벽에 붙어 있을 때와 그렇지 않을 때 Move Animation 재생에 차이가 발생했습니다.

단일 객체의 Rope에서의 Move 시 Animation 재생 문제를 따로 고려해봐야 할 것 같습니다.

 

내일은 먼저 Montage를 붙여서 다른 Climb에서의 상호작용을 확인해볼 것입니다.

그 다음은 Rotator 조절.

마지막으로 단일 Climb에 대한 MoveAnimation 문제를 해결할 것입니다.

 

오늘은 일지 적는 시간이 꽤 늦습니다.

또한 이래저래 보류를 하는 경우가 많습니다.

오늘 지원한 회사 중 한곳에서 연락이 왔는데, 과제를 제출하라고 하였습니다.

과제 조건을 보니 지금 개발중인 프로젝트가 어느정도 조건에 부합하여 이를 제출하겠다고 했습니다.

때문에 주어진 시간 안에 현재 개발 중인 기능만이라도 마무리를 하여야 합니다.

그렇다 보니 완벽하게는 아니더라도 대략적인 기능은 구현하려고 하는 것 같습니다.

때문에 당분간은 매일 이 프로젝트의 일지를 작성하게 될 것 같습니다.

'개발일지 > Treasure Hunter' 카테고리의 다른 글

20.07.03 개발일지  (0) 2020.07.03
20.07.02 개발일지  (0) 2020.07.02
20.06.29 개발일지  (0) 2020.06.29
20.06.25 개발일지 2  (0) 2020.06.25
20.06.25 개발일지  (0) 2020.06.25

오늘 주말에 지원 했던 회사에서 한 곳, 업로드 한 제 지원서를 열람한 곳에서 한곳 연락이 왔습니다.

지원한 회사는 입사지원서를 당사 형식으로 작성해서 제출해 달라 했고, 열람한 곳은 내일 면접이 잡혔습니다.

그래서 입사지원서를 다시 작성하다 보니까 오늘 개발은 많이 하지 못했습니다.

 

하지만 그래도 그 어느때보다 효율적인 시간이었습니다.

문제를 해결했기 때문입니다.

 

저번에 Teleport를 통해 Climb의 윗 부분에 도달에 Exit 하는 문제를 해결 할 수 있는 실마리를 잡았습니다.

오늘은 이 수치를 조금 조절 했더니 갑자기 Animation이 정상적으로 재생되지 않았습니다.

 

혹시나 해서 수치를 완전히 키웠으나, 역시 제대로 작동하지 않았습니다.

여기서 저는 뭔가 잘못되었다는 것을 느꼈습니다.

코드를 다시 보니, TeleportTo 함수가 그냥 호출이 되고 있는 것이 걸렸습니다.

이전에도 Replicate 문제로 오랜 시간을 잡아 먹었기에, RPC 함수로 TeleportTo를 감쌌습니다.

 

그러자 거짓말처럼 문제가 해결이 되었습니다.

이번 문제도 역시나 RPC문제였습니다.

 

이렇게 해서 기능은 동작하지만, 영 만족스럽지 못합니다.

Teleport 해야 하는 높이가 꽤 높아 캐릭터가 붕 떠보이기 때문입니다.

 

다음에는 이 수치를 한번 조절해볼 생각입니다.

Character를 Z축으로만 이동 시켜보고, 적절하게 작동을 한다면 그대로 둘 것입니다.

만약 그렇지 못한다면, Exit 하는 동안 Mesh와 Capsule의 Overlap 상태를 조절해

Animation이 정상 재생 되는 동안 Overlap이 발생하지 않도록 해볼 계획입니다.

'개발일지 > Treasure Hunter' 카테고리의 다른 글

20.07.02 개발일지  (0) 2020.07.02
20.07.01 개발일지  (0) 2020.07.01
20.06.25 개발일지 2  (0) 2020.06.25
20.06.25 개발일지  (0) 2020.06.25
20.06.22 개발일지  (0) 2020.06.22

youtu.be/a8x3YHP0Rtk

다행히 오늘 안에 Teleport로 유의미한 결과를 이끌어낼 수 있었습니다.

다만, 항상 되는 것은 아니었습니다.

어떨 때에는 Teleport를 먼저 하고, 어떨 때에는 PlayMontage를 먼저 하는 것 같습니다.

 

또한 보는 것과 같이 너무 위쪽으로 Teleport 하는 것도 문제라고 생각합니다.

우선 RopeExitTop부터 Teleport 수치를 조정하고, 항상 Teleport가 발생한 뒤 Montage가 재생되도록 하려 합니다.

 

그 뒤에는 RopeExitBottom이 정삭작동 하도록 하고, 그 뒤에는 RopeEnterBottom.

마지막으로 RopeEnterTop이 작동되도록 하려 합니다.

 

만약 이 부분이 해결 된다면, Wall과 Ladder는 그대로 수정하면 될 것입니다.

다만 몇가지 문제점도 있었습니다.

 

먼저, Jump로 Exit 할 때 Climb와의 범위에서 벗어나면 Walk Animation이 재생되지 않는 경우가 발생했습니다.

또한 꼭대기에서 Climb Exit 한 이후에도 같은 현상이 발생했습니다.

마지막으로 정면으로 이동하면서 Jump 하는 도중에

Climb 하면 Climb Move Animation이 재생되지 않는 경우도 발생했습니다.

 

이런 버그적인 요소 외에, Animation이 재생되게 하기 위해 불필요한 부분도 구현된 점이 있습니다. 

하지만 우선은 기능 구현을 먼저 하고, 더 나은 코드로 수정을 할 계획입니다.

 

 

'개발일지 > Treasure Hunter' 카테고리의 다른 글

20.07.01 개발일지  (0) 2020.07.01
20.06.29 개발일지  (0) 2020.06.29
20.06.25 개발일지  (0) 2020.06.25
20.06.22 개발일지  (0) 2020.06.22
20.06.20 개발일지  (0) 2020.06.20

아직 오늘 개발이 끝난 것은 아니지만

더 이상 유의미한 진행 사항이 오늘 안에 나오지 않을것이라 판단하여 미리 일지를 적습니다.

 

Montage에 여차여차하여 Client에서만 Log가 출력되게 조정을 해보았습니다.

또한 Montage 하나하나에 조건을 달아 ExitClimb Montage가 재생되는지도 확인을 해보았습니다.

그 결과 ExitClimb가 호출이 되기는 하였으나, 재생은 이동 입력에 따라 여러 차례 발생하기도 했습니다.

그리고 그 횟수 만큼 Montage 재생 종료 이벤트가 발생했습니다.

 

제대로 작동하지 않는 이유는 Montage 재생 이벤트가 여러번 호출되어 반복적으로 Montage 앞부분이 재생 되다가, 

첫 Montage 종료 이벤트로 인해 Climb 상태가 해제가 되는 것으로 예상됩니다.

이에 대해 DisableInput을 해보았으나, 유의미한 결과를 얻지는 못했습니다.

 

두번째로, Montage가 재생될 때 Character를 Teleport 해보았습니다.

그런데 Montage가 여러번 재생되는 만큼, Teleport도 여러번 발생했습니다.

그리고 이 때마다 Character가 진동을 하는 것을 확인했습니다.

정면으로 100만큼 이동시킨다면 3번 발생 시 300을 이동하는 것이 아니라 0과 100을 3번 왕복합니다.

그리고 Character가 이동해 있기도 하고, 떨어지기도 합니다.

 

그나마 다행인 점은, 이 덕분에 Montage가 제대로 재생되고, 작동을 할 수 있다는 희망을 보기는 했습니다.

 

그러다가 Climb System 구현 영상을 하나 찾아 보았습니다.

https://www.youtube.com/watch?v=BKiSTM-G9pQ

길이가 길고, BP 위주로 하느라 정확히 파악은 못했으나, 

Notify를 통해 Event를 발생해서 진행하는 것 같습니다.

 

이에 영감을 받고 새로운 구조를 한번 시도해볼까 합니다.

그래서 현재 branch와 새로운 branch를 두고 왔다갔다 하면서 진행하고자 합니다.

 

마지막으로 한가지 버그를 발견했습니다.

Climb 상태에서 Exit 할 때 떨어지면서 이동을 하여 Climb로부터 완전히 벗어나면,

Animation이 정상 재생되지 않습니다.

 

 

요즘 이 프로젝트에 얼마나 시간을 할애해야 할지 고민이 생겼습니다.

Unreal 하나만을 바라보고 가기에는 방향을 잘못 잡았나 싶기도 하고, 

Unreal이 아닌 게임 개발에도 유용한 인재라는 것을 보이기 위해서는

Windows Programming과 DirectX를 사용한 것을 보여줘야 하지 않나 싶기도 합니다.

 

그래서 가능하면 현재 리팩토링을 끝내고 난 뒤에는,

Unreal 개발을 주 4회에서 2회로 줄이는 대신 Windows Programming을 적극적으로 해볼까 싶습니다.

'개발일지 > Treasure Hunter' 카테고리의 다른 글

20.06.29 개발일지  (0) 2020.06.29
20.06.25 개발일지 2  (0) 2020.06.25
20.06.22 개발일지  (0) 2020.06.22
20.06.20 개발일지  (0) 2020.06.20
20.06.15 개발일지  (0) 2020.06.17

오늘은 Rope의 FSM 부분에 Blend by Bool로 분기를 나누어
Montage로 만든 ExitFromRope Animation들을 적용해보았습니다.

 

아직 완전히 정상적으로 작동하지는 않지만, 몇가지 공유할 사항들을 적어보고자 합니다.

 

우선 제가 한동안 Montage를 건들지 않는 사이에 Montage의 UI가 바뀌었습니다.

대체로 예전보다 더 한 눈에 잘 들어오지만, 예시를 보면서 따라하기에는 조금 불편했습니다.

 

FSM의 Cache 생성은 Animation Node 가장 밖에서만 가능하다는 것도 배웠습니다.

내부에서는 Cache 생성이 안떠서 원래 했던 것과 비교하기 위해 시도를 해보았는데,

가장 밖에서만 가능하다는 것을 발견하였습니다.

 

구현 방식은 Notify를 사용할까 하다가 Animation당 Montage를 따로 만들었습니다.

그리고 Montage의 종료를 AnimInstance의 OnMontageEnded에서 판단을 하였습니다.

해당 함수는 Montage가 종료 될 때마다 호출이 되는 함수이기에 불가피하게 if문으로 기능 여부를 판단하고 있습니다.

ExitClimbMontage인 경우, 기존에 호출되던 트리거 일괄 변경 함수인 ExitClimb가 호출이 됩니다.

그리고 기존의 ExitClimb가 호출되는 곳에서는 IdleType에 맞춰 적절한 ExitClimbMontage가 재생되도록 하였습니다.

 

하지만 현재 Montage 재생과 종료 시 함수는 호출이 되고 있는데, 애니메이션은 제대로 작동하지 않고 있습니다.

몇가지 예상되는 원인은 있습니다.

입력이 연속덕으로 들어가 재생이 연속적으로 되는 경우.

조건문이 잘못된 경우.

 

다음에는 입력을 제한해보려 합니다.

'개발일지 > Treasure Hunter' 카테고리의 다른 글

20.06.25 개발일지 2  (0) 2020.06.25
20.06.25 개발일지  (0) 2020.06.25
20.06.20 개발일지  (0) 2020.06.20
20.06.15 개발일지  (0) 2020.06.17
20.06.15 개발일지  (0) 2020.06.15

어제 필기시험을 연장 5시간정도 보고 곧바로 운동 하다 보니까 무언가를 할 시간이 없어서 따로 바로 쉬었습니다.

그러다보니 일지를 적지 못했습니다.

 

오늘은 Animation FSM을 살펴보며 Notify를 사용하지 않거나,

사용하더라도 Animation을 사용하는 방법이 있는지 찾아보았습니다.

결과적으로, Exit from Climb Animation은 Montage로 제작하여 Notify Event를 받아야 할 것 같습니다.

 

우선, FSM 변경으로 문제가 해결이 가능한지 고려를 해보았는데,

현재 Sub-FSM으로 묶여 있는 FullBodyMotion 밖에 복잡한 조건문을 받아 Blending 해야 했습니다.

그리고 이런 와중에서도 Animation 종료 시점은 확인해야 하기에 Notify 문제를 해결하지 못했습니다.

 

그 다음은 Animation에서 Notify Event를 받을 수 있는지 확인하는 것이었습니다만, 

이 역시 불가능 한 것 같습니다.

 

결국 이러나 저러나 Notify는 써야 하는데, 이걸 쓰려면 Montage를 써야 할 것 같습니다.

Climb 종류별로 Sub-FSM을 받는데, 이를 blend by bool로 분류하는 것을 생각 중입니다.

한가지 걱정인 것은 예전에 Blend by -를 여러개 중첩해서 쓰면 문제가 발생할 수 있다고 예전에 본 기억이 있습니다.

그리고 Montage와 Notify를 사용한지 굉장히 오래되어서 좀 걱정입니다.

 

오늘은 이왕 이렇게 된거 좀 더 쉬고, 월요일에 참고자료 보면서 만들어보려 합니다.

'개발일지 > Treasure Hunter' 카테고리의 다른 글

20.06.25 개발일지  (0) 2020.06.25
20.06.22 개발일지  (0) 2020.06.22
20.06.15 개발일지  (0) 2020.06.17
20.06.15 개발일지  (0) 2020.06.15
20.06.11 개발일지  (0) 2020.06.11

오늘도 문제가 해결되지는 않았지만, 몇가지 확인해볼 수는 있었습니다.

 

1. State 이동 조건을 변경하였습니다.

원래는 ClimbTrigger의 Overlap 여하에 따라 이동 여부를 확인했는데,

생각해보니 이에 따라 Climb 상태에서 탈출할 때 발생하는 몇몇 trigger 값의 변경이 있었습니다.

그래서 이들 중 하나를 조건으로 잡았습니다.

 

2. 결국은 조건의 문제였습니다.

Exit State에 하나의 Animation만 붙여보기도 했고, Exit 발생 시 Pawn을 teleport 시켜보기도 했습니다만

Animation이 정상적으로 재생되지 않고 있습니다.

State 안 조건문 문제는 아닌 것 같습니다.

 

이렇게 적어두고 잠깐 생각을 해보니, Climb 상태에서 빠져나오는 순간 Climb 상태에서 빠져나옵니다.

이 때 FullBodyMotion도 false가 되는데, 이 때문에 뒤에 붙은 Animation이 재생되지 않는 것일 수도 있겠습니다.

 

금요일에 다른 회사 온라인 테스트가 있는 관계로, 내일은 개발을 하지 못할 것 같습니다.

토요일에 Notify를 사용하거나 하여 Animation 재생이 끝난 후에 ExitClimb가 발생하도록 구상을 해볼 예정입니다.

'개발일지 > Treasure Hunter' 카테고리의 다른 글

20.06.22 개발일지  (0) 2020.06.22
20.06.20 개발일지  (0) 2020.06.20
20.06.15 개발일지  (0) 2020.06.15
20.06.11 개발일지  (0) 2020.06.11
20.06.08 개발일지  (0) 2020.06.08

+ Recent posts