오늘은 Child Actor의 코드가 정상 작동이 되도록 수정을 하였습니다.

 

저번에는 Parent Actor의 tick이 Child Actor의 tick을 override 해서 문제가 생긴 것이 아닐까 예상 했습니다.

 

하지만 로그를 하나씩 찍어보다가 문제를 발견할 수 있었습니다.

 

원인은 Child Actor의 BeginPlay가 호출되지 않고 있었습니다.

 

올라올 벽과 함수가 호출하는 변수가 매칭되어야 하는데 BeginPlay가 호출되지 않아 함수가 작동을 제대로 하지 않았습니다.

 

그래서 Initialize 함수를 하나 만들어서 Parent Actor의 BeginPlay에서 호출하였습니다.

 

추가로, Trap의 On Actor Begin Overlap 이벤트에 Key를 Activate하는 함수를 Bind 했습니다.

 

다음에 할 일은 Key의 상호작용을 넣고, Puzzle에 Answer를 넣어 퍼즐 입력을 넣는 작업입니다.

 

이를 위해서 몇가지 선행되어야 하는 일이 있습니다.

 

첫번째. Character에서 상호작용이나 Melee Attack을 구분하는 변수를 추가해야 합니다.

 

현재는 둘 다 Layered Motion이라 Layered Motion 트리거만 작동하고 있습니다.

 

여기에 트리거를 추가할 계획입니다.

 

두번째. Block Trap에 벽을 해제하는 로직을 추가해야 합니다.

 

예전에는 큰 고려 안하고 개발하였으나, 현재는 로직에 의해 벽이 제거되기도 해야 합니다.

 

때문에 벽을 내리는 로직도 추가를 하고, 가능하면 벽을 움직이는 로직을 개선하고자 합니다.

 

 

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

20.03.19 개발일지  (0) 2020.03.19
20.03.18 개발일지  (0) 2020.03.18
20.03.14 개발일지  (0) 2020.03.14
20.03.12 개발일지  (0) 2020.03.12
20.03.11 개발일지  (0) 2020.03.11

오늘은 Child Actor에 이벤트를 bind 하는 부분을 시도했습니다.

 

우선 외부에서 Child Actor의 함수를 Implement 하는 방법은 찾지 못했습니다.

 

대신 Implement 해야 할 함수가 Bind 되어 있는 Event가 Multicast Delegate라서 여러 함수를 Bind 할 수 있다는 것을 알았습니다.

 

때문에 Trap의 Wall을 움직이는 함수는 Trap 내부에서 구현하고, 그 외에 Spawn이나 Activate 관련된 함수들은 Puzzle에서 구현을 하면 될 것 같습니다.

 

하지만 문제는 이것이 아니었습니다.

 

Trap만 맵에 두면 잘 작동하는데, Child Actor로 붙인 Trap은 작동을 하지 않습니다.

 

확인해본 결과 Bind된 함수는 Call이 되고 있었습니다.

 

좀 더 찾아봐야겠지만, Tick 부분에서 Trap 작동 부분이 if문으로 붙어 있는데 이 부분이 문제라 생각됩니다.

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

20.03.18 개발일지  (0) 2020.03.18
20.03.16 개발일지  (0) 2020.03.16
20.03.12 개발일지  (0) 2020.03.12
20.03.11 개발일지  (0) 2020.03.11
20.03.09 개발일지  (0) 2020.03.09

몇자 끄적이다가 구조가 머리속에서 제대로 잡히지 않아 개발 멈추고 구조 잡기부터 다시 했습니다.

 

언리얼 했던 것 믿은 것 반. 유니티 얕본 것 반.

 

대충 확립 할 수 있을 것이라는 근거 없는 자신감으로 임했다가 이 사단이 난 것 같습니다.

 

다시 구조를 잡으니까 더 좋은 방법들이 있었습니다.

 

Prefab이라던가, PlayerPrefs라던가.

 

