본문 바로가기

언리얼엔진 c++9

언리얼엔진5 c++ CalculateDirection ▣ 애니메이션 블루프린트에 노드처럼 c++ 코드에서도 먼저 Angle 변수선언을 하고 CalculateDirection() 함수를 호출하여 필요한 데이터를 매개변수에 넣고 저장합니다.  ▣ 컴파일 후 애니메이션블루프린트에 스테이트머신에서 블랜드스페이스에 변수에 값을 연결하고 플레이를 하면 방향에 맞게 블랜드스페이스 애니메이션이 실행됩니다. 2024. 5. 5.
언리얼엔진5 c++ CharacterMovement ▣ 먼저 h헤더파일에 CharacterMovementComponent에 데이터를 저장할 변수를 선언하고 GetCharacterMovement()를 대입합니다.   ▣ cpp파일에서 필요한 헤더를 추가하고  ▣ CharacterMovement변수를 접근하여 변경하고 싶은 Speed를 대입해서 변경하면 됩니다. 2024. 5. 4.
언리얼엔진5 c++ BehaviorTree(BTService 생성 및 사용) ▣ Add Service에서 Set  Default Focus를 추가하여 BehaviorTree에서 Ai에 Focus를 변경할 수 있습니다.  ▣ 서비스(Services)는 컴포짓(Composite) 또는 태스크(Task) 노드에 어태치 되며, 분기가 실행 중인 동안 정의된 빈도로 실행됩니다. 보통 블랙보드의 확인과 업데이트에 사용됩니다. 이 노드는 다른 비헤이비어 트리 시스템에서 전통적인 병렬(Parallel) 노드를 대체합니다. ▣ Default Focus는 AI 컨트롤러(AI Controller)의 포커스를 설정하여 블루프린트 및 코드의 액터에 액세스 하는 바로가기를 생성합니다. AI 컨트롤러의 포커스를 액터로 설정하면 블랙보드 키에 액세스 하지 않고 AI 컨트롤러에서 직접 액세스 할 수 있습니다... 2024. 4. 30.
언리얼엔진5 c++ SpawnEmitterAtLocation ▣ 먼저 파티클시스템을 저장할 변수를 선언합니다.   ▣ 그리고 cpp파일에서 #include "Kismet/GameplayStatics.h"와 #include "Particles/ParticleSystem.h" 헤더를 추가합니다.  ▣ "Kismet/GameplayStatics.h"   : 블루프린트와 C++ 모두에서 호출할 수 있는 유용한 게임플레이 유틸리티 함수가 포함된 정적 클래스 ▣ #include "Particles/ParticleSystem.h"  : ParticleSystem은 원하는 수의 ParticleEmitters를 포함하는 클래스 https://dev.epicgames.com/documentation/en-us/unreal-engine/API/Runtime/Engine/Kismet/.. 2024. 4. 26.
언리얼엔진5 c++ LineTrace ▣ LineTrace를 쏘는 함수에 코드를 완성합니다. ▣ 필요한 변수를 정의합니다. 각각 LineTrace() 함수안에 들어갈 매개변수입니다. ▣ DrawDebugLine() 함수는 LineTrace 라인을 그려주기 위함입니다.  https://docs.unrealengine.com/4.27/en-US/API/Runtime/Engine/Engine/UWorld/LineTraceSingleByChannel/ UWorld::LineTraceSingleByChannelTrace a ray against the world using a specific channel and return the first blocking hitdocs.unrealengine.com https://docs.unrealengine... 2024. 4. 26.
언리얼엔진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++ HUD Widget ▣ 먼저 Widget Blueprint를 생성하고 CrossHair 이미지를 넣어 컴파일 저장합니다. ▣ Build.cs로 코드로 가서 UMG 키워드와 PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" }); 주석을 해제합니다. 이 두가지는 UMG에 대한 코드를 사용하기 위함입니다. ▣ .h 헤더파일로 가서 두 개의 유저위젯 변수를 추가합니다. ▣ TSubclassOf는 UClass 유형의 안전성을 보장해 주는 템플릿 클래스입니다. 예를 들어 디자이너가 대미지 유형을 지정하도록 해주는 프로젝타일 클래스를 제작 중이라 가정합시다. 그냥 UPROPERTY 유형의 UClass를 만든 다음 디자이너가 항상 UDamageType 파.. 2024. 4. 22.
언리얼엔진5 c++ AnimInstance Montage 구르기 ▣ 먼저 가져온 애니메이션에 디테일에서 EnableRootMotion을 체크합니다. 그럼 애니메이션으로 이동되는 경로가 고정됩니다.   ▣ 그리고 애니메이션을 몽타주로 생성하고 애니메이션 블루프린트에 연결까지 진행합니다.  ▣ InputMappingContext에 Rolling에 대한 InputAction을 추가합니다.   ▣ 플레이어 C++에. h 헤더에서 애니메이션 몽타주에 대한 변수, 입력변수, 함수를 선언합니다.     ▣. cpp에서 InputAction에 대한 경로 지정 및 바인딩 코드를 완성하고 Rolling함수 안에서 AnimInstance를 가져와 Montage_Play() 함수를 이용해서 몽타주를 플레이하는 코드를 완성합니다.   https://docs.unrealengine.com/4.. 2024. 4. 18.
언리얼엔진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.