일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- C#
- 커스텀 패키지
- job
- 오공완
- Unity Editor
- 프레임워크
- sha
- ui
- Custom Package
- AES
- 패스트캠퍼스
- 환급챌린지
- Job 시스템
- base64
- Dots
- Framework
- RSA
- TextMeshPro
- 암호화
- 패스트캠퍼스후기
- 가이드
- adfit
- 최적화
- Tween
- unity
- 직장인공부
- 샘플
- DotsTween
- 직장인자기계발
- 2D Camera
- Today
- Total
목록Unity (47)
EveryDay.DevUp
시네머신의 기본적인 개념과 사용에 대한 정리- 시네머신은 카메라를 동적으로 제어해 프로젝트에 최적화된 카메라 설정을 할 수 있도록 함: 카메라 애니매이터와 같은 역할1) 시네머신 기능- Free Look : 자유 시점- Group Target : 여러개의 타겟팅을 할 수 있는 기능- Mixer : 여러 카메라를 믹싱하는 기능- Clear Shot : 카메라가 벽에 부딪힐 경우 다른 카메라로 전환해서 잘 보일 수 있도록 - Noise & Impulse : 노이즈와 핸들 느낌- State Driven Camera : 애니매이션 상태에 따른 카메라- Follow Zoom : 카메라의 줌 상태를 유지할 수 있는 기능- Dolly Cart & Track : 트랙을 따라 카메라가 움직이는 기능- 2D Camera ..
https://www.youtube.com/watch?v=mlNWoROvavY&list=PLw09erhbpPfRZQd5foypNyT5GDopwkSPOURP를 기준으로 Unity에 셰이더 기초를 배울 수 있는 강좌- 유니티의 셰이더의 기본적인 구조와 문법을 익힐 수 있어서, 기존 셰이더를 이해하는데 도움이 됨: 셰이더는 인스펙터에 노출할 속성, Tags, 키워드, Pass로 이루어짐: Pass에는 버텍스 셰이더의 VertextInput / Ouput, 프레그먼트 (픽셀) 셰이더로 이루어짐 - 워터 셰이더, 마스크, 툰 셰이더의 기본적인 내용을 이해할 수 있음
https://www.youtube.com/watch?v=QRlz4-pAtpYhttps://www.youtube.com/watch?v=UsyvT36vqpULegacy와 URP의 차이- Legacy는 메인 스레드에서 게임 엔진 프레임워크로 오브젝트를 그리는 요청 (렌더)을 하거나 OnPrecull과 같은 후킹 기능을 통해 렌더 파이프라인에 요청을 하는 형태- URP에서는 렌더 파이프가 엔진안에서 외부로 나오게 되어 RenderContext를 직접 수정할 수 있게됨URP 란?- SPR (Scriptable Render Piple) 를 기반으로 한 렌더 파이프라인 템플릿- URP -> Renderer -> Pass, Pass... Pass 하나 하나가 독립적이고 실시간으로 패스 변경도 가능함URP의 장점1)..

Project-ML에서 SPUM을 통해 만들어진 캐릭터는 스프라이트 애니매이션을 통해 화면에 보여주고 있음Q. 스프라이트 아틀라스를 사용할 때와 사용하지 않을 때 어떤 차이가 있을것인가?.1. 이론- 스프라이트 아틀라스를 통해 스프라이트를 합칠 경우 메모리에 합쳐진 한 장의 스프라이트 이미지가 올라갈 것으로 예상- 현재 캐릭터는 Move / Attack / Idle / Die 4개의 애니매이션과, 각각 스프라이트 한 장씩 총 4장을 사용함2. 검증 방법2.1. 스프라이트 아틀라스를 사용할 때와 사용하지 않을 때 윈도우 환경으로 빌드 후 메모리 프로파일러 실행: 각 빌드는 Clean Build를 사용2.2. Unity Objects 를 비교한 결과 확인 3. 결론- 스프라이트 아틀라스를 사용할 경우 4M..

Unity 5.5 미만 버전에서 foreach를 사용할 경우 가비지가 발생하는 이슈가 있었다. 원인 - Mono C# Unity 버전에서 foreach loop 종료 시 값을 강제로 박싱 - 값 형식의 열거자를 생성하였는데, 해당 열거자를 사용할 경우 loop가 종료되는 시점에 IDisposable 인터페이스를 구현 해야 했음 - 인터페이스는 참조 형식이기 때문에, 값 형식을 인터페이스로 변환하는 중에 박싱이 발생하게 됨 참고 : https://everyday-devup.tistory.com/106 [Unity] Struct (구조체) Struct (구조체)? - 데이터와 관련 기능을 캡슐화할 수 있는 값 형식 캡슐화 : 데이터와 기능을 하나로 묶고, 구현 내용 일부를 외부에 감춤 특징 1. 매개 변수가..

