본문 바로가기

[ CODING STUDY ]/》언리얼엔진5 공부69

언리얼엔진5 69장 [C++ 컴포넌트 추가] ▣ VisibleAnywhere : 모든 창에는 보이지만 포인터변수는 편집할 수 없음 https://docs.unrealengine.com/4.27/ko/ProgrammingAndScripting/GameplayArchitecture/Properties/ 프로퍼티 게임플레이 클래스에 대한 프로퍼티 생성 및 구현 관련 레퍼런스입니다. docs.unrealengine.com ▣ API 참고 ▣ Root 컴포넌트를 추가하기 위해서는 USceneComponent를 선언을. h에서 진행 ▣ Mesh에 Skeleta가 있는 Mesh를 가져오기 위해서는 USkeletalMeshComponent를 선언. h에 진행 ▣ CreateDefaultSubobject(TEXT("")) 를 이용해서 USceneComponent .. 2023. 10. 5.
언리얼엔진5 68장 [C++ CreateExport 버그, C++BluePrint CreateExport 버그 해결방법] ▣ c++ 소스파일을 blueprint로 생성 후 언리얼 재시작 시 c++ 소스 불러오기 버그나 CreateExport가 되지 않는 경우 ▣ Unreal 프로젝트에 들어가서 폴더 내의 모든 파생 폴더 및 파일을 삭제합니다 (Config, Content & Source 폴더,. uproject 파일은 제외) ▣ 그 이후에 런처 또는. uproject에서 Unreal를 다시 실행합니다. 그럼 문제가 해결됩니다. 2023. 9. 14.
언리얼엔진5 67장 [피벗(중심축)변경] ▣ 피벗(중심축)을 변경할 엑터를 클릭하고 마우스휠을 클릭한 상태에서 ALT키를 누르고 마우스를 움직이면 피벗(중심축)이 이동됩니다. 내가 원하는 위치로 이동한 다음에 ▣ 다른 엑터를 클릭하지 말고 오른쪽 마우스를 클릭하고 Pivot메뉴에서 Set as Pivot Offset을 클릭해서 저장합니다. 그럼 엑터에 피벗(중심축)이 변경되어 저장됩니다. 만약 Set 하지 않고 다른 엑터를 클릭하면 다시 초기화되니 Pivot를 Set 하고 다른 엑터를 클릭하세요. 2023. 8. 8.
언리얼엔진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 65장 [C++ 함수] ▣ .h 헤더파일에서 void Moveing() const로 함수 선언 ▣ 함수 선언 방법 : void(반환형) Moveing(함수이름) (매개변수) const 정적설정, 순으로 선언 ▣ 함수 끝에 const를 붙이면 함수 안에서 값 수정 불가 ▣ ATestActor : A는 엑터를 의미 ▣ ::는 멤버함수로 정의하기 위함 ▣ BeginPlay() 함수 안에 Moveing(); 함수 호출 ▣ 컴파일 저장 후 확인 2023. 6. 23.
언리얼엔진5 64장 [C++ 출력로그] ▣ UE_LOG(로그유형, 로그 수준, 출력해야 할 텍스트) : 로그출력 함수 ▣ UE_LOG(LogTemp, Display, TEXT("%f"), 변수); : 이런 식으로 변수도 출력가능 ▣ 컴파일 저장 후 Content Drawer옆에 Output Log 클릭하면 확인 ▣ Display, Error, Warning : 같이 각각 경고 문구 색이 다르다. https://docs.unrealengine.com/5.0/en-US/API/Plugins/NeuralNetworkInference/UE_LOG/1/ UE_LOG docs.unrealengine.com ▣ FString : 스트링 클래스 ▣ TEXT("Name : %s"), *name) : *name는 포인터로 접근한다고 생각하시고 붙이시면 됩니다... 2023. 6. 23.
언리얼엔진5 63장 [C++ 블루프린트 생성 및 매쉬생성] ▣ C++ 클래스에서 오른쪽마우스를 클릭 -> Create Blueprint 선택하여 블루프린트로 생성 ▣ 이름 및 저장 위치 지정 후 생성 ▣ 블루프린트에서 Viewport에 내가 원하는 Mesh를 드래그하여 지정 ▣ 원이 엑터의 중심축입니다. 중심축을 맞춰서 매쉬를 배치 후 디테일탭에 값 조절 후 컴파일 ▣ 완성한 블루프린트를 두 개를 놓고 각각 다른 값을 적용한 다음에 플레이 2023. 6. 22.
언리얼엔진5 62장 [C++ 오브젝트좌우이동] ▣ GetSafeNormal() : 벡터의 값을 정규화, 예로 복잡한 벡터값은 필요 없기 때문에 우리 방향을 지정하기 위해 값을 1, -1, 0 이런 식으로 정규화 ▣ 이동거리보다 크면 이동한 위치가 시작위치로 변경돼야 하기 때문에 정규화를 곱하여 StartLocation에 더해서 대입 ▣ BoxVeloctiy = -BoxVeloctiy : 변수에 -변수를 대입하면 -변수로 되고 -변수에 -변수를 대입하면 +가 된다. https://docs.unrealengine.com/4.26/en-US/API/Runtime/Core/Math/FVector/GetSafeNormal/ FVector::GetSafeNormal Gets a normalized copy of the vector, checking it is .. 2023. 6. 22.
언리얼엔진5 61장 [C++ 벡터사이 거리 Distance, VisibleAnywhere] ▣ UPROPERTY(VisibleAnywhere) : 편집할 수 없고 에디터에서 데이터를 보기만 하게 하는 기능 ▣ DistanceNumber = FVector::Distance(StartLocation, CurrentLocation); : 벡터 1과 벡터 2 사이의 거리를 반환하는 함수 ▣ FVector::Dist(StartLocation, CurrentLocation) : 벡터 1과 벡터 2 사이의 거리를 반환하는 함수 위에 함수와 동일 ▣ :: 콜론 두 개는 범위지정 연산자, 클래스에 접근 ▣ 컴파일 저장 후 확인 2023. 6. 21.
언리얼엔진5 60장 [C++ DetaTime, 플랫폼지정] ▣ UPROPERTY(EditAnywhere, Category = "Player Moving") : Category 플랫폼 이름 추가 ▣ FVector에 값을 + 더하기 하여 위치 변경가능 ▣ DetaTime : 마지막 프레임 업데이트 이후 경과된 시간, 다시 말해서 각 렌더링 프레임 사이의 시간 ▣ DetaTime을 곱해야지 컴퓨터 사양별로 다르게 보이는 게 아닌 프레임을 맞춰서 작동 ▣ 컴파일 저장 후 플랫폼 추가 및 이동 확인 https://www.parallelcube.com/2017/10/25/why-do-we-need-to-use-delta-time/ Why do we need to use Delta Time? – Parallelcube You’ve probably seen an old gam.. 2023. 6. 20.
언리얼엔진5 59장 [C++ GetActorLocation, SetActorLocation] ▣ GetActorLocation() : 엑터의 위치를 반환해 주는 함수, 블루프린트와 동일 ▣ SetActorLocation() : 엑터의 위치를 지정하는 함수, 블루프린트와 동일 ▣ 컴파일 후 시작버튼을 클릭하면 현재위치에서 Z +1씩 이동 2023. 6. 16.
언리얼엔진5 58장 [C++ Tick함수] ▣ Tick : 액터나 컴포넌트에 일정 간격, 한 프레임에 한 번 코드 또는 블루프린트 스크립트를 실행시키는 것 ▣ MyVector.Z +=1을 하여 프레임마다 Z값이 1씩 증가하고 SetActorLocation(MyVector)으로 넣어주어 Z값이 계속 바뀌는 코드 https://docs.unrealengine.com/4.27/ko/ProgrammingAndScripting/ProgrammingWithCPP/UnrealArchitecture/Actors/Ticking/ 액터 틱 매 프레임 액터를 업데이트하는 데 사용되는 Tick, 틱 시스템에 대한 설명입니다. docs.unrealengine.com ▣ 컴파일 후 시작버튼을 클릭하면 MyVector.Z에 값이 1씩 증가하면서 매프레임마다 큐브에 Z위치가.. 2023. 6. 16.
언리얼엔진5 57장 [C++ 엑터위치함수] ▣ SetActorLocation() : 엑터의 위치는 변경하는 함수, 매개변수 안에 FVector에 값을 넣어야 한다. ▣ +Add 버튼을 클릭하고 컴포넌트 추가 및 모양 추가도 가능 ▣ 컴파일 후 시작버튼을 클릭하면 지정한 Location으로 위치 이동 ▣ 매개변수에 FVector 변수로도 지정 가능 ▣ 컴파일 후 시작하면 MyVector 위치로 이동 2023. 6. 16.
언리얼엔진5 56장 [C++ Vector] ▣ FVector : 자료형이름 앞에 F가 붙으면 블루프린트를 의미, 블루프린트 Vector자료형, 블루프린트 Vector데이터타입 ▣ FVector 초기화 방법 : Fvector 변수이름 = FVector(x, y, z) ▣ ATestActor : 자료형이름에 A가 앞에 붙으면 엑터를 의미 ▣ FVector : FVector에 x, y, z 값 각각 접근하여 대입 가능 ▣ 레벨에 배치 후 컴파일 ▣ 컴파일 완료 후 C++엑터를 확인하면 Vector와 변수 생성 확인 ▣ 플레이를 클릭하고 확인하면 num 변수에 대입 확인 2023. 6. 16.
언리얼엔진5 55장 [C++ 뷰포트에 텍스트 출력] ▣ #include "Engine/GameEngine.h" 추가 ▣ GEngine->AddOnScreenDebugMessage(key, time, color, TEXT()) ▣ TestActor.h에 있는 변수 수정 : MyInt = 100; https://docs.unrealengine.com/5.2/en-US/API/Runtime/Engine/Engine/UEngine/AddOnScreenDebugMessage/1/ UEngine::AddOnScreenDebugMessage Add a [FString](API\Runtime\Core\Containers\FString) to the On-screen debug message system. docs.unrealengine.com ▣ Hello 출력 및 M.. 2023. 6. 15.
언리얼엔진5 54장 [C++ Class, uproperty] ▣ 생성한 C++ Class를 확인하고 더블클릭하여 실행 ▣ .h 헤더파일을 클릭하여 UPROPERTY(EditAnywhere) : 에디터에서 접근가능하게 하는 코드 int32 MyInt = 10; float MyFloat = 3.14; bool MyBool = true; 변수 정의 ▣ CTRL + S 키를 눌러 저장 ▣ 언리얼 에디터에서 컴파일 및 리로드 버튼 클릭 ▣ 이런 식으로 Live coding succeeded 나오면 완료 ▣ 만약 실패할 경우 3가지 확인 ▣ 비주얼스튜디오 저장 경로에 한글이 있는지 확인 ▣ 프로젝트 위치가 한글이 있는지 확인 ▣ 코드에 오타가 있는지 확인 2023. 6. 14.
언리얼엔진5 53장 [언리얼5 Visual Studio 연동] https://docs.unrealengine.com/5.1/ko/setting-up-visual-studio-development-environment-for-cplusplus-projects-in-unreal-engine/ Visual Studio 구성하기 언리얼 엔진에서 Visual Studio 사용을 위해 구성하기 위한 팁, 트릭, 기술을 소개합니다. docs.unrealengine.com ▣ 먼저 위에 나온 API처럼 Visual Studio 설치 ▣ 언리얼엔진 에디터에서 Tools메뉴 -> New C++ Class 선택 ▣ 기본 Actor로 선택 -> Next 버튼 클릭 ▣ Name은 영어로 대문자로 시작해서 지정 ▣ 경로는 영어로 지정, 한글이 있을 경우 버그 발생 가능성 있음 ▣ Creat.. 2023. 6. 10.
언리얼엔진5 52장 [씬 뷰 미리보기 카메라 사이즈 조절] ▣ 3인칭으로 카메라를 넣을 경우 위에 이미지처럼 컴퓨터 해상도에 따라서 레벨씬에 미리 보기 카메라가 너무 크게 보이는 경우가 있다. 이럴 때 미리 보기 카메라 사이즈를 줄이는 방법이 있다. ▣ Camera Preview Size를 조절하면 위에 이미지처럼 미리 보기 뷰 카메라 사이즈를 줄일 수 있다. 2023. 6. 10.
언리얼엔진5 51장 [Visual Studio 설치 및 설정] ▣ 설치 시 설치 세부 정보에서 Unreal Engine 설치관리자 체크 https://docs.unrealengine.com/5.1/ko/setting-up-visual-studio-development-environment-for-cplusplus-projects-in-unreal-engine/ Visual Studio 구성하기 언리얼 엔진에서 Visual Studio 사용을 위해 구성하기 위한 팁, 트릭, 기술을 소개합니다. docs.unrealengine.com ▣ 위에 API에서 나온 것처럼 설치, 언리얼엔진 설치 위치가 다 영어로 되어 있는지 확인 ▣ 설치완료 후 에디터에서 Ediltor Preferences에서 Source Code 설정 Visual Studio 구성하기 언리얼 엔진에서 Vi.. 2023. 6. 9.
언리얼엔진5 50장 [Level Open, Get Level] ▣ Open Level : Level Name에 레벨 열기 ▣ Delay : Duration 초만큼 딜레이 ▣ Get Current Level Name : 현재 있는 레벨 이름을 반환 2023. 6. 9.
언리얼엔진5 49장 [Self, Target] ▣ 블루프린트로 생성 시 BP_ 이름을 붙여서 생성 ▣ Self : 자기 자신에 대한 인스턴스 레퍼런스(주소)를 의미 ▣ Get Display Name : 인스턴스에 이름을 가져오고 반환한다. ▣ SpawnActor BP_Cube : 어떤 Class 객체를 생성할지, Location 위치를 어디로 할지 지정 ▣ Return Value : 생성된 오브젝트 주소 반환 ▣ Target 입력핀에는 객체를 연결 ▣ 시작버튼을 클릭하고 스페이스키를 누르면 큐브가 생성되면서 생성된 큐브 오브젝트 이름 출력 2023. 6. 9.