251020
·
📖TIL
Invoke 로도 코루틴과 비슷하게 구현 가능하다StopCoroutine 이 아닌 StopInvoke 로 끊어줘야 한다싱글톤 Singleton Pattern 싱글톤과 제네릭은 같이 사용하면 좋지 않다제네릭으로 인해 디버깅이 더 어려워진다싱글톤을 제네릭으로 묶으면 모든 클래스가 같은 부모 타입을 상속받기 때문에스택 트레이스나 인스펙터에서 어디서 Instance 가 생성되었는지 추적하기가 힘들다Delegate , event
Interpolation
·
🧊Unity Basic/수학&보정함수
보간법 ( Interpolation )두 개 이상의 값 사이의 중간값을 계산하거나 부드럽게 이어주는 과정을 말한다게임이나 그래픽 , 물리 시뮬레이션 등에서 자연스러운 움직임 , 색 변화 , 회전 , 위치 이동 등을 만들때 자주 사용한다. Interpolation 은 기존 데이터나 상태 사이의 연속적인 변화 ( transition ) 를 만들기 위한 수학적 계산 방법이다.A 위치에서 B 위치로 캐릭터가 순간이동하지 않고시간에 따라 점점 이동하는 부드러운 움직임을 만드는 게 보간의 대표적인 사례이다 종류종류설명예시Linear Interpolation ( Lerp )두 값 사이를 직선 비율로 계산Mathf.Lerp(0, 10, 0.5) → 5Spherical Interpolation ( Slerp )회전(Q..
Hierarchy
·
🧊Unity Basic/에디터&인터페이스
하이어라키 ( Hierarchy )유니티 에디터의 기본 창 중 하나이다.현재 씬 ( Scene ) 안에 존재하는 모든 게임 오브젝트 ( GameObject ) 들의 계층 구조 ( 부모 - 자식 ) 를 보여주는 창이다. Hierarchy 창은 Scene 에 배치된 모든 Object 를 tree 구조로 표시하는 곳이다.부모 - 자식 관계가 시각적으로 들여쓰기 ( indent ) 형태로 나타난다씬에 존재하는 오브젝트의 이름 , 순서 , 관계를 쉽게 파악할 수 있다. 작동 원리새 오브젝트를 생성하면 Hierarchy 에 자동으로 등록된다드래그 & 드롭으로 부모 - 자식 관계를 쉽게 설정 가능하다오브젝트를 클릭하면 Inspector 창에서 해당 오브젝트의 컴포넌트 정보를 확인하거나 수정할 수 있다삭제하면 씬에서..
typeof
·
⭐C Sharp/03. 연산자
typeofC# 에서 데이터 형식 ( Type ) 정보를 가져오는 연산자이다.typeof 는 컴파일 시점에 특정 형식의 System.Type 객체를 반환한다.타입 자체를 인자로 전달할 때 사용한다. 문법Type 변수명 = typeof(자료형); 예시 코드using System;class Program{ static void Main() { Type t1 = typeof(int); Type t2 = typeof(string); Type t3 = typeof(Program); Console.WriteLine(t1); // System.Int32 Console.WriteLine(t2); // System.String ..
Lerp & MoveTowards
·
🧊Unity Basic/수학&보정함수
Lerp ( Linear Interpolation )시작값과 목표값 사이를 비율 ( t ) 에 따라 선형적으로 보간하는 함수이다.Lerp ( a , b , t ) 는 t = 0 일 때 a 를 반환 , t = 1 일 때 b 를 반환하며0 ~ 1 사이의 t 값으로 두 값 사이를 비율 기반으로 부드럽게 이동시킨다. 사용하면 좋을 상황오브젝트의 위치 , 회전 , 색상 , 크기 등을 부드럽게 변화시킬 때카메라의 이동이나 페이드 인 / 아웃 같은 연출 효과시간 기반 보간이 필요할 때 ( Time.deltaTime 과 함께 사용한다 ) 예시 코드using UnityEngine;public class LerpExample : MonoBehaviour{ public Transform startPoint; ..
Clamp
·
🧊Unity Basic/수학&보정함수
Mathf.Clamp클램프는 값이 특정 범위를 벗어나지 않도록 제한 ( Clamp ) 하는 함수이다.최소값보다 작으면 최소값을 , 최대값보다 크면 최대값을 반환하는 함수인 것이다.Mathf.Clamp(value, min, max) 사용하면 좋을 상황플레이어 이동 범위 제한└ 캐릭터가 화면 밖으로 나가지 않게 X / Y 좌표 제한체력 ( HP ) 범위 조절└ 0 보다 작아지지 않게 , 최대 체력 이상으로 올라가지 않게 제한UI 슬라이더 값 보정└ 계산 중 값이 0 ~ 1 을 넘어가지 않게 제한입력 값 / 감속 / 가속 제어└ 입력 세기나 속도를 일정 범위로 유지 예시 코드▼ 플레이어 이동 제한using UnityEngine;public class PlayerMove : MonoBehaviour{ p..
Graphics
·
🧊Unity Basic/프레임&델타타임
그래픽스 ( Graphics )그래픽스는 화면에 이미지를 표현하는 모든 기술과 과정을 의미한다게임이나 UI , 애니메이션 , 심지어 윈도우 창까지 모두 그래픽스 기술을 사용한다. 그래픽스(Graphics) : 시각 정보를 컴퓨터로 생성·처리·표현하는 기술그래픽 카드(GPU) : 이 연산을 빠르게 처리하는 전용 하드웨어프레임(Frame) : 화면에 1초 동안 몇 번 이미지를 새로 그릴지 나타내는 단위 (FPS)구분설명2D 그래픽스평면상의 이미지 ( 스프라이트 , UI , 픽셀 아트 등 )3D 그래픽스입체 공간상의 모델과 조명 , 카메라를 계산해 렌더링렌더링 ( Rendering )데이터 ( 모델 , 텍스처 , 조명 등 ) 를 실제 화면 이미지로 변환쉐이더 ( Shader )GPU 에서 색상 , 조명 , 효..
프레임 렌더링
·
🧊Unity Basic/프레임&델타타임
프레임 렌더링 ( Frame Rendering )프레임 렌더링은 컴퓨터 그래픽스에서 한 장의 화면 ( 프레임 , Frame ) 을 그리는 과정을 말한다.Unity 나 게임 엔진에서 매우 중요한 개념이다.프레임은 게임에서 1장의 화면 이미지이다.영화처럼 초당 몇 장의 화면이 바뀌느냐로 FPS ( Frame Per Second ) 가 결정된다.60 FPS 는 1초에 60장의 화면이 렌더링 된다. 프레임의 정의프레임의 정의에 대해서는 위의 페이지에 정리해두었다. 렌더링 ( Rendering )렌더링은 3D 데이터 ( 모델 , 조명 , 텍스처 등 )를 카메라 시점에서 2D 이미지로 변환하는 과정이다.GPU ( Graphics Processing Unit ) 가 수행하며 , 다음 단계를 거친다.Scene 구성 ..
프레임
·
🧊Unity Basic/프레임&델타타임
프레임 ( Frame )프레임은 화면에 한 번 그려지는 그림 ( 이미지 ) 한 장을 의미한다.비디오나 게임에서는 이 프레임들이 연속적으로 빠르게 표시되어 움직이는 것처럼 보이는 착시 효과를 낸다.영화 : 1초에 24 프레임 ( 24 FPS )일반 모니터 : 60 FPS게이밍 모니터 144 FPS , 240 FPS1초 동안 화면이 몇 번 새로 그려지는가가 프레임 속도 ( FPS , Frames Per Second ) 이다. 인간의 시각과 프레임인간의 눈은 약 초당 24프레임 이상부터는 부드러운 연속 동작처럼 인식한다.하지만 게임은 영화보다 즉각적인 반응성과 입력 지연 ( Latency ) 이 중요하므로 60 FPS 이상을 목표로 한다.30 FPS → 약간 끊겨 보인다 ( 콘솔 기본 )60 FPS → 부..