Unity/Theory 6

[Unity] 절차적 맵 생성 (Procedural Map Generation)

절차적 맵 생성, Procedural Map Generation코드나 컴퓨터 알고리즘을 이용하여 자동(동적)으로 생성하는 기법게임을 실행할 때마다 새로운 맵이나 레벨을 자동으로 만들어낼 수 있으며 리플레이성 향상과 개발 효율성에 크게 기여한다.- 로그라이크 게임에서 매번 새로운 맵을 만들 때 혹은 오픈월드 게임에서 넓은 맵을 비교적 적은 시간으로 제작할 때 주로 사용한다. 장점무한성 : 난수생성기와 알고리즘에 의해 생성되므로 무한한 수의 맵을 생성할 수 있다.다양성 : 난수, 변수에 따라 다른 맵이 생성되어 플레이어에게 새로운 경험을 제공한다효율성 : 맵을 수동으로 디자인하는것에 비해 시간/리소스를 절약할 수 있다 단점예측 불가능 : 때때로 불균형하거나 클리어가 불가능한 맵이 생성될 수 있다.디자인 제어..

Unity/Theory 2025.04.21

[Unity] 로직(Logic)과 기능(Feature)

C#의 개념이 될수도 있겠지만 내가 기록하고자 하는 것은 게임(유니티)에서의 로직과 기능이기 때문에 유니티로 기재한다. 로직, Logic언제, 어떤 조건에서 기능을 실행할지 결정호출 시점을 고민해야 함 (언제 써야하지)"데이터가 왜이렇게 많지?" 라는건 로직이 아니라 기능이 많아졌다는 뜻일 수 있음보통 Player, AI 와 같은 행동을 결정하는 클래스가 로직 위주ex) 쿨타임 체크 후 스킬 발동 기능, Feature어떤 동작을 어떻게 수행할지, 무엇을 하는지만 정의호출 시점을 고민할 필요가 없음 (어떻게 실행할까)오직 무엇을 하는지만 책임지며 기능은 단순하고 명확해야 함복잡해지고 호출 시점에 대한 고민이 많아지면 그건 기능이 아니라 로직을 만들고 있는 중일 수 있음보통 Manager, Controll..

Unity/Theory 2025.04.17

[Unity] (New) Input System - Jump

Move를 진행하면서 생각보다 점프도 간단하겠지 싶었는데 아니었다, 그래서 정리해보았다.Jump는 스페이스바로 지정해주었다.public class PlayerController : MonoBehaviour{ [Header("Moverment")] public float jumpPower; // 플레이어를 레이어 마스크에서 빼주기 (플레이어까지 감지하지 않게) public LayerMask groundLayerMask; public void OnJump(InputAction.CallbackContext context) { // 점프키가 처음 눌린 순간에만 실행되도록 함 if(context.phase == InputActionPhase.Started ..

Unity/Theory 2025.03.06

[Unity] (New) Input System 이용한 플레이어 이동 구현

Input System : 유니티에서 "입력"신호를 관리하는 체계.현재는 구(Old) 버전과 신(New) 버전이 나뉘어 있으며 차이는 아래와 같다.구(Old) 버전 : Input 클래스를 통해서 코드 기반 이벤트를 만듬신(New) 버전 : 미리 버튼에 대한 이벤트 함수를 만들고, 함수 안에 기능만 추가하는 방식 (New) Input SystemUnity 2019.1부터 제공하기 시작한 말그대로 새로운 input 시스템다양한 플랫폼에서 빠르게 컨트롤 설정이 가능한것이 최대의 장점으로 하나의 코드를 통해 다양한 플랫폼의 입력 환경을 지원할 수 있는 것이 특징Window > PackageManager에 들어가서 좌측 상단 Packages를 Unity Registry로 설정한 후 InputSystem을 Inst..

Unity/Theory 2025.03.05

[Unity] GameObject, gameObject 차이

GameObject를 쓸 때도 있고, gameObject를 쓸 때도 있는데 제일 간단하게 설명하면GameObject : 클래스gameObject : 객체(인스턴스) 이렇게이다.클래스는 항상 첫 글자가 대문자로 쓰이는 점을 참고하면 좋다. GameObject는 클래스처럼 사용하며 오브젝트를 참조할때 쓰이는 용도, 확인이나 삭제하는 등의 코드에서 지정된 물체는 위와같이 gameObject를 사용한다.

Unity/Theory 2025.02.25

[Unity] 기초, Animation 생성 및 설정 방법

1. Project > Asset > Animation 생성 후 원하는 위치에 Image 혹은 Sprite를 드래그 앤 드롭 해준다.- 이미지 별로 하나하나 드래그 앤 드롭 해야한다처음과 끝(필요하다면 중간 부분도) 부분에 원하는 Image 혹은 Sprite를 점이 있는 위치에 넣어주고 간격 조절을 해주면 재생하였을 때 원하는 형식으로 이미지의 애니메이션이 재생된다.- 간격 및 시간 조절을 처음부터 가능  2. 1) Hierarchy > 원하는 오브젝트에 Project > 원하는 Sprite를 한꺼번에 선택하여 드래그 앤 드롭2) Animation 파일경로 및 이름 설정 후 저장- 간격 및 시간 조절은 추후에 애니메이션 클립에 들어가서 설정  이미지 맞게 잘 올려놨는데 하루지나고 보니 이미지가 다 깨져있..

Unity/Theory 2025.02.17