오늘은 Spawn Trap의 기본적인 SpawnedActor 부분을 처리하고, 두가지 BP Trap을 만들어놓았습니다.

구현을 하면서 잠깐 고민을 한 부분이 있습니다.

일반 Actor를 Spawn 할 때는 Activate만 하면 되지만, Projectile은 Activate가 되면 곧바로 Fire가 호출되어야 합니다.

이 때 Fire 방향을 지정해야 하는데,
이 부분이 기획에 따라 매번 바뀔 수도 있고 아무튼 처리하는데 선택지가 많았습니다.

하지만 발사 때마다 바뀌려면 Activate가 파라미터를 받도록 Overload를 만들어줘야 하고, 

그렇다면 결국 상세한 Type을 받아야 했습니다.

 

그래서 저는 Fire Direction을 미리 지정하고, 매번 같은 방향으로만 발사되도록 하였습니다.

디테일한 부분보다는 기능 위주로 구현해야 할 것 같다고 최근 생각이 바뀌게 되면서 결정한 사항이었습니다.

 

일단 정상 작동을 하고 있지는 않은데 그 이유를 알아보는건 내일로 미루었습니다.

실내에 환기 중임에도 기온이 38도를 육박하고, 슬슬 3개의 모니터가 4개로 보이기 시작했습니다.

쉬어야겠습니다...

 

내일 열심히 하면 이번주 내로 4개의 Trap을 완성할 수 있을 것 같습니다.

그렇다면 뒤이어 Teleport를 시도해보고 가능하면 이번주 안에 Teleport Trap까지 완성을 해보겠습니다.

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

20.08.22 개발일지  (0) 2020.08.22
20.08.20 개발일지  (0) 2020.08.20
20.08.17 개발일지  (0) 2020.08.17
20.08.15 개발일지  (0) 2020.08.15
20.08.13 개발일지  (0) 2020.08.13

2개의 Block Trap을 Multiplay상에서 구현을 했습니다.

 

 

구현을 하긴 했는데... 솔직히 아직 이 기능의 핵심인 InterpToMovementComponent에 대해 적을 자신이 없습니다.

더 효율적이고 적절한 사용 방식이 있을 것 같긴 한데...

뭔가 이해도가 떨어진다는 느낌이 듭니다.

 

아무튼 구현을 했는데, 크러시가 난 이유는 ControlPoints를 초기화 하지 않았기 때문이었습니다.

그 다음 문제는 벽이 잘못된 위치에서 소환된 것인데 무엇이 문제고, 무엇이 해결법인지 모르겠습니다.

Reset 위치를 조금 바꾼 것과 rebuild 몇번 했는데 해결되어버렸습니다.

참... 찜찜하지 않을 수 없습니다.

 

우선 빠른 목표 달성을 위해 일단은 남겨두지만,

언젠간 좀 더 알아보고 InterpToMovementComponent의 사용방법을 정리해보겠습니다.

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

20.08.20 개발일지  (0) 2020.08.20
20.08.19 개발일지  (0) 2020.08.19
20.08.15 개발일지  (0) 2020.08.15
20.08.13 개발일지  (0) 2020.08.13
20.08.10 개발일지  (0) 2020.08.10

오늘은 Block Trap을 먼저 구현을 해보았습니다.

개발을 하면서 Projectile 부분이 구현이 미흡하다는 점과,

Trap에서 InRange 관리 부분이 호출이 안되어 있음을 발견하고 이 부분을 수정했습니다.

 

이렇다 보니 구현된 부분이 정확한지 잘 안그려져 좀 느리게 개발한 것 같습니다.

하지만 기능이 완벽히 구현되지는 못했는데, RepNotify가 작동하지 않고 있습니다.

https://docs.unrealengine.com/ko/Gameplay/Networking/QuickStart/index.html

 

Multiplayer Programming Quickstart Guide

Create a simple multiplayer game in C++.

docs.unrealengine.com

오류가 나지 않는 것으로 보아 문법은 문제가 없는 것 같은데 이유를 잘 모르겠습니다.

 

혹시나 하여 RepNotify를 그대로 두고 Overlap마다 호출을 해보았는데

장해물을 이동시키는 함수에서 크래시가 발생합니다.

원래는 휴일도 하고 있었지만 내일은 자기소개서와 포트폴리오를 좀 더 다듬기 위해 모래 개발을 이어갈 것 같습니다.

 

고민이 좀 되는데 우선 repNotify가 되지 않는다면 그냥 Overlap 이벤트마다 값을 체크해볼 것 같습니다.

그리고 장해물 이동 부분을 수정을 해보려 합니다.

 

