본문 바로가기

언리얼128

언리얼엔진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 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 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.
언리얼엔진5 48장 [Pure Function] ▣ 함수를 생성한 상태하고 클릭한상태에서 디테일에 Pure를 활성화를 하게 되면 Pure Function 된다. ▣ Pure Function는 실행핀이 없다. ▣ Pure Function 함수에서 inputs, output을 추가하게 되면 Get변수와 동일한 노드가 된다. 2023. 6. 8.
언리얼엔진5 47장 [Collapse to Function] ▣ 블루프린트에서 여러 블록을 클릭한 다음에 오른쪽 마우스를 누르면 Collapse to Function라는 메뉴가 있습니다. ▣ 클릭하면 이렇게 여러블록이 하나의 함수로 묶이게 된다. ▣ 만든 함수를 더블 클릭하면 이렇게 함수에 내부를 편집할 수 있습니다. 2023. 6. 8.
언리얼엔진5 46장 [Collision] ▣ 씬메뉴에서 Wireframe, Collision 등 여러 모드로 화면을 설정해서 볼 수 있다. ▣ Mesh에 들어가서 보면 Collision을 설정하는 메뉴가 있고 여러 형태로 자동으로 지정해 줄 수 있다. 2023. 6. 7.
언리얼엔진5 45장 [Actor에 자식추가] ▣ 언리얼 마켓플레이스에서 Pack6을 다운로드합니다. 매달 무료로 제공하는 에셋 체크 ▣ 다운로드하고 프로젝트에 import 합니다. 그리고 프로젝트에 Content에 Meshes 폴더를 찾습니다. ▣ SM_Rack01를 레벨에 드래그하여 불러온 후 SM_Rack02를 레벨에 있는 SM_Rack01 컴포넌트에 StaticMesh에 드래그합니다. 그럼 SM_Rack02가 SM_Rack01 엑터에 자식으로 추가된다. ▣ 그리고 SM_Rock01 엑터에서 Physic를 활성화하여 하늘에서 떨어뜨리게 되면 SM_Rock01과 SM_Rock02가 같이 붙어서 떨어지게 된다. 2023. 6. 6.
언리얼엔진5 44장 [Geometry brush] ▣ Place Actor Panel버튼 == Window에서 Place Actors 버튼을 누를 때와 동일 ▣ Geometry를 클릭해서 Geometry brush 도형 생성 https://docs.unrealengine.com/4.27/ko/Basics/Actors/Brushes/ 지오메트리 브러시 액터 언리얼 에디터에서 브러시를 사용하여 레벨 지오메트리를 만드는 방법 안내서입니다. docs.unrealengine.com ▣ 브러시를 세팅할 때에는 브러시세팅에서 x, y, z 값으로 변경 ▣ 복제할 Box Bruch를 클릭하고 CTRL + D 버튼을 클릭하면 복제가 된다. 복제한 Box에 X, Y, Z 값을 수정하고 Brush Type에서 Subtractive를 설정하면 해당 모양으로 빼기 효과 ▣ 묶.. 2023. 6. 2.
언리얼엔진5 43장 [Get Control Rotation, Get Forward Vector] ▣ Get Control Rotation : Target에 회전값을 반환하는 블록 ▣ 스페이스키를 누르면 BP_Shere가 플레이어가 바라보는 방향 회전하게 하기 위함 https://docs.unrealengine.com/4.26/en-US/BlueprintAPI/Pawn/GetControlRotation/ Get Control Rotation Get Control Rotation docs.unrealengine.com ▣ Get Forward Vector : Target에 정면 방향을 반환해 주는 블록 ▣ 방향으로 이동하기 위해 곱하기 진행, Add Impulse에 넣으면 그 해당 정면 방향으로 힘을 가한다. https://docs.unrealengine.com/4.26/en-US/BlueprintAP.. 2023. 5. 26.
언리얼엔진5 42장 [Get Player Pawn] ▣ 플레이버튼을 클릭하고 F8키를 클릭하면 일시정지가 됩니다. 이 상태에서 왼쪽마우스 버튼을 클릭하고 이동하면 Pawn이라는 오브젝트가 생성되어 있는 걸 확인할 수 있습니다. 이건 기본 플레이어를 의미합니다. ▣ 블루프린트에서 Get Player Pawn블록이 있는 이건 Player Pawn에 레퍼런스를 의미하고 Player Index는 몇 번째 플레이어인지를 나타냅니다. 멀티플레이 게임이 아닌 이상 싱글플레이 같은 경우 Player 0입니다. Player Index 또한 설정할 수 있습니다. ▣ Get Actor Location : 엑터의 위치값을 가져오는 블록입니다. ▣ Get 블록을 통해서 우리가 원하는 플레이어 Pawn에 데이터를 가져올 수 있습니다. 2023. 5. 24.
언리얼엔진5 41장 [SpawnActor] ▣ SpawnActor : 원하는 Actor(오브젝트)를 조절하기 위한 블록 Class에 아까 생성했던 BP 블루프린트 지정하고, Transform Location 위치 수정 컴파일 저장 후 ▣ 플레이버튼 클릭 후에 스페이스키를 누르면 우리가 설정한 Location에 블루프린트 생성 ▣ Add Impulse 노드 추가하여 연결 컴파일 저장 후 ▣ SpawnActor에 Return값을 Static Mesh Componet Value에 Target을 연결 그럼 생성한 BP(블루프린트)에 대한 값 반환하여 적용 ▣ 플레이버튼 클릭 후 스페이스키를 누르면 위로 올라가면서 생성 2023. 5. 24.
언리얼엔진5 36장 [뷰포트, 퀄리티설정] ▣ 오른쪽마우스 클릭 후 w키, s키, d키, a키를 누르면 뷰 시점을 자유롭게 조절하고 이동할 수 있습니다. ▣ 왼쪽마우스 클릭 후 w키, s키, d키, a키를 눌러 뷰 시점을 조절할 수 있지만 오른쪽마우스 클릭할 때와 다르게 위아래로 시점을 바꿀 수 없고 왼쪽마우스를 클릭한 상태에서 앞뒤 드래그를 하면 앞 뒤로 이동합니다. ▣ 오른쪽마우스나 왼쪽마우스를 클릭한 상태에서 q키나 e키를 누르면 위 아래로 이동합니다. ▣ Settings에서 Engine Scalablility Settings에 들어가면 언리얼엔진 뷰에 대한 퀄리티를 설정할 수 있습니다. 본인 컴퓨터 CPU, GPU 사양에 따라 설정해주시면 됩니다. 2023. 5. 17.
C++ 16 [객체 반환] ▣ this : 자신에 객체 주소를 의미 ▣ *this : 포인터와 동일하게 자신에 객체 주소에 있는 값 ▣ return *this;으로 객체를 반환하게 되면 그 객체의 멤버변수들에 모든 값들이 반환된다. 2023. 4. 13.
C++ 13 [함수오버로딩, 디폴트 매개변수] ▣ 함수 오버로딩 : c++에서 이름이 같은 함수를 여러 개 만들 수 있다. ▣ 함수 오버로딩 : 함수이름을 중복해서 만들 수 있지만 매개변수 타입이랑 변수의 개수를 다르게 해야 한다. ▣ 디폴트매개변수 : 매개변수의 기본값을 설정 ▣ output(int num1, int num2 = 20) : 함수 호출 시 output(10, 100);처럼 호출하게 되면 함수를 호출해서 전달한 100이 매개변수의 기본값이 된다. output(10); 함수를 호출할 때 매개변수 값을 전달하지 않으면 디폴트매개변수 값으로 지정된다. ▣ 디폴트 매개 변수를 지정할 때 매개변수의 끝부분에 지정해야 오류를 방지할 수 있다. ▣ 함수를 호출할 때 매개변수를 전달해주지 않으면 오류가 발생한다. 2023. 4. 6.
C++ 09 [call by value, call by reference] ▣ 변수나 객체를 매개변수로 전달하면 값에 의한 호출이 된다. ▣ 객체를 매개변수로 값을 전달하면 객체가 복사되어서 전달하기 때문에 전달한 함수에서 객체의 값을 바꾸어도 원본에는 지장이 없다. ▣ 매개변수 객체의 생성자는 호출되지 않고 소멸자만 컴파일에 의해 호출되고 소멸된다. ▣ 객체의 주소로 매개변수를 전달하면 주소의 의한 호출이 된다. ▣ 객체의 주소를 전달했기 때문에 호출된 함수에서 값을 변경하면 원본객체에 영향을 준다. ▣ 객체의 주소로 매개변수를 전달해도 원본 객체의 생성자와 소멸자만 호출된다. 2023. 3. 28.
C++ 08 [string] ▣ string 클래스를 사용을 사용하기 위해서는 #include 헤더가 있어야 한다. ▣ string str(문자열) : 괄호를 통해 초기화 가능 ▣ string *p = new string(문자열) : 메모리 할당으로 string 객체 사용 가능 ▣ string에 속해 있는 getline() 함수 ▣ getline(cin, str, '\n') : getline(cin, 입력받을 객체, 구분문자(구분문자까지 입력)) ▣ str2 = str1 : 대입연산자를 통해서 문자열을 치환(대입)해서 바꿀 수 있다. ▣ 대표적인 string 함수들 객체.append(연결 문자) : 문자열 연결 함수 반환형 객체.length() : 문자열 길이 함수 stoi(객체) : 숫자로 된 문자열을 숫자로 변환 함수 객체.cl.. 2023. 3. 28.
C++ 07 [this 포인터] ▣ this 포인터 : 객체 자신에 주소 포인터 ▣ this->num 코드는 test객체의 포인터(클래스 Test의 int num = 0)를 접근하여 대입 ▣ 클래스의 멤버함수와 생성자함수에서만 this 사용이 가능하다. ▣ 멤버변수와 멤버함수의 매개변수의 이름이 동일할 때 this로 객체 자신을 접근하여 사용한다. ▣ 멤버 함수에서 자신의 주소를 리턴해야 할 때 사용한다. ▣ this는 정적 멤버함수(static 함수)에서는 this를 사용할 수 없다. ▣ 멤버함수에서 객체의 주소를 this로 접근이 가능하다. ▣ 위에 코드를 풀어서 작성하면 이렇게 test.testfunc(&test, 10);처럼 주소를 매개변수로 전달하고 컴파일러가 void testfunc(Test* this, int num) 코드.. 2023. 3. 24.