게임 개발자로 시작해 다양한 기술을 익히면서 깨달은 것이 있습니다.
"어려운 건 없다. 설명을 어렵게 하는 것 뿐이다."
처음 프로그래밍을 배울 때, 분명히 간단한 개념인데도 복잡하게 설명된 자료들 때문에 혼란스러웠던 기억이 있습니다. 늘 느꼈던건 직접 이해하고 나니 '핵심'은 생각보다 단순했다는 거죠.
지금은 AI를 활용한 여러 개발 방법론을 연구하며 파이썬으로 다양한 자동화 프로젝트를 진행하고 있습니다.
저는 '배우는 사람이 정확히 알아야 할 것' 을 명확히 정의하고, 그 핵심만 쏙쏙 뽑아서 전달하기 위해 노력합니다.
복잡한 것을 단순하게. 어려운 것을 쉽게요.
다른 분들의 학습 여정에 제가 조금이라도 도움이 될 수 있기를 바랍니다. ^^
Courses
Reviews
- Basic skills of a Unity programmer
- Building Python Fundamentals Through Principles and Practice - Beginner Edition
- Implementing a patch system using Unity Addressable
- Basic skills of a Unity programmer
- Basic skills of a Unity programmer
Posts
- Q&A - PercentComplete - 런타임 Exception 발생은 없었나요 ? 그리고 첫 번째 이미지에서는 LoadAssetAsync 를 하시고 곧 바로 if 문으로 Status 를 체크하시는 건가요 ? Async 즉 비동기이기 때문에 해당 방식으로 정상적으로 체크되지 않았을 텐데요 . - 0
- 1
- 503
 
- Q&A - 구매한 아이템을 로드할 때 - 게임을 껏다켰을때 해당 아이템 세트를 포함하고 있는 번들이 어드레서블 에셋이라면LoadAssetAsync 로 불러오시면 됩니다. 다만 한번 다운로드 받은 후에는 앱을 껏다켜도 다운로드된 어드레서블 번들 파일은 PersistentDataPath 쪽에 캐싱돼있기에 재다운로드할 필요는 없습니다. Load 는 해야하겠죠 ? - 0
- 1
- 487
 
- Q&A - sprite atlas를 로드하는데 - 게임을 끄는 경우에 별도로 Release 해줄 필요는 없습니다. 로드한거를 이제 사용안하려고 할때 Release 해주시면 되고요. - 0
- 1
- 924
 
- Q&A - Unloading 5 Unused Serialized files - 강좌에서 해당 메서드를 사용하지 않기 때문에 정확한 원인을 파악하기 힘들어보이네요 . 테스트중이신 프로젝트를 ttok14@naver.com 여기로 보내주실수 있나요? - 0
- 1
- 537
 
- Q&A - reference count 관련 질문 - 안녕하세요 , 앱 빌드 테스트 한번 해보실 수 있나요 ? - 0
- 1
- 565
 
- Q&A - 실제 서비스 시 업데이트 질문 드립니다. - 안녕하세요! 어드레서블에서 어떻게 설정하는지와는 별개로 최종 결과물은 번들 파일로 나뉘고 변경 사항이 있는 번들은 통째로 재다운로드 받는것이 맞습니다. 만약 그게 부담이 된다면 재다운로드를 염두하여 번들별로 적절히 분류하시는게 맞을 것 같습니다 . - 0
- 1
- 454
 
- Q&A - 안녕하세요 강의그대로 따라했는데.. 녹스로테스트하니까 - 에러문을 봐서는 빌트인 Catalog 파일을 읽어오지 못하는 듯 합니다.혹시 어떤 부분을 테스트하시다가 발생한 에러일까요? - 0
- 1
- 434
 
- Q&A - 로컬말고 다른 서버 하는 방법 질문 - 테스트해보지는 않았지만 S3 와 같이 Public 하게 다운로드 받을수 있는 해당 저장소 URL 을 그대로 넣어주시면 되지 않을까 싶습니다. - 0
- 1
- 458
 
