전체 글

YMS Games 의 블로그입니다
· Unity/Tip
2D 탑다운 게임을 개발하다보면 점프를 구현해야하는 경우가 종종있습니다. 오늘은 제가 사용하는 간단한 방법에 대해서 소개해 드리겠습니다. 제가 사용하는 방법을 간단하게 설명드리면, 먼저 2D 탑다운 게임에서 높이가 있다는 것을 표현할려면 그림자가 있어야합니다. 그리고 그 그림자를 만들어내는 오브젝트가 있겠죠. 따라서 게임오브젝트의 계층구조를 아래와 같이 만듭니다. Body오브젝트가 그림자를 그려내는 오브젝트가 되겠죠. 스프라이트는 정사각형을 사용했습니다. 이 상태에서 점프를 구현하려면 Body오브젝트만 위아래로 움직여주면 되겠죠. 그리고 Body오브젝트가 충분히 그림자에 가까워 졌다면 점프가 끝난것이라고 가정하면됩니다. 아래와 같은 코드가 되겠죠. private void Update() { if (isG..
· Unity/Tip
유니티에서 UI작업을 하다 보면 내가 원하는 위치에 UI요소를 위치시키는 게 어려운 경우가 가끔 있습니다. 이는 사실 인스펙터에 노출되는 RectTransform의 위치값이 직관적이지 않기 때문이기도 합니다. RectTransform의 PosX, PosY 값은 Pivot의 위치가 Anchor의 위치로부터 얼마만큼 떨어져 있는지를 나타냅니다. $1000\times1000$ 크기의 화면에서 작업을 하고 있다고 가정해 봅시다. Image 오브젝트를 하나 생성하면 아래와 같은 화면이 될 것입니다. 현재는 Anchor도 정중앙에 있고, Pivot도 이미지의 정중아에 있기 때문에 PosX와 PosY가 $(0,0)$으로 나오죠. 이 상태에서 Anchor의 위치를 좌측아래로 바꾸면 PosX와 PosY의 값이 스크린 스..
닫힌 구간(closed interval)은 범위 내의 첫 번째 값과 마지막 값을 포함하는 범위의 집합으로. 닫힌 구간 $[2, 12]$는 아래와 같이 표현합니다. $$ 2 \leq i \leq 12 $$ 이에 반대되는 개념으로 열린 구간(open interval)이 있습니다. 열린 구간은 양 끝의 경계를 포함하지 않는 집합으로, 열린 구간 $(2, 12)$는 닫힌 구간 $[3, 11]$을 나타내고 아래와 같이 표현합니다. $$ 2
· Unity/Tip
눈누는 상업용 무료한글폰트 사이트이고 정말 많은 폰트들이 존재하기 때문에 웬만하면 나의 게임에 어울리는 폰트를 찾을 수 있을 겁니다. 눈누에서 다운로드할 수 있는 폰트파일의 포맷은 TTF와 OTF로 나뉘게 되는데, 쉽게 설명하면 TTF는 애플에서 개발한 1세대 포맷이고 OTF는 마이크로소프트가 개발한 2세대 포맷입니다. 폰트를 만들 때 곡선을 구현하는 방식의 차이로 OTF가 좀 더 선명한 폰트를 만들어 내지만 컴퓨터 리소스를 조금 더 잡아먹게 됩니다. 하지만 컴퓨터 성능의 발전과 육안으로(적어도 저는) 일반적인 사이즈의 모니터에서 TTF와 OTF를 구분하기 힘들다는 점을 생각했을 때, 대부분의 경우 그냥 아무거나 써도 무방할 것 같습니다. 1. 눈누에서 원하는 폰트 다운로드하기 눈누 상업용 무료한글폰트 ..
· Unity/Shader
※이 포스팅에서 알려드릴 픽셀레이트효과는 URP환경에서 구현했습니다. 또한 URP에 대한 지식이 어느 정도 있다고 가정하고 설명합니다. 이 포스팅에서는 URP의 커스텀렌더패스(Custom Render Pass)를 이용해 픽셀레이트효과구현합니다. 개별 오브젝트에 효과를 주는 방식이 아닌 카메라 전체에 효과를 적용하는 방식입니다. 쉐이더를 이용해 원하는 오브젝트에만 픽셀레이트 효과를 적용하는 방식은 나중에 시간이 되면 만들어 보도록 하겠습니다. 전체코드 먼저 픽셀레이트패스(PixelatePass) 클래스의 전체 코드를 보고, 중요한 부분만 설명하겠습니다. 이 픽셀레이트 효과의 구현원리는 쉽게말하면 현재 화면을 낮은 해상도를 가진 화면에 복사하고 그 복사된 낮은 해상도의 화면을 다시 원래 해상도의 화면으로 잡..
· Unity/Tip
캔버스 스케일러(Canvas Scaler) 컴포넌트는 캔버스 내 UI 요소의 전체적인 스케일과 픽셀 밀도를 제어하는 데 사용됩니다. 해당 컴포넌트를 생성하면 아래와 같은 기본값을 가지는 것을 볼 수 있습니다. 이번 포스팅에선 UI Scale Mode 값의 변화에 따라 UI요소들이 어떻게 변하는지를 집중적으로 살펴보겠습니다. (Constant Physical Size Mode는 UI요소들의 크기를 물리적 수치로 조절하는 모드인데 거의 사용하지 않으므로 설명은 생략하겠습니다.) Constant Pixel Size Mode 유니니 문서를 보면 "UI 요소가 화면 크기에 관계없이 동일한 픽셀 크기로 유지됩니다."라고 명시되어 있습니다. 이 말은 개발자가 Full HD($1920\times1080$) 해상도를 기..
YMS Games
YMS Games