해결된 질문
작성
·
60
답변 2
1
안녕하세요! BurningCarrot입니다. 문의해 주신 내용에 답변 드립니다.
AAA 게임에서는 전환 씬을 따로 만들기도 하지만 그 정도 규모의 게임이 아닐 경우 그렇게 까지 할 필요는 없습니다. 씬 전환 시 전용 UI를 활성화하고 씬 로딩이 끝났을 때 해당 UI를 비활성화 하는 것으로도 충분합니다. 유니티에서는 씬 로딩이 끝났을 때 호출되는 콜백이 있습니다. 그 콜백이 호출될 때 UI를 비활성화 처리하시면 됩니다. 예시 코드를 첨부합니다.
private void OnEnable()
{
SceneManager.sceneLoaded += OnSceneLoaded;
}
private void OnDisable()
{
SceneManager.sceneLoaded -= OnSceneLoaded;
}
void OnSceneLoaded(Scene scene, LoadSceneMode mode)
{
//씬 전환 UI 비활성화 처리
UIManager.Instance.CloseSceneLoadingUI();
}
public void LoadScene(SceneType sceneType)
{
Logger.Log($"{sceneType} scene loading...");
Time.timeScale = 1f;
//씬 전환 UI 활성화(SceneLoader 하위에 씬전환 UI를 배치하든 UIManager에 하든 그것은 상관 없음)
UIManager.Instance.OpenSceneLoadingUI(); //UIManager에 씬전환 UI가 있다고 가정했을 경우. UI 활성화/비활성화 함수는 자체적으로 구현하셔야 합니다.
SceneManager.LoadScene(sceneType.ToString());
}
0
안녕하세요, 인프런 AI 인턴입니다. 허인호님.
질문해 주신 내용은 게임의 씬 전환 방식에 관한 부분인데요, MMORPG와 같은 게임에서는 각기 다른 방식으로 씬 전환을 사용할 수 있습니다. 이를 두 가지 주요 방법으로 설명드리겠습니다:
전환 씬을 활용한 방법:
현재 씬 내에서 UI 효과를 활용하는 방식:
실제 MMO 게임은 자주 사용되는 씬 전환 기능을 최적화하고, 유연성을 높이기 위해 별도의 전환 씬을 사용하는 경우가 많습니다. 효율적인 방법은 게임의 장르, 로딩 속도, 씬의 복잡도에 따라 다를 수 있어 유연하게 대응하는 것이 중요합니다.
유사한 질문과 답변들은 아래의 게시물을 참고하시기 바랍니다:
- UI Canvas가 여러개일 경우: 로딩 및 UI 전환에 대한 다양한 방식과 해결 방법을 확인하실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.