유니티

이전 포스팅에서 OOP란 무엇인지, 왜 사용해야 하는지, 그리고 OOP의 핵심개념 4가지에는 무엇이 있는지 알아 보았고, 캡슐화란 무엇인지 알아 보았다. https://nybot-house.tistory.com/104 [C# Basics] 객체지향 OOP란 무엇인가? - 핵심 4개념과 개론 이전 포스팅에서 한번 다루었던 OOP에 대해 다시 한번 그 중요성을 느꼈기에 한번 더 다뤄 보고자 한다. 이전 글: https://nybot-house.tistory.com/53 1. OOP 란? - 객체 지향 프로그래밍 소개 C++의 OOP란, 객체 nybot-house.tistory.com 이번 포스팅에서는 OOP(Object Oriented Programming)의 핵심 개념 중 하나인 다형성에 대해서 알아 보자..
static 키워드 C#에서 static 키워드는 클래스의 멤버(필드, 프로퍼티, 메서드 등)가 클래스 인스턴스에 속하지 않고, 해당 클래스 자체에 속한다는 것을 의미한다. 즉, 클래스의 인스턴스를 생성하지 않고도 해당 멤버에 접근할 수 있으며 클래스 이름을 통해 직접 접근할 수 있다. 이는 메모리 관리에서 효율적이며, 일반적으로 유틸리티 함수나 공유 데이터를 관리할 때 사용된다. Unity 개발에서 'static' 키워드의 사용은 특히 중요한데, 이는 게임 개발 시 흔히 발생할 수 있는 다양한 상황에서 전역적으로 접근할 필요가 있는 데이터나 기능을 제공하기 때문이다. 예를 들어, 게임 내에 단 하나만 존재해야 하는 게임 매니저, 설정, 유틸리티 함수 등을 구현할 때 'static'을 사용할 수 있다. ..
C#에서 생성자는 클래스나 구조체가 인스턴스화될 때 자동으로 호출되는 특별한 메서드이다. 생성자의 주요 목적은 객체를 초기화하는 것으로, 필드 또는 속성에 초기 값을 할당하는 등의 작업을 수행할 수 있다. 생성자는 클래스 또는 구조체의 이름과 동일하며, 반환 형식을 지정하지 않는다. 생성자는 객체 지향 프로그래밍에서 중요한 역할을 하며, 클래스의 인스턴스가 올바르게 초기화되어 사용될 수 있도록 보장한다. 기본 생성자 기본 생성자(Default Constructor)는 매개변수를 받지 않는 생성자이다. 사용자가 명시적으로 생성자를 정의하지 않으면, C# 컴파일러는 기본 생성자를 자동으로 제공한다. 그러나 사용자가 어떠한 생성자라도 정의하면, 컴파일러는 기본 생성자를 자동으로 제공하지 않는다. public ..
전설의 대장장이 이야기 게임이 출시를 앞두고 있다. 게임 출시를 앞두고 이 게임에 대해 간단히 소개하고, 개발 배경과 과정에 대해 간단히 글로 정리해 보려 한다. 1. 게임 아이디어 얻기 게임을 개발하기에 앞서 가장 선행되어야 하는 것은 아이디어 얻기다. [전설의 대장장이 이야기] 게임은 중세의 대장간에서 무기를 만들어 보는 경험을 제공하는 게임을 만들어 보자는 아이디어에서 시작 되었다. 또한 얼마 전 인상 깊게 했었던 타이쿤 게임인 '좋은 피자 위대한 피자' 게임처럼 잔잔하게 가게를 운영해 보는 힐링 타이쿤 게임을 만들어 보고 싶었기 때문에, 그럼 대장장이 타이쿤 게임을 피자 게임처럼 비슷하게 만들어 보자는 생각이 들어 기획에 착수하게 되었다. 2. 게임의 목표 [전설의 대장장이 이야기] 게임의 목표는..
제 첫 작품인 호사원을 잡아라! 게임을 플레이스토어와 앱스토어에 출시하게 되었습니다! 회사에서 개발 팀장님의 지도 하에 기획과 개발을 전부 담당하여 진행하였고 디자이너 두 분과 협업하였습니다. 게임 링크: https://play.google.com/store/apps/details?id=com.bancogames.hidecatch&hl=ko 호사원을 잡아라 - Google Play 앱 전라감영을 배경으로 호사원들이 펼치는 스릴 만점 숨바꼭질! play.google.com 게임 간단 설명 :호사원을 잡아라! 게임은 캐주얼-멀티 게임입니다. 플레이어는 전주의 마스코트 캐릭터 호사원이 되어 전라감영을 배경으로 하는 무대에 진입하게 됩니다. 게임이 시작되면 플레이어와 똑같이 생긴 수십 마리의 호사원 NPC들과 ..
4인 멀티플레이어 게임에서 플레이어 캐릭터는 총 16명이다 게임 서버를 공부한 사람이라면, 이 문장을 이해할 수 있어야 한다. 각 클라이언트의 게임 월드는 네트워크상에서 평행우주처럼 동작한다. 클라이언트: 서버에 접속하여 서비스를 제공받는 단말기(컴퓨터), 프로그램, 사용자를 뜻함. 다음은 4인 멀티플레이어 게임에서 각 클라이언트의 게임 월드 모습을 그린 그림이다. 그림에서 네트워크에 존재하는 게임 월드는 총 4개이다. 위 그림에서 게임 월드 속의 a, b, c, d는 플레이어 캐릭터로 동작하는 게임 오브젝트입니다. 여기서 플레이어 A가 직접 조작하는 플레이어 캐릭터는 a라고 가정해 본다면, A의 컴퓨터, 즉 클라이언트 A에서 동작하는 게임 월드에는 a, b, c, d라는 4명의 플레이어 캐릭터가 존재한..
빠른 알고리즘은 느린 알고리즘보다 우수하다! 하지만... 빠름과 느림의 종류는 굉장히 다양하다. 알고리즘의 스피드를 어떻게 전문으로, CS적으로 표현하면 좋을까? 두 가지 알고리즘을 비교하는 방법? A가 B보다 "조금", "많이" 빨라요 -> 애매모호함. 어떤 환경에서는 a가 빠르고, 어떤 환경에서는 b가 빠르다면 애매하고 무의미해짐. 즉 시간으로 표현해서는 안됨. ex) 내 컴퓨터는 최신 컴퓨터라 너의 컴퓨터에서보다 알고리즘 실행이 빠르다. 입력이 적은 구간과 많은 구간 사이에서 성능 차이가 확연히 나는 경우도 있음 ex) 출퇴근 할 때 지하철이 빠른가 버스가 빠른가? 회사가 가까울 경우 버스가, 거리가 멀 수록 지하철이 좋은 선택이 되는 경우와도 같음. 두 가지 경우가 강점을 보이는 경우가 다른 상황..
· 유니티 C#
1. Mathf.Min(float a, float b) a 와 b 중에 더 작은 값을 반환합니다. 2. Mathf.Max(float a, float b) a 와 b 중에 더 큰 값을 반환합니다. 3. Mathf.Clamp(float a, float min, float max) a 가 min 보다 작다면 min 값을, max보다 크다면 max 값을, 사이값이라면 그 값을 반환합니다. 4. Mathf.Abs(float a) a 의 절댓값을 반환합니다. 5. Mathf.Lerp(float a, float b, float t) a 와 b 사이를 보간 합니다. t는 0~1 사이의 값을 넣을 수 있으며 퍼센트게이지라고 생각하시면 됩니다. 예를 들어 t에 0.5f 를 입력하면 a와 b 의 거리비율 중 절반에 해당하는..
HeadlessCreator
'유니티' 태그의 글 목록