System

    [Unity] New Input System 키 입력을 스크립트에 전달하여 처리하기

    1. 로직을 제어할 스크립트(script) 부착하기 Player 게임 오브젝트에 키 입력값을 전달받고, 해당 로직을 제어할 스크립트를 만들어서 붙여줬다. 입력이 들어왔을 때, 해당 내용을 전달해주는 방법을 설정할 수 있는 'Behavior' Send Messages, Broadcast Messages : 유니티의 Send Message 기능을 사용하여 특정 함수를 호출하는 방식 Invoke Unity Events, Invoke C Sharp Events : 유니티나 C#의 이벤트 기능을 사용하는 방식 위 방식들을 스크립트에서 사용하기 위해서는 다음과 같은 네임스페이스 적용이 필요 using UnityEngine.InputSystem; Send Messages 기능을 사용할 경우 특정 키가 들어오면, 특정..

    [Unity] New Input System 세팅하기

    게임은 특정 플랫폼 하나만을 겨냥하고 개발하는 경우는 거의 없다. 스케일이 커지게 되면 PC 말고도 모바일, 콘솔 등의 플랫폼도 지원을 해야 할텐데, 그 중에서도, 기존 Unity Input System은 게임 플랫폼 환경 서비스를 추가할 때 골머리를 앓게하는 요소라고 한다. PC에서는 키보드와 마우스, 모바일은 화면 터치, 콘솔에서는 조이스틱을 이용하는 등 플랫폼마다 사용하는 입력 방식이 다르기 때문이다. 즉, 다음과 같이 코드를 짜게 되면 플랫폼 추가 확장할 때 게임 Input System을 수정해야 하는 번거로움이 생긴다. if(Input.GetKey(KeyCode.UpArrow)) // PC에서 다른 플랫폼으로 변경할 때, 번거로움이 생긴다. { ... } 그래서 Unity에서는 2019버전부터 ..

    바이오스 (BIOS - Basic Input/Output System)

    정의 본래 펌웨어는 제품 생산 시에 탑재된 이후에는 내용 변경을 하지 않는 것이 관례였지만, 최근에는 지속적인 제품의 성능 향상 및 오류 개선을 위해 제품 출시 이후에도 제조사에서 새로운 펌웨어를 배포해 소비자들에게 업데이트 할 것을 권하는 경우가 늘어나고 있다. 이런 경우는 특히 스마트폰이나 휴대용 게임기와 같은 모바일 컴퓨팅 기기에서 흔히 볼 수 있다. PC용 펌웨어는 바이오스(BIOS: Basic Input/Ouput System)라고 하며, 해당 PC의 기본적인 데이터의 입력과 출력을 관리하는 것이 주된 역할이다. 바이오스는 메인보드(main board: 주기판) 상에 위치한 이피롬(EPROM), 혹은 플래시메모리(flashmemory) 칩에 저장되어 있다. 넓은 의미에서는 메인보드 외의 다른 하..

    OS가 하는 일 및 컴퓨터 구조

    OS가 하는일 OS는 응용프로그램간 하드웨어 사용을 조정하고 데이터를 관리한다. 사용자 관점 사용자가 어떻게 사용하느냐에 따라 달라진다. 예를 들어 데스크탑 같은 범용 컴퓨터는 주로 사용의 용이성에 집중하고, 스마트폰 같은 경우는 배터리와 낮은 퍼포먼스 때문에 연산을 적게하고 들고다니며 사용하기 쉽게하기 위해 인터페이스를 간소화한다. 시스템 관점 자원을 어떻게 해야 효율적으로 관리할 지를 결정하는 역할을 한다. Computer System Operation 현대의 컴퓨터 구조는 CPU, 메모리, 디스크, USB, 그래픽 어댑터로 구성된다. 컴퓨터가 구동을 하기 위해선 하드웨어를 초기화 하고 OS를 메모리에 적재할 프로그램에 가지고 있어야하는데 이를 bootstrap program이라 부른다. bootst..

    [Unreal] 인스턴스와 서브시스템 (Instance/SubSystem) 갖고오는 방법

    Instance 가져오는 방법 1) Kismet/GameplayStatics.h 헤더 파일 안에 있는 UGameplayStatics 내 static 함수 사용. UGameplayStatics::GetGameInstance(GetWorld())->GetSubsystem(); 2) UWorld 클래스 내 static 함수 사용 GetWorld()->GetGameInstance(); SubSystem 가져오는 방법 1) UGameInstance 클래스 내 static 함수 사용. UGameInstance::GetSubsystem(GetWorld()->GetGameInstance()); 2) UWorld 클래스 내 static 함수 사용 if (auto pWorld = GetWorld()) pWorld->Get..