728x90

UE5 27

VV 7. 자석 아이템 추가

VV자석 아이템을 추가했다.모델링 된 자석을 가져오고 Metalic한 느낌을 주기위해서 값을 추가해줬다.자석에 대한 블루프린트를 만들어주었다. delay와 for loop for delay를 만들어줘서 자석을 획득하면 5초동안 효과가 진행되고 꺼지게 만들었다.코인과 장애물과 같이 스폰하는 함수를 만들어줬다.코인에는 Sphere collision을 추가해두고 크기를 크게 만들어 주었다. 그리고 sphere에 따른 추가적인 블루프린트를 만들어서 자석을 획득했을때의 작동을 구현해두었다.추가적으로 UI에도 자석을 획득했을 때 지속시간이 표시되도록 추가해주었다.

Study/Project 2024.11.08

24.11.07 CS, VV

CS이것이 컴퓨터 과학이다.개발자에게 필요한 역량은 근거를 설명하는 능력이다.특정 코드 혹은 프로그램이 어떻게 작동하며, 왜 특정 성능을 내는지에 대한 근거를 제시하고 설명하는 능력이야 말로 AI 도구에 종속되지 않는 진짜 역량이다. 코드와 프로그램의 근거를 설명하는 능력은 상당 부분 컴퓨터 과학에서 찾을 수 있다.CHAPTER 01 기술 면접과 실무를 위한 컴퓨터 과학프로그램 개발의 목적은 일단 작동하게 만드는 것을 넘어 제대로 작동하게 만드는 것이다.프로그래밍 언어의 기초 문법이나 프레임워크/라이브러리의 기초 사용법은 단순한 프로그램을 개발하기에는 충분한 지식이지만, 그를 확장/유지보수 하거나 실행의 전 과정을 이해하는 데에는 충분하지 않은 경우가 많기 때문이다. 내가 작성한 코드의 실행 과정을 나조..

24.11.04 VV. 장애물, UI 구현, 점수 구현

VV움직임을 구현했으니 장애물을 만들 차례이다.두 가지 장애물을 만들어주고 collision을 주었다.장애물에 닿는 순간 게임오버되야 하기 때문에 Character에 Death 함수를 추가 시켜주었다.장애물들에게 Death함수를 추가시켜주어 overlap되었을 때 게임이 종료되도록 구현했다.BP_Floor에 랜덤으로 Spawn되는 함수를 구현해주었다.RandomSpawnPoint에 Obstacle이 생성되도록 구현을 해주었다.장애물에 닿으면 게임이 종료하게 되는데 그것을 위한 UI를 구현해줬다.게임오버 UI는 Restart 버튼과 Exit 버튼으로 구성하고, 화면은 블러처리가 되도록 했다.이제 게임을 플레이하면서 점수를 체크하도록 해야한다.게임 플레이시 점수를 띄워줄 UI를 만들어주었다. UI에는 Coi..

Event Tick

Event Tick언리얼 엔진에서 매 프레임마다 호출되는 이벤트이다. 이 이벤트는 액터가 게임에서 시족적으로 무언가를 업데이트 해야 할 때 사용된다.주요 특징매 프레임 호출Event Tick은 게임이 실행되는 동안 매 프레임마다 호출되며, 프레임 속도에 따라 호출 횟수가 결정된다.실시간 업데이트이 기능을 사용하면 매 순간 필요한 연산이나 업데이트를 수행할 수 있다.Delta Time 사용Event Tick은 Delta Time이라는 인자를 포함하는데, 이 값은 이전 프레임과 현재 프레임 사이의 시간 차이를 의미한다. 이 값을 이용하면 프레임 속도와 무관하게 일정한 속도로 무언가를 처리할 수 있다.고려사항성능Event Tick은 매 프레임마다 호출되므로 무거운 연산을 포함하면 성능 문제가 발생할 수 있다...

UE5 2024.10.30

Add Mapping Context

Add Mapping Context특정 입력 매핑(Context)을 현재 플레이어의 입력 시스템에 추가하는 기능하다.Input Mapping Context는 일종의 설정 파일로, 게임에서 사용되는 입력과 해당 입력이 해당 입력이 어떤 기능을 수행할지 매핑해 놓은 것이다.플레이어의 입력 설정에 특정 맵핑을 동적으로 추가할 수 있다. 이는 게임 플레이 도중 플레이어의 입력 방식을 변경하거나 새로운 입력을 추가하고자 할 때 유용하다.특정 상황에 맞게 입력 방식을 바꾸고 싶을 때.미니게임이 시작되거나 끝날 때 입력 매핑을 바꾸고 싶을 때.

UE5 2024.10.30

Cast to PlayerController

Cast to PlayerController특정 오브젝트나 액터를 PlayerController 타입으로 형변환(casting)하는 것이다. 언리얼 엔진에서는 플레이어가 게임과 상호작용 할 수 있게 해주는 컨트롤러 객체가 있는데, 이 객체는 플레이어 입력을 처리하고 월드의 캐릭터를 제어한다.사용 이유현재 다루고 있는 객체가 PlayerController인지 확인하고 싶을 때.PlayerController에만 존재하는 특정 기능이나 변수에 접근하고 싶을 때.

UE5 2024.10.30

VV 5. 움직임 구현 (Infinity Run), 점프, 슬라이드

VV첫번째 게임은 일단 템플런 같은 Infinity Runner형태의 게임을 만들 생각이다.로그인이 성공하면 게임에 접속해야 하기에 레벨 전환부터 만들어주었다.void UNetworkManager::ProcessResponse(const TArray& ReceiveData){ if (ReceiveData.Num() MsgID) { case EMessageID::LOGIN_RESPONSE_MSG_ID: { if (Header->Attribute == 0) { UE_LOG(LogTemp, Log, TEXT("Login successful!")); //TODO 로그인 성공 UGameplayStatics::..

Study/Project 2024.10.30

24.10.30 VV, UE5

VV첫번째 게임은 일단 템플런 같은 Infinity Runner형태의 게임을 만들 생각이다.로그인이 성공하면 게임에 접속해야 하기에 레벨 전환부터 만들어주었다.void UNetworkManager::ProcessResponse(const TArray& ReceiveData){ if (ReceiveData.Num() MsgID) { case EMessageID::LOGIN_RESPONSE_MSG_ID: { if (Header->Attribute == 0) { UE_LOG(LogTemp, Log, TEXT("Login successful!")); //TODO 로그인 성공 UGameplayStatics::..

UE5. 패킷 데이터 직렬화(버퍼 생성)

UE5패킷 데이터 직렬화(버퍼 생성)TArray PacketData;PacketData.SetNumUninitialized(Header.TotalSize);TArray 형식의 배열을 생성하여 패킷 전체 크기만큼 메모리를 할당한다.SetNumUninitialized() 는 초기화되지 않은 상태로 메모리를 할당하는 함수로, 패킷 데이터를 저장할 공간을 확보한다.SetNumUnititialized()배열의 크기르 설정하면서, 불필요한 초기화 비용을 피하고 성능을 최적화 시키기 위해 사용한다.장점성능 최적화배열의 요소를 초기화하지 않기 때문에 불필요한 초기화 과정에 소요되는 CPU 자원을 절약할 수 있다.원시 데이터 타입(uint8, int, float 등)에서 초기화는 종종 성능 저하의 원인이 될 수 있기 때..

UE5 2024.10.30
728x90