본문 바로가기
728x90

[Unreal4]29

[UE4 지뢰찾기] 맵으로 사용될 타일 만들기 맵에 사용될 타일을 생성한다. 유저가 행동할 수 있는 상황에 맞춰 7가지 상태가 존재할 수 있다. 타일은 항상 7가지 상태 중 하나를 취한다. TS_Mine 상태가 하나라도 열리게 된다면 게임은 종료된 상태이다. TS_NotOpenFlagNotMine은 직전 상태를 체크하기 위한 상태이다. 유저가 꽂은 깃발이 진짜 지뢰 위에 있는 것인지 아닌지를 판별하고 갯수를 체크해야하는데 깃발을 다시 일반 타일로 되돌릴 때 수량 체크를 위해 사용한다. Tile.h, Tile.c 에는 위 ETileState 정보를 하나 가지며 여러가지 현재 상태에 대한 정보를 갖고 있게 된다. Tile이 사용하는 스태틱 메쉬는 기본으로 제공되는 Box이며 머테리얼만 변경할 예정이다. 해당 타일이 지뢰를 가진 타일인지 Get, Set하.. [Unreal4]/간단지뢰찾기 게임 만들기 2022. 11. 9.
[Unreal4] Nested containers are not supported. 오류 해결하기. 최신의 C++은 2차원 배열을 동적할당하여 사용하기 보다는 2개의 컨테이너를 사용해 2차원을 표한하기를 원한다. 예를들어 int ** Array 를 사용하는 것이 아닌 Vector Array를 사용하는 것이다. 그렇게 언리얼 코드를 짜다보면 Nested containers are not supported. 에러를 만나게 된다. 이는 C++은 중첩된 컨테이너를 지원하지만 블루프린트는 지원하지 않기 때문이다. 실제로 공식 블루프린트 문서에 2차원 배열을 사용하는 것을 눈을 씻고 찾아봐도 없다. 이는 블루프린트 뿐 아니라 C++ 코드를 리플렉트할 때에도 마찬가지 에러가 발생한다. UPROPERTY(VisibleAnywhere, Category = "Board") TArray TileMap;// 에러 발생 코드.. [Unreal4]/오류 수정 2022. 10. 27.
[UE4 지뢰찾기] 간단한 지뢰찾기 게임 만들기 9x9 지뢰찾기 게임을 만든다. 총 81개의 타일 중 지뢰의 갯수는 30개 정도로 진행할 예정이며 이 숫자는 난이도에 따라 조정될 수 있다. 충분한 시간이 주어지는 일반 지뢰찾기와 달리 최대한 빨리 클리어하여 시간을 겨루는 것이 목적인 게임이다. 9x9 타일 배경 맵은 Unreal Match 3에서 가져왔다. 카메라는 Orthographic으로 설정하고 폭을 조절한다. 고정형 카메라이기 때문에 입력에 의한 이동처리를 받지 않는다. 게임모드에서 카메라를 찾아 플레이어 컨트롤러에 연결한다. 플레이어 컨트롤러 내부에서 찾는게 맞는 것 같기는한데 우선은 게임모드에서 세팅한다. 시작하면 이런 아무것도 없는 화면이 나온다. [Unreal4]/간단지뢰찾기 게임 만들기 2022. 10. 17.
[Unreal4] 언리얼 C++ 클래스 제거, 필요 없는 Cpp, h 파일 제거하기 안녕하세요 Kwonriver입니다. 프로젝트를 만들다 보면 필요 없어진 파일이나 오타로 인해 다시 만드는 경우에 기존 파일을 제거할 일이 생깁니다. 블루프린트라면 단순히 오른쪽 클릭, 삭제 버튼을 누르면 삭제할 수 있습니다. 그런데 C++ 클래스는 삭제 버튼이 딤드되어 있어 선택할 수 없습니다. 콘텐츠 브라우저에서는 C++ 파일을 삭제할 수 없는데요. 이를 삭제하기 위해서는 아래 방법을 따릅니다. 1. 우선 해당 탐색기에서 표시를 눌러 해당 파일의 위치로 갑니다. 2. 삭제하고자 하는 Cpp, h 파일을 삭제합니다. 3. 프로젝트 폴더로 이동합니다. 4. Binaries, Intermediate, Saved 폴더와 .sln 프로젝트 파일을 삭제합니다. 이때 언리얼 프로젝트와 비주얼 스튜디오는 모두 종료되.. [Unreal4]/기능 2022. 10. 14.
[Unreal4] 언리얼 엔진 4에 연결된 비주얼 스튜디오 버전 변경하기 안녕하세요 Kwonriver입니다. 언리얼 엔진이 변경되면서 최소 비주얼 스튜디오 버전도 점차 상향되고 있습니다. 따라서 여러 버전의 비주얼 스튜디오를 설치한 상태로 언리얼 엔진을 사용할 경우가 발생할 수 있는데요. 이 때 비주얼 스튜디오의 버전을 변경하는 방법을 알아보겠습니다. 비주얼 스튜디오의 버전은 프로젝트 에디터와 연결되어 있습니다. 따라서 '에디터 개인설정'에서 프로젝트 단위로 변경을 해주어야 합니다. 기본적으로는 Visual Studio 로 세팅되어 있으며 프로젝트 생성 시 PC에 설치된 비주얼 스튜디오를 탐색하여 연결합니다. '편집 - 에디터 개인설정'을 클릭하면 아래와 같은 창이 나타납니다. 기본으로 '외형' 탭이 오픈되지만 비주얼 스튜디오 버전 변경을 위해서는 '소스 코드' 탭을 선택합니.. [Unreal4]/기능 2022. 8. 13.
밟으면 사라지는 바닥 추가 밟으면 사라지는 액터를 추가하였음. 기본 스태틱 메쉬와 밟았다는 것을 체크할 트리거 박스로 이루어진 액터. DisappearActor라는 이름으로 Actor를 상속받아 추가하였음. 액터가 사라지기까지 걸리는 시간 변수를 EditAnywhere로 선언하여 레벨에 배치할 때 액터마다 사라지는 타이밍을 다르게 하였음 #pragma once #include "CoreMinimal.h" #include "GameFramework/Actor.h" #include #include "DisappearActor.generated.h" UCLASS() class HARDTOGETGOAL_API ADisappearActor : public AActor { GENERATED_BODY() public: // Sets defau.. [Unreal4]/횡스크롤 맵탈출 2022. 6. 17.
횡으로 이동하는 바닥 추가 특정 위치에서 횡으로 왔다갔다 하는 액터를 만들어보자. 액터를 상속받아 C++ 클래스를 생성한다. 이름은 sinMoveActor로 만들었다. (CosMoveActor로 만들어야하는데 실수했음) #pragma once #include "CoreMinimal.h" #include "GameFramework/Actor.h" #include "sinMoveActor.generated.h" UCLASS() class HARDTOGETGOAL_API AsinMoveActor : public AActor { GENERATED_BODY() public: AsinMoveActor(); protected: virtual void BeginPlay() override; public: virtual void Tick(floa.. [Unreal4]/횡스크롤 맵탈출 2022. 6. 14.
플레이어 이동 추가 캐릭터 클래스를 상속받아 PlayerCharacher 클래스를 생성한다. 횡스크롤 이동이기 때문에 좌우 이동만 추가하면 된다. (다만 연습용으로 상하 좌우 마우스 로테이션까지 해놓음) 점프는 스페이스키로 적용 #pragma once #include "CoreMinimal.h" #include "GameFramework/Character.h" #include "PlayerCharacter.generated.h" UCLASS() class HARDTOGETGOAL_API APlayerCharacter : public ACharacter { GENERATED_BODY() public: // Sets default values for this characters properties APlayerCharacter.. [Unreal4]/횡스크롤 맵탈출 2022. 6. 13.
728x90