본문 바로가기

전체 글648

언리얼엔진5 액터 병합하기 ▣ 병합할 액터를 선택한 다음에 Tools에서 Merge Actors를 클릭합니다.   ▣ 병합 방식을 선택하고 Merge Actors를 클릭합니다.  ▣ 병합 종류병합(Merge)간소화(Simplify)배치(Batch)근사계산(Approximate) https://docs.unrealengine.com/4.27/en-US/Basics/Actors/Merging/ Actor MergingAn overview of the Actor Merge tool that is used to combine multiple Static Meshes into a single mesh inside UE4.docs.unrealengine.com  ▣ 저장 후 해당 액터를 레벨에 가져오면 병합된 걸 확인할 수 있습니다. 2024. 6. 18.
언리얼엔진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++ FOnMontageEnded(Montage종료시 호출 델리게이트) ▣ Montage에 관한 헤더를 추가합니다.  ▣ 몽타주 재생 종료에 대한 델리게이트를 인스턴스 선언하고 몽타주가 끝나면 호출되는 함수를 바인딩합니다. 종료 시 호출할 함수 선언 시 (UAnimMontage* Montage, bool isEnded) 매개변수로 선언해야 합니다. 그리고 몽타주가 끝나면 델리게이트에 연동된 함수를 호출하는 코드까지 작성합니다. 그럼 몽타주 재생 후 종료 시 해당 함수를 호출합니다.   ▣ FOnMontageEnded 코드로 들어가면 이렇게 델리게이트 형식으로 선언되어 있는 걸 확인할 수 있습니다. 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 블루프린트 단축키 ▣ 블루프린트 블록 지정 후  C Key  : 주석 ▣ 변수 클릭 + Alt 누른 상태로 드래그 : 변수 SET노드 생성 ▣ 변수 클릭 + Ctrl 누른 상태로 드래그 : 변수 GET노드 생성 ▣ 정렬할 노드 드래그 후 Q Key : 수평정렬 ▣ 정렬할 노드 드래그 후 Shift + A , Shift+D : 수직정렬 ▣ B Key 누른 상태에서 마우스 왼쪽 클릭 : Branch노드 생성 ▣ S Key 누른 상태에서 마우스 왼쪽 클릭 : Sequence 노드 생성 ▣ F Key 누른 상태에서 마우스 왼쪽 클릭 : For Each Loop 노드 생성 ▣ N Key 누른 상태에서 마우스 왼쪽 클릭 : Do N 노드 생성 2024. 6. 12.
언리얼엔진5 c++ Interface https://dev.epicgames.com/documentation/ko-kr/unreal-engine/interfaces-in-unreal-engine?application_version=5.3 https://docs.unrealengine.com/4.27/ko/ProgrammingAndScripting/GameplayArchitecture/Interfaces/ 인터페이스인터페이스 생성 및 구현 관련 레퍼런스입니다.docs.unrealengine.com     ▣ UINTERFACE 클래스는 실제 인터페이스가 아닙니다. 언리얼 엔진의 리플렉션 시스템에 대한 비저빌리티를 위해서만 존재하는 빈 클래스입니다. 다른 클래스에서 상속되는 실제 인터페이스는 클래스 이름이 동일해야 하지만 첫 'U'가 'I'로 .. 2024. 6. 11.
언리얼엔진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 Project Packaging ▣ 먼저 프로젝트를 패키징 하기 전에 패키징 세팅을 진행합니다. https://dev.epicgames.com/documentation/ko-kr/unreal-engine/project-section-of-the-unreal-engine-project-settings?application_version=5.3 언리얼 엔진 프로젝트 세팅의 프로젝트 섹션 | 언리얼 엔진 5.4 문서 | Epic Developer Community언리얼 엔진 프로젝트 세팅의 프로젝트 섹션에 대한 레퍼런스입니다.dev.epicgames.com  ▣ Packaging메뉴에서 Build Configuration을 Shipping으로 세팅합니다.  ▣ 빌드 환경설정(Build Configuration) 프로젝트가 패키징 된 빌드 환.. 2024. 5. 30.
언리얼엔진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 Stealth Animation System ▣ 먼저 Stealth 공격, 죽음 애니메이션을 Import 합니다.   ▣ 플레이어 블루프린트에서 SkeletalMesh를 추가하고 Animation Mode를 Asset으로 지정한 다음에 기본 애니메이션으로 지정합니다.   ▣ 그리고 위치와 회전값을 변경하고 Hidden in Game을 체크하여 안 보이게 합니다.     ▣ 그리고 키를 누르면 BoxTrance를 쏘고 해당 Actor가 Zombie라면 해당 Actor를 숨기고 플레이어 애니메이션 재생하면서 SkeletalMesh를 다시 보이게 하고 애니메이션을 재생하는 노드를 완성합니다.   ▣ 그리고 해당 좀비 Actor를 배치하고  ▣ 가까이 가서 키를 누르면 애니메이션이 재생되는 걸 확인할 수 있습니다. 2024. 5. 28.
언리얼엔진5 c++ UFunction ▣ 헤더파일에서 UFUNCTION 키워드로 함수를 선언합니다.  ▣ BlueprintCallable 이 함수는 블루프린트 또는 레벨 블루프린트 그래프에서 실행할 수 있습니다. https://dev.epicgames.com/documentation/ko-kr/unreal-engine/ufunctions-in-unreal-engine?application_version=5.3 언리얼 엔진의 U Functions | 언리얼 엔진 5.4 문서 | Epic Developer Community게임플레이 클래스용 함수 생성 및 구현에 대한 개요입니다.dev.epicgames.com  ▣ cpp파일에서 함수를 정의합니다.    ▣ 컴파일 후 해당 블루프린트에서 함수를 검색하면 Category에 해당 함수가 있습니다. .. 2024. 5. 28.
언리얼엔진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 Camera Frustum Culling System ▣ Show메뉴에서 설정 및 카메라 컴포넌트에서 Draw Frustum Allowed체크 그리고 콘솔창에서 S ShowFlag.CameraFrustums 1을 입력해서 카메라에 절두체 범위를 표시합니다. https://dev.epicgames.com/documentation/en-us/unreal-engine/viewport-show-flags-in-unreal-engine?application_version=5.3 Viewport Show Flags In Unreal Engine | Unreal Engine 5.4 Documentation | Epic Developer CommunityDescriptions of all of the available Show Flags for the viewports... 2024. 5. 23.
언리얼엔진5 c++ FlashLight ▣ 먼저 플레이어 헤더파일에서 USpotLightComponent를 저장할 변수, FlashLight 소리 변수, FlashLight 함수를 선언합니다.  https://docs.unrealengine.com/4.27/en-US/API/Runtime/Engine/Components/USpotLightComponent/ USpotLightComponentA spot light component emits a directional cone shaped light (Eg a Torch).docs.unrealengine.com      ▣ cpp파일로 와서 필요한 헤더파일을 추가하고 SportLightComponent를 생성하고 상속 및 위치 회전을 하는 코드 작성 후 함수에서 키를 누르면 함수가 호출되고 Fl.. 2024. 5. 22.
언리얼엔진5 Morning Night System ▣ 먼저 Plusings에서 Sun Position Calculator를 체크해서 설치합니다.  https://dev.epicgames.com/documentation/en-us/unreal-engine/geographically-accurate-sun-positioning-tool-in-unreal-engine?application_version=5.3 Geographically Accurate Sun Positioning Tool In Unreal Engine | Unreal Engine 5.4 Documentation | Epic Developer CommunityA tool giving you fine control over the Sun's geographic location based on l.. 2024. 5. 22.
언리얼엔진5 PCG System https://dev.epicgames.com/community/learning/tutorials/0lGO/unreal-engine-pcg-procedural-content-generation-in-unreal-5-2 PCG | Procedural Content Generation in Unreal 5.2 | Community tutorialPCG | Procedural Content Generation in Unreal 5.2dev.epicgames.com    https://dev.epicgames.com/documentation/ko-kr/unreal-engine/procedural-content-generation--framework-in-unreal-engine?application_versio.. 2024. 5. 21.
언리얼엔진5 Retarget Mixamo Animation ▣ Mixamo에서 원하는 캐릭터를 다운로드합니다. https://www.mixamo.com/#/ Mixamo www.mixamo.com  ▣ FBX를 Import 하고 Texture를 Material로 생성하고 각각 Mesh Material에 맞게 연결합니다.     ▣ IK Rig을 생성하고 Source라는 이름으로 플레이어 스켈레톤을 가져와서 Root를 먼저 지정하고 Add New Chain으로 head, spine, leftarm, rightarm, leftleg, rightleg을 만들고 각각 스켈레톤에 맞게 지정합니다.   ▣ Retarget IK Rig을 생성하고 아까와 동일하게 Chain을 생성하고 스켈레톤에 맞게 지정합니다.  ▣ IK Retargeter를 생성하고   ▣ Source와 .. 2024. 5. 20.
언리얼엔진5 Swimming System ▣ 먼저 플러그인에서 Water 플러그인이 있는지 체크합니다.   ▣ Water Body Ocean를 레벨에 추가하고 크기를 조절합니다.  https://dev.epicgames.com/documentation/en-us/unreal-engine/water-system-in-unreal-engine?application_version=5.3 Water System In Unreal Engine | Unreal Engine 5.4 Documentation | Epic Developer CommunityA collection of features, tools, and information about using the water rendering and meshing system in Unreal Engine.. 2024. 5. 20.
언리얼엔진5 Inventory Drag Drop ▣ Widget Blueprint로 Inventory Item을 관리할 Widget을 생성하고 아이템 이미지를 지정하고 컴파일 합니다.  ▣ 이번에는 Widget Blueprint으로 Item을 Drag 할 때 생성되는 이미지 Widget Blueprint를 생성하고 Image를 추가합니다.   ▣ 그리고 Widget Blueprint으로 Inventory 아이템을 옮길 아이템 창 Widget Blueprint를 생성합니다.   ▣ Widget Blueprint으로 Inventory를 관리하는 Widget을 생성하고 아까 생성한 Item과 Item 이동 창 Widget Blueprint를 추가하고 배치합니다.   ▣ Item Widget에서 On Mouse Button Down 함수를 추가하고 함수안에 .. 2024. 5. 19.