본문 바로가기

인생언리얼TPS

(19)          글쓰기    
3.1-6 총알발사하기 총알을 발사하기 위해 InputAction을 추가하고 Value Type은 Digital이면 됩니다. Thirdperson Input의 IMC_Default에 추가해주고 Left Mouse Button을 설정합니다. 라이프언리얼 깃의 자료실에서 FPWeapon을 다운받아 탐색기에서 Content폴더 아래 복사해 놓습니다. 플레이어에 총 추가하기 이렇게 추가한 FPWeapon 에셋을 TPSPlayer에 등록하겠습니다. BP_TPSPlayer를 열어 Bullet Factory를 BP_Bullet으로 설정합니다. 이제 총알이 나갈 위치를 정합니다. SK_FPGun을 열어 줍니다. Skeleton Tree Grip_Bone우클릭후 Add_Socket후 이름을 FirePosition으로 변경합니다. FirePos..
3.1-5 총알 제작하기 총알을 언리얼엔진에서 제공하는 물리엔진을이용하여 제작하겠습니다. 총알은 발사후 제어가 필요없기 때문에 Actor를 상속받아 클래스를 제작합니다 .이름은 Bullet으로 정합니다. Bullet.h Bullet.cpp가 생성됩니다. 필요컴포넌트 추가하기 발사체 형태의 물리 기능을 제공하는 컴포넌트인 UProjectileMovementComponent를 사용하보겠습니다. 그외 충돌과 메시컴포넌트도 추가해 줍니다. // 발사체의 이동을 담당할 컴포넌트 class UProjectileMovementComponent* movementComp; // 충돌 컴포넌트 class USphereComponent* collisionComp; // 외관 컴포넌트 class UStaticMeshComponent* bodyMesh..
3.1-4 플레이어 이동 처리하기 교재와는 다르게 이동을 위한 입력은 EnhancedInput으로 처리하겠습니다. ThirdPersonCharacter를 임포트할때 이미 입력도 같이 왔습니다. 이걸 사용하겠습니다. 새로운 인핸스드입력은 개별 인풋액션을 조합해서 원하는 Input Mapping Context를 만들수 있습니다. 우클릭후 다음메뉴에서 만들수도 있습니다. 우리는 그냥 있는것 사용하겠습니다. EnhancedInput을 사용하기 위해 TPSProject.Build.cs에 EnhancedInput 모듈을 추가해주어야 합니다. PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" , "EnhancedInput" })..
3.1-2 3인칭카메라 붙이기 3인칭 카메라를 붙이기 위해 블루프린트에서 SpringArm과 Camera 컴포넌트를 추가할수도 있지만 여기서는 바로 C++에서 추가하겠습니다. 우선 필요한 스프링암, 카메라 컴포넌트 변수들을 추가해줍니다. TPSPlayer.h #pragma once #include "CoreMinimal.h" #include "GameFramework/Character.h" #include "TPSPlayer.generated.h" UCLASS() class TPSPROJECT_API ATPSPlayer : public ACharacter { GENERATED_BODY() ... //추가 public: UPROPERTY(VisibleAnywhere, Category = Camera) class USpringArmCom..
3.1-3 플레이어 메시 적용 BP_TPSPlayer를 열어보면 4개의 컴포넌트가 이미 포함되어 있습니다. Capsule Component : 콜리전 담당 Arrow : 방향을 나타내는 화살표 Mesh : 외관을 표시하는 메시 Character Movement : 이동과 물리시뮬레이션을 담당 ThirdPerson캐릭터 불러와서 적용시키기 컨텐트드로워 +Add후 다음과 같이 ThirdPerson AddtoProject를 누르면 블루프린트만 임포트됩니다. 프로젝트만들때 선택하면 C++클래스까지 포함됩니다. 이제 Mesh카테고리에서 Skeletal Mesh Asset을 클릭해서 SK_Mannequin을 선택할수 있습니다. 선택후 뷰포트에는 인형이 보이는데 떠 있고 화살표 방향을 보고 있지 않습니다. 트랜스폼을 Z로케이션 로테이션을 -90으..
3.1-2 플레이어 생성하기 - 게임모드 설정 카메라제어및 애니메이션을 공부하기 위해 FPS보다 TPS로 제작합니다. 부모클래스를 Character로 하는 Public C++클래스를 만듭니다. 이름은 TPSPlayer 입니다. Visual Studio로 이동하면 새로운 파일이 생겼으므로 리로드 하라고 합니다. 언리얼과 Visual Studio는 서로 다른 환경이라 서로 얽혀있습니다. 이 둘을 잘 이해하셔야합니다. 언리얼의 Character 클래스는 이동과 애니메이션을 담당해주는 클래스입니다. 폰클래스를 상속받습니다. Content폴더밑에 Blueprints 폴더를 만들고 방금만들 TPSPlayer를 부모로 BP_TPSPlayer를 만들어 줍니다. 게임모드 클래스 정보 수정하기 TPSProjectGameModeBase를 부모로 블루프린트를 만들고 이름..
3.1 프로토타입 버전 - 로그카테고리 3.1-1 TPS 프로젝트 생성하기 Create - Game - Blank - C++ - 스타터컨텐츠 (ThirdPerson템플릿은 나중에 그래픽만 임포트 할 예정) 선택하고 프로젝트명을 TPSProject로 합니다. 이대로 이름을 만들어야 예제 파일을 수정없이 사용가능합니다. Source-TPSProject폴더로 이동 Public/Private 폴더를 만들고 TPSProject.Build.cs파일만 빼고 h는 퍼블릭, cpp는 private폴더로 이동시켜줍니다. 파일 구조를 만졌으므로 Visual Studio가 재구성할수 있도록 TPSProject폴더의 프로젝트명 + .uproject위를 우클릭후 Visual Studio 프로젝트 파일을 새로 만듭니다. 만들어진 TPSProject.sin 파일을 더블클..