방명록
- 유니티 게임개발 입문 #92023년 09월 14일 20시 44분 31초에 업로드 된 글입니다.작성자: noun06
유틸리티 UI
- 테스트하면서 느낀 불편함을 해소하기 위해 다음과 같은 몇가지 UI를 추가함. 게임 도중 일시정지 하고 재시작 혹은 홈으로 나갈 수 있는 퍼즈 버튼과 스테이지에서 시작 화면으로 이동할 수 있는 뒤로가기 버튼 등이 있음.
//UIPauseCanvas.cs public class UIPauseCanvas : MonoBehaviour { [SerializeField] private Button _pauseBtn; [SerializeField] private Button _closeBtn; [SerializeField] private Button _homeBtn; [SerializeField] private Button _retryBtn; [SerializeField] private GameObject _pauseMenu; private bool isPaused = false; private void Awake() { _pauseBtn.onClick.AddListener(() => { PauseGame(true); }); _closeBtn.onClick.AddListener(() => { PauseGame(false); }); _homeBtn.onClick.AddListener(() => { GameManager.Instance.GoHome(); }); _retryBtn.onClick.AddListener(() => { GameManager.Instance.RetryGame(); }); } private void PauseGame(bool isActive) { if(isActive) { Time.timeScale = 0f; _pauseMenu.SetActive(isActive); _pauseBtn.gameObject.SetActive(false); } else { Time.timeScale = 1f; _pauseMenu.SetActive(isActive); _pauseBtn.gameObject.SetActive(true); } } }
WebGL 빌드
- 웹 빌드 테스트를 진행하였음. 다음과 같은 각종 에러들이 발생하였음.
- The type or namespace name 'UnityEditorInternal' could not be found
- The type or namespace name 'Progress' does not exist in the namespace 'UnityEditor'
- 이런 에러들은 불필요한 using 네임스페이스로 인해 일어남. 간단하게 말하면 유니티 에디터에서만 사용이 가능한 네임스페이스들을 가지고 빌드를 시도하면 실패함. 그러므로 빌드 전에는 사용하지 않는 using 들을 지워야함.
- 빌드에 성공하고 깃헙IO를 통해 웹에서 유니티게임을 실행시켰을 때 다음과 같은 에러가 발생했음.
- Unable to parse Build/build.framework.js.br
- 이 에러는 사실 빌드 프로세스 중에 JavaScript 파일을 압축하거나 인코딩할 때 문제가 발생한 것임. 그리므로 빌드 전에 유니티 에디터의 Player settings > Player > Publishing settings 중 Compression Format을 disabled로 바꿨더니 동작하긴함. 하지만 부작용으로 압축이 안되서 리소스가 커져 게임 성능이 저하될 것으로 보임. 이 부분은 추후에 더 자세히 살펴보아야 할듯함.
- 마지막으로 해상도 문제인데, 사실 게임이 모바일 비율 기준으로 제작되어서 웹에서 띄워지는 디폴트 게임 캔버스와 해상도가 달라서 게임이 다 깨짐. 이 부분은 UI를 반응형으로 고치거나 웹 해상도를 기준으로 제작하거나 할 수 있지만 일단 나는 기본 html에서 캔버스 자체의 캔버스 크기를 모바일 사이즈로 임의로 고침.
여기서 이 게임을 즐길 수 있음.
기타 에러
- 그리고 유니티 에디터 상에서 새로운 에러를 발견했는데 사실 원인은 잘 모르겠음.
- Invalid editor window UnityEditor.FallbackEditorWindow
- MissingReferenceException: The object of type 'DockArea' has been destroyed but you are still trying to access it.
- GUI Error: You are pushing more GUIClips than you are popping. Make sure they are balanced.
- 에디터 윈도우와 플레이 모드 진입 관련 에러인데 Window > Layouts를 다른걸로 설정하고 다시 돌리니까 사라짐..
다음글이 없습니다.이전글이 없습니다.댓글