언리얼5107 언리얼엔진5 c++ CalculateDirection ▣ 애니메이션 블루프린트에 노드처럼 c++ 코드에서도 먼저 Angle 변수선언을 하고 CalculateDirection() 함수를 호출하여 필요한 데이터를 매개변수에 넣고 저장합니다. ▣ 컴파일 후 애니메이션블루프린트에 스테이트머신에서 블랜드스페이스에 변수에 값을 연결하고 플레이를 하면 방향에 맞게 블랜드스페이스 애니메이션이 실행됩니다. 2024. 5. 5. 언리얼엔진5 c++ CharacterMovement ▣ 먼저 h헤더파일에 CharacterMovementComponent에 데이터를 저장할 변수를 선언하고 GetCharacterMovement()를 대입합니다. ▣ cpp파일에서 필요한 헤더를 추가하고 ▣ CharacterMovement변수를 접근하여 변경하고 싶은 Speed를 대입해서 변경하면 됩니다. 2024. 5. 4. 언리얼엔진5 c++ AIController(Focus, Move) ▣ 먼저 AiController c++ 코드를 생성합니다. ▣ 그리고 생성한 c++ AiController를 상속한 블루프린트도 생성합니다. ▣ 적 블루프린트에 들어가서 디테일탭에 Ai Controller Class를 아까 생성한 AiController 블루프린트로 지정합니다. ▣ AiController c++ 코드에. h 헤더파일로 들어가서 BeginPlay(), Tick() 함수를 선언하고 함수 정의까지 진행합니다. ▣. cpp 파일로 가서 #include "Kismet/GameplayStatics.h"를 선언합니다. 그리고 Tick() 함수에 플레이어 Pawn을 저장하는 코드, Ai 시선처리하는 함수, Ai 이동하는 함수 코드를 완성합니다. ▣ UGameplayStatics::Get.. 2024. 4. 27. 언리얼엔진5 엘리베이터 ▣ 먼저 엘리베이터 블루프린트를 생성하고 Cube Static Mesh를 활용하여 엘리베이터 틀과 버튼을 상속해서 만듭니다. ▣ Event Graph에서 Event Custom으로 Event 노드를 생성합니다. ▣ Move Component To 노드를 활용하여 버튼을 클릭하면 Button이 움직이고 엘리베이터가 위아래로 움직이는 노드를 완성합니다. ▣ Move Compoent To 노드에 이동 위치 및 보간시간을 조절해서 연결합니다. https://dev.epicgames.com/documentation/en-us/unreal-engine/BlueprintAPI/Components/MoveComponentTo?application_version=5.3 Move Component ToMove Co.. 2024. 4. 26. 언리얼엔진5 Blend Poses Enum ▣ 먼저 Blueprint에서 Enumeration을 생성합니다. ▣ 그리고 두 개의 Fire State에 대한 Enum 값을 생성합니다. ▣ Player 블루프린트에서 아까 생성한 Enum에 대한 변수를 생성하고 1번 키를 누르면 Pistol 상태, 2번 키를 누르면 Rifle 상태에 대한 노드를 완성합니다. ▣ 애니메이션 블루프린트로와서 Blend와 Enum 이름을 검색하면 Enum에 대한 Blend Poses 노드가 나옵니다. 이걸 선택하고 https://dev.epicgames.com/documentation/ko-kr/unreal-engine/animation-blueprint-blend-nodes-in-unreal-engine?application_version=5.3 언리얼 엔진의 애니메이션.. 2024. 4. 23. 언리얼엔진5 c++ PlaySound ▣ 먼저 언리얼에서 지원하는 소리를 다운로드합니다. https://docs.unrealengine.com/4.27/ko/WorkingWithAudio/Overview/ 오디오 시스템 개요 사운드 큐 노드 기반 오디오 애셋 사용법을 포함해서, 게임내 사운드 재생에 사용되는 오디오 시스템에 대한 개요서입니다. docs.unrealengine.com ▣ 소리를 재생할 c++ 클래스에 들어가서 .h 파일에서 소리에 대한 변수를 선언합니다. ▣. cpp 파일로 가서 소리를 재생하기 함수가 있는 #include "Kismet/GameplayStatics.h"를 선언합니다. ▣ GameplayStatics : 블루프린트와 C++ 모두에서 호출할 수 있는 유용한 게임플레이 유틸리티 함수가 포함된 정적 클래스 https.. 2024. 4. 23. 언리얼엔진5 c++ socket에 StaticMesh 적용 ▣ 먼저 Mesh 스켈레톤에 Socket을 추가하고 총을 프리뷰로 가져와서 회전 및 위치를 지정합니다. ▣ StaticMeshComponent를 추가하기 위해 변수를 먼저 선언부에 선언합니다. ▣ StaticMeshComponent 생성 및 상속 그리고 Sock에 상속할 코드를 완성합니다. ▣ AttachToComponent() 함수 매개변수 끝에 SockName을 지정합니다. https://docs.unrealengine.com/4.27/en-US/API/Runtime/Engine/GameFramework/AActor/AttachToComponent/ AActor::AttachToComponent Attaches the RootComponent of this Actor to the supplied co.. 2024. 4. 20. 언리얼엔진5 c++ AnimInstance Montage 구르기 ▣ 먼저 가져온 애니메이션에 디테일에서 EnableRootMotion을 체크합니다. 그럼 애니메이션으로 이동되는 경로가 고정됩니다. ▣ 그리고 애니메이션을 몽타주로 생성하고 애니메이션 블루프린트에 연결까지 진행합니다. ▣ InputMappingContext에 Rolling에 대한 InputAction을 추가합니다. ▣ 플레이어 C++에. h 헤더에서 애니메이션 몽타주에 대한 변수, 입력변수, 함수를 선언합니다. ▣. cpp에서 InputAction에 대한 경로 지정 및 바인딩 코드를 완성하고 Rolling함수 안에서 AnimInstance를 가져와 Montage_Play() 함수를 이용해서 몽타주를 플레이하는 코드를 완성합니다. ▣ Montage_Play() 함수 설명 - UAnimM.. 2024. 4. 18. 언리얼엔진5 c++ Animation(move, jump) ▣ Add C++ Class에서 All Classes를 선택해서 Animinstance를 생성합니다. ▣ Animation Blueprint를 생성하고 밑에 Parent Class에서 아까 생성한 Animinstance를 선택하고 생성합니다. ▣ 플레이어 C++코드로 들어가서 SetAnimInstanceClass를 지정해야 합니다. FClassFinder를 이용해서 Class를 가져오는데 애니메이션블루프린트 경로를 먼저 복사해서 그대로 붙여 넣고 ▣ 위에 있는 경로처럼 필요한 경로만 넣어주시고 Class를 가져오기 때문에 맨 끝에 _C를 추가하고 저장합니다. ▣ 컴파일 후 Player블루프린트에서 Animation 메뉴에 Anim Class를 확인하면 애니메이션 블루프린트 클래스가 추가된 걸 확인할 수 .. 2024. 4. 17. 언리얼엔진5 c++ Camera SpringArm ▣ UPROPERTY() : 변수에 붙은 리플렉션 매크로 ▣ 에디터 접근을 위한 매크로 https://dev.epicgames.com/documentation/ko-kr/unreal-engine/unreal-engine-uproperties?application_version=5.3 언리얼 엔진 UProperty 게임플레이 클래스에 대한 프로퍼티 생성 및 구현 관련 레퍼런스입니다. dev.epicgames.com ▣ SpringArm, Camera 컴포넌트를 사용하기 위한 헤더 추가 #include "GameFramework/SpringArmComponent.h" #include "Camera/CameraComponent.h" ▣ CreateDefaultSubobject(컴포넌트 이름) : 구성 요소 또.. 2024. 4. 14. 언리얼엔진5 UMG 불투명 애니메이션 ▣ 위젯블루프린트를 생성하고 불투명하게 해 줄 Text를 생성하고 Animation에서 render opacity를 0, 1로 각각 애니메이션에서 지정합니다. render opacity는 불투명도를 의미합니다. ▣ 레벨블루프린트로 들어가서 Squence노드를 활용하여 두 개를 동시에 호출하여 애니메이션이 재생되고 소리가 나오게 노드를 완성합니다. ▣ Sequence 노드는 한 번의 실행 신호로 일련의 이벤트를 순서대로 발동시키는 노드입니다. 이 노드에는 출력이 몇이든 있을 수 있으며, Sequence 노드가 입력을 받자마자 그 모두가 호출됩니다. 그들 모두 순서대로 지연 없이 호출됩니다. 전형적인 사용자에게는 이 출력들이 동시에 발동된 것처럼 보일 것입니다. 이 예제에서 Sequence 노드는 레벨 시작.. 2024. 4. 12. 언리얼엔진5 타이머 ▣ Get World Delta Seconds 노드를 이용해서 변수에 값을 더해서 타이머를 완성합니다. https://dev.epicgames.com/documentation/en-us/unreal-engine/BlueprintAPI/Utilities/Time/GetWorldDeltaSeconds?application_version=5.3 Get World Delta Seconds Get World Delta Seconds dev.epicgames.com ▣ 컴파일 저장 후 플레이를 해보면 Float 형식으로 타이머가 출력됩니다. ▣ 이번에는 Delay 함수를 이용해서 1초마다 변수에 +1을 더하는 방식으로 타이머를 완성합니다. ▣ 컴파일 저장 후 1초마다 변수 값이 하나씩 늘어나 출력되는 걸 확인할 수.. 2024. 4. 6. 언리얼엔진5 Ai move to (Ai 랜덤이동, Ai 공격) ▣ Enemy ai를 만들 Character 클래스를 생성합니다. ▣ BP_EnemyAi로 이름을 지정하고 메뉴 들어가서 Mesh를 지정하고 PawnSensing 컴포넌트를 추가합니다. ▣ Event Graph에서 Add Custom Event를 추가하여 Follow Player, RandomMove 두 개 Event를 생성합니다. Follow Player는 플레이어를 발견하면 플레이어를 따라가는 이벤트 RandomMove는 플레이어를 발견하지 않는 상태에서는 랜덤으로 이동하는 이벤트입니다. ▣ Ai move to를 검색하여 Ai move to 노드도 추가합니다. https://dev.epicgames.com/documentation/ko-kr/unreal-engine/BlueprintAPI/AI/AIM.. 2024. 4. 6. 언리얼엔진5 geometry material 모두 적용 ▣ 적용할 geometry Box를 선택하고 Shift + B 키를 누르면 모든 면이 선택됩니다. ▣ 그리고 Suface Materials에 원하는 Material을 넣으면 이렇게 모두 적용되는 걸 확인할 수 있습니다. 2024. 4. 6. 언리얼엔진5 소리 감지 ▣ 감지할 적 Enemy를 Pawn으로 생성합니다. ▣ Static Mesh를 추가하고 Pawn Sensing 컴포넌트를 추가합니다. ▣ 디테일탭에서 소리 감지 영역 값을 지정합니다. ▣ On Hear Noise 이벤트를 추가하고 소리가 감지되면 Line Trace를 쏘는 노드를 완성합니다. https://dev.epicgames.com/documentation/en-us/unreal-engine/BlueprintAPI/EventDispatchers/OnHearNoise?application_version=5.3 On Hear Noise On Hear Noise dev.epicgames.com ▣ 소리를 발생시킬 Player블루프린트로 가서 PawnNoiseEmitter 컴포넌트를 추가합니다. 그리고 위.. 2024. 4. 4. 언리얼엔진5 스프라이트 자르기 ▣ Texture에서 오른쪽마우스를 클릭하고 Sprite Actions에서 Extract Sprites 클릭합니다. ▣ Sprite Extract를 설정하고 Extract클릭합니다. ▣ 그럼 이렇게 Sprite로 잘려서 나뉘게 됩니다. 2024. 4. 2. 언리얼엔진5 사다리 시스템 ▣ 사다리 Actor를 생성하고 Static Mesh와 Box Collision Component를 추가합니다. ▣ Box Collision에 Begin Overlap, End Overlap event노드를 각각 추가하고 사다리가 닿게 되면 BP_Player에 isLadder 변수가 True, False가 되는 노드를 연결하고 사다리에서 End 이벤트가 호출되면 Set Movement Mode에서 Walking모드로 다시 돌아가는 노드를 추가합니다. https://dev.epicgames.com/documentation/en-us/unreal-engine/BlueprintAPI/Pawn/Components/CharacterMovement/SetMovementMode?application_version=5.. 2024. 4. 1. 언리얼엔진5 조준 애니메이션 ▣ BP_Player에서 RifleAim에 대한 입력시스템을 추가하고 isRifleAim에 대한 boolean 변수를 생성합니다. ▣ ABP에 Event Graph에서 BP_Player에 isRifleAim을 Get 해서 ABP에 isRifleAim에 SET을 합니다. ▣ 스테이트 머신을 생성하고 RifleIdle State와 RifleAim을 각각 생성하고 isRifleAim 변수로 조건을 연결합니다. ▣ 그리고 RifleLocomotion을 cached pose에 save해서 연결합니다. https://dev.epicgames.com/documentation/en-us/unreal-engine/using-layered-animations-in-unreal-engine?application_versio.. 2024. 3. 26. 언리얼엔진5 랜드스케이프 여러 Material 적용 ▣ 먼저 Material을 다운로드합니다. ▣ 오른쪽마우스를 클릭하고 Material을 생성합니다. ▣ Material 에디터에서 다운로드한 Material 폴더에 Texture 3개를 드래그하여 넣습니다. ▣ 3개 Texture을 선택하고 Sampler source 메뉴에서 Shared : Wrap로 지정합니다. ▣ MakeMaterialAttributes 노드를 불러와서 Texture Sample에 위에 이미지처럼 연결합니다. https://docs.unrealengine.com/4.26/ko/RenderingAndGraphics/Materials/ExpressionReference/MaterialAttributes/ Material Attributes 표현식 여러가지 머티리얼 특성, 특히 레이어드 .. 2024. 3. 20. 언리얼엔진5 브러쉬 빼기 이중으로 적용하는 방법 Brush Type ▣ 더하기 더하기 브러시는 꽉 채운 공간과 같습니다. 레벨에 추가하려는 모든 브러시 지오메트리에 사용할 수 있습니다. 더하기 브러시의 훌륭한 시각화 방법으로는 벽 네 개와 바닥, 그리고 천장으로 구성된 방을 예로 들 수 있습니다. 방의 각 요소는 에지가 맞닿아 외부 공간을 형성하는 맵에서 별도의 박스 셰이프 더하기 브러시가 되는 것입니다. ▣ 빼기 빼기 브러시는 파내져 속이 빈 공간입니다. 이전에 만든 더하기 브러시에서 꽉 찬 공간을 제거하여 문이나 창 등을 만드는 유형의 브러시입니다. 빼기 공간은 플레이어가 자유롭게 움직일 수 있는 유일한 영역입니다. ▣ Advanced(브러시 순서)를 To Last로 지정합니다. ▣ 브러시 순서 이 순서는 브러시 배치 순서의 더하기 또는 빼기 작업.. 2024. 3. 20. 언리얼엔진5 에셋, 게임모드, 액터 설정 https://www.unrealengine.com/marketplace/ko/store?sessionInvalidated=true 게임/3D 렌더링 에셋 스토어 | 언리얼 엔진 마켓플레이스 www.unrealengine.com ▣ 언리얼 엔진 마켓플레이스 https://docs.unrealengine.com/5.3/ko/game-mode-and-game-state-in-unreal-engine/ 게임 모드와 게임 스테이트 게임 모드와 게임 스테이트 개요입니다. docs.unrealengine.com ▣ 게임모드 : 가장 제약이 없다는 게임일지라도 토대가 되는 규칙들이 있으며, 이러한 규칙들이 게임 모드를 이룹니다. 가장 기본적인 수준에서 이러한 규칙에 포함되는 것은 다음과 같습니다: 존재하는 플레이어와.. 2024. 2. 27. 이전 1 2 3 4 5 6 다음