전체 글(273)
-
[Unity] C# 접근 한정자 + 인스펙터에서 변수 확인하기 (Debug Mode)
C#의 접근 한정자(Access Modifier) 찾아보니, C#은 대략 다음과 같이 6개 종류 정도의 접근한정자(Access Modifier)가 있는 것 같다. public class Test : MonoBehaviour // 유니티에서 작성함 { public float publicVar; private float privateVar; protected float protectedVar; internal float internalVar; protected internal float ptItVar; private protected float prprVar; } .NET C# 가이드 문서를 보면 다음과 같이 설명이 되어 있다. 여기서 "동일한 어셈블리 내에 있는" 이런 문장은 같은 프로젝트 파일 내에 있다..
2022.02.15 -
[C#] 프로퍼티(Property)
*이 글은 책을 바탕으로 공부한 글입니다. 문제 시, 삭제하겠습니다. 1. 프로퍼티(Property) 외부에서 어떤 클래스 내부의 변수를 사용할 때, 해당 변수를 이곳 저곳에서 가져가 사용하는 곳에서마다 조건을 보는 것은 비효율적일 수 있습니다. 일반적으로는 다음과 같이 원할 겁니다. 변수의 값이 항상 올바르도록 강제하여, 할당된 값을 확실히 하길 바랄 경우 예를 들어, 플레이어 체력을 0 ~ 100에만 값 할당하기, 정해진 조합만을 허용하는 문자열 변수 만들기 등 변수의 값이 변경되었을 때를 감지하여, 이 값에 영향을 받는 다른 함수나 동작을 실행하길 원할 경우 이에 활용할 수 있는 것이 바로 프로퍼티(Property)입니다. 2. 프로퍼티의 사용 예시 1) 정해진 범위 내의 값만 할당하기 대략적인 사..
2022.02.15 -
[압량(Amnyang)] #11. 2D 공포 분위기 조성용 이벤트 만들기
프로젝트 개발 진행 초기에 디자이너 님께서 구현해보고 싶다는 내용이 있었다. "집 창문에서 사람이 떨어지는 연출을 넣고 싶다."고 하셨었다. 그래서 오늘 그 부분을 이뤄드리려고 구현에 들어갔는데, 아쉽게도 디자이너 님께서 포토샵 작업하실 때 레이어를 덜 나누셨다. 그래서, 사람이 떨어지는 걸 구현할 수가 없었다. 그래도, 좀 그럴싸하게 어떻게 공포스런 느낌을 줄 수 없을까 내 자신 나름대로 고민을 해봤다. 빨간 조명이 뜨면서 어떤 남자가 창문에서 서 있는 모습도 괜찮지 않을까란 생각이 들었다. 그래서 우선 구현에 들어가봤다. 1. 색감 탁하게 만들기 전역 조명의 세기를 낮춰도, 기본적으로 약간 밝은 톤으로 만들어진 이미지들이었기에 어두운 느낌을 내질 못했다. 그래서, 스프라이트의 Color 프로퍼티를 통..
2022.02.15 -
[압량(Amnyang)] #10. 2D 게임 상호작용 시스템(숨기) 만들기 + 수많은 버그 수정
배경 오브젝트들 중에 플레이어와 상호작용이 가능한 오브젝트들이 몇 개 존재한다. 해당 오브젝트들과 상호작용을 하면, 오브젝트의 역할에 맡는 상호작용이 일어날 수 있게 만들어야 한다. 여러 종류가 있다. 단순 텍스트만 표시하여, 게임 스토리 진행에 대한 정보를 줄 수 있는 오브젝트 적의 추적을 피해, 숨을 수 있는 오브젝트 (ex. 우체통) 게임 진행을 하기 위해 얻어야 하는 오브젝트 (ex. 열쇠) 단순 구현에는 별로 어렵지 않은 작업들이다. 하지만, 나중에 새로운 종류의 오브젝트들이 추가될 수도 있을 것이고, 거기에 맞춰서 유동적으로 유지보수 및 추가가 용이하도록 만들어야 한다. 그래서 나는, 다음과 같은 구조를 생각했다. 플레이어(주인공)은 주변에 상호 작용 가능한 오브젝트가 있을 경우, 해당 오브젝..
2022.02.14 -
[Unity] 트랜스폼(Transform)에 대해 조금 더 공부하기
트랜스폼 컴포넌트(Transform Component) 게임 오브젝트의 위치(Position), 회전(Rotation), 크기(Scale) 값을 저장하고 있는 컴포넌트 부모 오브젝트와 자식 오브젝트의 계층 관계 상태를 저장하기 위해서도 사용되는 듯 하다. 게임 오브젝트는 항상 하나의 트랜스폼 컴포넌트가 존재한다. (UI의 경우, Rect Transform) 트랜스폼 컴포넌트가 없는 게임 오브젝트 생성은 불가능 부모-자식 관계 설정 부모 오브젝트가 이동, 회전, 크기 변환을 진행할 때, 그의 자식 오브젝트 또한 정확히 동일하게 동작한다. 사람의 몸이 움직이면 팔 역시 따라 움직이며, 팔은 손, 손은 손가락처럼 자식 오브젝트 또한 자식 오브젝트를 가질 수 있다. 자식 오브젝트를 여러 개 가질 순 있으나, 부..
2022.02.14 -
[압량(Amnyang)] #9. 2D 게임 배경 간단히 배치 및 카메라 추적 이동 구현하기
이제 이 프로토타입 개발 프로젝트도 여정의 끝이 조금씩 보이기 시작하는 듯하다. 물론 아직 다음 스테이지 내부 구현도 해야 하고, 게임 시작 전 서사 또한 간단하게 구현해야 하지만 그건 그 때 생각하자. 디자이너 님께서 고생을 정말 많이 해주신다. 원래라면 여러 디자이너 분들이 각 파트별로 담당하시게 될 텐데, 그걸 혼자서 처리하고 계시니.... 그런 디자이너 님의 노고가 들어간 배경 및 배경 오브젝트들이 거의 다 완성이 되었다. 배경 이미지들(뒷산 배경 등)은 아직 진행 중이시고, 길가에 있는 배경 오브젝트(전봇대 등)들은 완성이 되었다. 그래서 그것들부터 우선적으로 배치를 하려고 했다. 1. 배경 배치 전, 실수한 부분을 깨닫다. 그런데, 초보 개발자들의 모임이라서 그런지 실수를 하고 말았다. 개발 ..
2022.02.13