일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Abstract Factory Pattern
- 인앱 결제
- 스프라이트 아틀라스
- 포스트 프로세싱
- Strategy Pattern
- sprite atlas
- ReferenceEquals
- addressable
- UniRx
- Post Processing
- 디자인 패턴
- Android Plugin
- Unity
- Addressable System
- 플러그인
- c#
- equals
- 게임 개발
- Boxing
- design pattern
- 최적화
- ==
- ScriptableObject
- Reflection
- 1인 개발
- Zenject
- Unboxing
- Today
- Total
목록Unity (27)
One_KWS
스크립터블 오브젝트(ScriptableObject)는 대량의 데이터를 저장할 수 있는 데이터 컨테이너이다. 스크립터블 오브젝트를 사용하면 값의 사본이 생성되는 것을 방지하여 메모리 사용량을 줄일 수 있다. ScriptableObject를 이용한 예제 만들기 Monster라는 C# 스크립트를 생성하고 ScriptableObject를 상속받는다. public class Monster : ScriptableObject { } 몬스터 정보를 입력해 줄 변수들을 작성한다. public enum Race { Human, Orc, Elf } public class Monster : ScriptableObject { public string name; public int health; public int level; ..
몬스터를 잡아 아이템을 획득하고 이후 아이템으로 교환할 수 있도록 구현하려고 한다. 이번 일지에는 아이템을 획득하는 것까지 구현한 내용을 정리했다. 아이템 루팅 아이템 Item GameObject를 생성하고 Collider와 Rigidbody를 붙여주었다. 아이템에 둥둥 떠있는 모션을 넣기 위해 애니메이션을 추가하여 y축으로 올라갔다가 내려왔다가 하도록 구현했다. Item 스크립트를 생성하여 붙여주고 아래와 같이 코드를 작성했다. Target을 정해주면 해당 타겟을 따라가는 코드이다. 부드럽게 따라가도록 Vector3.SmoothDamp를 사용했다. (목표까지 일정한 속도로 움직이는 것이 아니라 속도가 점점 변하면서 목표 지점까지 이동한다.) public Transform Target { get; set..
인앱 결제 유니티에서는 인앱 결제 기능 구현을 위해 Unity IAP를 지원하고 있다. Unity IAP를 이용하면 iOS, Mac, Google Play, Windows 등 여러 앱스토어에서 인앱 결제 기능을 쉽게 구현할 수 있다. 또한 'Codeless IAP'를 사용하여 코드 작성 없이 인앱 결제 기능을 구현할 수도 있다. Unity IAP 설정 IAP를 사용하기 위해 유니티에서 Window - Services 를 선택한다. 또는 오른쪽 상단에 구름 모양 버튼을 누른다. (Inspector 창 위쪽에 있다.) Services 또는 구름 아이콘을 클릭하면 Inspector 옆에 Services라는 탭이 생긴다. 'Select organization'을 클릭하여 유니티 계정 이름을 선택하주고 creat..
포스트 프로세싱(Post Processing) 포스트 프로세싱(Post-Processing)은 작성한 씬에 다양한 화면 효과를 추가할 수 있는 기능이다. 포스트 프로세싱은 기존 콘텐츠를 수정할 필요 없이 시각적인 효과를 즉시 구현하고 씬의 품질을 한층 개선할 수 있다는 장점이 있다. 포스트 프로세싱 사용하기 Volume 생성 Hierachy에서 마우스 우클릭 → Volume → 원하는 Volume 클릭 GameObject에 Volume 컴포넌트 추가 Volume Properties Mode : URP가 이 볼륨이 카메라에 영향을 줄 수 있는지 여부를 계산하는 방법을 선택한다. Global : 볼륨에 경계가 없고 씬의 모든 카메라에 영향을 미친다. Local : 볼륨이 경계 내의 카메라에만 영향을 미치도록..
Spawn Object 게임이 시작했을 때 또는 다음 층으로 넘어갔을 때 몬스터를 생성해주는 기능을 추가했다. 그냥 생성해주면 밋밋하니 몬스터 생성 효과를 넣기로 했다. 가지고 있던 이펙트 에셋을 조금 수정해서 아래와 같이 만들었다. EnemySpawn GameObject를 하나 생성하여 만든 이펙트를 자식으로 넣어주고 EnemySpawn 스크립트를 생성해서 붙여주었다. 스크립트에는 아래와 같이 구현했다. public class EnemySpawn : MonoBehaviour { public Action OnEnemyCreated; [SerializeField] private ParticleSystem spawnEffect; [SerializeField] private int spawnDelay = 50..
Asset Address Addressable 에셋을 확인하기 위한 ID(string)이며 에셋을 로드할 때 사용한다. Addressable의 Resource Manager는 해당 에셋이 어디에 저장되어 있는지 알기 위해 카탈로그에서에서 어드레스를 찾는다. 에셋에 어드레스를 적용시키면 런타임 중 해당 어드레스를 이용하여 에셋을 로드한다. Addressable의 Resource Manager는 카탈로그(Catalog)에 있는 어드레스를 보고 에셋이 어디에 저장되어 있는지 찾는다. (에셋은 앱 빌드시 함께 빌드 될 수 있고 Local 또는 Remote로 저장될 수 있다.) Resource Manager는 에셋과 의존되는 에셋들도 로드한다. Content Catalogs 카탈로그(Catalog)는 Asset의..