카테고리(355)
-
20240112_자료형 Int와 Float
오늘의 TIL은 기술면접 준비 과정에서 나왔던 문제인 Int와 Float에 관한 내용이다. 문제는 'float와 int의 표현 가능한 수의 범위가 다른 이유는 무엇인가요?'인데 문제를 접했을 때 나왔던 답안은 "int의 경우 32bit 자료형에서 1bit를 부호로 사용하고 나머지 31bit를 숫자를 표시하는데 사용하고 float의 경우 똑같이 32bit 자료형에서 1bit를 부호로 사용하지만, 지수를 표현하는데 사용하는 bit가 있고 숫자를 표시하는데 사용하는 bit가 있기 때문입니다. 다시 말해서, 같은 크기의 자료형이지만 숫자를 표시하는데 사용하는 bit의 크기가 다르기 때문에 표현 가능한 수의 범위가 달라집니다" 라고 나왔다. 이 문제의 해설을 살펴보면 문제의 출제의도는 각 자료형이 내부적으로 어떻..
2024.01.13 -
20240111_이미지에서 타일맵 만들기
오늘의 TIL은 게임에서 맵을 만들 때 사용하는 타일맵과 룰타일에 관한 내용이다. 최종프로젝트를 진행하면서 구한 에셋에서 스프라이트만 있고 타일맵은 구현되어 있지 않아 타일맵을 만들었다. 사용한 에셋 https://maaot.itch.io/mossy-cavern Mossy Cavern by Maaot 2D HD sprites to create an atmospheric cavern. maaot.itch.io 참고한 유니티 공식 가이드 영상 https://www.youtube.com/watch?v=CZgeNmp8II4&t=904s 스프라이트를 가지고 타일맵을 만드는 과정 스프라이트를 가지고 타일맵을 만드는 경우에는 이미지가 1개인지, 여러개인지에 따라 달라지는데, 받아온 이미지는 Mossy - Tile S..
2024.01.11 -
20240110_FSM, BT
오늘의 TIL은 유니티에서 사용하는 FSM과 BT에 관한 내용이다. 최종 프로젝트를 진행하면서 플레이어와 몬스터에 사용할 로직 중에서 FSM과 BT 중에 어느 것을 사용할지에 대한 논의가 있었다. 두 방식의 장단점은 알고 있지만 실제 사용 횟수는 적어서 어느 방식을 사용할지 결정하기 어려웠다. 팀원들과 함께 고민을 하였지만 결론이 나지 않아 튜터님께 질문하게되었다. 튜터님께서 해주신 답변은 간단하게 요약하면 '트랜지션의 복잡도에 따라 사용할 방식을 결정하라'는 느낌이었다. 즉, FSM의 경우에는 트랜지션 구조에 사용하면 좋고, BT의 경우에는 복잡한 트랜지션 구조에 사용하면 좋다는 뜻이다. 그 이유는 FSM과 BT의 특징에 따른 결과이므로 오늘은 FSM과 BT를 공부하면서 어떤 특징이 있고, 각 방식의 ..
2024.01.10 -
20240109_C#에서의 순열
오늘의 TIL은 알고리즘 문제를 풀면서 만난 순열에 대한 내용이다. 순열은 수학에서 배우는 경우의 수를 찾는 방법에서 사용되는 용어로 보통은 nPr로 알고 있다. 나무위키의 내용을 살펴보면 https://namu.wiki/w/%EC%88%9C%EC%97%B4 순열 - 나무위키 (a1, a1, ⋯⋯ , a1⏞P1, a2, a2, ⋯⋯ , a2⏞P2, ⋯⋯ , an, an, ⋯⋯ , an⏞Pn)\left( \overbrace{a_1,\,a_1,\, \cdots\cdots,\, a_1}^{\rm P_1},\, \overbrace{a_2,\,a_2,\, \cdots\cdots,\, a_2}^{\rm P_2},\, \cdots\cdots,\ namu.wiki 순열(Permutation)은 서로 다른 n개의 원소에..
2024.01.09 -
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