이제는 더도말고 덜도말고 일주일에 2개씩만 구현했으면 좋겠습니다.

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

20.08.19 개발일지  (0) 2020.08.19
20.08.17 개발일지  (0) 2020.08.17
20.08.13 개발일지  (0) 2020.08.13
20.08.10 개발일지  (0) 2020.08.10
20.08.09 개발일지  (0) 2020.08.09

Climb 시 Teleport에 대해 여러 방법을 시도를 해보았습니다.

Controller 단위에서 Teleport.

Character 단위에서 Teleport.

Movement Component 단위에서 Teleport.

하지만 무엇 하나 제대로 되지 않았고, 안되는 이유도 찾지 못했습니다.

이러다가 몇일이고 삽질만 하다가 결국 못할 것 같아 바로 Trap으로 넘어갔습니다.

일단은 IObjectActivity와 ITrapActivity에 구현된 기능들을 적용하기 위해 이전 기능들을 삭제하고, 

함수들을 호출만 해놓은 상태입니다.

내일부터 하나씩 Multiplay 상에서 적용되도록 할 예정입니다.

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

20.08.17 개발일지  (0) 2020.08.17
20.08.15 개발일지  (0) 2020.08.15
20.08.10 개발일지  (0) 2020.08.10
20.08.09 개발일지  (0) 2020.08.09
20.08.08 개발일지 2  (0) 2020.08.08

오늘은 Climb 관련 Interface 작업을 진행했습니다.

우선 기능 자체를 보았는데, 이미 기능들이 Multiplay 환경에서 어느정도 완성이 되어 있었습니다.

기능 구현을 하면서 Multiplay를 같이 고려 했던 것을 보고 나서야 기억이 났습니다.

 

그리고 Interface에서 제공할 기능들을 살펴보는데, 보면 볼수록 Interface가 필요가 없을 것 같다는 생각이 들었습니다.

첫번째로, Climb는 Attach와 달리 비슷한 속성을 가진 다른 Actor가 없습니다.

Climb이 가능한 것들은 기본적으로 Climbs로 분류되고, 아직까지 일반 Actor에 이 속성이 부여될 계획이 없습니다.

그렇기에 그냥 기존처럼 Super Class를 제공해도 된다고 생각했습니다.

두번째로, Attach 기능을 하는 것도 Character계열이고, 그 외에는 관련 기능을 필요로 하지 않기 때문입니다.

사실 억지로라도 구현은 가능하겠지만, Climb 가능한 것들에 대한 Interface의 존재 의의가 흐려졌기 때문에 이 역시 존재 의의를 잃었다고 봅니다.

 

그래서 Climb 관련 Interface들은 삭제하였습니다.

그러자 모든 문제가 사라지고, 곧바로 기능 문제로 이동했습니다.

여전히 제 Character는 윗쪽에서 진입 시 Character가 원하는 방향(Z축 기준 180도 회전)으로 움직이지 않습니다.

TeleportTo, SetActorRelativeRotation 모두 정상적으로 작동하지 않습니다.

Character다 보니까 CharacterMovementComponent를 이용해야 하나 싶기도 한데

아직 갈피를 못잡아서 커뮤니티에 질문글을 올리고 마무리를 하였습니다.

내일부터 수요일까지 면접이라 목요일까지 좀 알아보고, 체력이나 멘탈 여부를 보고 마저 진행할지를 고민하려합니다.

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

20.08.15 개발일지  (0) 2020.08.15
20.08.13 개발일지  (0) 2020.08.13
20.08.09 개발일지  (0) 2020.08.09
20.08.08 개발일지 2  (0) 2020.08.08
20.08.08 개발일지  (0) 2020.08.08

오늘은 열 하루만에 드디어 Multiplay 상의 Attach 기능을 구현하였습니다.

코드를 보고 싶어하는 회사에도 메일을 보냈습니다.

 

구현하면서 시간이 오래 걸린 부분은 Latch와의 상호작용이었습니다.

단순히 Piece와의 관계는 Replicate와 Character 내부에서의 코드만 만지면 되기에 비교적 쉽게 구현할 수 있었습니다.

하지만 Latch는 여기에 Latch가 섞이면서 3개를 동시에 관리를 해야 했습니다.

게다가 이 중 몇몇 코드는 Piece와 Character간의 상호작용 코드와 90% 이상 동일했기에

둘 사이를 관리하는 함수를 재 사용 하는데, 이 때 사소한 문제가 시간을 오래 잡아먹었습니다.

 

그리고 Attach 뿐만 아니라 Collision을 관리 하는 것에서도 시간을 잡아먹었습니다.

