🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

강의 진행시 대부분의 계산을 update에서만 처리한 이유가 궁금합니다.

21.02.18 14:54 작성 조회수 201

0

강의와 관련있는 질문을 남겨주세요.
• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)
• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)
서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등)

질문 전달에도 요령이 필요합니다.
• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.
• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.
• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. 
• 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요!

구체적인 질문일수록 명확한 답을 받을 수 있어요.
• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.
• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.
• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다.

기본적인 예의를 지켜주세요.
• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. 
• 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. 
반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다. 

안녕하세요. 강의를 수강한지 좀 지났습니다.

당연하지만 실습을 개인적으로 진행하면서 유니티 툴에 익숙해지지 않으면 강의를 들은 것이 의미가 없어지므로

현재 개인 프로젝트를 진행하고 있습니다. 

강의를 진행하는 동안 많은 작업을 Update() 이벤트 함수에서 해결 했습니다. 유니티 공식문서를 보니 update말고도 많은 이벤트 함수가 있었습니다. 이미 유니티에서 OnCollisionEnter 과같은 이벤트함수는 이미 있는데 모든 충돌처리를 Update에서 한 이유가 궁금합니다. 강의 내용을 곱씹어보면 다른 이벤트 함수도 충분히 쓸만한 곳이 있던 것으로 기억됩니다. FixedUpdate, OnGUI등등 실제로는 성능이나 코드 작성할 때 해당 이벤트 함수를 사용하는 것은 이점이없는 것인지, update에 전부 넣는 것이 관리에 수월한지 등등 궁금합니다.

답변 1

답변을 작성해보세요.

1

용도에 맡게 활용해서 잘 동작하면
어느 방식이라도 상관 없습니다.

Update 외에도 다양한 함수들이 있는데
LateUpdate에서는 Update 다음에 호출되는 일종의 2차 업데이트고,
FixedUpdate는 고정 프레임에서 실행되어야 하는 (ex. 물리 공식 등) 부분을 넣어 사용할 수 있습니다.
OnCollisionEnter나 OnTrigger~ 시리즈는 
Collider를 붙여주고 충돌 이벤트가 발동해서 호출되는데
충돌이 일어났을 때의 처리를 할 때는 유용하지만,
반대로 충돌하기 직전에 좌표 이동을 막는 용도로 활용하기에는 살짝 애매합니다.

다만 일반적으로는 Update에 프레임마다 체크할 로직을 넣고,
프레임마다 체크할 필요 없다면 코루틴으로 주기적으로 체크하게
넣는 것이 관리 차원에서 용이합니다.
나머지 이벤트는 필요한 상황이 있다면 잘 판단해서 사용해주시면 됩니다.
가령 어떤 포탈에 입장하면 순간이동을 한다면,
Update에서 매 프레임 입장을 체크하는 것보다
포탈쪽 OnTriggerEnter에서 해당 코드를 넣어주는 것이 좋긴 하겠죠.

채널톡 아이콘