UnrealEngine

·UnrealEngine
2025년 1월 10일에 시작 후 16일까지 평일 기준으로 5일 동안 진행하게 된 콘솔 텍스트 RPG 프로젝트입니다.만족스럽게 기능 기획, 개발, 발표까지 진행했습니다. https://github.com/SONSAZANG/CMD_EMOJI_RPG GitHub - SONSAZANG/CMD_EMOJI_RPG: Team17_TEXT_RPGTeam17_TEXT_RPG. Contribute to SONSAZANG/CMD_EMOJI_RPG development by creating an account on GitHub.github.comhttps://youtu.be/7thPWNazdxoKPT 회고 모음손은수Keep팀원들이 책임감 있게 기능 개발에 임함.기획 변동에 유연하게 대응한 점과 협업에 문제없었던 점에 만족...
·UnrealEngine/C++
1. 스택 기반 객체 생성int main() { Car myCar; myCar.StartCar(); return 0;}특징메모리 할당 위치:객체 myCar는 스택(stack)에 생성된다.main 함수가 종료되면 스택 메모리에서 자동으로 해제된다.수명:myCar는 생성된 함수(여기서는 main)의 스코프(scope) 내에서만 존재한다.스코프를 벗어나면 객체가 자동으로 소멸되므로 delete가 필요하지 않다.성능:스택 할당은 힙 할당보다 빠르며 오버헤드가 적다.안정성:메모리 누수가 발생하지 않으며, 개발자가 별도로 메모리를 해제할 필요가 없어 안전하다.2. 힙 기반 객체 생성int main() { Car* myCar = new Car(); myCar->StartCar(); d..
·UnrealEngine/C++
컴포지션(Composition)컴포지션은 객체를 설계하고 구조화하는 방식 중 하나로, 다른 객체를 조합하여 더 복잡한 기능을 구현하는 것상속(Inheritance)과 대비되는 개념으로, “객체가 다른 객체를 소유하거나 포함”하는 관계를 통해 재사용성과 유연성을 높이는 방법이다.객체지향에서 컴포지션의 정의컴포지션은 객체가 다른 객체의 인스턴스를 자신의 멤버 변수로 포함하여 관계를 형성하는 방식이다.“Has-a”관계를 표현한다.ex) 자동차(Car)는 엔진(Engine)을 “소유”한다. → Car has an Engine.상속과 컴포지션의 차이상속(Inheritance)컴포지션(Composition)“Is-a”관계를 표현 (ex: 사과는 동물이다)“Has-a”관계를 표현 (ex: 자동차는 엔진을 가진다)부모..
·UnrealEngine/C++
순서와 상관이 있다면 → 순열순서와 상관이 없다면 → 조합1. 순열(Permutation)이란?순열은 순서를 고려하여 주어진 요소 중에서 몇 개를 선택해 나열하는 경우의 수를 말합니다.EX) [A, B , C] 중에서 두 개를 선택하는 순열 → AB, AC, BA, BC, CA, CB(총 6가지)2. 조합(Combination)이란?조합은 순서를 고려하지 않고 주어진 요소 중에서 몇 개를 선택하는 경우의 수를 말합니다.EX) [A, B, C] 중에서 두 개를 선택하는 조합 → AB, AC, BC (총 3가지)순열과 조합을 C++로 구현하기1.C++의 next_permutation을 이용한 순열 구현 헤더에서 제공하는 next_permutation을 사용하면 간단하게 순열을 구현할 수 있다.#include..
·UnrealEngine/C++
C++에서 함수에 데이터를 전달하는 방법은 크게 두 가지로 나뉜다.값에 의한 호출참조에 의한 호출오늘은 이 두 방법의 데이터 전달 방식과 함수 내에서 값이 처리되는 방식에서의 차이를 알아본다.1. 값에 의한 호출(Call by Value)값에 의한 호출은 원본 데이터를 복사해서 함수에 전달한다.함수 내부에서 값이 변경되어도 원본 데이터에는 영향을 받지 않는다.#include using namespace std;void changeValue(int x) { x = 42; // 복사된 값만 변경}int main() { int a = 10; changeValue(a); cout 값에 의한 호출은 원본 데이터를 안전하게 유지하지만, 복사가 발생하기 때문에 데이터 크기가 크거나 복사가 잦을 경우 성능에 영향을 줄..
·UnrealEngine/C++
인터페이스(Interface)란?인터페이스란 객체가 반드시 구현해야 할 행동을 지정하는데 활용하는 타입다영형의 구현, 의존성이 분리된 설계에 유용하게 활용언리얼 C++ 인터페이스의 특징인터페이스를 생성하면 두 개의 클래스가 생성됨U로 시작하는 타입 클래스I로 시작하는 인터페이스 클래스객체를 설계할 때 I 인터페이스 클래스를 사용U타입 클래스 정보는 런타임에서 인터페이스 구현 여부를 파악하는 용도실제로 U타입 클래스에서 작업할 일은 없다.인터페이스에 관련된 구성 및 구현은 I 인터페이스 클래스에서 진행C++인터페이스의 특징추상 타입으로만 선언할 수 있는 Java, C#과 달리 언리얼은 인터페이스에서도 구현이 가능언리얼 C++인터페이스를 사용하면, 클래스가 수행해야 할 의무를 명시적으로 지정할 수 있어 좋은..
·UnrealEngine/C++
메모리 구조와 정적할당과 동적할당스택(stack)지역변수, 매개변수, 함수가 저장되며 컴파일 시 크기가 결정함수가 함수를 호출하는 등에 따라 런타임시에도 크기가 변경힙(heap)힙은 동적 할당할 때 사용되며 런타임 시 크기가 결정데이터 영역BSS 영역과 Data영역으로 나누어지고 정적 할당에 관한 부분을 담당BSS 영역전역변수, static, const로 선언되어 있는 변수 중 0으로 초기화 또는 초기화가 어떠한 값으로도 되어 있지 않은 변수들이 이 메모리 영역에 할당Data 영역전역변수, static, const로 선언되어있는 변수 중 0이 아닌 값으로 초기화된 변수가 이 메모리 영역에 할당코드영역Code / Text 영역프로그램의 소스코드가 할당이어서 배열에서의 정적 할당과 동적 할당을 확인해보자C+..
·UnrealEngine
언리얼을 공부하게 되니 유니티를 다룰 때는 관심이 없었던 머티리얼에 대해서 조금 더 깊이 있게 학습하는 느낌입니다.오늘은 카툰셰이더 튜토리얼 영상이 있어서 한번 진행해 볼 생각입니다.https://youtu.be/qSUCiWrjSBU?si=kKO0TnDRhQuMvrR5해당 영상을 참고해서 진행했습니다.다음처럼 완성하게 되었는데 강의를 보면서 따라 진행하다 보니 생각보다 이해하지 못한 노드가 많이 있어서 하나씩 분석해 볼 생각입니다. 해당 영상만으로는 위 사진의 모습까지만 진행이 가능해서 이왕 시작한 김에 조금 더 학습해 보기로 했습니다. 우선 위 영상에 나오는 머티리얼 그래프를 분석해 보겠습니다.1. 기본 조명 계산Main Lighting 노드와 관련된 흐름이 조명 방향과 표면 방향을 비교해서 밝기를 계..
sonsazang
'UnrealEngine' 카테고리의 글 목록