본문 바로가기

언리얼5107

언리얼엔진5 Rotation 설정 ▣ 플레이한 상태에서 ~ 콘솔 커맨드창에서DisplayAll PlayerController ControlRotation : 해당 속성값이 마우스 입력에 따라서 어떻게 회전하는지 그 값이 나옵니다.  ▣ Use Controller Rotation Pitch, Use Controller Rotation Yaw, Use Controller Rotation Roll는 Unreal Engine에서 캐릭터의 회전에 관련된 설정으로, 각각 캐릭터가 입력 장치(예: 마우스, 컨트롤러 등)의 회전 입력을 따라 움직이도록 제어하는 옵션들입니다. 이 설정들은 특히 캐릭터가 움직일 때 카메라나 플레이어의 입력에 따라 자동으로 회전하도록 만들 때 유용합니다. ▣ Use Controller Rotation Pitch 역할: 이 .. 2024. 8. 9.
언리얼엔진5 c++ 게임입력모드 설정 ▣ FInputModeGameOnly와 SetInputMode 함수는 Unreal Engine 5에서 게임 입력 모드를 설정하는 데 사용됩니다.이 코드의 목적은 플레이어가 게임 내에서만 입력을 받을 수 있도록 설정하는 것입니다.이를 통해 마우스와 키보드 입력이 게임 내 액션에만 반영되고, 다른 UI 요소나 게임 외부에는 영향을 미치지 않도록 할 수 있습니다. ▣  FInputModeGameOnly 클래스의 인스턴스를 생성합니다. 이 클래스는 게임 전용 입력 모드를 정의하는 역할을 합니다.▣ SetInputMode(GameOnlyInputMode);SetInputMode 함수는 입력 모드를 설정하는 함수입니다. 여기서는 GameOnlyInputMode 인스턴스를 입력으로 제공하여 게임 전용 입력 모드를 활.. 2024. 8. 7.
언리얼엔진5 Copyright(저작권 정보) ▣ Unreal Engine 5에서 C++로 게임의 저작권 정보를 설정하려면, 보통 A*GameModeBase 클래스나 주요 게임 설정 클래스에 저작권 정보를 추가할 수 있습니다.▣  Project Settings : Unreal Engine의 프로젝트 설정에서 저작권 정보를 설정할 수 있습니다. 에디터에서 Edit -> Project Settings로 이동합니다. Description 섹션에서 Copyright Notice에 저작권 정보를 입력합니다. 2024. 7. 13.
언리얼엔진5 AnimNotify ▣ Notify를 추가할 애니메이션에서 트랙에 New Notify를 클릭해서 추가합니다.   ▣ 애니메이션 블루프린트에서 Event Graph에서 생성한 Notify Event 이름을 검색하면 Event노드를 찾을 수 있습니다.그리고 해당 이벤트로 함수를 연결하여 Notify가 있는 애니메이션이 실행될 때 Notify를 통해서 해당 함수가 호출할 수 있습니다.   ▣ 플레이어 블루프린트에 추가한 Event를 Notify Event에서 캐스팅해서 해당 함수를 호출할 수도 있습니다. 2024. 7. 3.
언리얼엔진5 c++ AnimNotifyState ▣ c++ AnimNotifyState를 생성합니다. 그리고 3개의 함수를 선언합니다.  virtual void NotifyBegin(USkeletalMeshComponent * MeshComp, UAnimSequenceBase * Animation, float TotalDuration) override; virtual void NotifyTick(USkeletalMeshComponent * MeshComp, UAnimSequenceBase * Animation, float FrameDeltaTime) override; virtual void NotifyEnd(USkeletalMeshComponent * MeshComp, UAnimSequenceBase * Animation) override; ▣ Not.. 2024. 6. 19.
언리얼엔진5 Physics Door ▣ 먼저 Actor를 생성하고 Static Mesh를 추가합니다.   ▣ 해당 Static Mesh에 들어가서 Collstion을 추가합니다.   ▣ Static Mesh에 디테일탭에서 Simulate Physics를 체크합니다.   ▣ Phsics Constraint를 추가합니다. https://docs.unrealengine.com/4.27/ko/InteractiveExperiences/Physics/Constraints/ConstraintsReference/ 피직스 컨스트레인트 레퍼런스언리얼 에디터의 피직스 컨스트레인트에서 사용할 수 있는 모든 프로퍼티에 대한 레퍼런스입니다.docs.unrealengine.com  ▣ PhsicsConstraint에 Component Name을 Static Mesh.. 2024. 6. 14.
언리얼엔진5 c++ Timeline(Aim Zoom In Out) ▣ CurveFloat를 생성하고 Time 0, Value 0, Time 0.2, Value 1 각각 Time과 Value를 지정합니다.그리고 시간에 따라 Value 값이 변경되고  그 값을 조절해서 사용하게 됩니다.  ▣ 오브젝트를 애니메이팅 하는 방법을 더 잘 제어하고 싶은 경우, 커브 에디터를 사용하여 키프레임을 수정하고 미세조정할 수 있습니다. 커브 에디터의 그래프를 사용하여 새 키프레임을 생성하고, 탄젠트를 편집하고, 다양한 내장 툴을 사용하여 애니메이션 커브를 조정할 수 있습니다. 커브 에디터는 나이아가라, 커브 에셋 및 애니메이션 커브 같은 언리얼 에디터 전반의 다른 툴에서 사용됩니다. 이 가이드에서는 시퀀서 내에서 커브 에디터를 사용하는 방법에 대해 간략하게 살펴보겠지만, 여기서 설명하는 .. 2024. 6. 13.
언리얼엔진5 ProgressBar ▣ Input Action에 Triggers에 Hold를 추가합니다. 그리고 Hold Time Threshold를 조절하여 Hold 시간을 조절합니다. Is One Shot을 체크하면 Hold 시간이 끝나면 한 번만 Shot을 합니다.   ▣ BP_Player로 가셔서 E키를 누르면 Print 하는 노드를 연결합니다. 그럼 E키를 누르고 Hold Time Threshold 타임이 지나면 Print노드가 한번 출력됩니다.    ▣ 위젯을 생성하고 Text와 ProgressBar를 추가하여 배치하고 ProgressBar에 디테일에 Percent를 바인딩합니다. 그리고 해당 코드에서 BP_Player 변수를 Return Value 하는 노드를 완성합니다.  BP_Player에서 Level 변수를 먼저 생성하고.. 2024. 6. 11.
언리얼엔진5 Delegate ▣ 델리게이트란? - 델리게이트는 함수 포인터와 비슷한 개념으로, 특정 함수에 대한 참조를 저장하고 나중에 이를 호출할 수 있는 기능을 제공합니다. - 사용: 특정 이벤트가 발생했을 때, 미리 지정된 함수나 메서드를 호출하는 데 사용됩니다. ▣ 왜 사용하는가?- 이벤트 처리: 특정 조건이 발생했을 때 여러 개의 리스너 함수가 호출되어야 할 때 유용합니다. - 콜백 메커니즘: 비동기 작업이 완료된 후 후속 작업을 수행해야 할 때 사용합니다. - 코드의 결합도 감소: 코드의 모듈성을 높이고, 서로 다른 클래스나 모듈 간의 의존성을 줄일 수 있습니다. - 유연한 설계: 런타임에 어떤 함수가 호출될지 유연하게 결정할 수 있습니다. ▣ Delegate (델리게이트)로 C++ 오브젝트 상의 멤버 함수 호출을 일반적.. 2024. 6. 9.
언리얼엔진5 Option System ▣ 먼저 옵션 위젯 블루프린트를 생성합니다.   ▣ BackgroundBlur를 추가하고 Blur Strength 값을 변경합니다.  ▣  Vertical Box안에 Horizontal Box를 정렬하고 상속하여 추가합니다.   ▣ Horizontal Box 각각에 Text, Button를 조합하여 넣어서 Option 위젯디자인을 완성하고 BackGroundImage도 추가하여 배경도 옵션에 배경도 넣습니다. 그리고 각각 화살표 버튼마다 이름을 지정하고 Is Variable을 활성화합니다.   ▣ WindowsMode Button  클릭 이벤트를 추가하고 WindowsMode라는 변수에 EWindow Mode 형식으로 지정하고 Default Value값도 Windows Fullscreen으로 변경합니다.. 2024. 6. 5.
언리얼엔진5 c++ AIController Character AnimInstance Cast ▣ Character에 대한 참조 정의를 하기 위해서는 GameFramework/Character.h 헤더를 추가합니다.   ▣ 그리고 Pawn -> Character -> Mesh -> AnimInstance를 하나하나 대입하고 캐스팅하여 가져와서 AnimInstace를 접근하여 사용가능합니다. 2024. 6. 4.
언리얼엔진5 Launch URL ▣ cpp에서 #include "Kismet/KismetSystemLibrary.h"를 추가합니다.  ▣ 그리고 UKismetSystemLibrary::LaunchURL("https://makerejoicegames.tistory.com/"); 함수에 URL을 문자열 형식으로 매개변수에 넣고 컴파일 저장 후에 플레이를 하면 해당 함수를 호출하면 URL이 나오게 됩니다.   ▣ 블루프린트에서는 바로 Launch URL 노드를 검색하여 사용하시면 됩니다.  https://docs.unrealengine.com/4.26/en-US/BlueprintAPI/Utilities/Platform/LaunchURL/ Launch URLLaunch URLdocs.unrealengine.com 2024. 5. 30.
언리얼엔진5 c++ Aim ▣ 먼저 Rotator 값을 저장할 변수를 선언합니다.  ▣ cpp로가서 DeltaRotator함수를 사용하기 위해 헤더를 추가합니다.    ▣ 위에 블루프린트 이미지처럼 c++ cpp에서 Owner에 접근하여 Rotation()을 가져와서 DeltaRotator함수로 계산한 다음 DeltaRotator에 값을 반환하고 AimRotator에 회전값 기준에 맞게 값을 대입합니다.  ▣ 애니메이션 블루프린트에서 Transform Bone을 추가하고 Aim Rotator 연결하고 Bone과 Rotation Mode를 설정합니다.   ▣ 컴파일 저장 후 마우스 위아래를 회전하면서 확인합니다. 2024. 5. 26.
언리얼엔진5 BuzzingSound ▣ 먼저 BuzzingSound를 다운로드하여 Content에 Import 합니다.    ▣ Audio에서 Sound Attenuation을 생성하고 Falloff Distance 값을 조절합니다.  ▣ Sound Attenuation는 소리 감쇠를 조절합니다.  ▣ 이 섹션에서는 청취자가 사운드에서 멀어짐에 따라 사운드 볼륨이 어떻게 감소(감쇠)하는지 정의합니다. 사운드의 볼륨은 감쇠 모양의 내부 영역 내에서 최대가 됩니다. 청취자가 이 내부 영역에서 멀어지면 사운드 볼륨이 감소하여 외부 영역 경계에서 최소 볼륨에 도달합니다. 거리에 따른 감쇠율은 감쇠 함수에 의해 결정됩니다. https://dev.epicgames.com/documentation/en-us/unreal-engine/sound-atte.. 2024. 5. 24.
언리얼엔진5 Level Stream ▣ 먼저 Windows에서 레벨창을 추가하고 Add Existing으로 레벨을 추가합니다.   ▣ Blueprint Actor를 하나 생성하고 벽, 문, 로딩할 때 충돌하는 콜리전까지 추가합니다.  ▣ 그리고 Event Graph에서 콜리전에 충돌하면 Load Steam Level 함수로 로드 후에 보이게 하고 문이 열리는 노드를 완성합니다.  ▣  Load Stream Level 노드에서 로드 후 보이게 만들기(Make Visible After Load)로드 시 블록 필요(Should Block on Load)  https://dev.epicgames.com/documentation/en-us/unreal-engine/loading-and-unloading-levels-using-blueprints-i.. 2024. 5. 23.
언리얼엔진5 FootStep Sound ▣ 먼저 발소리 사운드를 가져옵니다.   ▣ Project Settings에 Engine Physics에 surface Type 3개에 이름을 바닥에 이름과 동일하게 지정합니다.    ▣ Physical Material 3개를 생성하고 각각 발소리에 맞게 이름을 지정한 다음 Surface Type을 이름에 맞게 지정합니다. https://dev.epicgames.com/documentation/ko-kr/unreal-engine/physical-materials-user-guide-for-unreal-engine?application_version=5.3 언리얼 엔진의 피지컬 머티리얼 사용 안내서 | 언리얼 엔진 5.4 문서 | Epic Developer Community언리얼 엔진의 피지컬 머티리얼 생.. 2024. 5. 18.
언리얼엔진5 c++ AnimIstance 변수변경 ▣ AnimIstance class 헤더를 추가합니다. UPlayerAnimInstance* Animinstace = Cast(GetMesh()->GetAnimInstance()); 처럼캐스팅을 하고 캐스팅한 변수를 접근하여 변수를 변경합니다. 2024. 5. 16.
언리얼엔진5 Door Passworld System ▣ 먼저 Door에 관련된 Blueprint Actor를 생성합니다.   ▣ StaticMesh를 추가해서 Door벽 역할을 하는  DoorBody, 문을 열고 닫는 역할을 하는 Door 그리고 Door Key 역할로  DoorButton을 생성하고 DoorButton만 Trace에 충돌되게 Collision 설정합니다.   ▣ DoorButton에 Tag를 지정합니다. ▣ Event Graph로가서 Door를 Open 했을 때에 대한 Event Node도 완성합니다.   ▣ Widget Blueprint를 생성하고 CanvasPanel 그리고 KeyPad BackGround 역할로 Image를 추가하고UniformGridPanel을 추가하여 button 여러 개를 넣어서 PassWorld 입력하는 버튼.. 2024. 5. 13.
언리얼엔진5 AI TakeDamage ▣ 먼저 대미지를 줄 플레이어 c++에서 ApplyDamage() 함수를 사용하기 위해 필요한 #include "Kismet/GameplayStatics.h" 헤더를 추가하고 ApplyDamage() 매개변수에 맞게 코드를 작성합니다.  https://dev.epicgames.com/documentation/en-us/unreal-engine/API/Runtime/Engine/Kismet/UGameplayStatics/ApplyDamage?application_version=5.3 U Gameplay Statics/Apply Damage | Unreal Engine 5.4 Documentation | Epic Developer CommunityHurts the specified actor with gen.. 2024. 5. 11.
언리얼엔진5 SpawnAIFromClass ▣ 먼저 Enemy cpp로가서 AIControllerClass에 대한 설정과 AutoPossessAI 설정을 하는 코드를 작성합니다. ▣  AutoPossessAI 종류 Disabled 기능이 비활성화되었습니다(AI를 자동으로 보유하지 않음). PlacedInWorld 폰이 세계에 배치된 경우에만 AI 컨트롤러가 소유합니다. Spawned 월드가 로드된 후 Pawn이 스폰된 경우에만 AI 컨트롤러가 소유합니다. PlacedInWorldOrSpawned 폰은 생성될 때마다 AI 컨트롤러에 의해 자동으로 소유됩니다.  ▣ AI가 있는 스폰 하려면 Unreal Engine에서 "Spawn Actor for Class" 대신 "Spawn AI From Class" 노드를 사용해야 합니다. 이는 AI 캐릭터가 .. 2024. 5. 9.
언리얼엔진5 Inventory DataTable save ▣ 먼저 Blueprint Structure 두 개를 생성합니다. FItemData는 아이템 데이터를 관리하는 구조체이고 FSlot 저장할 아이템 이름과 아이템 수에 관한 구조체입니다.   https://dev.epicgames.com/documentation/ko-kr/unreal-engine/blueprint-variables-in-unreal-engine?application_version=5.3 언리얼 엔진의 블루프린트 변수 | 언리얼 엔진 5.4 문서 | Epic Developer Community값을 가지거나 월드 내 오브젝트나 액터를 참조하는 프로퍼티입니다.dev.epicgames.com   ▣ 아이템에 ItemData를 반환하기 위한 블루프린트 인터페이스를 생성합니다. 생성한 블루프린트 인.. 2024. 5. 6.