반응형

전체 글 1517

알고 있으면 쓸데 있는 IL2CPP, Mono, AOT, JIT 개념 파헤치기

❗ 유니티 코리아의 알고 있으면 쓸데 있는 IL2CPP, Mono, AOT, JIT 개념 파헤치기를 보고 작성한 내용입니다. 3년전 영상인지라, 영상 속 개념이 현재와 다른 부분이 있을 수 있습니다. 링크 : https://www.youtube.com/watch?v=-9X965jXrn8 [유니티는 C#이라 느리다!?] 이는 잘못된 개념이다. 사실 유니티 엔진 코어는 C++로 구현되어 있고, 사용자들이 작성하는 게임 로직은 C#으로 하도록 인터페이스를 제공한다. 따라서 C#이기 때문에 느리다는 것은 오해다! [IL2CPP] 결론부터 말하면 IL을 C++로 바꾸는 것이다. 그런데 이렇게 딸랑 작성해놓으면 알 수가 있나? 천천히 하나하나 알아가도록 하자. 태초에 언어 행성에는 C언어가 있었다. ..

개발/유니티 2025.09.22

유니티 모바일 게임 성능 최적화 - 2편

❗ 유튜브 내 유니티 코리아 재직중이신 지현짱님이 소개시켜주는 모바일 게임 성능 최적화 1편(2021.10.14)을 보고 작성한 내용입니다. 4년전 영상인지라, 현재와 다른 부분이 있을 수 있습니다. 링크 : https://www.youtube.com/watch?v=RLcSRuZsZQU [Assets] 1. 무슨 확장자를 사용해도, 결국 유니티 내부에서 변환이 이루어진다. → 다양한 확장자(TGA, JPG, PNG, PSD 등) 파일 중에서도 PNG나 JPG 같은 가벼운 확장자를 사용해도, 결국 유니티 내부에서 변환(ETC, PVRTC, ASTC)로 이루어진다. 따라서 원본 포맷이 무엇이던 간에 상관없다. 2. 플랫폼별로 텍스처를 사이즈를 오버라이딩 하는 것이 좋다. → 아무리 최신 핸드폰을 사용하더..

개발/유니티 2025.09.21

유니티 모바일 게임 성능 최적화 - 1편

❗ 유튜브 내 유니티 코리아 재직중이신 지현짱님이 소개시켜주는 모바일 게임 성능 최적화 1편(2021.10.14)을 보고 작성한 내용입니다. 4년전 영상인지라, 현재와 다른 부분이 있을 수 있습니다. 링크 : https://www.youtube.com/watch?v=1mJtoceqvro [Profiling] 1. 프로파일링을 맹목적으로 하지 말아라. → 단순히 아티스트 분에게 '텍스처 크기를 줄여라.' 해도 게임에는 아무 변화 없다. 2. 프로파일링은 누가 하는가? → 게임의 성능은 그래픽에서만 나오는 것이 아니다. 프로그램의 전반적인 흐름과 연산의 적용 등은 프로그래머가 알고 있기 때문에 프로그래머가 1차적으로 검사를 하고 TA에게 시키는 것이 맞다. 3. 출시 직전에 프로파일링을 하지 마라..

개발/유니티 2025.09.20

[GooglePlayConsole] 앱에서 Google Play 결제 라이브러리 버전 7.0.0. 이상을 사용해야 합니다.

최초 작성일 : 25.09.18수정일 : X.X.X '앱이 Android 15(API 수준 35) 이상을 타켓팅해야 함'과 같이 나타난 문제, 결제 라이브러리를 업데이트 해달라는 말이었다. 그나마 일전에 겪은 35 타게팅, 16Kb 보다는 수월하다. 바로 업데이트를 진행하도록 하자. 아니나 다를까? 역시 코쟁이 형님들이 이미 유니티 포럼에 문의를 진행해 포럼이 열려있다. 해당 포스팅을 참고했다. https://discussions.unity.com/t/urgent-unity-iap-does-not-support-google-play-billing-library-v7-august-2025-deadline/1661548/11 유니티로 돌아가자. 상단 메뉴 Windeow 에서 Package Man..

개발/유니티 2025.09.19

[GooglePlayConsole] 앱이 16KB 메모리 페이지 크기를 지원해야 합니다.

최초 작성일 : 25.09.18수정일 : X.X.X Android 15 타게팅 문제를 해결하자 마자, 구글 플레이 콘솔 정책 상태에 새로운 문제가 발생했다. '앱이 16KB 메모리 페이지 크기를 지원해야 합니다.' '하이고, 대체 이건 또 뭐람~' 하고 찾아보았다. 안드로이드에서 25년 11월 1일부터 Google Play의 16KB 페이지 크기 지원을 시행한다고 한다. 여태 4KB 메모리 페이지 크기를 지원해 성능을 최적화했다고 하는데, 이제부터 바꾼다고 한다. https://developer.android.com/guide/practices/page-sizes?hl=ko 16KB 페이지 크기 지원 | Compatibility | Android Developers이 페이지는 Cloud T..

