inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

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

310

에밀

작성한 질문수 4

0

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

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

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

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

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

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

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

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

unity C#

답변 1

1

Rookiss

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

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

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

UI 기능 관련 질문이 있습니다!

0

29

2

픽셀 좌표 스크린 좌표

0

29

0

전체적으로 코드 읽는게 굉장히 오래 걸리네요...

0

69

2

카메라 #2 수업 캐릭터 쓰러짐 해결

0

81

1

플레이어 움직임이 끝날때, 기울어짐 현상

0

81

1

Input 적용과 관련하여 질문 있습니다.

0

72

1

디버그 불가.. Unity에 연결 불가

0

78

1

달리기 애니메이션 에러

0

85

2

오랜만에 게임을 만들다가 사운드 관련해서 뭔가 궁금한게 있어서 봤습니다

0

63

1

GetKey 오류

0

109

2

에셋을 어디에 올려두신지 알 수 있나요?

0

104

1

재귀호출? 오류나는데 왜 이래요 ?

0

167

6

Animation blending 파라미터 계산

0

65

1

newPos와 to지점이 겹쳐져야 하는거 아닌가요?

0

94

3

오브젝트 복제하니까 자꾸 이런게 뜨면서 꺼집니다

0

85

2

질문있습니다

0

142

2

아 이거 소스코드 같은거 없나요?

0

140

3

질문 드립니다. string.IsNullOrEmpty(name)

0

85

2

@Managers 가 씬에 배치되어 있어도 문제가 되지 않나요?

0

133

2

유니티6 NavMesh 안되는분들

1

174

1

Unity6 Unity-Chan Material 마젠타 문제 해결법

7

524

1

GetComponent<Poolable> 질문드립니다.

0

99

2

UI 불러오지 못함

0

116

2

UI 자동화 #1 - Util.cs의 FindChild함수에서 component.name에 컴포넌트 이름이 뜹니다.

0

152

2