본문 바로가기
728x90

전체 글102

[언리얼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.
[UE4 지뢰찾기] 타일의 머테리얼 세팅하기 타일은 스태틱 메시 전체를 변경하는 것이 아닌 머티리얼만 변경하는 것으로 설정하였음. 따라서 머티리얼을 어딘가에서 가지고 있어야하는데 GameManager 역할을 하는 ABoard가 들고 있도록 하였음. 이미지라고 주석을 달아놓았지만 사실 머티리얼임 주변에 지뢰가 없는 기본 타일 색상은 NumberTileMaterials의 0번째 인자로 넣음. 1부터는 숫자를 지정함 게임 리소스는 이렇게 직접 제작함. 그림판에서 규격 맞춰서 그냥 그린게 다임 사실 9는 필요 없는 이미지인데도 넣어보았음 ( 주변 지뢰 갯수는 8이 최대치 ) 콘텐츠 브라우저를 우클릭하여 에셋 임포트 기능을 사용함. png 파일을 임포트하면 하단에 빨간색으로 칠해져있는 Texture가 만들어짐. 이 텍스처를 우클릭하면 가장 상단에 머티리얼 .. [Unreal4]/간단지뢰찾기 게임 만들기 2022. 11. 30.
728x90