개발/유니티 2025.09.18

[GooglePlayConsole] 앱이 Android 15(API 수준 35) 이상을 타켓팅해야 함

최초 작성일 : 25.09.17수정일 : X.X.X 재직하고 있는 회사에 구글 플레이 스토어 콘솔에 들어가니 정책 상태에 다음과 같은 문제가 나타났다. '앱이 Android 15(API 수준 35) 이상을 타켓팅해야 함' 일전에 다니고 계시던 분들이 모두 퇴사하셔서 어쩔 수 없이 혼자서 해당 문제를 해결해야 했었는데, 해당 포스팅에서는 아래 문제를 해결하기 위해 고군분투 했던 절차를 나열한다. 일단 안드로이드 15에서 뭐가 변경되었는지를 파악하기 위해 확인해보니, 뭐 이것저것 변경되었다는데 자세한 사항은 아래 링크에서 확인하길 바란다. 사실 아래 링크에 있는 글을 자세히는 읽진 않았고, 구글 측에서 업데이트 하라고하니 업데이트 전 적어도 뭐가 바뀌었는지는 알아야 할 것 같아서 찾아보았다. htt..

개발/유니티 2025.09.17

리셀링 아이템을 찾는 방법

4. 리셀링 아이템을 찾는 방법 리셀링응 시작하기 가장 쉬운 부업이다. 경험이 전혀 없다 해도 일주일이면 시작 할 수 있다. 리셀링의 목표는 단순하다. 싸게 사서 비싸게 파는 것. 적어도 당신이 지불한 가격보다는 높은 수준으로, 당신의 시간과 비용을 상쇄할 정도의 가격으로 판매해야 한다. 그렇다면 리셀링 아이템은 어디서 찾아야 할까? 우선은 자신이 갖고 있는 물건으로 시작하는 것이 좋다. 다락방에 쌓아둔 만화책이나 옷장 깊숙한 곳에 묻혀 있는 오래된 옷이 있는가? 재고를 파악한 뒤, 빛바랜 물건을 정리하면서 돈도 벌 기회를 찾는디ㅏ. 그런 다음에는 중고 물건을 쇼핑한다. 창고 세일이 열리는 곳이나 벼룩시장을 둘러본다. 관심이 가는 물건이 있다면 핸드폰으로 꼼꼼하게 평균 판매가를 검색한다. 그 결과 구..

2025.06.09

현업 펄어비스 게임 엔진 개발자 1년차 응애가 올리는 글

안녕하세요,이제 24학번이 입학하는 시점에서, 화석이라는 칭호는 이제 21학번들이 가져가고 있지 않나 생각이 듭니다. 저는 그보다 이제 더욱 깊숙히 묻혀 사실상 소융의 내핵이 된, 소융 1기 17학번 졸업생입니다. 얼마 전에 심심해서 에타에 다시 들어가봤는데, 후배님들께서 소융 겜콘의 미래 / 아웃풋에 대한 궁금증이 많은 것을 확인하고 이렇게 글을 쓰게 되었습니다. 개인적으로는 모든 소융 학우분들에게 도움이 되었으면 하여, 많은 분들이 공감할 수 있도록 정보 전달을 해보겠습니다. 많은 소융 겜콘 후배님들께서 펄어비스에 대한 궁금증이 많으실 것입니다. 블랙 기업이냐, 기술 정말 좋냐, 도깨비 언제 나오냐 등등... 뭐, 아직 저학년인 후배님들에게는 아직 농담이겠지만, 당장 졸업을 앞두고 있는 고학년 후배님..

공부/기타 2025.04.14

유니티 AOS 빌드 시 AndroidJavaException, UnityRewardedAdCallback 오류 해결

최초 작성일 : 25.04.10수정일 : X.X.X   유니티에서는 문제가 없었지만, 테스트를 위해 안드로이드로 빌드 후 앱을 실행하니 다음과 같은 오류가 발생했다. 'AndroidJavaException: java.lang.ClassNotFoundException: com.google.unity.ads.UnityRewardedAdCallback' 관련하여 구글링을 진행하니 나와 같은 분이 있었지만 해결은 되지 않았다. 참고 1. https://tistory.wonsorang.com/795 에러 "Error Unity AndroidJavaException: java.lang.ClassNotFoundException: com.google.android.gms.ads.initialization.OnIniti..

개발/유니티 2025.04.10

