오늘은 Piece와 Latch들간의 Interaction 부분의 문제를 수정하였습니다.

 

처음 한 2시간은 디버그를 돌려보면서 트리거가 문제가 생기는 부분을 체크해보았습니다.

 

그런데 버그 여부를 떠나서 정확히 어느 상황에서 버그가 나는지를 인지할 수 없었습니다.

 

그래서 다시 종이와 펜을 들고 순서도를 다시 그리기 시작했습니다.

 

주요 골자는 다음 두가지입니다.

 

1. Front Trigger와 Overlap을 통해 저장되는 Piece를 OverlappedPiece와 AttachedPiece로 분리

2. AttachPiece와 Latch의 Area에 OverlapEvent를 제거

 

1번은 Front Trigger가 여러개였기에 특히 의도치 않은 Trigger 값의 변화를 야기했습니다.

 

이를 캐릭터가 소지중인 Piece와 앞에 놓여진 Piece로 분류를 하였습니다.

 

이와 동시에 조건을 조금 더 세세하게 나누어 오류가 발생하는 것을 줄였습니다.

 

2번은 개발 하는 도중에 깨달은 점이었습니다.

 

어차피 상호작용이 일어나기 전에는 Piece나 Latch의 범위 안에 들어오든 말든 아무 의미가 없었습니다.

 

그리고 Front Trigger가 존재함으로서 필요한 Trigger 값의 변화는 오히려 이 쪽에서 발생하는 것이 자연스러웠습니다.

 

그래서 Piece, Latch에서 발생하는 모든 Trigger 변화와 overlap event를 제거하였습니다.

 

대신 OnInteractionPressed와 OnInteractionReleased 함수에서 기존의 InteractionType 변화를 넣어주었습니다.

 

이로써 Character의 Interaction에 필요한 정보는 Front Trigger의 overlap 이벤트에서, 

 

Interaction의 구분과 그에 대한 동작은 OnInteractionPressed/Released 함수에서 담당합니다.

 

그럼에도 아직 한가지 오류가 있습니다.

 

Latch에 Attached 되어 있던 Piece를 Detach 하고 있으면 Character가 이상한 곳으로 튀어버립니다.

 

내일은 이 오류를 중점적으로 수정하고, Piece Switch 기능을 검수할 예정입니다.

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

20.04.04 개발일지  (0) 2020.04.04
20.04.02 개발일지  (0) 2020.04.02
20.03.30 개발일지  (0) 2020.03.30
20.03.28 개발일지  (0) 2020.03.28
20.03.26 개발일지  (0) 2020.03.26

+ Recent posts