Piece의 Attach Detach가 직접적으로 이루어지지 않기 때문에 중간중간에 가만히 있는 시기가 존재하는데.

이 때 Character와 Collision이 발생해서 예상치 못하게 트리거 값들이 변하는 문제가 치명적이었습니다.

게다가 무슨 이유인지 Debug를 해도 이벤트에 진입하지 않고 진행 되면서 Log로 문제가 되는 부분을 찾아야 했습니다.

 

그리고 시간이 조금 더 남아 Wall을 두개로 나누어 하나는 Climb 전용 Wall.

다른 하나는 Trap에서 사용될 Obstacle로 분리했습니다.

 

다음에 할 일을 나열해보자면

1. Climb

2. Trap

3. Puzzle

4. 기타 Object

5. Animation 관련 사소한 조정

 

이렇게 있습니다.

이 중 5번은 다음번으로 미루어도 될 정도의 수준이고,

4번도 구현 기능 테스트를 더 정확히 하기 위한 것으로 엄밀히 말하면 나중에 해도 되긴 합니다.

 

결국 1, 2, 3이 남는데 이 중 1번 Climb를 먼저 하려 합니다.

일단 기능이 어느정도 완성되어 있는만큼 이 기능을 먼저 Multiplay에서 가능하게 하고, 

그 다음 Trap을 구현하고자 합니다.

Trap이 다 되면 이를 기반으로 Puzzle을 구현하고, 그 뒤에는 기타 사소한 조정을 할 예정입니다.

 

기한은 솔직히 모르겠습니다.

Attach도 완성되어 있던 것을 구조 변경 하면서 4일은 밤샘으로 열흘 정도 걸렸는데

Climb는 그래도 이전에 어느정도 정리를 했으니 밤샘 없이 열흘 정도 걸리지 않을까 싶습니다.

Trap은 보름에서 스무날이 걸릴 것으로 예상합니다.

개인적으로 이 두개를 8월 안에 끝내는 것이 1차 목표입니다.

Puzzle은 새로 만들어야 하기에 이 역시 열흘에서 보름은 생각하고 있습니다.

 

이렇게 적어놓으니 중요 기능은 9월 중순까지로 예상됩니다.

1차 목표는 8월 전까지 Trap 구현이지만,

솔직히 Puzzle도 구현하여 9월에 어느정도 완성된 코드를 포트폴리오에 사용하고 싶습니다.

그 전에 지금 면접을 보는 회사 중 마음에 드는 회사에 입사를 하면 더 좋겠구요.

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

20.08.13 개발일지  (0) 2020.08.13
20.08.10 개발일지  (0) 2020.08.10
20.08.08 개발일지 2  (0) 2020.08.08
20.08.08 개발일지  (0) 2020.08.08
20.08.06 개발일지  (0) 2020.08.06

조금씩 버그를 고친 끝에 Attach 기능의 8할? 9할? 정도를 오나성했습니다.

 

지금은 멀티플레이 상에서 대부분의 상황에서 원하는대로 기능이 작동합니다.

다만 두가지 경우에 원하는대로 작동하지 않는데,

하나는 Latch에 Piece가 Attach된 상태에서 Character가 Piece를 Attach 한 상태로 Latch와 Collision 했다가 취소 했을 때 Detach를 하지 못합니다.

다른 하나는 Latch와 Character가 각각 Piece를 Attach 한 상태에서 Interaction을 하는 경우.

즉, Switch의 경우 마찬가지로 이후 Detach를 할 수 없었습니다.

 

분기로 보아 어느 순간 InteractionType이 Attach가 아닌 Default로 변하는 것 같습니다.

지금 끝내는 것도 좋으나, 하루 여유가 있으니 무리하지 않고 오늘은 정상적으로 보내고 내일 낮에 마무리 하겠습니다.

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

20.08.10 개발일지  (0) 2020.08.10
20.08.09 개발일지  (0) 2020.08.09
20.08.08 개발일지  (0) 2020.08.08
20.08.06 개발일지  (0) 2020.08.06
20.08.05 개발일지  (0) 2020.08.05

이렇게 이른 시간에 일지를 작성하는 이유는 어제 잠을 자지 않고 이미 12시간 넘게 개발을 했기 때문입니다.

 

Attach 기능들에 대한 대대적인 수정을 통해 원래 구현하고자 했던 내용들은 구현을 하였습니다.

 

그 결과 Attach와 관련된 6가지 기능 중 Attach, Detach, Re-Attach는 완벽하게 작동을 하고 있습니다.

다만 Latch와 관련된 기능 중 Attach to Latch는 작동은 하나