변경사항을 간단히 정리하면 다음과 같습니다.

 

다시 정리가 된 만큼 큰 이슈 없이 기간 안에 기능이 구현되었으면 합니다.

'폐기된 게시판 > MBGC' 카테고리의 다른 글

20.03.20 개발일지  (0) 2020.03.20
20.03.17 개발일지  (0) 2020.03.17
20.03.10 개발일지  (0) 2020.03.10
20.03.06 개발일지  (0) 2020.03.06
20.03.03 개발일지  (0) 2020.03.03

어...음...

 

오전에 개발을 시작하였습니다.

 

우선 Puzzle이 Trap을 Child Actor로 가지고 있고, Trap의 On Character In Range 함수를 Puzzle에서 구현해줘서

Puzzle이 Trap을 사용하는 방식을 생각했습니다.

 

이를 위해서는 C++상에서 On Character In Range 함수가 구현된 몇몇 Trap들을 수정할 필요가 있었습니다.

 

이를 수정하고 동작을 확인한 뒤, 이를 Merge 하려 했습니다.

 

이때 한가지 생각이 들었습니다.

 

"이 작업은 Trap branch에서 이루어지는 것이 바람직하고, 아직 Puzzle branch는 안건드렸으니 Trap branch에 올릴까?"

 

모든 것의 시작이었습니다.

 

Trap branch에 올리면서 어제 오늘 했던 작업이 엉켜버렸습니다.

 

이를 해결하고 다시 복구를 하니 이 시간이 되었습니다.

 

너무 슬픕니다.

 

그리고 또 다른 난관에 봉착했습니다.

 

On Character In Range를 Puzzle 안에서 구현하지 못하는 것이었습니다.

 

이를 Trap이 Puzzle을 가지는 형태도 있지만, 이렇게 된다면 퍼즐의 기믹 구현이 복잡해 질 것입니다.

 

토요일에는 이 부분을 우선 해결하고자 합니다.

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

20.03.16 개발일지  (0) 2020.03.16
20.03.14 개발일지  (0) 2020.03.14
20.03.11 개발일지  (0) 2020.03.11
20.03.09 개발일지  (0) 2020.03.09
20.03.07 개발일지  (0) 2020.03.07

오늘은 선언만 해놓은 Puzzle들의 함수들을 채워넣었습니다.

 

완벽히 끝난 것은 아니고, C++로 선언한 Base Class들의 기능들만 채워놓은 상태입니다.

 

Child Actor Component를 사용해 선언해놓은 Trap들을 붙였는데 매우매우 간단한 것을 조금 해멨습니다.

 

선언해둔 Trap과 Puzzle의 구현부분에서 조금 마찰이 있었습니다.

 

특히 Block Trap의 범위 판정 함수는 C++상에서 작성이 되어 다른 Puzzle과 혼용하기가 힘들었습니다.

 

때문에 이 부분들을 조금 고치고, Puzzle을 작성할 예정입니다.

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

20.03.14 개발일지  (0) 2020.03.14
20.03.12 개발일지  (0) 2020.03.12
20.03.09 개발일지  (0) 2020.03.09
20.03.07 개발일지  (0) 2020.03.07
20.03.05 개발일지  (0) 2020.03.05

일이 도저히 잡히지 않아 오늘은 접었습니다.

 

취업준비를 하면서 가끔 이렇게 의욕이 바닥을 뚫고 지하까지 들어가는 경우가 있습니다.

 

아무래도 오늘이 그 날인 것 같습니다.

 

C++을 좋아하고, 언리얼을 좋아해서 이 두가지를 쓰는 쪽으로 공부를 해왔습니다.

 

그러다가 몇몇 회사에서 면접을 보러 오라 연락이 와서 면접을 보러 갔는데 전부 유니티를 요구했습니다.

 

유니티도 어느정도 공부해두는게 좋겠다고 생각하여 이 프로젝트를 시작하였습니다만.

 

의욕은 의욕대로 떨어지고 진행도 더디고 고민이 됩니다.

 

