Unity 19

Unity Runtime Memory 관리 - 1

이번 게시글에서는 Unity의 Memory 관리에 대해서 조금 알아보려고 합니다. 주제를 정하게 된 배경이 주제를 정하게 된 배경에 대해 적어보자면, 최근까지는 메모리를 별로 신경 쓰지 않고 개발을 많이 하고는 했습니다. 하지만 여러 프로젝트를 경험하며, 사용한 Texture, Audio, Mesh, Video 등 다양한 Resource에 대한 최적화를 해두지 않으면 적은 메모리를 가지고 있는 디바이스에서 앱이 구동되지 않을 수 있다는 사실을 알게 되었습니다. 텍스쳐 하나하나, 오디오 하나하나가 많은 영향을 준다는 것을 알고 이 주제에 대해 한번 알아보고자 시작하게 되었습니다.  Unity에서 메모리란?게임 실행에 필요한 데이터를 저장하거나, 처리하기 위해 사용하는 컴퓨터 메모리, 이 메모리 안에는 위에..

Unity 2025.01.12

Unity Localization (2)

이번 시간에는 Unity Localization을 Google Sheets를 연동하는 방식에 대해 알아보려고 합니다.이전 글에서는 Unity Localization은 무엇인지, 간단하게 다국어를 지원하는 것을 해보았는데요. 다국어 언어들을 Google Sheets에서 관리하고 Unity는 Sheets의 데이터를 받아서 언어별로 표기할 수 있습니다. 이전 게시글을 확인하여 Localization의 초기 세팅을 확인해 볼 수 있습니다.https://develophyun.tistory.com/1 Unity_Localization이번 시간에는 Unity에서 다국어 지원 하는 방법에 대해 알아보도록 하겠습니다.다국어 지원이란, 하나의 게임이 여러 언어로 플레이할 수 있도록 번역 및 현지화된 인터페이스, 텍스트, ..

Unity 2025.01.04

Unity Addressable Asset (4)

오늘은 최종적으로 Addressable Asset을 Remote 서버에 Build 해서 업로드하고, 해당 Build 된 Addressable Asset을 Load 하여 Runtime에 Prefab을 생성하는 것을 알아보려고 합니다. 먼저 Addressable Asset Group을 Build Load 모드를 변경합니다.내가 선택한 Group의 Build or Load 방식을 Remote, Local을각각 지정할 수 있고 이 옵션은 Addressable Group 별로 지정이 가능하다. Load Path와 Remote Path를 지정하는 것에 대해 다시한번 설명하자면, Addressable Profile에서 추가 설정을 하면 됩니다.Remote Build, Load Path를 지정해주고, Addressab..

Unity 2025.01.02

Unity Addressable Asset (3)

앞 선 글들에서 Addressable은 무엇인지, 어떠한 방식으로 사용할 수 있는지에 대해 서술해 보았습니다.이번 글에서는 해당 Addressable Asset을 서버에서 받아오기 위한 Unity와 서버 연동을 시작해보려고 합니다.저는 Remote 서버로 간단하게 사용할 수 있는 Google Firebase Cloud를 사용하려고 합니다. Firebase를 연동하는 방법에 대해 자세히 설명해 보도록 하겠습니다.Firebase 연동하는 방법1. https://console.firebase.google.com/ 접속 후 로그인을 해줍니다.2. New Project -> 프로젝트 생성하기 해당 Firebase 프로젝트가 다른 Unity Project에 연동이 됩니다.4. Apple Android, App Pa..

Unity 2024.12.29

Unity Addressable Asset (2)

오늘 시간에는 Addressable Asset의 옵션에 대해 알아보겠습니다. 먼저 앞선 글에서 Unity Addressable Asset은 무엇인지에 대해 알아보았고, 오늘은 각종 옵션과, Local 기준으로 Asset을 로드하는 것을 해보겠습니다. Addressable Asset GroupAddressable Asset의 그룹핑을 지정하는 곳으로, 사용자가 사용 방법에 맞게 그룹핑하여, 같이 로드될 Asset Bundle을 지정하는 방식입니다.  여기서 Window -> Asset Management -> Addressable -> Group을 들어가게 되면 현재 그룹핑되어있는 Asset들을 확인할 수 있습니다.여기서 Play Mode Script 방식을 지정하게 되면 위 두 가지의 옵션이 나타나게 됩..

