본문 바로가기

전체 글59

24.12.12 언리얼 unreal engine 의 기초 지식과 용어 간단한 기초 용어와 기초지식을 알아 보겠습니다. 1. 언리얼 엔진의 기본 구성 요소1.1 프로젝트 (Project)언리얼 엔진에서 작업하는 전체 게임이나 애플리케이션입니다.프로젝트에는 맵(Maps), 에셋(Assets), 코드(Code) 등이 포함됩니다.1.2 맵 (Map)게임 세계를 정의한 파일입니다.게임 레벨(Level)이라고도 부르며, 게임 플레이가 이루어지는 공간입니다.예: 스테이지, 방, 필드 등.1.3 월드 (World)맵을 포함한 전체 게임 환경을 의미합니다.월드는 맵에 배치된 오브젝트, 캐릭터, 조명 등을 포함합니다.1.4 액터 (Actor)언리얼 엔진에서 모든 게임 오브젝트를 표현하는 기본 단위입니다.맵에 배치할 수 있는 모든 것이 액터입니다.예: 캐릭터, 카메라, 조명, 문, 나무 등... 2024. 12. 12.
24.12.11 언리얼 언리얼엔진의 기초 게임 탭을 선택하여 템플릿을 선택합니다.(기본공부는 삼인칭으로 시작하겠습니다.)프로젝트 위치를 설정해주는데 이때 프로젝트 경로중 한글이 포함되면 컴파일 오류가 발생할 수 있으니 주의 바랍니다.프로젝트 디폴트는 c++로 설정해 주겠습니다. 메뉴바: 프로젝트 설정과 실행을 포함한 주요 기능을 제공합니다.뷰포트: 게임이 실행되는 공간으로 레벨이라 불립니다.(유니티가 익숙하신 분들은 씬뷰라고 생각하시면 됩니다)아웃라이너: 레벨에 포함된 액터(Actor) 목록을 표시합니다.디테일 패널: 선택한 액터의 세부 설정을 표시합니다.툴바에서 창 → 콘텐츠 브라우저 → 콘텐츠 브라우저 1을 선택합니다.(콘텐츠 브라우저는 컨트롤 + 스페이스바 버튼으로도 불러오기 가능합니다)콘텐츠 브라우저는 게임 개발에 필요한 모델, 텍스처,.. 2024. 12. 11.
24.12.10 언리얼(람다함수 사용법) 람다함수란?C++의 람다 함수는 간단한 익명 함수를 정의할 수 있는 방법으로, 코드의 간결성을 높이고 일회성 기능을 구현할 때 유용합니다.쉽게 말해서 즉석에서 간단하게 만드는 함수를 말합니다. 따로 이름을 붙이지 않고 쓸수 있게 해주는 간단한 도구입니다. 기본구조 [capture](parameters) -> return_type {     // 함수 본체 }capture: 외부 변수를 캡처하여 함수 내부에서 사용parameters: 함수의 매개변수 목록return_type: 반환 타입 (생략 가능, 컴파일러가 추론)function body: 람다 함수의 실행 코드기본예제#include  using namespace std; int main() {     auto doubleNumber = [](int x.. 2024. 12. 10.
24.12.09 언리얼(STL의 자료구조과 알고리즘) 어제 배웠던 STL과 알고리즘에 대해 자세히 알아보자Vector벡터는 동적배열로, 사용자가 원하는 만큼 크기를 조절합니다. 인덱스를 통해 빠른 접근이 가능합니다.단점: 연속된 메모리 구조로 인해 중간요소를 삽입하거나 삭제할때 시간이 걸립니다. ex)std::vector numbers;numbers.push_back(5);numbers.push_back(10);numbers.push_back(15);for (size_t i = 0; i     std::cout } // 출력: 5 ,10,15numbers.pop_back();//출력 : 5, 10 list리스트는 이중연결리스트(연결된 기차라고 생각하면 편함 )로 ,중간 삽입과 삭제가 빠릅니다. 연속된 메모리가 없기에 메모리 할당도 자유롭습니다.단점: 인덱스.. 2024. 12. 9.
24.12.08 언리얼( STL의 기본 개념과 사용법) STL이란?STL은 템플릿 기반의 데이터 구조와 알고리즘을 제공하는 라이브러리입니다.STL을 사용하면, 프로그래머는 데이터를 저장하고 처리하는 데 필요한 표준화된 도구를 활용할 수 있습니다.장점:코드 재사용성 향상.안전하고 빠른 데이터 구조 및 알고리즘 제공.타입에 독립적인 템플릿 기반 설계.종류?컨테이너(Containers)(1) 순차 컨테이너 (Sequence Containers)컨테이너설명예시vector동적 배열vector v;deque양방향에서 빠른 삽입/삭제가 가능한 배열deque d;list이중 연결 리스트list l;array크기가 고정된 정적 배열array arr;(2) 연관 컨테이너 (Associative Containers)컨테이너설명예시set중복되지 않는 정렬된 데이터 집합set s;.. 2024. 12. 8.
24.12.07 언리얼(스마트 포인터에 대하여) 기본 포인터 vs 스마트 포인터?기본 포인터 기본 포인터는 동적으로 할당된 메모리를 직접 관리해야 합니다. 만약 개발자가 delete를 호출하지 않으면 메모리 누수가 발생합니다. 이 메모리 누수를 해결하기 위해 나온 것이 스마트 포인터 입니다. 스마트 포인터는 자동으로 메모리 해제를 처리합니다.스마트 포인터 객체가 더 이상 필요 없게 되면(스코프를 벗어나면) 내부적으로 메모리를 자동으로 해제합니다.#include  #include   // 스마트 포인터를 사용하기 위해 필요 using namespace std; int main() {     unique_ptr ptr = make_unique(42);  // 스마트 포인터 생성     cout     // 자동으로 메모리 해제 (delete 필요 없음) .. 2024. 12. 7.