IT/TIL(127)
-
20240108_맵의 상호작용 물체 만들기
오늘의 TIL은 맵 상에서 플레이어와 상호작용하는 물체를 만드는 내용이다. 위의 이미지처럼, 표지판에 플레이어가 닿으면(플레이어가 오브젝트 collider에 닿으면) 특정 문구가 나오는 기능을 구현했다. 오브젝트를 구성하는 것은 아래의 이미지처럼 단순한데, 플레이어와 상호작용하는 게임 오브젝트에는 Box Collider 2D(Is Trigger 체크)와 아래의 스크립트를 추가하면 되는데, 특정 오브젝트를 판단하기 위해 Tag를 사용하였다. 실제로 사용한 코드는 아래와 같은데, 더보기 using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; public class InteractText : MonoB..
2024.01.08 -
20240105_함정 만들기
오늘의 TIL은 플랫포머 게임에서 빼놓을 수 없는 함정에 관한 내용이다. 플랫포머 게임의 느낌이 물씬 나는 이 맵은 점프와 가시 함정이 핵심인 맵인데, 가시 함정이 가져야되는 특징이라고 한다면 플레이어와 만났을 때 플레이어에게 대미지를 주어야하며, 대미지를 주는 경우에 플레이어에게 넉백을 주면서 피격했다는 표시를 해줘야 된다고 생각했다. 따라서 만든 스크립트는 아래와 같은데, 더보기 using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class Traps : MonoBehaviour { public int trapDamage = 3; public float knockbackFor..
2024.01.08 -
20230104_카메라 이동
오늘의 TIL은 게임에서의 카메라 이동과 관련된 내용인데, 실제로 구현하려는 내용은 카메라가 플레이어를 쫓아가면서, 일정 위치 이상으로는 가지 않는 것이다. 즉, 카메라가 플레이어를 쫓아가지만, 일정 범위 내에서만 움직이게 만드는 방법을 구현한 내용이다. 2D 플랫포머 게임을 만드는 과정에서, 카메라가 내가 만든 맵 이상으로 비추게되면 아래 이미지처럼 어색하게 보일 수 있는데 맵의 끝 부분(도착점이 있는 부분)이라면 이 부분 이상으로 오른쪽으로 가지 않는 것이 좀 더 부드럽게 보일 것이다. 따라서, 이 부분을 제한하기위해 작업을 진행하면, 원래는 왼쪽의 이미지처럼 플레이어의 상속되게 Main Camera를 넣어줬었는데 오른쪽 이미지처럼 새롭게 카메라 오브젝트를 만들고 여기에 스크립트를 연결하여 플레이어를..
2024.01.04 -
20240103_맵 만들기
오늘의 TIL은 맵 만들기인데 이전에 배웠었던 TileMap 시스템을 이용하여 맵을 만들었다. 어제 만들었던 프로젝트를 이어서 만들었는데, 아래와 같이 만들었다 좌측에 있는 하얀 sqaure가 플레이어라고 가정하고 만들었는데, 배경화면(BackGround)을 만들어서 플레이어에게 넣어주는 것으로, 이 배경화면이 플레이어를 따라가게 만들었다. 이 방법을 이용해서 맵과 별개로 배경화면을 유지할 수 있는데, 실제 플레이 화면을 보면 아래와 같다. 이런 식으로 배경화면은 그대로 유지하면서 맵을 이동하는 느낌을 만들 수 있었다. 이후에 맵은 유니티 에셋 스토어에서 받은 Platformer Tileset - Pixelart Grasslands를 사용했는데 https://assetstore.unity.com/pack..
2024.01.04 -
20240102_유니티 미니맵
오늘의 TIL은 유니티에서 미니맵을 만드는 방법이다. 이번 팀 프로젝트에서 2D 플랫포머 로그라이크 게임을 만들기로 했는데, 내가 맡은 작업은 맵과 맵 디자인 쪽으로 최종 프로젝트에서 사용할 수 있는 기능을 공부하고자 선택했다. 내가 맵을 구성할 때 가장 기본이라고 생각한 작업은 미니맵으로 생각하여 오늘은 미니맵을 만드는 작업을 진행했는데, 유니티에서는 미니맵을 만드는 작업은 기능적으로 지원되는 부분이 있어 비교적 쉬웠는데, 그 과정을 살펴보면 아래와 같다. 1. 카메라 추가하기 유니티의 Hierarchy 창에서 Camera를 생성한다(Audio Listener component를 제거한다) 이후에 카메라의 위치와 크기를 조절하고 (기본적으로 Transform은 그대로 두고 Size를 통해 크기를 조절한..
2024.01.02 -
20231229_Queue, Stack
오늘의 TIL은 자료구조 중에서 다양하게 활용되는 Queue, Stack에 대한 내용이다. 우선 TIL의 내용을 시작하기 전에 데이터를 찾으면서 발견한 사이트인데 https://www.csharpstudy.com/ 기초적인 내용이 잘 정리되어 있는 것 같아, 이번 연휴에 이곳을 통해 공부할 예정이다. Queue(큐) 우선 Queue에 대해 살펴보면 Queue(큐)는 먼저 추가된 데이터가 먼저 출력되는 자료 구조(선입선출)로써 입력된 순서대로 처리해야하는 상황에 사용된다. Queue는 맨 뒤(tail)에 데이터를 계속 추가하고, 맨 앞(head)에서만 데이터를 출력하기 때문에 순차적으로 데이터를 처리하게 된다. 간단하게 생각하면 Queue는 입장 줄을 서는 시스템이라고 생각하면 되는데, 먼저 줄에 선 사람..
2023.12.29