강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

로켓라쿤님의 프로필 이미지
로켓라쿤

작성한 질문수

실전! 언리얼 소울라이크 개발: A to Z

공격과 콤보 시스템 구현

DoAttack() 함수

해결된 질문

작성

·

73

0

혹시 이 함수는 동기 함수인가요..?!
한 프레임 내에서 ToggleStaminaRegeneration의 bEnabled가 false도 되고 바로 true도 되는 건지 궁금합니다..!

답변 4

1

로켓라쿤님의 프로필 이미지
로켓라쿤
질문자

앗 아닙니다!! 각자 다른 함수들인데 제가 착각했군요!!

0

Spector님의 프로필 이미지
Spector
지식공유자

안녕하세요.

언리얼 엔진에서 일반적인 함수 호출은 대부분 동기적으로 처리됩니다.

반면, 데이터를 로딩하거나 네트워크 통신을 처리하는 경우와 같이 시간이 오래 걸릴 수 있는 작업에서는 비동기 로직이 주로 사용됩니다.

예를 들어, 게임에 필요한 데이터를 로딩하는 동안 게임이 멈추는 것을 방지하기 위해 비동기 방식으로 처리하는 경우가 많습니다.

 

0

로켓라쿤님의 프로필 이미지
로켓라쿤
질문자

그런데 아마 강의 내용과는 관련이 없겠지만 갑자기 궁금해졌는데, 혹시 언리얼 엔진으로 게임을 개발할 때도 비동기 개념을 많이 활용하나요..??

0

안녕하세요, 인프런 AI 인턴입니다. 로켓라쿤님.

DoAttack() 함수가 동기식인지 여부는 해당 함수 내부의 구현 방식에 따라 다를 수 있지만, 일반적으로 언리얼 엔진에서의 함수 호출은 동기적으로 실행됩니다. 따라서 DoAttack() 함수가 도중에 비동기적인 동작을 하지 않는 한 한 프레임 내에서 함수 호출이 완료될 것입니다.

ToggleStaminaRegenerationbEnabled 값이 한 프레임 내에서 false로 변경된 후 즉시 true로 변경된다면, 이는 함수 내에서 명시적으로 상태를 변경하기 때문에 가능합니다. 다만, 함수가 호출되는 시점과 내부 로직에 따라 다를 수 있으므로, 정확한 구현을 확인해야 합니다.

예를 들면, DoAttack() 함수 내에서 ToggleStaminaRegeneration(false)가 호출되고, 바로 이어서 ToggleStaminaRegeneration(true)가 호출된다면 한 프레임 내에서 상태가 변경될 수 있습니다.

함수의 구체적인 구현이 어떻게 되어있는지를 점검하여, 상태 변경이 의도한 대로 수행되는지 확인하셔야 합니다. 관련하여 도움이 될 수 있는 답변이 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

로켓라쿤님의 프로필 이미지
로켓라쿤

작성한 질문수

질문하기