Fake null이란? - Unity Object의 == 또는 != 연산자에서 null을 비교했을 때와 System.Object의 null을 비교 했을 때 값이 다르게 나오는 현상을 말한다. public class NullCheckTest : MonoBehaviour { void Start() { StartCoroutine(CheckNullTest()); } IEnumerator CheckNullTest() { GameObject go = new GameObject(); Destroy(go); WaitForEndOfFrame wfs = new WaitForEndOfFrame(); /// Destory의 경우 바로 삭제되지 않고 한 프레임이 지나야 /// 삭제되기 때문에 WaitForEndOfFrame추가..

DotsTween을 범용적으로 사용할 수 있도록 CustomPackage로 만들었다. 해당 게시글은 DotsTween CustomPackage를 만드는 과정을 설명한 글이다. Custom Package를 만드는 방법에 대해 알고 싶다면 아래의 게시글을 참고하면 된다. https://everyday-devup.tistory.com/85 [Unity] 프레임워크 개발 - Custom Package 생성 기존에 사용하던 v.0.0.1 프레임워크 패키지에서 v.0.1.0으로 프레임워크 패키지로 업그레이드하면서, Unity의 Addressable 패키지를 사용하게 되었다. Addressable 패키지를 사용함에 따라 v.0.1.0 프레임워� everyday-devup.tistory.com 어셈블리 생성 방법에 대..

Unity에 이미지 파일을 Import 하면 Inspector 창에서 다음과 같은 정보를 확인할 수 있다. 단말기에 따라 텍스처의 사이즈와 압축 방식을 선택할 수 있는데, 이 게시글에서는 압축 방식에 대해 설명하고자 한다. 텍스처 압축은 원본 텍스처를 그대로 단말기에서 사용했을 때의 App에서 차지하는 용량과 메모리에서 차지하는 크기 문제를 해결하기 위한 것이다. 게임에서의 텍스처 압축은 일반적으로 알고 있는 jpg, png 와 같은 형태의 압축 방법과는 차이가 있다. jpg, png의 경우 이미지 제작 프로그램에서 원본 이미지의 용량을 줄이기 위해 사용하는 압축 방법으로, 게임에서는 jpg, png로 저장되어 있는 텍스처를 원본의 이미지로 만든 뒤 "텍스처 블록 압축 알고리즘"을 통해 다시 저장한다. ..

게임의 UI를 개발하게되면 Prefab 또는 Scene의 GameObject에서 필요한 UI 요소들을 참조해서 코드를 작성하게 된다. 예를들어 UI프리팹의 TextMeshPro 와 같은 텍스트를 보여주는 컴포넌트가 있다고 할 때, 게임의 언어가 한국어 일 때는 한국이라고 나타내고 게임의 언어가 영어 일때는 USA 라고 나타내는 경우가 있다고 하자. 게임의 언어에 따라 텍스트를 바꿔줘야 하기 때문에 코드에서 언어로 분기 처리를 해야한다. 그리고 분기처리를 하기 위해 코드에서 TextMeshPro 컴포넌트의 정보를 참조해야 한다. 이때 UI 요소를 참조하는 방법은 3가지 정도가 있다. ▶ MonoBehaviour를 상속한 스크립트에서 public으로 선언한 변수에 참조할 ui요소를 드래그 & 드랍으로 가져올..

▶ Serialize ( 직렬화 ) : Unity에서 사용하는 데이터나 GameObject의 정보를 저장하고 불러오기 위해 사용하는 포맷으로 자동으로 변환하는 프로세스이다. : Unity Editor에서 인스펙터 창의 정보나 프리팹의 정보를 저장하고 불러오는데 사용되고 있다. ▶ hot reloading ( 핫 리로드 ) : Unity Editor에서 Serialize 되는 데이터 또는 코드의 수정이 발생한 경우 실시간으로 변경 사항을 체크하여 데이터를 직렬화 한다. 이때 직렬화가 적용되지 않는 정보는 데이터를 잃게 된다. ▶ Serialize Rules ( 자동으로 직렬화가 되는 규칙 ) : Class안에 public으로 선언되거나 [SerializeField] 속성이 정의 되어 있는 경우 직렬화가 가..