본문 바로가기

분류 전체보기635

언리얼엔진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.
언리얼엔진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 Inventory Save, Load, Widget ▣ 먼저 Blueprint SaveGame을 생성합니다.  https://docs.unrealengine.com/4.26/ko/InteractiveExperiences/SaveGame/Blueprints/ 블루프린트로 게임 저장하기블루프린트를 사용하여 게임을 저장하고 로드하는 방법입니다.docs.unrealengine.com  ▣ SaveData에 저장할 배열형식애 구조체를 선택합니다.   ▣ 그리고 Blueprint에서 GameInstance를 생성합니다.   ▣ GameInstance에 들어와서 FUNTIONS를 추가하는데 Init으로 추가합니다.   ▣ Init함수는 초기화하는 함수로 처음시작하는 함수입니다.처음에 Does Save Game Exist함수를 추가합니다.Does Save Game Ex.. 2024. 5. 15.
언리얼엔진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 c++ CameraShake ▣ 먼저 CameraShake 블루프린트를 생성합니다.  ▣ CameraShake 블루프린트에 디테일탭에서 CameraShake에 관한 값을 변경합니다.     - Oscillation Duration : 흔들림 지속 시간     - Oscillation Blend in/out time : 흔들림 시작 시간과 끝 시간의 블렌딩 시간     - Amplitude : 진폭, 흔들림 세기     - Frequency : Duration동안 카메라가 얼마나 자주 흔들릴지     - Initial Offset : 초기 시작 오프셋     - Waveform : Sine wave(통제된 웨이브), Perlin Noise(원하는 정도에 따라 완전히 랜덤화 )  https://dev.epicgames.com/docum.. 2024. 5. 12.
언리얼엔진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 Mirror System ▣ 먼저 Material을 생성합니다.   ▣ 키보드 3번 키를 누른 상태에서 마우스 클릭을 하면 Constant 노드를 추가할 수 있습니다. 색을 흰색으로 바꾸고 Base Color에 연결합니다.  ▣ 키보드 1번 키를 누른 상태에서 마우스를 클릭하여 노드 3개를 생성하고 value값을 위에 이미지처럼 각각 지정한 다음에 Metallic, Specular, Roughness를 각각 연결합니다.   ▣ 디테일탭에서 Forward Shading에 High Quality Reflections, Planar Reflections 두 개를 체크하고 저장합니다.   ▣ 거울효과를 적용하고 싶은 Actor에 Material을 적용하고    ▣ Planar Reflection을 검색하여 거울효과 앞에 드래그합니다. .. 2024. 5. 7.
언리얼엔진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.
언리얼엔진5 Inventory Widget ▣ 먼저 Inventory Widget을 생성합니다.   ▣ 생성한 Inventory Widget으로 가서 Canvas Panel를 추가하고 Canvas Panel에 Blackground Blur와 Image, Border를 각각 배치합니다.   ▣ Background Blur에 디테일탭에 Blur Stregth 효과를 5.0으로 지정합니다.   ▣ 그리고 Widget Animation을 두 개 생성하고 Render Opacity로 투명도를 조절하는 애니메이션을 완성합니다. InventoryEffect는 Inventory가 처음 나올 때 점점 나타나고InventoryEffectOut은 Inventory가 점점 사라지는 효과입니다.    ▣ Graph로 가서 Event Contruct에는 Inventory.. 2024. 5. 6.
언리얼엔진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.