집중도 떨어지고 1년이 넘어가니까 조급해지기만 합니다.

 

유니티 프로젝트를 4월까지로 잡았는데 조금 더 여유를 가지고 진행할 것 같습니다.

 

부디 하루빨리 취직이 되었으면 합니다.

'폐기된 게시판 > MBGC' 카테고리의 다른 글

20.03.17 개발일지  (0) 2020.03.17
20.03.13 개발일지  (0) 2020.03.13
20.03.06 개발일지  (0) 2020.03.06
20.03.03 개발일지  (0) 2020.03.03
20.02.28 개발일지  (0) 2020.02.28

오늘은 처리해야 할 일이 있어서 개발을 많이 하지 못했습니다.

 

청년 지원금 사업을 두개를 신청 하였는데, 비슷한 사업에 동시에 두개 이상 참가가 불가하여 이것저것 알아보고 취소하느라 시간이 좀 걸렸습니다.

 

그러다가 5일 전에 면접을 본 것도 결과가 나왔습니다.

 

면접 때 큰 말실수를 하기도 했고, 당장 서비스 시작한 프로젝트가 있어서 신입보다는 경력을 뽑을 것 같았는데

아니나다를까 탈락했습니다.

 

이래저래 일을 처리하고 한 4시간 개발을 한 것 같습니다.

 

오늘은 퍼즐 객체의 기반이 될 PuzzleBase와, 예시로 작성할 DestroyPuzzleBase, AttachPuzzleBase의 기능만 러프하게 선언 해놓았습니다.

 

내용을 채워넣는 것은 수요일부터 시작할 것 같습니다.

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

20.03.12 개발일지  (0) 2020.03.12
20.03.11 개발일지  (0) 2020.03.11
20.03.07 개발일지  (0) 2020.03.07
20.03.05 개발일지  (0) 2020.03.05
20.03.04 개발일지  (0) 2020.03.05

한 일주일 삽질 한 것 같습니다.

 

며칠 비실비실 거리며 있다가 오늘 결론이 났습니다.

 

우선 투사체를 발사하는 Fire Trap.

 

코드를 예시와 똑같이 작성했는데 발사가 되지 않고 공중에 멈춰 있는 버그가 있었습니다.

 

처음에는 코드를 짜보고, 그 다음에는 프로젝트 전반적으로 가속도가 적용이 안되고 있나 이슈도 적어보았습니다.

 

하지만 문제는 다른 부분이었습니다.

 

투사체 움직임을 담당하는 부분은 Projectile Movement입니다.

 

이는 Component를 독자적으로 생성하는 것이 아니라 기존의 Component에 Attach를 해야 합니다.

 

이 때, Projectile Movement Component를 Root Component에 Attach를 했어야 했는데, 

프로젝트 내에서 만들어 사용하는 Base Actor의 Box Component에 Attach 되어있었습니다.

 

이를 Root Component에 Attach하니까 정상적으로 작동이 되었습니다.

 

다음으로 바닥이 꺼지는 Vanish Trap.

 

 Runtime 상에서 Geometry Brush를 생성, 조작을 하는 것을 생각 했습니다.

 

Blueprint에서 하는 방법은 결국 찾지 못하고 C++ 코드 상에서 Box Brush를 생성해 조작하는 방법은 찾았습니다.

 

하지만 뜻대로 잘 되지 않았습니다.

 

아마 관련 문서도 없고, Unreal Answer Hub에 올라온 질문 하나를 보고 따라 하는데 이해가 부족한 것 같습니다.

 

이 이상 시간을 끌면서 할 정도의 정신력도 마모 되었고,

참고할 내용도 적어 이 즈음에서 마무리 하고 뒤로 미루었습니다.

 

기회가 된다면 이 방법으로든, 아니면 다른 방법으로든 이 함정을 구현하고자 합니다.

 

