본문 바로가기

언리얼(Unreal)46

24.12.30 언리얼 cpp 자원관리(메모리관리) 메모리 관리는 cpp의 가장 큰 장점이라 할 수 있습니다. 다른 객체지향 언어들에 비해 수동적인 메모리관리로 효율적인 메모리 관리가 가능합니다. 하지만 큰 힘에는 큰 책임이 따르는 법입니다. 메모리를 효율적으로 관리하기 위해서는 메모리누수에 대해 경계해야합니다. 먼저 일반적인 그동안 했던 변수들의 어떤 메모리에 저장되는지 살펴보겠습니다.일반 변수들은 대부분 스택 메모리 공간을 차지 합니다. 스택 메모리의 특징은 변수의 생존 주기가 끝나면 변수 선언시 할당되었던 메모리고 저절로 회수가 된다는 것 입니다. 따라서 사용자가 따로 메모리를 관리 해줄 필요가 없습니다. 변수의 생존주기는 선언된 라인을 기준으로 가장 가까운 마침 괄호”}” 입니다.#include using namespace std;void func.. 2024. 12. 30.
24.12.26 두수의 차 구하기 및 배열의 합과 평균 그리고 정렬함수 만들기 오늘 알게된 새로운(?) cpp를 공부하면서 느낀 점은 가장 기본적인 것부터 공부하면서 알게되었습니다. 그동안 using namespace std;를 써서네임스페이스를 활용하여왔는데 매번 std::를 표기해주는 버릇을 들이는 편이 좋다는 것이었습니다. std 네임스페이스를 가져올때 이름선언이 충돌할 수 도 있기때문입니다. 지금이야 간단한 연습용 코드들만 쓰기때문에 문제가 없어왔지만실무로 들어가게 되면 보다 구조가 복잡하고 양이 많은 상용수준의 코드에서는 충돌경우가 많기때문에 std::를 표현하는것이 더 훌륭한 코드연습입니다. 또한 pow함수에 대해 잊고있었는데 cmath가 제공하는 함수로 제곱수가 가능합니다.pow(5,4) = 5의 4제곱입니다. 또한 round는 반올림 함수라는것을 잊지맙시다. 항상 기.. 2024. 12. 26.
24.12.24 언리얼 cpp 객체지향에 대하여 c와 cpp의 확연한 다른점인 객체지향에 대해 알아보겠습니다. 첫번째로 상속에 대해 먼저 알아보겠습니다. 자동차를 만든다고 가정해보겠습니다.자동차마다 엔진이나 서스팬션 같은 세부 스펙은 다 다르지만 모든 자동차가 가지는 속성도 있습니다.예를 들어 속도나 색상이나 문이라던지 다양합니다.하지만 이를 class로 표현 할 때 매번 모든 차량의 공통적인 특성을 반복해서 구현하기보다는하나를 구현해놓고 사용할 수 있으면 관리도 편리하고 코드도 짧아집니다.  Vehicle -> Bycle/Truck Class 구현 #include #include using namespace std;class Vehicle {protected: string color; int speed;public: Vehicle(s.. 2024. 12. 24.
24.12.23 언리얼 cpp 기초 복습 getter 와 setter에 대한 내용입니다.#include #include //max 함수 사용#include using namespace std;class Student{public: //동작 정의(이를 멤버함수라고 합니다) double getAvg(); int getMaxScore(); void setMathScore(int math) { this->math = math; } void setEngScore(int eng) { this->eng = eng; } void setKorScore(int kor) { this->kor = kor; } int getMathScore() { ret.. 2024. 12. 23.
24.12.20 언리얼(콜리전) 오늘은 어제 배운 내용 + 애니메이션 적용 및 콜리전 오버랩으로 작용되는 다양한 물체이동을 섞어서 간단한 스키 게임을 만들어보았습니다. 블루 프린트를 액터로 하나 만들어주겠습니다 그 후 컴포넌트 창에서 box collision을 추가해줍니다. 이렇게 박스 선 모양이 만들어졌는데요.이때 콜리전이란 무엇이냐?콜리전(Collision)**은 언리얼 엔진에서 오브젝트 간의 물리적 충돌이나 상호작용을 처리하는 시스템입니다. 콜리전은 액터가 서로 부딪히거나, 겹치거나, 상호작용할 때 이를 감지하고 원하는 동작을 수행하도록 도와줍니다. 이 콜리전은 단순한 모양으로 만들 수 있지만 매쉬의 겉표면도 맞춰서 폴리전을 적용하실 수 있습니다.언리얼엔진이 똑똑하게 폴리전을 매쉬모양이 맞춰서 제공도 해주고 있으니 유용하게 쓰시길.. 2024. 12. 20.
24.12.19 언리얼(레벨 디자인 및 캐릭터 무브먼트 제작) 오늘은 간단한 에셋세트 두개로 만들어보겠습니다. 마우스 우클릭 > 블루프린트 클래스 > 캐릭터 를 선택하여 캐릭터 블루프린트 클래스를 생성해줍니다.  블루프린트 클래스를 더블클릭해서 확인해보면 캡슐만 있는 것을 볼 수 있습니다.캐릭터 블루프린트에는 기본적으로 캐릭터메시가 추가되어 있습니다. 메시를 클릭하고 오른쪽 디테일 패널에서 SKM_Bot 메시를 선택해줍니다. 그 후 메시를 하나 선택해줍니다 전 다운로드받은 에셋을 이용하겠습니다. 처음에는 캐릭터 메시가 약간 공중에 떠있고 방향이 돌아가있습니다. 메시를 월드 방향(하늘색 화살표)으로 회전, 위치는 중앙으로 이동시킨 뒤 캡슐의 크기도 알맞게 조절해봅시다. 스프링 암 컴포넌트와 카메라 컴포넌트를 추가해줍니다.이 때, 카메라 컴포넌트는 스프링암 컴포넌트에 .. 2024. 12. 19.