일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- C#
- Tween
- DotsTween
- Unity Editor
- 직장인공부
- ui
- 직장인자기계발
- 환급챌린지
- sha
- 패스트캠퍼스
- RSA
- Dots
- Framework
- Job 시스템
- 샘플
- 가이드
- TextMeshPro
- job
- Custom Package
- base64
- 커스텀 패키지
- unity
- 프레임워크
- 오공완
- 패스트캠퍼스후기
- 2D Camera
- 암호화
- AES
- 최적화
- adfit
- Today
- Total
목록Unity (47)
EveryDay.DevUp

Unity 프로젝트에서 다른 프로젝트로 어셋의 내용을 옮길 때 기존에는 Export Package를 사용하였다. 어셋의 포함된 리소스 및 스크립트를 Unity Package로 묶어서 내보낼 수 있었고, 다른 프로젝트에서 Import하는 것만으로 쉽게 프로젝트의 내용을 옮길 수 있었다. 하지만 Unity의 기반이 패키지 형태의 기능 배포로 변하면서 기존의 Export Package에서의 한계점이 발생한다. 예를들어 Unity Package의 Addressable Package를 코드에 사용한다고 가정할 때, 기존의 Export Package에서는 Addressable Package까지 함께 Package로 묶이지 않아 다른 프로젝트에서 Import했을 때 에러가 발생한다. using UnityEngine;..

유니티에서 모듈을 배포하는 형식이 Unity의 버전업 방식에서 패키지로 변화되었다. 기능이 하나 추가된다고 할 때 기존의 Unity의 버전업을 통해서 제공했을 때는 유니티의 재설치가 필요했고 추가한 기능의 대해서 버그가 발생했을 때의 대응속도가 빠르지 않았었다. 유니티 자체에 기능이 종속되었기 때문에 수정으로 인한 사이드 이펙트를 체크하는데 시간이 걸려서 그랬을 것으로 예상한다. 반면 패키지 방식은 기능이 패키지 단위로 묶여있고 유니티의 종속적이지 않는 장점과 필요한 기능만을 프로젝트에 추가할 수 있어서 컴팩트하게 프로젝트를 유지할 수 있다. 유니티는 패키지 매니저를 통해 개발 중인 버전과 정식 배포되는 버전, 업데이트가 필요한 패키지 등을 보여주고 사용자는 필요한 패키지를 install 하거나 upda..

게임 개발을 여러사람이 진행할 경우, 숙련도에 따라 어셋을 임포트할 때 정해둔 규칙을 따르지 않는 실수가 발생할 수 있다. 예를들어 ui 텍스쳐를 임포트할 때 read/write 옵션을 꺼야하는데 끄는 경우가 있을 수 있고, 텍스쳐 포맷을 잘 못 설정하는 경우가 발생할 수 있다. 개발 과정 중에 체크를 할 수 있다면 다행이지만, 사람은 누구나 실수를 할 수 있기 때문에 코드로 사람의 실수를 방어 할 필요가 있다. 프로젝트마다 정하는 규칙이 다르기때문에 해당 코드를 일반화하기는 어려울 것이다. 그래서 Unity는 어셋이 변경이 될 때 콜백을 받을 수 있도록 하였다. 콜백을 받으려면 AssetPostProcessor를 상속받아, 변경이 발생했을 때 콜백을 받을 수 있도록 어셋의 타입에 따른 함수를 정의하면 ..

Unity는 기본적으로 Assembly-CSharp과 Assembly-CSharp-Editor 어셈블리를 가지고 있다. 기본적으로 Asset에 있는 스크립트 파일은 Assembly-CSharp에 묶이고, Editor 폴더 안에 있는 스크립트 파일은 Assembly-CSharp-Editor에 묶이게 된다. 스크립트의 개수가 적은 경우 컴파일 시간이 짧기 때문에 문제가 없지만, 스크립트의 양이 많아질 수록 하나의 어셈블리에서 스크립트를 관리하면 컴파일의 시간이 비례하여 증가하게 된다.Unity는 이에 대한 해결 방법으로 사용자가 어셈블리를 정의하여 사용할 수 있도록 Unity 2017.3 버전 이후에 추가하였다. 사용자 정의 어셈블리를 만드는 방법은 간단하다.① Asset->Create->Assembly D..