자신만의 가치 있는 기술을 찾는 방법

3. 자신만의 가치 있는 기술을 찾는 방법 ▶ "열정을 따를 것이 아니라 당신이 가지고 있는 기술을 따라야 합니다." 이 말을 마음에 새긴다면 더 멀리 나아갈 수 있다. 멀리까지는 아니더라도 최소한 부업을 성공적으로 이끌어줄 방향으로 나아갈 수 있다. 당신이 지닌 가치 있는 기술이 무엇인지 어떻게 알 수 있을까? 나는 사람마다 잘하는 무언가가 있다고 확신한다. 사업화할 만한 기술이 없다고 말하는 사람을 만날 때마다 단 3분간의 대화로 이런 믿음이 틀렸다는 것을 증명하기도 한다.  우선 자신이 할 수 있는 일이 무엇인지 목록을 작성해본다. 학교에서, 대학에서 무엇을 배웠는가?직장을 다니면서 무엇을 배웠는가?다른 사람들은 힘들어하지만 당신이 본능적으로 잘하는 것은 무엇인가?  이런 질문의 답변이 가치 있는 ..

2025.03.23

아이디어는 어디에서 오는가?

2. 아이디어는 어디에서 오는가? ▶ 가장 중요한 능력 중 하나가 바로 성공 가능한 사업 아이디어를 찾아내는 것이다. 이 능력만 갖추면 어디서, 어떻게 수익성을 높여야 할지는 쉽게 결정할 수 있다. 실상 사업의 수익성을 높이는 것은 그리 어렵지 않다. 그러기 전에 우선, 머릿속의 아이디어를 구현하기 위해 많은 시간을 들여야 할 것이다.  아이디어는 이렇게 탄생한다.관찰 : 주변의 세상에 관심을 기울이다 보면 더욱 나은 방향으로 개선할 수 있는 무언가를 발견하게 된다.문제 해결 : 문제점을 목록으로 작성한 후 특정 상품이나 서비스로 해당 문제를 해결할 수 있을지 브레인스토밍한다.질문 : 사람들이 소비를 하는 직접적인 동기 또는 숨겨진 동기가 무엇인지 생각한다. (더불어 사람들이 상품을 구매할 의사가 있는지..

2025.03.23

부업이란 무엇인가?

1. 부업이란 무엇인가? ▶ 이 책을 읽기 전 당신은 이미 '부업'이란 단어를 들어봤을 테고, 어쩌면 현재 부업을 하고 있을지도 모른다. 그런데 부업이란 게 정확히 뭘까? '부업'이 다양하게 해석될 수 있는 만큼 이 책에서는 어떤 의미로 쓰였는지 짚고 넘어갈 필요가 있다. 먼저, 다음과 같은 것은 부업이 아니다.9시까지 출근해 5시까지 근무해야 하는 파트타임이나 직장충분한 보상 없이 에너지만 빼앗기는 일취미 등 즐거움과 재미를 추구할 뿐 돈을 벌겠다는 목표는 없는 일 이것이 부업이다.자신에게 선택권이 있는 일(결정을 내리는 사람이 당신이다)(현재의 직업에 만족하더라도) 더 많은 기회를 확보하기 위해 자신만의 자산을 구축하는 일본업과는 다른 형태의 업무 다시 말해 부업이란 수익성과 재미, 둘 다를 충족해야..

2025.03.23

Part 7-2-5. Unity 2D : MapTool

🎞 Unity 2D  지난 시간에는 새로운 레이어인 Tilemap_Collision을 새롭게 만들어주고, 갈 수 없는 영역인 'X'를 나타내는 의미로 바위를 사용하여 건물과 같은 장소에 이를 배치하였다. 이 후, 테스트 스크립트를 만들어주어 GetTile을 통해 타일 값을 가져오고 좌표(X/Y)에 타일이 배치되어있는지를 확인하는 스크립트까지 작성해보았다. 이번 시간에는 더 나아가 유니티 내 확장을 통해 MapTool을 만들고 이를 실행할 경우 자동으로 맵을 순차적으로 돌면서 타일을 검사 후, 이를 파일로 저장하는 로직을 작성해보도록 하자.  💥 MapTool  유니티에서 툴을 확장하기 위해 기본적으로 해주어야 하는 작업이 있다. 바로 'Project' 폴더 내 Editor라는 폴더를 명시해주고 해당 ..

Part 7-2-4. Unity 2D : TileMap Collision

🎞 Unity 2D  지난 시간에는 타일 맵 에디터를 이용하면서 레이어를 통해 base 영역과 Env 영역을 나누어 주는 작업을 진행하였다. 이렇게 레이어를 나누어주면 반투명한 물체를 그려주어도 base 영역의 레이어가 존재하기 때문에 자연스럽게 객체가 보여진다. 또한 이렇게 레이어를 나누게 될 경우 이번에 학습할 Collision과도 계산이 편리해지기 때문에 이를 나누어 사용한다. 따라서 이번 시간에는 Collision를 통해 갈 수 있는 영역과 갈 수 없는 영역을 구분하여 처리하는 로직에 대해서 알아보도록 하자.  💥 TileMap Collision  먼저 지난 시간에 Tilemap_base를 그대로 복사-붙여넣기 하여 사용했더니 base의 잔디들을 그대로 가져와 사용해서 base 객체를 꺼도 잔..

Part 7-2-3. Unity 2D : TileMap Layer

🎞 Unity 2D  지난 시간에는 타일 맵 에디터와 미리 다운로드 받은 에셋을 통해 각자의 맵을 자유롭게 꾸미고 만들 수 있었다. 이번 시간에는 이러한 타일 맵의 레이어의 개념을 도입해 맵끼리 서로 다른 레이어를 이용하도록 하는 방법에 대해 알아본다. 또한 이로 인한 이점이 무엇이 있고, 왜 이렇게 처리하는지 또한 알아보도록 하자. 💥 TileMap Layer  맵을 만들다보면 경우에 따라 다양한 레이어가 필요하고 이것이 유용해지는 상황이 생긴다. 타일 맵 뿐만 아니라 일반 게임에서도 UI를 Layer로 구분해서 만들면 좋은 이점이, 생각해보면 타일맵에도 그대로 적용되는 것을 알 수 있다. 예를 들어 팝업 형태로 일반 UI 위에 뜨는 항목들이 그러하다. 이는 즉, 결국 무엇을 먼저 그려줘야 하는가?..

Part 7-2-2. Unity 2D : TileMap 기초

🎞 Unity 2D  지난 시간에는 2D 환경 준비를 통해 타일 맵 에디터를 설치하고, 무료 에셋을 다운로드 받았다. 이번 시간에는 일전에 패키지 매니저에서 다운로드 받은 타일 맵 + 무료 에셋을 바탕으로 본격적으로 맵을 만들어 줄 것이다. 맵을 만드는 것이 하나하나 배치해야 하는 것이 아닌, 에디터를 이용하므로 반복적인 노가다를 하지 않아도 된다. 굿! 👍  💥 TileMap 기초  먼저 맵을 만들기 전에 2D에 대해서 간단한 이론을 살펴보도록 하자. 다운로드 받은 TinyRPGTown의 Sprites 폴더를 가보면 'rock', 즉 바위 이미지 파일이 있다. 해당 파일을 클릭해보면 'Sprite Mode'가 있다. 해당 모드는 Single, Multiple, Polygon으로 나뉘어져 있는데 각..

Part 7-2-1. Unity 2D : 2D 환경 준비

🎞 Unity 2D   지난 시간까지 Unity 2D를 시작하기에 앞서 간단한 OT와 환경 설정을 진행하였다. 이번 시간에는 새로운 씬을 만들고, Package Manager에서 Tilemap도 받아준 뒤, 무료 에셋을 받아주도록 한다.  💥 2D 환경 준비  먼저 앞으로 2D 프로젝트를 진행할 것이기에 Edit - Project Setting을 선택한다. 이 후 Editor 탭으로 들어가, Default Behaviour Mode를 3D에서 2D로 변경하여 준다. 이 후, 새로운 씬을 만들어 이를 'Game' 씬이라 명하고, 기존에 있던 씬에 덮어씌워 기존 씬은 삭제처리한다.   또한 TileMap을 사용하기 위해 Winodw - Package Manager에 들어가 All packages를 선택하..

Part 7-1-1. 개론 : OT & 환경설정

🎞 개론  지난 시간까지 웹 서버의 모든 강의를 다 듣고 학습하며 이를 정리해보았다. 이번 시간부터는 앞으로 Part 7을 학습해보는 시간을 가질 것이다.   💥 OT & 환경설정  Part 7에서는 우리가 Part 1부터 6까지 열심히 배웠던 조각들을 조립해보며 더 큰 온라인 게임을 만드는 시간을 가져볼 것이다. Part 7부터는 2D 형태의 로그라이크 장르 게임을 무료 에셋을 가지고 만들 것이며, 이를 기존의 만든 C# 게임 서버를 통해 온라인 게임으로 만들어 볼 것이다.   환경 설정은 별 다른 내용 없이, 루키스님이 미리 준비해서 업로드 해 주신 압축 파일을 바탕으로 진행 할 것이다. 따라서 이를 다운로드 받아서, 원하는 유니티 버전을 설치하여 열어주면 된다. 해당 압축 파일은, 강의 구매자에..

반응형