Unity/정보 33

[Unity] 에셋 번들(AssetBundles) 개념 맛 보기

에셋 번들 소개에셋번들이란 asset과 bundle의 합성어이다.  asset은 유니티 프로젝트에 Assets 폴더가 가장 최상위 폴더인걸 확인할 수 있는데이 폴더의 하위에 존재하는 것들이 전부 에셋이다.bundle은 영어뜻으로 묶음 정도로 해석 된다.즉 Asset들의 묶음이 에셋번들이다. 에셋번들은 개발자가 의도한대로 에셋들을 그룹화 시킬 수 있다.  에셋번들을 생성한뒤 에셋번들끼리만 빌드한 뒤 전체 프로젝트 빌드를 하게되면 이 에셋번들을 제외하고 빌드하기에 빌드 용량은 줄어든다.  이렇게 생성된 전체 프로젝트 빌드파일에 에셋번들 빌드로 생성된 파일을 넣어줘야 제대로 된 실행이 가능하다. 예시를 보면 대부분의 스마트폰 게임이 이런 방식을 채용 중이다. 플레이스토어에서 다운받는 어플 용량이 적어 금방 설..

Unity/정보 2024.04.05

[Unity] Unity Muse 살펴보기

Unity Muse (Unity AI) 소개Unity Muse는 Unity에서 지원하는 AI입니다. Muse는 여러 가지 기능을 가지고 있는데, 현재 바로 사용가능한 기능으론  Muse Texture와 Muse Sprite가 있고 이 기능들은 Unity Editor 확장 프로그램으로 프롬프트를 입력하여 원하는 결과를 출력합니다.자세한 정보나 Muse의 기능에 대한 더 깊은 이해를 위해서는 공식 Unity 문서와 블로그 게시물을 확인하는 것이 좋습니다 https://unity.com/kr/products/muse Unity MuseUnity Muse를 사용하면 Muse Chat, Muse Texture, Muse Sprite 등 AI 기반 기능으로 실시간 3D 애플리케이션 및 경험 창작을 가속화할 수 있습..

Unity/정보 2024.03.17

[Unity] 2D 랜덤 맵 생성(Celluar Automata)

Celluar Automata 소개 셀룰러 오토마타를 사용한 맵 생성 과정은 다음과 같습니다. 1. 초기 상태 설정: 특정 비율(ex: 50%)로 맵을 벽으로 채웁니다. 2. 셀룰러 오토마타 규칙 적용: 각 타일을 선택하여 주변 8칸 중 벽이 4칸을 초과할 경우 해당 타일을 벽으로, 4칸 미만일 경우 길로 변환합니다. 3. 반복적인 업데이트: 2번의 규칙을 정해진 횟수(ex: 5회)만큼 반복하여 맵을 계속 업데이트합니다. 이러한 과정을 통해 초기에 무작위로 채워진 맵이 셀룰러 오토마타의 규칙에 따라 반복적으로 변화하면서 벽과 길의 패턴이 형성됩니다. 주요 스크립트 using System.Collections; using System.Collections.Generic; using UnityEngine; ..

Unity/정보 2024.01.20

[Unity] New Input System

New Input System 소개 현재 유니티는 개발된지 오래된 엔진으로 아래처럼 기존의 입력 시스템도 오래됐다. 이 입력 시스템은 인풋시스템이 명확하지가 않아 vr, 콘솔, 모바일, pc 등등 여러 디바이스별로 일일이 키 매핑을 직접 찾아 입력해줘야한다. 그리고 코드 작성시 input.if (Input.GetMouseButtonDown(0)) else if (Input.GetKey(KeyCode.W)) 이런식으로 입력되어 보기에도 안좋아지는 단점을 가지고 있다. 이러한 것들을 해결하기 위해 유니티에서 새로운 input system을 만들어 소개한다. 사용 방법 새로운 input system을 사용하기 위해선 Package Manager에서 따로 설치해줘야한다. 아래 사진에서 알 수 있듯이 Input ..

Unity/정보 2024.01.13

[Unity] 오브젝트 풀링 (Object pooling)