- Q&A - 실제 게임에서는 어느 시점에 로드를 하고 해제를 해야 하나요?? - 어느 시점에 Asset 을 Load 하고 어느 시점에서 게임 오브젝트를 Instantiate 해야하는지 ?프로젝트따라 케바케라 생각합니다 . 예를들어 MMORPG 같은 경우에는 맵을 이동할때마다 해당 맵에서 사용할 Asset 들을 미리 Load 하여 실제로 Instantiate 를 할때 Load 하는데 사용되는 딜레이를 최소화한다거나 하는 식으로 말입니다.또는 Load 하는동안 Dummy 를 이용해 보여주거나 아예 보이지 않아도 된다라고 한다면 Load 되지 않은 상태에서 최초로 Instantiate 할때 Load 도 동시에 되게끔 설계할 수도 있을것 같습니다. (Addressable 에서 instantiate 시 내부적으로 필요하다면 load 도 같이 됨)해제 시점이 부분도 케바케인듯 합니다. Scene 이동을 하였는데 다음 Scene 에서도 지금 Load 된 Asset 들을 사용해야한다면 Release 처리하지않고 유지할 수도 있겠습니다. 또한 Scene 이 새로 Load 되어 현재 Scene 에 존재하는 Addressable API 를 통해 Instantaite 된 오브젝트들은 오브젝트가 파괴되면서 자동적으로 reference count 가 차감되는 것을 참고해주면 좋을것 같습니다. 번들을 나누는 기준마찬가지로 케바케입니다. 개인적으로는 어떠한 기준을 통해 같이 사용될 Asset 들을 Bundle 로 묶어 관리하는 것이 성능적인 면에서 좋을 것 같습니다. 하지만 이 방법에도 큰 단점이 있는 것이 , 여러 Bundle 로 나누면 관리에 대한 복잡도나 번들 빌드 시간이 늘어난다거나 하는 단점이 있겠습니다. 때문에 런타임 성능과 개발 복잡도를 두고 나눠 질수도 있을것 같네요.제가 개발에 참여했던 MMORPG 게임에서는 UI 관련 리소스 , Map 별로 존재하는 몬스터 및 기타 오브젝트 리소스들, 동영상 리소스 등으로 나누어 관리했던 것 같습니다. - 0
- 1
- 475
 
- Q&A - 윈도우에서 어드레서블 테스트 할 수 없나요? - Windows 로 빌드하셔서 진행하시면 됩니다. Asset 을 Save 하고 Load 하는 부분만 Windows 로 설정하시면 됩니다.Save 하기 : Windows 플랫폼으로 변경하신 다음에 Addressable 의 Settings 파일을 보시면 StandaloneWindows64 로 변경돼 있을 것입니다.(사진)(사진)(사진)에디터에서 Windows 로 플랫폼 변경 후에 출력되는 Settings -> Content Update 카테고리 화면입니다 .Windows 플랫폼에서 빌드하면 위 이미지와 같이 폴더가 생성되고 내부에 빌드된 파일들이 존재합니다 .Windows 로 App 을 빌드하게 되면 StreamingAssets/aa/ 에 Addressable 관련 파일들이 위치하게 됩니다.Load 하기 : AddressableDownloader 클래스의 static string 변수인 DownloadURL 에 Download 받아올 URL 이 Asset 을 다운로드 받아올 수 있는 주소로 설정돼 있으면 됩니다.PC 로 빌드하셔서 테스트하셨다면 Windows 환경에서 App 을 빌드하신 것으로 보입니다. 그렇다면 이미 다운로드가 된 것으로 나오게 되는 데에는 다음과 같은 이유가 있을 수 있을듯 합니다 .Download 받아야 하는 Addressable Group 이 BuiltIn 으로 설정돼 있다.Download 받을 Group 을 선택하시면 (Addressable Groups 윈도우에서) Inspector 에 다음과 같이 보입니다.(사진)(사진)Build & Load Paths 가 Local 이 아닌 Remote 로 설정돼 있어야 , 해당 Group 은 App 에 포함되지 않습니다이 경우에는 해당 빌드된 폴더 기준으로StreamingAssets/aa/StandaloneWindows64/ 에 보시면 Download 받아야할 Bundle 파일들이 이미 존재하고 있을 수 있으니 확인부탁드립니다.Download 받기 전에 BuiltIn Asset 에서 Remote Asset 을 참조한다.이 경우에는 해당 BuiltIn Asset 이 사용되는 순간 , 해당 Asset 이 의존하고 있는 Remote Asset 을 내부적으로 Download 받아옵니다. 때문에 철저한 분류가 필요합니다. - 2
- 1
- 1.3K
 





