일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 디자인 패턴
- 포스트 프로세싱
- 최적화
- Unboxing
- 플러그인
- Addressable System
- c#
- Unity
- ReferenceEquals
- Android Plugin
- Strategy Pattern
- 1인 개발
- ==
- Reflection
- design pattern
- 스프라이트 아틀라스
- Zenject
- equals
- 게임 개발
- 인앱 결제
- Post Processing
- ScriptableObject
- addressable
- Boxing
- UniRx
- sprite atlas
- Abstract Factory Pattern
- Today
- Total
목록전체 글 (40)
One_KWS
C#에서 다루는 Type에는 Value Type과 Reference Type으로 두 가지가 있으며 둘 중 하나로 반드시 분류된다. 구조체는 Value Type이고 클래스는 Reference Type이다. int, long, decimal, char, byte 등이 Value Type이고 object, string은 Reference Type이다. Value Type과 Reference Type 이 두가지 Type이 프로그래밍에 어떤 영향을 주는지 다음 코드를 보면 알 수 있다. struct MyPoint { public int X { get; set; } public int Y { get; set; } public MyPoint(int x, int y) { this.X = x; this.Y = y; } ..
포스트 프로세싱(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의..
서버에 에셋 업로드하기 Remote Build를 통해 에셋을 서버에 업로드하고 런타임중 서버로부터 에셋을 로드하여 사용할 수 있다. AWS S3 버킷 생성 AWS 홈페이지에서 모든 서비스 - 스토리지 - S3를 클릭한다. 버킷 만들기를 클릭하여 새로운 버킷을 생성하고 아무 파일이나 업로드를 한 후 클릭하면 객체 URL을 볼 수 있다. 해당 객체 URL에서 버킷이름까지만 복사한다. Addressable Group 생성 서버로 업로드할 어드레서블 그룹을 생성한 후 이전 예제에서 만들어 놓은 에셋을 새 그룹으로 옮긴다. Addressable Profile 생성 Window/Asset Management/Addressables/Profiles를 클릭하여 Addressable Profiles 창을 띄운다. 처음에..
Addressable Profiler 어드레서블은 에셋의 실시간 디버깅을 확인할 수 있는 프로파일러를 제공한다. Window - Asset Management - Addressables - Event VIewer를 클릭하여 프로파일러를 열 수 있다. 프로파일러를 사용하려면 AddressableAssetsData 폴더 안에 있는 AddressableAssetSettings에서 Send Profiler Events를 체크해야 한다. 에셋을 로드하면 프로파일러에서 실시간으로 프레임, 모노힙, 생성된 큐브의 수와 생성된 시점 등을 확인할 수 있다. 에셋 언로드 어드레서블을 이용하여 로드된 에셋들은 메모리에서 해제시키지 않으면 계속 남아있게 된다. 따라서 로드된 에셋을 다 사용하고 나면 메모리에서 해제시켜줘야 한..