Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

시작은 0부터

[Unity] 팀 프로젝트 ACC - 9/22 본문

개발일지

[Unity] 팀 프로젝트 ACC - 9/22

0base 2022. 9. 22. 23:58

0.75(6H) 동안 작업.

 

맵에 유닛과 접촉했을 때 상호작용을 일으킬 수 있는 오브젝트 구현.

플레이어가 해당 오브젝트와 접촉하면 점프를 하거나 가속도를 얻는 기능을 구현하기 위해 닿는 처리를 하기 위해 트리거 콜라이더를 사용했다.

 

처음에는 OnTriggerEnter() 함수를 오브젝트에 달아 접촉 유닛을 파악하고 이벤트를 발생시키도록 하려고 했으나, 포톤 네트워크를 사용하여 멀티 플레이로 작동하는 상황에서 오브젝트가 플레이어를 판단할 경우 오브젝트가 판단하는 시간을 처리하는 기준이 메인 클라이언트에서 처리되기 때문에 처리 결과가 지연되거나 다를 수 있다는 문제가 있다는 팀원의 조언과 제안으로 OnTriggerEnter() 함수를 플레이어에 달았다. 상호작용하는 오브젝트들은 Tag와 트리거 콜라이더만 설정하고, 각 플레이어들이 해당 오브젝트에 접촉했을 때 이벤트가 발생되는 방식으로 작동하기 때문에 클라이언트간의 결과값을 보내고 받는 데 걸리는 시간이 불필요하고 각자 알아서 계산하기 때문에 훨씬 효율적이라는 것을 알게 되었다.

 

그리고 OnTrrigerEnter() 함수 이벤트는 트리거 콜라이더, 즉, 트리거가 체크된 콜라이더를 가진 오브젝트가 자신의 트리거 여부를 판단하는 것이라고 알고 있었는데, Trigger 이벤트는 본인이 트리거가 아니더라도 트리거에 닿는 모든 트리거충돌 처리를 처리할 수 있는 구조였다. 기존에 알고 있다고 생각했던 함수들도 좀 더 다방면에서 사용해보는 시도를 해봐야겠다. 비슷한 구조는 비슷한 코드로 작성하다보니, 새로운 형식이나 새로운 인자값에 따라 함수 기능이 달라지는 경우도 미숙하다. 

 

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

[Unity] 팀 프로젝트 ACC - 9/29  (0) 2022.09.29
[Unity] 팀 프로젝트 ACC - 9/28  (0) 2022.09.28
[Unity] 팀 프로젝트 ACC - 9/26  (0) 2022.09.27
[Unity] 팀 프로젝트 ACC - 9/21  (0) 2022.09.21
[Unity] 팀 프로젝트 ACC - 9/20  (0) 2022.09.20