Unity 2024.12.27

Unity Addressable Asset (1)

Unity Addressable AssetAddressable Asset 이란 주소가 있는 Asset(3D 모델 파일, 이미지 텍스쳐, 오디오, 비디오)으로 유니티에서 Runtime에 주소라는 고유의 식별자로 Asset에 접근하여 로드 및 사용할 수있는 Asset을 말한다. Addressable Asset을 사용하는 이유?장점 Resource 폴더의 로드방식보다 초기 Apk의 용량이 작다.별도의 추가 Build없이 Asset을 서버로부터 업데이트가 가능하다.사용하지 않는 Asset의 경우에 Unload를 통해 효율적인 메모리 관리가 가능하다.DLC 방식에 적합하다(Downloadable Content)의 약어. (확장팩, 추가 캐릭터, 새로운 스토리 등)단점초기 설정 방식이 어렵다. (기존 Resourc..

Unity 2024.12.15

Unity Lighting (2)

오늘은 이전에 다루었던 Unity Lighting에 대해서 조금더 자세히 알아보고자 합니다. Unity에는 별도의 Lighting 세팅이 가능하다. 설정 가능한 Lighting Setting은 아래와 같습니다. SceneAdaptive Probe VolumeEnvironmentRealtime LightmapsBaked Lightmaps오늘은 Environment, Baked Lightmaps에 대해 자세히 설명해보려고 합니다. EnvironmentScene의 환경값에 대한 설정을 할 수있는 창으로, Skybox, Sun Source, Shadow Color 등 게임 씬의 전반적인 환경값을 관리할 수 있다. SkyboxMaterial :  Cube  Map Material을 적용하여 유니티 씬 전체 Sky..

Unity 2024.12.03

Unity Lighting

오늘 다루어볼 주제는 Unity에서의 Lighting 입니다.Light란 3D 공간상에서의 빛의 방향이나 세기, 색상 등을 조정하는 것을 의미합니다.Unity에서의 Light타입은 다음과 같이 나누어져 있습니다.Light TypeDirectional SpotPointArea (baked only)각 Type을 예시로 들어 이미지를 확인해보겠습니다.Directional LightDirectional Light 의미를 풀어서 설명하면 방향성을 가지는 빛 입니다.해당 오브젝트는 Light오브젝트의 위치에 상관없이 정해진 Rotation(방향)만으로 빛을 나타내는 방식 입니다.큐브 오브젝트를 기준으로 이미지와 같이 Light의 방향에 따른 빛이 형성되어 바닥 오브젝트에 그림자가 생기는 것을 볼 수있습니다.Spo..

Unity 2024.11.28

Unity_Localization

이번 시간에는 Unity에서 다국어 지원 하는 방법에 대해 알아보도록 하겠습니다.다국어 지원이란, 하나의 게임이 여러 언어로 플레이할 수 있도록 번역 및 현지화된 인터페이스, 텍스트, 음성 등을 제공하는 것을 의미합니다. 다국어 지원은 게임 개발자들이 다양한 언어를 사용하는 전 세계의 플레이어들을 대상으로 게임을 제공할 수 있게 해줍니다. 이를 통해 더 많은 사용자에게 접근 가능성을 제공하며, 게임의 글로벌 시장 확장에 중요한 역할을 합니다. 다른 언어들에서는 String Table, 데이터베이스 형태로 지원하는 경우가 많습니다. 이번에 알아볼 Unity에서의 다국어 지원은 Unity 패키지인 Localization 입니다.https://docs.unity3d.com/Packages/com.unity.l..

Unity 2024.08.26