본문 바로가기

전체 글

(156)         글쓰기    
UE5 ENHANCED Input 연습2 프로젝트를 C++로 만들고 이름을 Shooting이라고 한다. C++Class를 하나 만들고 PlayerPawn이라고 한다. VisualStudio가 열리면 프로젝트명+Build.cs를 연다. 여기서는 ShootingBuild.cs이다. PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" }); 맨 뒤에 , "EnhancedInput"를 추가해준다. 이래야 언리얼 C++에서 EnhancedInput 관련 작업을 할 수 있다. using UnrealBuildTool; public class Shooting : ModuleRules public Shooting(ReadOnlyTargetR..
EnhancedInput 연습 뉴레벨을 Basic으로 만들고 NewInput이라고 저장한다. Contents폴더 아래 Input폴더를 만들고 우클릭 Input>InputAction을 3개 만든다. 이름은 IA_Jump, IA_Look, IA_Move로 저장하는데 IA_Move, IA_Look은 Axis2D로 변경하고 Ctrl-S로 저장해 이름옆의 별표를 지운다. IA_Jump는 단순 트리거 동작이므로 변수를 Bool로 지정한다. 실제 키입력을 받아 맵핑해주는 Input Mapping Context를 만들어 이름은 IMC_Player라고 한다. 파일을 열고 디테일에ㅔ서 Mappings+를 누르고 IA_Jump를 선택후 키보드 SpaceBar를 선택해준다. Mapping+를 눌르 IA_Move를 선택해주고 WASD키를 위해 +를 눌러 4..
UE5 Enhanced Input Enhanced Input은 이전의 'Action And Axis' 매핑과 완전히 역호환 됩니다. Unreal Engine5에서 기존의 Input은 Deprecated 조치되었으며, Enhanced Input을 사용하기를 권장합니다. 입력시스템의 동작 방식 플레이어의 입력은 컨트롤러를 통해 폰으로 전달됨 입력을 컨트롤러가 처리할 수도, 폰이 처리할 수도 있는데, 일반적으로는 폰이 처리하도록 설정 다양한 사물에 빙의하는 게임의 경우 폰이 유리 입력 매핑 컨텍스트 : 입력 매핑 컨텍스트를 이용하여, 런타임에 각 설정에 맞는 입력장치를 설정할 수 있습니다. (예 : 게임패드용 입력 매핑 컨텍스트, 키보드용 입력 매핑 컨텍스트) 입력값 변조(Modifier) : 우리가 AD / WS 입력값을 받아낼 때 이 값을..
카메라컴포넌트작업 https://docs.unrealengine.com/4.27/ko/InteractiveExperiences/UsingCameras/CameraComponents/ 카메라 컴포넌트 작업 블루프린트에 카메라 컴포넌트를 추가하여 오브젝트에 대한 카메라 시점으로 사용하는 방법을 안내합니다. docs.unrealengine.com https://docs.unrealengine.com/4.27/ko/InteractiveExperiences/UsingCameras/SpringArmComponents/ 스프링 암 컴포넌트 사용법 Spring Arm 컴포넌트는 카메라 시야가 막히는 상황을 자동으로 처리하는 데 사용됩니다. docs.unrealengine.com https://docs.unrealengine.com/4...
카메라사용법 https://docs.unrealengine.com/4.27/ko/InteractiveExperiences/UsingCameras/ 카메라 사용법 언리얼 엔진 4 에서 씬에 있는 액터를 찾는 법에 대한 하우투입니다. docs.unrealengine.com 카메라 액터 배치는 모드 메뉴의 기본 탭에서 카메라 액터를 끌어 레벨에 놓으면 됩니다. 레벨에 카메라가 배치되면, 뷰포트에 화면속 화면 창이 생겨 그 카메라의 시야를 확인할 수 있습니다. 창 중앙 상단에는 카메라 이름이 표시되며, 창 좌상단 구석의 핀 아이콘은 창에 고정시키는 (카메라 이외를 클릭해도 화면에 계속 표시하도록 하는) 옵션도 있습니다. 카메라를 선택하면, 디테일 패널이 그 카메라에 관계된 세팅으로 채워지는 것을 확인할 수 있습니다. 아래는..
UE5 C++클래스 Character상속 마켓플레이스에서 Paragon을 검색후 GreyStone을 구매후. Paragon:GreyStone 프로젝트에 추가해준다. 콘텐츠드로워에 다음 Meshes폴더에 Greystone을 Ctrl-C 해 놓는다. C++ Class를 만드는데 부모 클래스는 Character로 하고 이름은 MyCharacter로 한다. MyCharacter.h를 살펴보면 MyCharacter는 Character클래스로 부터 상속 받았다. #include "CoreMinimal.h" #include "GameFramework/Character.h" #include "MyCharacter.generated.h" UCLASS() class TESTUNREALENGINE_API AMyCharacter : public ACharacter ..
언리얼 참조 사이트 https://blog.naver.com/PostView.naver?blogId=destiny9720&logNo=220905078054&categoryNo=19&parentCategoryNo=11&viewDate=&currentPage=2&postListTopCurrentPage=1&from=menu&userTopListOpen=true&userTopListCount=30&userTopListManageOpen=false&userTopListCurrentPage=2 [1-1] 언리얼 C++ 프로젝트의 구성 안녕하세요. 첫 C++ 강좌네요. ^^ 첫 강좌는 언리얼 C++ 프로젝트의 구성에 대해 정리해보았습니... blog.naver.com https://iamfoodie.tistory.com/1031
MyPawn에서 키입력 받기 MyPawn은 부모 클래스를 Pawn으로 만들었다. Actor와 다른점은 코드를 보면 아래 함수가 추가되어져 있다 // Called to bind functionality to input void AMyPawn::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent) { Super::SetupPlayerInputComponent(PlayerInputComponent); } 여기에 Edit>프로젝트세팅>Inputs Tab의 InputAxis를 연결해줘야 한다. 우선 InputAxis를 만들자. MyPawn.h에 방금만든 Axis를 이벤트를 선언한다. public: void UpDown(float Value); void LeftRight(float..
스크린디버그메세지 Engine->AddOnScreenDebugMessage() UE_LOG는 콘솔에 표시되는 것이지만 블루프린트 Print 노드 처럼 화면에 메세지를 나타내는 방법도 있다 사용전 #include "Engine.h"를 포함시키고 Engine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Yellow, TEXT("Hello world")); 처럼 사용하면 된다. References Module Engine Header /Engine/Source/Runtime/Engine/Classes/Engine/Engine.h Include #include "Engine/Engine.h" Source /Engine/Source/Runtime/Engine/Private/UnrealEngine.cpp Syntax void AddOnScreenDebugMes..
게임 모드와 게임 스테이트 https://docs.unrealengine.com/4.27/ko/InteractiveExperiences/Framework/GameMode/ 게임 모드와 게임 스테이트 Game Mode, 게임 모드와 Game State, 게임 스테이트에 대한 개요입니다. docs.unrealengine.com 플레이중인 게임의 정보를 처리하는 클래스는 크게 Game Mode (게임 모드)와 Game State (게임 스테이트), 둘입니다. 가장 제약이 없다는 게임일지라도 토대가 되는 규칙들이 있으며, 이러한 규칙들이 게임 모드를 이룹니다. 가장 기본적인 수준에서 이러한 규칙에 포함되는 것은 다음과 같습니다: 존재하는 플레이어와 관람자의 수는 물론, 허용된 플레이어와 관람자 최대 수 플레이어가 게임에 들어오는 방식, ..
UE5 GameModeBase GameMode를 연습하기 위해 프로젝트를 새로 만들어 보겠습니다. Games의 Blank템플릿을 선택합니다. 프로젝트 디테일은 C++로 하고 Starter Content를 포함시킵니다. 이름을 GameMode로 하고 Create합니다. 레벨에디터가 열리면 File>New Level을 선택하고 Base를 선택해줍니다. 컨텐트드러워를 열고 컨텐트폴더아래 Maps라는 폴더를 생성해줍니다. 뷰포트롷 돌아와 Ctrl-S를 누르면 레벨을 저장할수 있는데 방금만든 Maps폴더에 DefaultMap이라고 저장합니다. 프로젝트세팅 Maps탭에 Default Maps의 Start Map, Default Map을 방금만든 DefaultMap으로 설정해주면 에디터실행시 자동으로 로딩된다. 레벨에디터 아웃라이너 아래 Deta..
UE5 C Class Rotation 시키기 - AddActorLocalRotation() 인스턴스 생성후 회전하는 클래스를 만들어 보겠다. 부모클래스를 액터로 하고 이름을 RotationActor로 한다. 스스로 돌기만 하면되기 때문이다. Visual Studio로 이동후 모두 다시로드를 클릭해준다. RotationActor.cpp와 RotationActor.h 2개의 파일이 새로 생성되었다. 앞과 동일한 요령으로 RotationActor.h에 다음 코드 추가 UPROPERTY(VisibleAnywhere) UStaticMeshComponent* Mesh; RotationActor.cpp에 Mesh= 부터 추가해준다. ARotationActor::ARotationActor() { // Set this actor to call Tick() every frame. You can turn this..