게시글
질문&답변
구글로그인 인증 에러 문제 살려주세요 ㅠㅠ
안녕하세요! BurningCarrot입니다. 문의해 주신 내용에 답변 드립니다.크래시는 Firebase SDK 버전 문제로 추측됩니다. 현재 사용하시는 유니티 버전과 Firebase SDK 버전이 어떻게 되시는지 공유 부탁 드립니다.
- 0
- 2
- 18
질문&답변
데이터 로드 관련 질문
안녕하세요! BurningCarrot입니다. 문의해 주신 내용에 답변 드립니다.CSV Reader에서 object 타입을 쓰는 이유 object 타입을 쓰는 이유는 데이터 테이블에 저장된 데이터가 문자, 숫자(정수, 실수) 등 다양하기 때문입니다. object 타입이면 다양한 데이터 타입을 저장할 수 있는데 굳이 모두 string으로 바꾸는 불필요한 행위를 할 필요는 없습니다. 언박싱으로 인한 성능저하를 걱정하시는데 중소 규모의 게임에서의 성능 저하는 짧은 시간 단위로 반복으로 실행하는 Update 함수 같은 곳에서 그 특정 행위를 하는지 여부만 보시면 됩니다. CSVReader로 데이터를 읽어오는 행위는 게임 시작 시 단 한번만 실행할 뿐더러 Update 함수 같은 곳에서는 사용하지 않기 때문에 성능 저하는 우려하지 않으셔도 됩니다. 리스트 순회를 통한 데이터 검색 저장된 데이터가 많고 데이터 검색이 자주 일어난 다면 딕셔너리에 저장하셔도 됩니다. 저는 데이터의 양이 많지 않고 검색 또한 자주 일어나지 않아 리스트로 처리했습니다. ItemData와 같은 경우는 딕셔너리에 저장하는 것이 더 나은 선택일 것 같습니다. 검색이 자주 일어난다는 기준 또한 상대적입니다만 Update 함수에서 계속적으로 호출하는 것은 당연히 자주 일어나는 기준에 부합하는 것이고, 그 외에도 1초 단위 정도로 계속적으로 호출될 수 있는 것도 자주 일어나는 기준에 부합한다고 말씀 드릴 수 있겠습니다.
- 0
- 2
- 21
질문&답변
18 유저 데이터 온라인DB 로드 및 저장 PT4의 UserInventoryData 클래스에 대하여
안녕하세요! BurningCarrot입니다.확인 감사합니다. 중복된 코드는 삭제하여 수업 자료에 재업로드해 두었습니다. 🙂
- 0
- 1
- 29
질문&답변
16번 강의에서 ShowUI 함수부분 오타가 있는거 같습니다.
안녕하세요! BurningCarrot입니다. 문의해 주신 내용에 답변 드립니다.확인 감사합니다. 제가 영상 제작 후 오타를 확인하고 강의 자료에는 수정하여 올려 둔 것으로 보입니다. 아래와 같은 코드가 맞습니다. 감사합니다.if (m_UIOpenAnim) { m_UIOpenAnim.Play(); }
- 0
- 2
- 21
질문&답변
19 유저 플레이 로그 수집 추가후, 앱 크러쉬에 대해
안녕하세요! BurningCarrot입니다. 문의해 주신 내용에 답변 드립니다.AndroidX DataStore 라이브러리가 어떤 이유로 포함되어 문제가 발생할 수도 있을 것 같습니다. 먼저 Assets > External Dependency Manager > Android Resolver > Force Resolve를 해보시면 어떻게 되는지 확인 부탁 드립니다. 그리고 Firebase Unity SDK는 버전명이 어떻게 될까요?
- 0
- 2
- 64
질문&답변
PlayerPrefs 에 대해서 문의드립니다.
안녕하세요! BurningCarrot입니다. 문의해 주신 내용에 답변 드립니다.PlayerPrefs 그럼에도 실제 프로젝트에서도 사용이 되는지? 네 실제 프로젝트에서도 사용합니다. 서버가 있는 게임이라면 당연히 서버에 유저 데이터를 저장하겠지만 로컬에 저장하는 방식이라면 PlayerPrefs를 사용합니다.만약 사용된다면 PlayerPrefs 보안관련 작업을 따로 수행하나요? 사용한다면 당연히 보안 작업을 진행합니다. 회사 자체 보안 솔루션을 적용할 수도 있고, 상용 보안 솔루션을 적용할 수도 있고, 직접 구현할 수도 있습니다. PlayerPrefs의 유저 데이터 암호화는 섹션 8. 보충을 참고하시길 바랍니다.(사진)구글링을 하면서 Easy Save 라는 에셋 사용까지 이르게 되었는데, Easy Save 툴로 암호화된 파일로 유저 데이터를 로컬과 게임 규모에 따라서 서버에 저장해서 사용하는 것이 안정성이 있다고 파악을 했는데 이것도 괜찮은 방향인지 문의드립니다. 제가 올려드린 강의를 참고하셔도 되고 유니티 어셋 스토어에 있는 암호화 어셋을 사용하셔서 유저 데이터를 로컬에 저장하셔도 됩니다. 게임 규모에 따라서는 서버에 저장하는 것도 좋은 선택입니다. 실제로 [유니티 시스템 프로그래밍 Pt.2]에서는 Firebase DB를 사용하여 직접 서버 구현 없이도 Firebase가 제공하는 DB에 유저 데이터를 저장 및 로드하는 것을 다룹니다. (사진)
- 0
- 2
- 47
질문&답변
다운 받은 자료 용량 관련 문의입니다.
안녕하세요! BurningCarrot입니다.정확히 어떤 파일 때문인지 알 수 있을까요? 보통 Git에서 파일 용량이 50MB 이상이면 '큰 파일 감지됨'으로 표시됩니다.
- 0
- 2
- 48
질문&답변
userDataList Json으로 저장
안녕하세요! BurningCarrot입니다. 문의해 주신 내용에 답변 드립니다.IUserData는 클래스가 아니라 인터페이스이기 때문에 기존 JsonUtility를 사용해서는 json으로 변환할 수 없습니다. Newtonsoft.Json 어셋을 활용한 방법을 알려드리니 이를 활용하시길 바랍니다.using Newtonsoft.Json; //Newtonsoft.Json 어셋을 설치하셔야 합니다. var settings = new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Auto, Formatting = Newtonsoft.Json.Formatting.Indented }; //json으롭 변환 string json = JsonConvert.SerializeObject(UserDataList, settings); Console.WriteLine(json); //UserDataList로 역변환 List deserializedList = JsonConvert.DeserializeObject>(json, settings);Newtonsoft.Json 어셋 설치는 이 링크를 참고하시길 바랍니다. 제가 캡쳐한 부분을 참고하시면 됩니다.https://github.com/applejag/Newtonsoft.Json-for-Unity/wiki/Install-official-via-UPM(사진)
- 0
- 2
- 63
질문&답변
Lobby 프리팹 구성 질문
안녕하세요! BurningCarrot입니다. 문의해 주신 내용에 답변 드립니다. LobbyManager와 LobbyUIController 프리팹을 구분하는 이유는 LobbyUIController 프리팹을 UI 오브젝트의 관리만을 전담하게 해주기 위해 그렇습니다. 이렇게 해야 작업 과정에서 효율을 높이고 실수를 줄일 수 있습니다. 예를 들어 팀으로 작업하는 경우, 아트 직군 분들이 보통 UI 프리팹에 이미지/이펙트를 추가하고 수정하게 됩니다. LobbyManager와 LobbyUIController 관련 오브젝트들이 하나의 프리팹으로 통합되어 있을 경우, 아트 직군분들이 LobbyManager 요소를 실수로 수정하고 이를 인지하지 못한 채 적용해 버리면, 게임 로직이 의도한 대로 작동하지 않게 됩니다.게임이 커지고 복잡해질 수록 이런 실수가 발생할 가능성이 높고, 그때마다 이를 해결하기 위해 추가적인 시간을 투입해야 합니다. 게임 개발 시 이러한 자잘한 실수가 생각보다 많은 시간을 잡아먹습니다. 때문에 유지보수 측면에서 분리할 수 있는 것은 분리해서 독립적인 시스템/프리팹으로 만들어 주는 것이 좋습니다. 추가로 궁금하신 점이 있으시다면 편하게 질문 부탁 드립니다. 🙂
- 0
- 3
- 58
질문&답변
스팀 어드레서블
안녕하세요! BurningCarrot입니다. 문의해 주신 내용에 답변 드립니다.어드레서블의 장점을 두 가지로 정리하면 대용량 리소스 관리에 용이하고 원격 리소스 다운로드 서버를 구축할 수 있다는 것입니다. 단점은 여러가지 설정 및 빌드 작업 자체에 은근 시간이 소요됩니다.만약 수강생 분께서 개발하는 게임이 리소스 용량이 많고, 또 싱글 게임이지만 라이브 서비스처럼 주기적으로 콘텐츠를 계속 추가하실 계획이라면 어드레서블을 사용하시는 것이 좋습니다. 그러나 규모가 크지 않은 인디게임이고, 출시 후 버그 수정과 같은 자잘한 업데이트만을 생각하신다면 기존 Resources 폴더를 사용 하시는 것이 개발 효율성 측면에서 더 나을 것입니다. 리소스 용량은 많지만 출시 후 업데이트가 별로 없을 것이라면 어드레서블을 사용하여 리소스 관리를 하되 원격 리소스 다운로드 서버(CDN)는 구축하지 않으셔도 됩니다. 어드레서블 빌드를 게임 빌드 자체에 포함시키는 옵션을 선택하시면 됩니다.추가로 궁금하신 점이 있으시다면 편하게 질문 부탁 드립니다. 🙂
- 0
- 1
- 60