일주일이면 끝날것만 같던 Trap 작업이 2배 이상 걸리면서 마무리 되었습니다.

 

오늘 내일 마음 추스리고, 다음 주부터는 Puzzle을 구현할 계획입니다.

 

Puzzle이 Trap과 비슷하게 걸린다면 21일에는 일이 끝난다는 것인데,

부디 그 즈음에 끝나서 Refactoring 할 것들을 좀 정리해보는 시간을 가졌으면 합니다.

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

20.03.11 개발일지  (0) 2020.03.11
20.03.09 개발일지  (0) 2020.03.09
20.03.05 개발일지  (0) 2020.03.05
20.03.04 개발일지  (0) 2020.03.05
20.03.02 개발일지  (0) 2020.03.02

저번에 거창하게 PUN2를 읽고 정리 한 다음에 뭔갈 하겠다고 했습니다만

 

막상 해보니까 많은 것을 요구하지는 않더군요.

 

막상 봐야 하는건 Room과 관련된 것들. Lobby와 관련된 것들.

 

그리고 RPC 부분이었습니다.

 

Room은 게임이 실제로 돌아가는 단위, Lobby는 그 이전 단계를 지칭하는데

 

제가 만드는 게임은 특성상 매치매이킹이나 여러 Room을 볼 수 있지는 않습니다.

 

오프라인에서 플레이어들이 직접 Room Name을 공유하고, 이를 직접 적어내야 Join이 가능합니다.

 

때문에 Lobby는 필요 없고, Room만 만들어서 작동하면 됩니다.

 

RPC도 개념은 알지만 어떤 함수를 어떻게 써야 하는지 몰랐는데 

 

한국어로 된 좋은 블로그 글을 찾아서 문제를 해결할 수 있었습니다.

 

https://photonkr.tistory.com/22?category=1030095

 

[PUN]RPC 알아보기

포톤은 여러 서비스를 제공합니다. Realtime, PUN 등등 그 중 PUN은 원격프로시저호출(Remote Procedure Call)을 지원합니다. * 프로시저(Procedure)란? - 루틴이나 서브루틴 및 함수와 같은 뜻 - 어떤 행동을 수..

photonkr.tistory.com

이를 통해 RPC를 이용한 Room 정보 변경도 가능할 것 같습니다.

 

몇가지 문제가 남긴 합니다만 애당초 PUN2는 테스트를 위해서 쓰는 라이브러리고, 

 

기능이 구현 되면 Bluetooth로 변경하는 과정이 있기 때문에 이쯤으로 만족 할 것 같습니다.

 

요즘 피로가 누적되었는지 몸이 골골해서 개발 시간이 점점 짧아지는 것 같습니다.

 

빨리 회복해서 더 많은 일을 소화했으면 합니다.

'폐기된 게시판 > MBGC' 카테고리의 다른 글

20.03.13 개발일지  (0) 2020.03.13
20.03.10 개발일지  (0) 2020.03.10
20.03.03 개발일지  (0) 2020.03.03
20.02.28 개발일지  (0) 2020.02.28
02.20.25 개발일지  (0) 2020.02.25

음... 여러모로 힘든 하루였습니다.

 

Brush 다루는건 코드는 맞는 것 같은데 제대로 되지 않고.

 

이쪽도 너무 막혀서 총알 발사하는 부분을 다뤄보자니 속도 값은 제대로 들어가는데 발사가 되지 않고.

 

이 쪽은 현재 중력서부터 적용이 안되는 느낌이라 이 문제서부터 찾아보면 실마리가 조금 보이지 않을까 싶습니다.

 

Brush를 이용하는건... 되는지 먼저 확인해보는게 좋을 것 같습니다.

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

20.03.09 개발일지  (0) 2020.03.09
20.03.07 개발일지  (0) 2020.03.07
20.03.04 개발일지  (0) 2020.03.05
20.03.02 개발일지  (0) 2020.03.02
20.02.29 개발일지 2  (0) 2020.02.29

+ Recent posts