본문 바로가기

언리얼 블루프린트23

언리얼엔진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 엘리베이터 ▣ 먼저 엘리베이터 블루프린트를 생성하고 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 InterpToMovement 이동 해결방법 ▣ Pos 변수 Vector 값을 이동해도 그 위치까지 이동하지 않는 이유는 기본 DefaultSceneRoot에 Transform에 Scale을 변경했기 때문입니다. 이걸 변경하고 컴파일 저장 후 ▣ Pos Widget를 확인하면 Scale과 동일하게 크기가 확대된 걸 확인할 수 있습니다. 그리고 확대된 Scale 때문에 이동위치도 영향을 받아 원하는 Pos까지 이동하지 않습니다. ▣ 이럴 경우 다시 DefaultSceneRoot에 Transform에 Scale을 기본 값 1로 변경합니다. 그리고 컴파일 저장 후 ▣ 레벨에서 확인해 보면 Pos 모양이 다시 원래 크기로 변경되고 원하는 위치까지 이동하는 걸 확인할 수 있습니다. 그리고 Mesh와 Box Collision을 변경해도 영향을 받지 않습니다. 2024. 1. 2.
언리얼엔진5 블루프린트 For 구구단 ▣ 양수 숫자에 * -1을 곱하게 되면 + 숫자, 양수로 반환됩니다. 2023. 12. 29.
언리얼엔진5 파티클 재생노드 https://docs.unrealengine.com/4.27/en-US/BlueprintAPI/Effects/Components/ParticleSystem/SpawnEmitteratLocation/ Spawn Emitter at Location Spawn Emitter at Location docs.unrealengine.com ▣ Spawn Emiiter at Location 노드는 해당 위치에 파티클을 재생하는 노드입니다. Break Hit Result노드에 Location를 연결하고 재생하고 싶은 파티클 효과를 Spawn Emiiter at Location노드에 Emitter Temple을 설정한 다음 컴파일 저장 후 ▣ Line Trace에 Hit 하면 파티클효과가 나오는 걸 확인할 수 있습니다. 2023. 12. 25.
언리얼엔진5 블루프린트 생성 및 소개 https://docs.unrealengine.com/5.0/ko/blueprints-visual-scripting-in-unreal-engine/ 블루프린트 비주얼 스크립팅 게임플레이용 비주얼 스크립팅 시스템 Blueprint, 블루프린트 사용 개요서입니다. docs.unrealengine.com ▣ 블루프린트 비주얼 스크립팅 : 언리얼 엔진의 스크립팅 시스템인 Blueprint(블루프린트)는 언리얼 에디터 안에서 노드 기반 인터페이스를 사용하여 게임플레이 요소를 만드는 개념을 토대로 한 비주얼 스크립팅 시스템입니다. 일반적인 스크립팅 언어와 마찬가지로, 엔진 내 객체 지향형(OO) 클래스 또는 오브젝트 정의하는 데 사용됩니다. ▣ 블루프린트는 두 가지 타입이 있습니다. - 레벨 블루프린트 : 각 레벨.. 2023. 12. 12.
언리얼엔진5 66장 [C++ 회전] ▣ .h 헤더파일에서 FRotator 선언, 어느 방향으로 회전할지를 지정하기 위한 변수 ▣ FRotator : F는 블루프린트를 의미, Rotator는 회전값 https://docs.unrealengine.com/4.26/en-US/API/Runtime/Core/Math/FRotator/ FRotator Implements a container for rotation information. All rotation values are stored in degrees. docs.unrealengine.com ▣ AddActorLocalRotation() : 로컬회전값을 기준으로 회전, 괄호 안에 회전할 FRotator값 * DeltaTime https://docs.unrealengine.com/4.26/e.. 2023. 6. 23.
언리얼엔진5 63장 [C++ 블루프린트 생성 및 매쉬생성] ▣ C++ 클래스에서 오른쪽마우스를 클릭 -> Create Blueprint 선택하여 블루프린트로 생성 ▣ 이름 및 저장 위치 지정 후 생성 ▣ 블루프린트에서 Viewport에 내가 원하는 Mesh를 드래그하여 지정 ▣ 원이 엑터의 중심축입니다. 중심축을 맞춰서 매쉬를 배치 후 디테일탭에 값 조절 후 컴파일 ▣ 완성한 블루프린트를 두 개를 놓고 각각 다른 값을 적용한 다음에 플레이 2023. 6. 22.
언리얼엔진5 41장 [SpawnActor] ▣ SpawnActor : 원하는 Actor(오브젝트)를 조절하기 위한 블록 Class에 아까 생성했던 BP 블루프린트 지정하고, Transform Location 위치 수정 컴파일 저장 후 ▣ 플레이버튼 클릭 후에 스페이스키를 누르면 우리가 설정한 Location에 블루프린트 생성 ▣ Add Impulse 노드 추가하여 연결 컴파일 저장 후 ▣ SpawnActor에 Return값을 Static Mesh Componet Value에 Target을 연결 그럼 생성한 BP(블루프린트)에 대한 값 반환하여 적용 ▣ 플레이버튼 클릭 후 스페이스키를 누르면 위로 올라가면서 생성 2023. 5. 24.
언리얼엔진5 32장 [Jump] ▣ 안녕하세요. 이번장에서는 블루프린트를 이용해 점프를 하는 함수를 공부해 보겠습니다. ▣ 먼저 저번장에서 사용했던 Player를 사용하겠습니다. ▣ Edit메뉴에 Project Settings에 ▣ Engine메뉴에 Input로 들어가서 Action Mpaaings를 추가합니다. 이름은 Jump로 지정하고 키는 스페이스 키로 지정합니다. ▣ 그리고 Player에 Event Graph로 들어가서 Jump를 검색하면 Input에 Action Events가 있습니다. 클릭해서 생성합니다. ▣ 그리고 또다시 jump라고 검색을 하면 함수 중에 Jump라는 함수가 있습니다. 클릭해서 생성합니다. ▣ 노드를 연결하고 컴파일 저장 ▣ 씬에서 플레이버튼을 클릭하고 스페이스키를 누르면 점프가 되는 걸 확인할 수 있습니.. 2023. 2. 21.
언리얼엔진5 24장 [Rotation] ▣ 안녕하세요. 이번장에서는 Rotation를 회전하는 간단한 코드를 공부해 보겠습니다. ▣ 먼저 Player, Monster라는 Actor 두 개를 생성합니다. ▣ Player Actor를 그릴때 두 개의 Cube를 그려주시는데 여기서 주의해야 할 건 두 번째 Cube의 위치가 첫 번째 Cube X좌표 쪽에 있어야 합니다. 그래야 Player Actor가 어떻게 방향을 바꾸는지 확인할 수 있습니다. ▣ 둘다 컴파일 저장 후 맵에 배치합니다. ▣ Player Actor에서 Event Graph에 노드를 완성합니다. Find Look at Rotation 블록은 Start, Targer에 Location을 지정해서 회전하는 블록함수입니다. 위에 있는 코드처럼 완성하고 씬에서 재생을 하면 Player Act.. 2023. 2. 9.
언리얼엔진5 22장 [구조체] ▣ 안녕하세요. 이번장에서는 구조체를 공부해 보겠습니다. 구조체는 여러 개의 데이터를 구조화시키는 데이터 구조입니다. ▣ 먼저 BluePrints에서 Structure를 생성합니다. ▣ 이름은 Playerinfo로 지정하고 Add Variable를 클릭해서 3개의 변수를 생성합니다. hp, ex, speed으로 이름을 지정하고 저장을 합니다. ▣ LevelBluePrint로 가서 player라는 변수를 생성합니다. 그리고 데이터타입을 아까 생성했던 Playerinfo 구조체를 검색해서 지정합니다. 컴파일 저장 후 ▣ player변수를 GET 합니다. 그리고 블록에 원모양에 오른쪽마우스를 클릭하면 Split Struect Pin이라는 메뉴가 나옵니다. 이걸 클릭하게 되면 ▣ 구조체의 자료가 하나하나 나오게.. 2023. 2. 7.
언리얼엔진5 21장 [상속, 접근연산자, 멤버변수, 멤버함수] ▣ 안녕하세요. 이번장에서는 상속, 접근연산자, 멤버변수, 멤버함수에 대해 공부해 보겠습니다. 단어들만 보면 어렵게 생각이 들 수 있지만 실습을 통해서 하나하나 만들어가면 이해하기 쉬울 겁니다. ▣ 먼저 Player이름으로 기본 Actor를 생성합니다. 그리고 다시 오른쪽마우스를 클릭해서 BluePrint Class를 클릭합니다. 그럼 밑에 ALL CLASSES 메뉴가 있는데 여기에 player라고 검색하면 아까 생성한 player Actor가 나옵니다. 이걸 클릭하고 Actor로 생성합니다. 이름은 Man으로 지정합니다. 그리고 더블클릭을 합니다. ▣ 위쪽 메뉴에 Class Settings을 클릭하면 Class Options에 Player로 설정되어 있는 걸 확인할 수 있습니다. Man Actor는 이.. 2023. 2. 3.
언리얼엔진5 15장 [함수] ▣ 안녕하세요. 이번장에서는 함수에 대해 공부해 보도록 하겠습니다. ▣ 먼저 Content Drawer메뉴에서 Content폴더에 오른쪽마우스를 클릭해서 Buleprints에 Buleprint Function Library를 클릭해서 함수를 생성하겠습니다. 그런 다음 함수의 이름을 Sum이라고 하고 더블클릭을 하여 함수 편집 메뉴에 들어갑니다. ▣ 그런 다음에 왼쪽에 보면 FUNCTIONS메뉴가 있는데 여기에서 함수 이름을 Sum으로 바꾸고 Details메뉴에서 Inputs 메뉴에 + 버튼을 클릭하여 2개의 매개변수를 생성하고 num1, num2 이름으로 integer 형식으로 지정합니다. 그리고 Outputs메뉴에서 한 개의 sum 반환형 변수를 생성합니다. 그리고 위에 코드처럼 num1 + num2를.. 2023. 1. 27.
언리얼엔진5 13장 [Enum] ▣ 안녕하세요. 이번장에서는 Enum 열거형을 공부해 보겠습니다. 열거형은 변하지 않는 고정된 값, 상수를 여러 개 만든다고 생각하시면 됩니다. ▣ Enum은 Content Drawer에서 Content에서 마우스 오른쪽 버튼을 클릭하고 BluePrints에서 Enumeration을 클릭하시면 됩니다. ▣ 그럼 이런 파일이 생성되는데 생성한 Enum의 이름을 PlayerState라고 지정합니다. 그리고 PlayerState를 더블클릭합니다. ▣ 그럼 위에 이미지처럼 창이 나오는데 여기서 Add Enumerator를 눌러서 Enum값을 추가합니다. Idle, Attack, Walk 이렇게 3개의 상수를 생성하고 저장을 합니다. 꼭 저장을 하셔야 합니다. ▣ LevelBluePrint에 들어가서 변수를 하나.. 2023. 1. 26.
언리얼엔진5 10장 [For Loop] ▣ 안녕하세요. 이번장에서는 For Loop 함수에 대해 공부해 보겠습니다. ▣ 블루프린트에서 For Loop이라고 검색을 하시면 For Loop, For Loop with Break라는 함수 두 개가 나옵니다. ▣ 먼저 For Loop을 공부해 보겠습니다. For Loop 함수를 보면 왼쪽에 First Index, Last Index 원이 있습니다. 이건 시작과 끝 숫자를 의미하는데 1~11이라고 하면 1,2,3,4,5,6,7,8,9,10,11까지 11번을 반복한다고 생각하시면 됩니다. Completed는 반복문이 끝나면 호출되는 노드입니다. 다음에 PrintText를 연결한 다음 컴파일 저장을 해보겠습니다. ▣ 씬에서 플레이를 클릭하면 1~11까지 출력되고 End가 출력되는 걸 확인할 수 있습니다. .. 2023. 1. 25.
언리얼엔진5 9장 [While 반복문] ▣ 안녕하세요. 이번장에서는 While 반복문에 대해 공부해 보도록 하겠습니다. ▣ 먼저 변수를 생성합니다. 기본값은 10으로 지정합니다. ▣ 노드바탕에서 오른쪽마우스를 클릭하고 whlie을 검색하면 Whlie Loop이라는 함수가 나옵니다. ▣ 클릭해서 이런 식으로 코딩합니다. Branch를 공부해서 아시겠지만 While Loop 함수블록에 왼쪽에 보면 원이 하나 있습니다 빨간색은 Bool 자료값 받아오는 원입니다. 다시 말해 While Loop은 조건이 True 경우 작동됩니다. Num으로 0보다 클 경우에 대한 조건을 연결합니다. 그럼 10이 0보다 크기 때문에 While 문이 작동합니다. 그리고 --를 이용하여 Loop Body를 연결해 줍니다. Loop Body는 While Loop에 조건이 T.. 2023. 1. 25.
언리얼엔진5 8장 [MAX, MIN, Clamp] ▣ 안녕하세요. 이번장에서는 MAX, MIN, Clamp 블루프린트 함수에 대해 공부해 보겠습니다. ▣ 먼저 num1, num2 변수를 생성합니다. 자료형은 integer로 지정하고 변수의 값인 Default Value를 num1 = 10, num2 = 20로지정합니다. ▣ 그리고 노드바탕에서 오른쪽마우스를 클릭하고 Max, Min을 각각 검색하면 이렇게 MAX와 MIN에 관련된 여러 함수들이 나옵니다. 여기서 (Integer)로 구분하는 Max, Min 함수를 가지고 옵니다. ▣ 그리고 Max, Min 블록 함수 왼쪽에 첫 번째 두 번째 원에 각각 num1, num2를 연결합니다. 그리고 Max, Min 블록 함수 오른쪽원에 있는 반환값을 FormatText를 이용하여 출력하는 코드를 작성합니다. Pr.. 2023. 1. 25.
언리얼엔진5 7장 [AND, OR, NOT, branch] ▣ 안녕하세요. 이번장에서는 블루프린트에 논리연산자를 공부해 보겠습니다. ▣ LevelBluePrint에서 두 개의 변수를 생성합니다. playerPower, playerLevel로 이름을 각각 지정하고 자료형을 Integer로 지정합니다. playerPower에 기본값을 100으로 ▣ playerLevel 기본값은 5로 지정합니다. ▣ 다음에 변수를 각각 Get 하여 바탕에 넣어주시고 바탕에서 오른쪽마우스 클릭하여 > 관계연사자를 가지고 옵니다. ▣ 그리고 노드바탕에서 오른쪽 마우스를 클릭하고 bool이라 검색하겠습니다. 그럼 Boolean에 관련된 논리연산자가 나오는 걸 확인할 수 있습니다. 이중에 먼저 AND를 사용해 보겠습니다. ▣ 위에 이미지처럼 AND 블록에 왼쪽 원에 두 개의 관계연산자에 빨.. 2023. 1. 20.
언리얼엔진5 6장 [Switch] ▣ 안녕하세요. 이번장에서는 Switch문을 공부해 보도록 하겠습니다. ▣ 레벨 블루프린트에서 integer 형으로 변수를 하나 생성합니다. 그리고 변수를 Get 한 다음에 변수에서 원을 드래그 하고 배경에서 마우스를 떼면 여러 가지 기능들 창이 나오는데 여기서 switch라고 검색을 하면 위에 이미지처럼 switch on int 있습니다. 일반적으로 노드바탕에서 오른쪽마우스를 클릭해서 검색해도 되지만 변수를 생성하고 연결하여 검색한 이유는 integer변수에 연결가능한 switch가 바로 나오기 때문에 위에서 처럼 코드를 진행했습니다. switch on int 이걸 클릭해 주세요. ▣ 그럼 위에 이미지처럼 Switch on int 블록이 생성됩니다. Add pin을 눌러 case 조건을 생성할 수 있습.. 2023. 1. 19.
언리얼엔진5 3장 [산술연산자, SET, ++] ▣ 안녕하세요. 이번장에서는 블루프린트에서 간단한 산술연산을 공부해 보겠습니다. ▣ 처음에 프로젝트를 열어 BluePrint를 열어주시고 integer 변수를 생성합니다. 그리고 컴파일버튼을 클릭한 다음 변수의 기본값을 100으로 지정합니다. CTRL키를 누르고 변수를 드래그 한 다음에 변수의 GET을 ALT키를 눌러 변수를 드래그 한 다음에 변수의 SET을 가져옵니다. 그리고 (-) 산술연산자를 검색해서 가져온 다음에 왼쪽 밑에 값을 1로 지정하여 변수 값에 -1을 출력하는 노드를 작성해 보겠습니다. ▣ 여기서 한가지 팁을 드리면 노드를 연결할 때 조금 지저분하게 연결되는데 정렬하고 싶은 노드를 블록을 지정한 다음에 Q키를 누르면 간단하게 정렬이 됩니다. 그리고 컴파일 버튼을 클릭하고 CTRL키를 누른.. 2023. 1. 14.