작동 이후 Attach 된 Piece가 계속 Collision이 발동된다는 문제가 발생하고 있습니다.

 

Collision을 계속 건드려주고 있는데 문제를 해결하지 못해 다음에는 bActive 값을 이용해보려 합니다.

OnPiece/LatchStart/EndOverlap에서 대상의 bActive를 확인하고, Attach/Detach 과정에서도 이를 좀 다뤄볼까 합니다.

 

오늘 저녁도 제대로 잘 것 같지는 않으니 일지를 적고 좀 쉬었다가 하려고 합니다.

갑자기 무슨 바람이 들었냐고 물으신다면,

다음주에 면접 볼 회사 중 한곳에서 이 프로젝트의 현재 코드를 보고 싶다고 요청이 들어왔습니다.

이대로 제출할 수도 있으나, 개발하던 것은 마무리하고 제출하고 싶은 욕심이 있어 시간을 더 투자하고 있습니다.

 

주말 안에는 Attach 기능이 다 구현 되었으면 합니다.

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

20.08.09 개발일지  (0) 2020.08.09
20.08.08 개발일지 2  (0) 2020.08.08
20.08.06 개발일지  (0) 2020.08.06
20.08.05 개발일지  (0) 2020.08.05
20.08.03 개발일지  (0) 2020.08.03

오늘은 Latch와의 상호작용을 고치려다가 Attach 기능 전반을 다시 만지게 되었습니다.

Latch와의 Attach가 안되는 이유는 Detach를 한 후 Object가 탐색이 되지 않았기 때문입니다.

저는 이 Object를 Output이라는 파라미터에 저장하려 했는데, 저장이 되지 않았습니다.

이를 OverlappedPiece로 우회할까 싶기도 했는데 이 방법도 통하지 않아, 결국 조금씩 함수 기능을 수정하고 있습니다.

 

우선 Output을 받는 것을 모두 없애고, Attach/Detach 함수들은 기본적인 Attach, Detach만 담당하도록 하였습니다.

그리고 Collision, Visibility 등을 Interface에서 제공하도록 하였습니다.

구현은 아직이지만, 일단 이런 방식으로 하여 값을 변경하려 합니다.

 

일이 늘어나긴 했지만, 뭔가 전반적으로 다 고치다 보니 2보 전진을 위한 1보 후퇴 느낌입니다.

그리고 한 회사에서 면접 제의가 왔는데,
지금 이 프로젝트의 현재 코드를 보고 싶다고 하여 토요일 일요일 새벽에 무리를 해서라도 마무리 하고자 합니다.

이번에는 반드시 주말 안에 Attach 기능을 마무리 하도록 하겠습니다.

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

20.08.08 개발일지 2  (0) 2020.08.08
20.08.08 개발일지  (0) 2020.08.08
20.08.05 개발일지  (0) 2020.08.05
20.08.03 개발일지  (0) 2020.08.03
20.08.02 개발일지  (0) 2020.08.02

오늘은 Attach 되는 Piece의 크기와 Collision을 조절해서 Attach 후 움직임에 방해가 없도록 하였습니다.

움직이면서 버벅이는건 Piece에 다리가 걸려서 그런 것이었습니다.

이를 Collision과 크기로 조절하니 굳이 동기화 주기를 맞출 필요는 없었습니다.

물론 나중에는 고려해야 하겠지만 아직까지는 패스 해도 될 것 같습니다.

 

그리고 Detach 시 HoldingPiece를 OverlappedPiece로 저장해 Detach 후 바로 Re-Attach가 가능하도록 하였습니다.

 

이후 Attach to Latch 과정에서 오류가 발생했는데,

Detach 후 Piece를 변수에 저장하는 것이 제대로 작동하지 않았습니다.

이 부분을 수정해서 Latch에 제대로 저장이 되도록 해보겠습니다.

 

내일은 이 Latch와의 상호작용을 테스트해볼 것입니다.

우선 비어 있는 Latch에 Piece를 Attach하는 것.

그 다음은 Latch에 Attach된 Piece를 가져오는 것.

그 뒤에는 두 Piece간의 Exchange와 Latch에 Attach된 Piece와의 Exchange를 테스트 할 것입니다.

이후에는 Piece와의 상호작용 시 Text를 화면에 출력해서 간이로라도 결과가 확인이 되도록 할 것입니다.

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

20.08.08 개발일지  (0) 2020.08.08
20.08.06 개발일지  (0) 2020.08.06
20.08.03 개발일지  (0) 2020.08.03
20.08.02 개발일지  (0) 2020.08.02
20.08.01 개발일지  (0) 2020.08.01

+ Recent posts