본문 바로가기

전체 글

(331)          글쓰기    
공도리 언리얼 https://blog.naver.com/program0923/223091593337 2023.05.02 잡기패턴, 보스 애니메이션 추가(달리기) 언리얼 / 블루프린트 3 집어던지기 집어던지기를 하기 위해서 내가 다운 받았던 캐릭터의 스켈레톤을 먼저 봐야한다. hand_r ->... blog.naver.com
경은이의 언리얼일지 https://blog.naver.com/plentyofsleep/223229445401 언리얼엔진 게임개발 프로젝트 11장 블렌드 스페이스 1D, 키 바인딩, 스테이트 머신 1. 이동 애니메이션을 블렌딩하기 위한 블렌드 스페이스 ... blog.naver.com
DevDog - Oculus Touch Input Mapping https://blog.naver.com/ratoa/221138728213 [Unreal Engine] Oculus Touch Input Mapping 할 수 있다고 믿어라. blog.naver.com
Lee포터의 잡학다식코너 언리얼 https://leeporter.tistory.com/category/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/%EC%96%B8%EB%A6%AC%EC%96%BC%EC%97%94%EC%A7%84 '프로그래밍/언리얼엔진' 카테고리의 글 목록 IT관련 정보(컴퓨터 지식, 프로그래밍, 게임, 하드웨어 등)와 재테크 정보 및 활동을 공유하는 블로그입니다. leeporter.tistory.com
3.1-9 적AI제어를 위한 FSM 제작하기 TPSPlayer는 WASD키 입력시 애니메이션이 제어된건 ThirdPersonTemplete안에 FSM(유한상태머신)이 구현되어 있기 때문입니다. 이걸 구현해보겠습니다. ActorComponent를 상속받아 EnemyFSM 이라는 C++클래스를 제작합니다. 컴포넌트로 제작하면 다른 컴포넌트에 부착하여 사용이 가능합니다. UEnemyFSM 클래스가 만들어 집니다. EnemyFSM.h #pragma once #include "CoreMinimal.h" #include "Components/ActorComponent.h" #include "EnemyFSM.generated.h" // 사용할 상태 정의 UENUM(BlueprintType) enum class EEnemyState : uint8 { Idle, ..
3.1-8 적Enemy생성하기 Character를 상속받아 C++클래스를 만듭니다. 이름은 Enemy로 합니다. 외관데이터 할당하기 ConstructorHelpers::FObjectFinder()를 사용해 하드코딩으로 메시를 불러옵니다. Character를 상속받아 이미 스텔레탈메시컴포넌트가 있는데 GetMesh()로 접근합니다. 적에너미는 적마다 외형이 다르므로 하드코딩보다는 블루프린트를 만들어 지정하는게 유연합니다. 샘플스켈레탈메시도 삼인칭 메시를 사용하였습니다만 이또한 안하는게 편할수도 있습니다. ThirdPersonTemplete의 SKM_Quinn을 Ctrl-C해서 붙여줍니다. 작은 따옴표 안에만 사용합니다. 책에서는 BP_Enemy 블루프린트 생성하여 외관을 붙여주고 있습니다. 블루프린트에서 메시를 붙여보면 위치가 위에 떠..
3.1-7 스나이퍼모드 C++ 우리는 이전에 UserWidget을 상속받은 WBP_sniperUI를 만들었습니다. 이걸 C++에서 처리하려면 build.cs에 UMG 모듈을 추가하고 리빌드 해야지만 간단한 로딩정도는 다음과 같이 피해갈수 있습니다. Userwidget을 상속받아 MyUserWidget C++클래스를 만듭니다. 이클래스를 UserWidget 대신 상속시킬겁니다. 2개의 파일이 만들어지지만 현재는 아무것도 하지 않습니다. UMyUserWidget 클래스가 생성되었습니다. 이걸 나중에 사용합니다. UCLASS() class TPSPROJECT_API UMyUserWidget : public UUserWidget { GENERATED_BODY() }; WBP_sniperUI를 열고 우상을 보면 Parent class가 Use..
스나이퍼 모드 구현하기 인생언리얼 자료실폴더내 SniperGun.zip을 풀어 Content폴더 밑에 복사해줍니다. sniper1은 아직 머터리얼이 제대로 할당되지 않을 것을 알수 있습니다. sniper2 머터리얼을 열어줍니다. Param 노드를 지우고 Texture Sample노드를 추가합니다. 좌측 Material Texture를 열어 sniper1_diffuse를 선택해줍니다. 그럼 다음과 같이 텍스쳐가 박스에 보입니다. Texture Sample을 하나더 추가하고 Sniper1_normal을 선택하고 normal에 연결합니다. 세이브하고 나가서 sniper1을 열어보면 머터리얼이 잘 적용된걸 알 수 있습니다. 총교체하기 새로가져온 스나이퍼건을 플레이어가 사용할 수 있도록 TPSPlayer.h에 변수를 추가합니다. UPR..
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..
AJ 블로거 https://blog.naver.com/coeternel/222731481118 언리얼엔진 - 유저 인터페이스 , C++ 220513 금 개발일지 3 선생님 C++ 공부할때 다른 방법으로 세번정도 공부하심 같은 방법이 아닌 다른 방법... blog.naver.com https://blog.naver.com/coeternel present for you : 네이버 블로그 * Good Taste Make Art Out of Technology blog.naver.com
3.1-4 플레이어 이동 처리하기 교재와는 다르게 이동을 위한 입력은 EnhancedInput으로 처리하겠습니다. ThirdPersonCharacter를 임포트할때 이미 입력도 같이 왔습니다. 이걸 사용하겠습니다. 새로운 인핸스드입력은 개별 인풋액션을 조합해서 원하는 Input Mapping Context를 만들수 있습니다. 우클릭후 다음메뉴에서 만들수도 있습니다. 우리는 그냥 있는것 사용하겠습니다. EnhancedInput을 사용하기 위해 TPSProject.Build.cs에 EnhancedInput 모듈을 추가해주어야 합니다. PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" , "EnhancedInput" })..