ECS를 알아보기 전 DOTS에 대해 궁금한 점이 있다면 하단의 링크를 통해 알아 볼 수 있다. https://everyday-devup.tistory.com/67 [Unity] DOTS ( Data Oriented Technology Stack ) ● DOTS란? ▶ Unity를 통해 멀티스레딩과 퍼포먼스 향상이 가능한 차세대 유니티 기반 기술이다. ▶ ECS, Job System, Burst Compiler 의 각 고유한 기능들을 사용하여 DOD ( Data-Oriented Design )을 구현 하.. everyday-devup.tistory.com ● Burst 컴파일러 ▶ C# 코드를 하드웨어의 최적화하여 Native 코드로 변경하는 것이다. ▶ iOS의 이슈로 Unity에서 IL2CPP를 지원..

ECS를 알아보기 전 DOTS에 대해 궁금한 점이 있다면 하단의 링크를 통해 알아 볼 수 있다. https://everyday-devup.tistory.com/67 [Unity] DOTS ( Data Oriented Technology Stack ) ● DOTS란? ▶ Unity를 통해 멀티스레딩과 퍼포먼스 향상이 가능한 차세대 유니티 기반 기술이다. ▶ ECS, Job System, Burst Compiler 의 각 고유한 기능들을 사용하여 DOD ( Data-Oriented Design )을 구현 하.. everyday-devup.tistory.com Unity의 Job System을 이해하기에 앞서 기본이 되는 프로세스, 스레드의 개념을 알아보고, Job 시스템이 무엇인지와 사용법을 설명하고자 한다..

ECS를 알아보기 전 DOTS에 대해 궁금한 점이 있다면 하단의 링크를 통해 알아 볼 수 있다. https://everyday-devup.tistory.com/67 [Unity] DOTS ( Data Oriented Technology Stack ) ● DOTS란? ▶ Unity를 통해 멀티스레딩과 퍼포먼스 향상이 가능한 차세대 유니티 기반 기술이다. ▶ ECS, Job System, Burst Compiler 의 각 고유한 기능들을 사용하여 DOD ( Data-Oriented Design )을 구현 하.. everyday-devup.tistory.com ● ECS 란? : ECS는 Entitiy, Component, System의 앞글자를 하나씩 딴 단어로, Unity에서 DOTS를 사용하기 위해 만든..

● DOTS란? ▶ Unity를 통해 멀티스레딩과 퍼포먼스 향상이 가능한 차세대 유니티 기반 기술이다. ▶ ECS, Job System, Burst Compiler 의 각 고유한 기능들을 사용하여 DOD ( Data-Oriented Design )을 구현 하였다. ※ Data-Oriented-Design : 프로그래밍을 시작하게 되면 가장 먼저 배우는 개념이 OOP ( Object-Oriented Programing )일 것이다. OOP는 여러대의 자동차가 존재한다고 했을 때 각 자동차를 객체로 분리하여 자동차의 특성을 정의하고 그 특성을 상속과 추상화 등으로 처리하여 여러대의 자동차를 나타낸다. OOP는 객체에만 중점을 두기 때문에 메모리에 어떻게 배치 된다거나, 그 안에 어떤 데이터가 있는지에는 관심..

● Sprite Atlas : 여러개의 스프라이트를 하나의 텍스쳐로 합쳐서 관리함으로써 드로우콜을 낮추는 방법입니다. ● Sprite Atlas 는 왜 사용해야하는가? ▶ Draw Call 사용 횟수를 줄임으로 써 게임을 최적화 할 수 있습니다. : 1개의 이미지를 나타내기 위해서는 Draw Call이 1번 필요합니다. : 이미지 1개의 Draw Call이 하나라면, 하나의 이미지 안에 여러 개의 이미지를 나누고 나눠진 이미지를 사용한다면 Draw Call 도 1번만 사용하면 된다는 예상을 할 수 있습니다. ● Sprite Atlas 을 사용 방법 : 사용할 이미지를 아틀라스로 묶으면, 자동으로 UI에서 참조하고 있던 이미지를 플레이 시에 Draw Call 한번에 그립니다. ● Sprite Atlas 상..

● 9-Slice 이미지 : 이미지를 9개로 분할하여 D, F 영역은 세로로 늘리고 B, H 영역은 가로로 늘리고 E 영역은 가로 세로로 늘리거나 타일링 하여 이미지를 처리하는 것을 이야기합니다. : A, C, G, I 영역은 크기를 변경하지 않고 유지합니다. : 9-Slice는 Android 및 다양한 플랫폼에서 사용되고 있습니다. ● 9-Slice 사용 시 이미지의 모습 ▶ Image Type이 Simple일 때는 원본 이미지 전체를 가로로 늘린 모습을 볼 수 있습니다. ▶ Image Type을 Sliced로하면 9개의 사각형 메시로 나뉘어져 B, D, E, F, H 영역이 늘어나고, A,G,C,I는 그대로 그리면서 자연스러운 사각형을 볼 수 있습니다. ▶ Image Type을 Tiled로하면 9개의..