본문 바로가기
728x90

전체 글103

[언리얼5] 언리얼 5.1 라이브 코딩 사용 후 데이터 사라지는 현상 정리 언리얼 5에는 라이브 코딩(Live Coding)이라는 시스템이 도입되었습니다. 이는 엔진이 실행 되고 있는 동안 C++ 코드릴 리빌드하고 바이너리를 패치하는 시스템을 말하며 언리얼 4에 있던 컴파일 및 핫 리로드와는 다른 시스템입니다.. 엔진 화면의 오른쪽 아래에 디스크 조각 모음 같이 생긴 버튼이 라이브 코딩 실행 버튼입니다. 해당 버튼을 누르면 라이브 코딩이 실행되고 즉각적으로 언리얼 에디터에 변경점이 반영되는 것을 볼 수 있습니다. 다만 이 기능 때문인지 라이브 코딩과 IDE 빌드를 번갈아 사용하다보면 비정상적으로 에러가 발생하기도 합니다. 문제 1 비쥬얼 스튜디오 내에서 빌드 실패 라이브 코딩을 활성화한 상태에서 비쥬얼 스튜디오 빌드를 하려고 하면 에러가 발생합니다. 완전히 정상적인 코드를 라이.. [Unreal5]/오류 수정 2022. 12. 28.
[언리얼5] 언리얼 5.1 C++ 프로젝트 생성 실패 해결 방법 언리얼5에서 처음 C++ 클래스를 생성하면 정상적으로 C++ 프로젝트가 생성되지 않을 때가 있다. 껐다가 프로젝트를 다시 열면 리빌드 하라고 나오고 리빌드하면 실패하면서 DotNet 어쩌고 화면이 발생한다. 수동 빌드를 위해 uproject 파일을 우클릭하고 Generate Visual Studio project files 를 클릭하면 또 다시 에러가 발생한다. 해당 에러에 DotNet 3.1 어쩌고가 있다면 .Net 코어 3.1 이상의 버전을 설치하여야 한다. Download .NET (Linux, macOS, and Windows) Free downloads for building and running .NET apps on Linux, macOS, and Windows. Runtimes, SDKs,.. [Unreal5]/오류 수정 2022. 12. 27.
[Unreal5] 언리얼 블루프린트 VS C++ 각각의 장점! 안녕하세요 Kwonriver입니다. 언리얼에서 제공하는 블루프린트와 C++의 차대해 알아보겠습니다. 언리얼 블루프린트 빠른 변경 : 매 번 빌드를 새로 해야하는 C++과 달리 블루프린트는 변경점을 즉각적으로 적용할 수 있다. 새로운 클래스를 생성하고 변수, 함수를 추가하는 작업에서 대부분의 경우 C++ 보다 빠르기 때문에 프로토타입 제작에 알맞다. 유연한 편집 : 개발에 익숙하지 않은 초보자, 기획자, 아티스트도 쉽게 생성과 편집이 가능해 프로그래머의 손을 타지 않고도 빠르게 변경이 가능하다. 원활한 흐름 : 게임의 흐름을 한 눈에 파악하기 편리하다. 딜레이 및 비동기 노드는 C++ 델리게이트보다 흐름을 파악하는데 훨씬 유리하고 빠르다. C++ 높은 퍼포먼스 : 일반적으로 블루프린트보다 훨씬 높은 성능을.. [Unreal5]/기능 2022. 12. 20.
[UE4 지뢰찾기] 클리어 시간 저장하고 불러오기 클리어하는 경우 시간 정보를 저장하고 불러와 화면에 노출하는 UI를 만들어본다. 먼저 SaveGame 클래스를 상속받아 FindMineSaveGame 클래스를 만든다. 이 클래스에는 저장할 정보들을 변수로 입력한다. HighSpeedClearTime 은 가장 빠른 클리어 시간을 저장하며 ClearTimes는 역대 클리어한 시간을 모두 저장한다. FindMineGameGameModeBase를 생성할 때 세이브파일이 있는지 체크하고 없는 경우 새로 만들어준다. 그 다음 최고 속도 클리어 타임과 역대 클리어 시간들을 저장한다. 게임을 실행하고 게임모드 베이스의 디테일 창을 보면 정상적으로 저장된 값을 볼 수 있다. 최고점을 체크하는 함수인 CheckFastestRecordUpdate() 함수에서 기록을 갱신했.. [Unreal4]/간단지뢰찾기 게임 만들기 2022. 12. 17.
[언리얼4] 블루프린트 텍스트 결합 언리얼에는 문자열 관련하여 자주 사용하는 변수가 2가지 있다. Text와 String인데 이 차이는 Text가 지역 현지화를 위한 것이라는 점이 있다. FName도 있지만 추후 FName, FText, FString 정리로 대체하겠다. 블루프린트 내에서 텍스트를 결합하는 방법은 아래와 같다. String : Append 함수를 사용 핀 추가를 사용하여 많은 String을 연결할 수 있으며 리터럴 문자열도 추가할 수 있다. Text : Format Text 함수를 사용하여 추가함. 중괄호({})를 통해 특정 위치에 매개변수 형태로 값을 지정할 수 있다. (%d, %s, 하듯) [Unreal4]/기능 2022. 12. 16.
[언리얼4] 블루프린트 위젯 생성 시 생성 파라미터 추가하기 기본적으로 Create Widget 함수를 블루프린트에서 추가하면 아무런 매개변수를 받을 수 없는 상태로 나타난다. 그렇지만 위젯을 생성하다보면 매개변수를 넘겨서 데이터를 바로 보내야하는 경우가 발생한다. 이 때는 해당 블루프린트 위젯으로 가서 생성 시 이니셜라이즈 할 변수를 찾아간다. 해당 변수의 디테일 창을 찾아보면 스폰 시 노출, 인스턴스 편집 가능 이라는 체크박스가 존재한다. 이 값을 체크하고 컴파일한다. 컴파일하더라도 Create Widget이 실시간으로 변경되지는 않는다. 따라서 CreateWidget을 새로 추가하면 아래 사진처럼 매개변수가 추가된다. 만약 많은 곳에서 사용하고 있다가 매개변수를 받도록 변경하면 일일히 찾아서 수정해야하므로 처음부터 설계를 잘 해야할 것 같다. [Unreal4]/기능 2022. 12. 16.
[UE4 지뢰찾기] 재시작 UI 추가 타일만 있는 화면에 UI를 추가하기로 하였음. 굉장히 개발자스럽지만....난 그래픽 디자이너가 아닌걸... 우선 노란 배경이 되는 이미지 하나를 추가하였음 가운데 부분을 투명하게 처리하여 타일맵이 노출될 공간을 추가 위젯 블루프린트를 추가하여 바탕에 해당 이미지를 배치한다. 각종 팔레트를 이용하여 원하는 문구와 버튼을 배치하였음 그리고 현재 시간, 최고 시간, 다시하기 횟수는 유저 액션에 의해 변경되어야하기 때문에 변수인지 체크하여 그래프에서 사용할 수 있도록 하였음 그래프로가서 먼저 생성될 때 게임모드에서 최고 빠른 시간 정보를 가져와 세팅함 Tick에서는 현재 시간과 다시하기 횟수를 설정해줌 다시하기 버튼을 누르는 경우 게임을 재시작하는 로직을 추가함. 재시작 후 다시하기 횟수를 증가시켜줌 [Unreal4]/간단지뢰찾기 게임 만들기 2022. 12. 15.
[UE4 지뢰찾기] 키 입력 처리하기 키 입력을 처리하기 위한 Character를 만들었음. 사실 Pawn으로 만들어서 PlayerController를 붙여도 되긴하는데 Character에 이미 있는 Controller를 사용하기로 함 InputManageCharacter라는 이름으로 만든 이 액터는 플레이어의 입력만을 처리한다. void MouseLeftClick(), void MouseRightClick()만 추가하였음 플레이어의 인풋 정보를 셋업할 void AInputManageCharacter::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent) 함수에다 입력 처리를 할 함수를 바인딩 해준다. MouseLeftClick은 마우스 왼쪽 클릭으로 지뢰찾기의 타일을 클릭하여 .. [Unreal4]/간단지뢰찾기 게임 만들기 2022. 12. 12.
728x90