언리얼

언리얼과 친해지기: 용어

eclipse2 2026. 2. 24. 21:00

2026.02.24

2일 차에는 게임 개발에 참여하는 다양한 직종과 언리얼 엔진에 나오는 용어에 대해 먼저 배우기 시작했다.

먼저 하나의 게임을 제작하는 과정에서 게임 기획자, 아티스트(애니메이터, 콘셉트 아티스트), 프로그래머(클라이언트, 서버), 사운드, PD 등이 있다.

다음으로 엔진에 나오는 용어 같은 경우

  1. 엑터는 현실 세계에서 물체라고 부르는 것들에 대한 Unreal에서의 호칭이다.
  2. 컴포넌트는 엑터의 기능을 뜻한다. 컴포넌트의 기능은 위치, 존재, 비젼, 촬영 등이 있다. 따라서, 엑터는 최소 한 가지의 컴포넌트(기능)가 존재한다.
  3. 뷰포트 - 3D 월드를 직접 볼 수 있는 영역
  4. 아웃라이너 - 현재 씬에 배치된 모든 오브젝트를 나타낸다
  5. 디테일 - 선택한 오브젝트의 속성을 보여주고 편집할 수 있다.
  6. 콘텐츠 브라우저 - 프로젝트에 사용되는 모든 에셋을 관리한다.
  7. 월드는 레벨이 존재하는 최상위 컨테이너로 모든 엑터와 구성요소를 포함한다. 게임 로직의 관리 물리 시뮬레이션, 이벤트 처리, 그리고 게임 루프를 제어한다.
  8. 폰은 엑터의 일종으로, 플레이어나 AI가 조종할 수 있는 오브젝트이며 다른 장애물이나 장식품과는 다르다.
  9. 레벨은 게임 또는 프로젝트의 하나의 씬을 의미한다. 월드의 구성 요소를 담고 있으며, 게임 환경을 설계하고, 액터와 이벤트를 배치하는 데 사용된다. (. umap) (Type==World)
  10. 좌표계란 x, y, z 축이 존재하는 물체의 위치를 뜻한다. (로컬과 월드 좌표계가 따로 있다.)

언리얼 만져보며 따로 만들어본 하늘섬

 


C/C++ 복습

 

1. 자료형

 

A. 정수형

  1. char —> 1 byte
  2. short —> 2 byte
  3. int —> 4 byte
  4. long —> 4 byte
  5. long long —> 8 byte   

B. 실수형

  1. float —> 4 byte
  2. double—> 8 byte

** 1byte == 8 bit

** 2^10 = 1024 ⇒ 1 KB, 1 KB *1024 ⇒ 1 MB (2^20 byte) ⇒ 1 GB ⇒ 1 TB

양수만 표현하고 싶을 때는 unsigned, 이 경우 일반 signed 보다 더 큰 양수를 저장할 수 있음


 

2. C++ 에서의 입출력

 

#include <iostream>

int main()
{
	int luckyNumber = 7;
	std::cout << "Guess the lucky number: " << std::endl;
	int userGuess = 0;
	while (1) {
		std::cin >> userGuess;
		if (userGuess == luckyNumber) {
			std::cout << "Congratulations! You guessed the lucky number!" 
			<< std::endl;
			break;
		} else {
			std::cout << "Wrong guess. Try again!" << std::endl;
		}
	}

	return 0;
}

 

if 문, for, while, switch 등 c 언어와 같다..


3. 진법

10진법에서 2진법 변환

C++로 구현 연습

#include <iostream>

//This is a program that converts decimal numbers to binary numbers. It uses the division by 2 method to convert the decimal number to binary. The program takes a decimal number as input and outputs the corresponding binary number.

int main()
{
	int decimalNumber = 0;
	std::cout << "Enter a decimal number: ";
	std::cin >> decimalNumber;
	int remainder = 0;
	int divisionResult = decimalNumber;
	int binaryNumber = 0;
	while(divisionResult > 0)
	{
		decimalNumber = divisionResult;
		remainder = decimalNumber % 2;
		divisionResult = decimalNumber / 2;
		binaryNumber = binaryNumber * 10 + remainder;

	}
	std::cout << "The binary number is: " << binaryNumber << std::endl;
	return 0;
}
#include <iostream>

//This is a program that converts decimal numbers to binary numbers or binary numbers to decimal. It uses the division by 2 method to convert the decimal number to binary. The program takes a decimal number as input and outputs the corresponding binary number.

int decimalToBinary(int decimal)
{
	int binary = 0;
	int remainder, i = 1, step = 1;
	while (decimal != 0)
	{
		remainder = decimal % 2;
		decimal /= 2;
		binary += remainder * i;
		i *= 10;
	}
	return binary;
}
int binaryToDecimal(int binary)
{
	int decimal = 0;
	int remainder, i = 0, step = 1;
	while (binary != 0)
	{
		remainder = binary % 10;
		binary /= 10;
		decimal += remainder * pow(2, i);
		i++;
	}
	return decimal;
}


int main()
{
	std::cout << "Welcome to the Decimal to Binary Converter!" << std::endl;
	std::cout << "Please choose an option: " << std::endl;
	std::cout << "1. Convert Decimal to Binary" << std::endl;
	std::cout << "2. Convert Binary to Decimal" << std::endl;
	int choice = 0;
	std::cin >> choice;
	if(choice == 1)
	{
		std::cout << "You chose to convert Decimal to Binary." << std::endl;
		int decimal;
		std::cout << "Please enter a decimal number: ";
		std::cin >> decimal;
		int binary = decimalToBinary(decimal);
		std::cout << "The binary representation of " << decimal << " is: " << binary << std::endl;
	}
	else if(choice == 2)
	{
		std::cout << "You chose to convert Binary to Decimal." << std::endl;
		int binary;
		std::cout << "Please enter a binary number: ";
		std::cin >> binary;
		int decimal = binaryToDecimal(binary);
		std::cout << "The decimal representation of " << binary << " is: " << decimal << std::endl;
	}
	else
	{
		std::cout << "Invalid choice. Please choose either 1 or 2." << std::endl;
		return 0;
	}
	return 0;
}

양쪽 방향 모두 구현 연습


4. 오버플로우

 

자료형이 표현 가능한 수를 넘어서는 경우.


5. ASCII (American Standard Code for Information Interchange)

문자 형태의 데이터와 숫자 형태의 데이터 사이의 인코딩 규약 중 하나.

 


정수 피연산자와 실수 피연산자

int 자료형끼리의 나눗셈은 그 결과도 int. float 자료형끼리의 나눗셈은 그 결과도 float임에 주의. 또, C언어에서는 float 자료형의 나머지 연산은 불가능하다.

전치/후치 의미

전치는 지금 당장, 후치는 다음 줄에 연산됨.

ex) ++Num이라면 지금 당장 Num이 1 증가. Num++이라면 다음 줄에 Num이 1 증가.

Short-Circuit

&&는 곱셈. 앞이 0이면 뒤는 뭐가 와도 그 결과가 false이고, 뒤쪽은 평가하지도 않고 0이다. || 연산도 덧셈이니, 앞이 1이면 뒤는 무슨 수가 와도 그 결과가 true다.