오브젝트 풀링 여러가지 게임 중에 같은 오브젝트들이 반복해서 나오는 상황이 발생하는 게임이 있다. 예를 들어 아래 사진처럼 뱀서라이크 게임에서 같은 몬스터가 반복적으로 나올때라던지 오브젝트 풀링을 모른다면 위 상황을 연출할때 박쥐를 생성할땐 Instantiate를 사용하고 삭제할 때는 Destroy를 사용할 것이다. 하지만 Instantiate와 Destroy를 사용하면 안좋다는것은 조금만 구글링해도 금방 알 수 있듯이 이를 해결하기 위해 보통 오브젝트 풀링을 사용한다. 오브젝트 풀링이란 게임에서 자주 사용되는 객체를 미리 생성하여 필요할 때 활성화/비활성화를 통해 재활용하여 성능을 최적화하는 기법이다. 원리는 다음과 같다. 1. 풀링 생성: 게임이 시작될 때 미리 정해진 개수의 오브젝트를 생성하여 풀(..

Unity/정보 2024.01.06

[Unity] 모바일 게임 성능 최적화

1편 https://www.youtube.com/watch?v=1mJtoceqvro 2편 https://www.youtube.com/watch?v=RLcSRuZsZQU 유니티 공식 유튜브 채널에서 알려주는 팁이다. 알고 있으면 매우 도움이 되는 팁들을 알려주기에 한번 정독하면 좋을 듯 하다. 프로파일러 병목현상이 나타나는 부분을 정확히 파악하기 위해 프로파일러를 사용해야한다. 프로젝트 마무리 단계에서만 하지말고 개발 초기부터 정기적으로 검사해주는게 좋다. 프로파일링할땐 fps말고 ms를 확인하며 체크하는게 좋다. fps와 ms는 1 fps = 10/ms, 1 ms = 10/fps 이런식의 관계가 적용된다. 그래서 프레임 한장을 그리기 위해 소모되는 시간을 각 항목별로 확인할 수 있으니 ms숫자가 높은 항..

Unity/정보 2024.01.02

[Unity] 사운드 매니저

사운드 매니저 게임의 중요한 부분 중 하나는 바로 사운드다. 프로젝트마다 많은 효과음 및 배경음이 사용된다. 이를 효과적으로 관리하기 위해 아래의 사운드 매니저 스크립트를 기반으로 조금씩 변형하여 사용하고 있다. 단, 지금 소개하는 기능은 한 오브젝트에 모든 오디오 소스가 있기에 일부 3D 작업물에는 적합하지 않을수도 있다. 주요 스크립트 using System.Collections; using System.Collections.Generic; using Unity.VisualScripting; using UnityEngine; [System.Serializable] public class Sound { public string soundName; public AudioClip clip; } public..

Unity/정보 2023.12.03

[Unity] AOS Fog of War 에셋

AOS Fog of War 에셋 소개 이 에셋을 사용하여 전장의 안개 기능을 빠르게 게임에 적용시킬 수 있다. 심지어 무료이며, 유료 못지 않게 기능이 잘 구현되어 있다. https://assetstore.unity.com/packages/vfx/shaders/fullscreen-camera-effects/aos-fog-of-war-249249 AOS Fog of War | 카메라 효과 | Unity Asset Store Add depth to your project with AOS Fog of War asset from Fischl Works. Find this & more 시각 효과 options on the Unity Asset Store. assetstore.unity.com 아래는 위 에셋을 설..

Unity/정보 2023.12.02

[Unity] DOTween 사용하기

DOTween 소개 DOTween을 사용하면 코드로 간단하게 애니메이션을 만들고 조작할 수 있습니다. 주로 개체의 이동, 회전, 크기 조절 등의 애니메이션을 쉽게 구현할 수 있습니다. 또한, 간단한 코드 작성으로 시간에 따른 값의 변경을 부드럽게 처리할 수 있는 등의 기능을 제공합니다. 간단하고 효과적인 애니메이션 및 트윈 처리를 위한 강력한 도구로 평가받고 있습니다. https://assetstore.unity.com/packages/tools/animation/dotween-hotween-v2-27676 DOTween (HOTween v2) | 애니메이션 도구 | Unity Asset Store Use the DOTween (HOTween v2) tool from Demigiant on your ne..

Unity/정보 2023.11.27

[Unity] 구글 스프레드시트 연동

구글 스프레드시트 연동 소개 엑셀등을 이용하여 개발에 필요한 파일을 사용하는 것보단 구글 스프레드시트를 이용하는 방법을 알아보자. 스프레드시트를 이용하면 아래와 같은 장점이 있다. 실시간 업데이트 및 협업 기능: 구글 스프레드시트는 여러 사용자가 동시에 작업할 수 있도록 협업 기능을 제공한다. 여러 개발자가 동시에 스프레드시트를 수정하면서 데이터를 업데이트할 수 있다. 웹 기반 인터페이스: 구글 스프레드시트는 웹 기반 인터페이스를 제공하므로 별도의 소프트웨어 설치 없이 어디서든 접근할 수 있다. 따라서 데이터 업데이트 및 관리가 편리하다. 실시간 데이터 동기화: 스프레드시트의 변경 사항은 실시간으로 반영되므로 데이터의 최신 버전을 얻을 수 있다. 이는 실시간으로 게임 내 데이터를 업데이트하는 데 유용할 ..

Unity/정보 2023.11.14