Unity 개인 공부 9

Unity 개인 공부(2025-01-30)

Unity 올만..오랜만이니 다시 복습...(참고로 그냥 이전 버전으로 시작하겠습니다. 그렇게)그러다 신기한 걸 발견!using System.Collections.Generic; // List를 사용하려면 필요using UnityEngine;public class ListExample : MonoBehaviour{ void Start() { // 1. 리스트 선언 List names = new List(); // 2. 리스트에 값 추가 names.Add("Alice"); names.Add("Bob"); names.Add("Charlie"); // 3. 리스트 값 출력 foreach (string..

Unity 개인 공부 2025.01.30

Unity 개인 공부(2025-01-24)

추가 설명 들어가겠습니다. 이번 기회를 통해 확실히 이해합시다. ActionMap 분류와 사용 방법 ActionMap 활성화/비활성화 InputActionMap은 상황에 따라 필요한 시점에서만 활성화되도록 관리합니다.예를 들어: Player ActionMap: 캐릭터 움직임, 점프 같은 입력 처리. 활성화: 게임 플레이 중. UI ActionMap: 메뉴 내비게이션, 버튼 클릭 같은 입력 처리. 활성화: UI를 열었을 때.코드 예제: ActionMap 활성화/비활성화 private PlayerControls controls;private void Awake(){ // Input System 초기화 controls = new PlayerControls();}private void OnEnable..

Unity 개인 공부 2025.01.24

Unity 개인 공부(2025-01-23)

InputActionAsset asset = new InputActionAsset();InputActionAsset anotherReference = asset;// asset과 anotherReference는 같은 객체를 참조하....답답합니다...예? 왜냐구요? 이게.....input 시스템은 초보자가 하기에는 어려운 개념이긴 하지만, 사실상 기초 단계에서는 무조건 잡고 가야하는 개념이니....예...뭐....해야죠...그전에 참조라는 것을 배워보겠습니다.public InputActionAsset inputActions; private InputAction jumpAction;이런거 이런거...그때 설명을 했지만....이게 아직 잘 이해가 안 가서...찾아보니 참조라는 개념이더군요.먼저, C#에서 클..

Unity 개인 공부 2025.01.23

Unity 개인 공부(2025-01-22)

자자자, 사실 input 개념이 초보자 단계는 아닙니다.Input System의 새로운 설계 이전 Unity의 Input Manager는 간단히 Input.GetAxis() 또는 Input.GetKey()로 입력을 처리했기 때문에 초보자가 쉽게 접근할 수 있었습니다. 반면, 새로운 Input System은 더 많은 기능과 확장성을 제공하기 위해, 객체 지향과 데이터 중심 설계를 도입했습니다. 이로 인해 초보자에게는 복잡해 보입니다. 추상화된 개념 InputActionAsset처럼 에디터와 코드가 연동되는 시스템은 초보자에게 생소한 개념입니다. "왜 코드는 객체를 직접 만들지 않고 에디터에서 불러오는가?"라는 흐름 자체가 초보자에게는 직관적이지 않습니다. 기본적인 프로그래밍 이해 필요 InputAction..

Unity 개인 공부 2025.01.22

Unity 개인 공부(2025-01-21)

자, 저희 C#의 인스턴스의 개념이 뭔지 알아봅시다. 참고로 이 부분을 자세히 들여다봐야 어제 했던 내용이 이해가 갑니다.먼저, 클래스와 인스턴스를 알아야합니다.C#에서의 클래스는 Python과 다르게 다가옵니다. 근데 이전에 저희가 클래스를 만드는 법에 대해 배웠기 때문에.....하지만 거기에 숨겨진 의미가 있습니다.기본 구조public class Dog{ public string name; public Dog(string name) { this.name = name; }}// 인스턴스 만들기Dog dog1 = new Dog("Buddy"); // "Buddy"라는 이름을 가진 Dog 클래스의 인스턴스를 만들었어요.​C#에서의 인스턴스는 클래스를 바탕으로 실제 객체를..

Unity 개인 공부 2025.01.21

Unity 개인 공부(2025-01-20)

오늘은 계속 Disable에 대해 공부해 보겠습니다.활성화/비활성화는 왜 필요할까요? 게임 성능 최적화 비활성화된 오브젝트는 업데이트나 렌더링에 영향을 주지 않으므로, 성능을 높이는 데 유용합니다. 예: 멀리 떨어진 적 캐릭터를 비활성화하여 연산을 줄임. 게임 연출 특정 상황에서 오브젝트를 숨기거나 나타나게 하여 게임의 연출을 만듭니다. 예: 몹이 등장할 때 활성화, 쓰러지면 비활성화.논리적 흐름 제어 필요할 때만 오브젝트나 컴포넌트를 작동하도록 제어할 수 있습니다. 예: 보스의 특정 페이즈가 시작되면 오브젝트 활성화.using UnityEngine;public class Lifecycle : MonoBehaviour{ private void Awake() { Debug.Log(..

Unity 개인 공부 2025.01.20

Unity 개인 공부(2025-01-19)

player player = new player();player.id = 0;player.name = "응애";player.strength = 52.2f;player.weapon = "검";player.talk();player.HasWeapon();클래스자, 여기서 클래스는 Python의 클래스와 다릅니다. Python에서는 비슷한 기능을 가진 함수들의 모음이라면, 여기서는 하나의 사물(오브젝트)와 대응하는 로직입니다.일단 클래스가 어떻게 생겼는지는 위에 한번 나와 있습니다.public class NewMonoBehaviourScript : MonoBehaviour​일단, 파이썬과 비슷하게 class를 사용해 클래스를 선언합니다.자 참고로 시작하기전 알아야 할 사항이 있습니다.Python과 다르게 Uni..

Unity 개인 공부 2025.01.19

Unity 개인 공부(2025-01-18)

제네릭아까 List에 대해 조금 더 자세히 알아보겠습니다.List nums = new List();nums.Add(2);nums.Add(5);​여기서 제네릭이란 개념이 나옵니다.제네릭이란?제네릭(Generic)은 C#과 같은 프로그래밍 언어에서 데이터 타입을 일반화하여 코드의 재사용성과 타입 안전성을 높이는 기능입니다. 제네릭을 사용하면 클래스, 메서드, 인터페이스 등을 선언할 때 데이터 타입을 고정하지 않고, 나중에 사용할 때 특정 데이터 타입을 지정할 수 있습니다. 자 그런데 여기선 짧게 가겠습니다 왜냐? 제네릭은 고급 개념이므로...일단 설명을 하면,1. List의 의미 List는 제네릭 컬렉션(Generic Collection)입니다. 여기서 는 리스트가 저장할 데이터 타입을 지정하는 제네릭 타입..

Unity 개인 공부 2025.01.18

Unity 개인 공부(2025-01-17)

유니티 화면은 대충 넘어가고, C-Script를 만드는 방법을 조금 알아보자왼쪽 상단에 assets -> create -> MonoBeaviour선택 혹은 Project에 똑같은 방식으로 생성 아님이렇게 Empty C# 스크립트 만들기 그리고 안에 들어가서 대략 이렇게 되어있습니다.여기서 Debug.Log('hello');를 썼습니다.자,Debug: 클래스이며, 콘솔에 메세지를 띄우기 위한것Log(): Debug 클래스의 메서드이며, 메세지를 띄워줌. : 클래스와 메서드간의 연결을 해줌message: 보여주고 싶은 텍스트를 ""로 감싸서 보여줌.참고로 C#은 코드가 끝났다는 것을 알려주기 위해 끝마다 ;을 붙여줘야 합니다.+ ''을 못 쓰며 무조건 ""을 써야함참고로 이렇게 Debug 클래스 안에는 여러..

Unity 개인 공부 2025.01.17