일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- design pattern
- Android Plugin
- Unity
- ReferenceEquals
- 스프라이트 아틀라스
- equals
- 게임 개발
- c#
- addressable
- Post Processing
- 포스트 프로세싱
- Abstract Factory Pattern
- 디자인 패턴
- Reflection
- 플러그인
- ScriptableObject
- 1인 개발
- Addressable System
- 최적화
- 인앱 결제
- Boxing
- Strategy Pattern
- ==
- sprite atlas
- Unboxing
- Zenject
- UniRx
- Today
- Total
목록전체 글 (40)
One_KWS
Zenject 소개 Zenject 란 ? Zenject는 Unity를 위한 DI(Dependency Injection : 의존성 주입) 프레임워크이다. Github https://github.com/modesttree/Zenject Asset Store https://assetstore.unity.com/packages/tools/utilities/extenject-dependency-injection-ioc-157735 의존성 주입(Dependency Injection : DI) 의존성 주입이란 객체 간의 의존성을 클래스 외부에서 주입하는 것을 말한다. 인터페이스를 사이에 둠으로서 클래스 레벨에서는 의존관계가 고정되지 않도록 하고 런타임시에 동적으로 주입하여 유연성을 확보하고 결합도를 낮출수 있게 해준..
UniRx 소개 UniRx ? Unity에서 Reactive Programming을 쉽게 구현할 수 있게 만든 라이브러리이다. .NET에도 Rx 라이브러리가 있지만 Unity에 최적화되어 있지 않다. UniRx는 Unity에 최적화되어 만들어졌다. Github https://github.com/neuecc/UniRx Reactive Programming 데이터 또는 이벤트의 변경이 발생하면 이에 반응해 처리하는 프로그래밍 기법이다. UniRx의 장점 일반적으로 유니티의 네트워크 운영은 WWW와 코루틴을 사용해야 한다. 그렇지만 아래와 같은 이유로 코루틴을 사용하는 것은 비동기 연산에 좋은 방법이 아니다 코루틴은 다른 값을 반환할 수 없고 오직 IEnumerator를 반환해야 한다. 코루틴은 예외 처리를 ..
매주 만나서 성과 공유하는 스터디를 하고 있는데 나의 경우에는 현재 만들고 있는 게임을 어느 정도 개발했는지 공유하고 있다. (다른 분은 게임이 아닌 앱 서비스를 개발하고 있다.) 매주 스마트 폰에 빌드를 해서 플레이하고 피드백을 받고 있는데 (피드백을 매우 잘 주신다. 다만 조금 매울 뿐..) 이번 일지부터는 개선한 내용도 같이 기록하려고 한다. 조이스틱 개선 플레이를 하다보면 손가락이 금방 피로해진다는 피드백이 있었다. 모바일 게임을 하다보면 조이스틱이 고정으로 있지 않고 터치한 곳을 기준으로 조이스틱이 따라오는데 내가 구현한 조이스틱은 한 위치에 고정되어 있어서 그런 것 같다. 터치한 위치로 조이스틱이 따라오도록 수정했다. 터치 영역 수정 아래와 같이 빈 공간에 터치가 되었을 때도 인식할 수 있도록..
스크립터블 오브젝트(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..