언리얼엔진/구현·실습

언리얼엔진 게임개발 2일차

write76465 2026. 2. 24. 21:34

오늘은 언리얼엔진교육의 2일차입니다.

저는 사전교육을 미리 받았기때문에(비록 3일정도지만...)

조금은 알고있는내용이지만 새롭게 배운다는 생각으로 강의에 임했습니다!

 

강의 내용 : 언리얼엔진 블루프린트

 

게임 개발분야에도 일반 개발자를 제외하고도 수많은 직업들이 존재합니다.

그런 많은 사람들이 힘을 합쳐서 하나의 게임이 탄생한다고 볼수있습니다!

 

그리고 언리얼엔진의 기초

1) 뷰포트

  • 화면의 중앙에 위치하며, 3D 월드를 직접 볼 수 있는 영역입니다.
  • 카메라를 조작하여 월드를 탐색하거나 오브젝트를 배치합니다
  • 마우스 우클릭과 WASD 키를 사용하여 뷰를 이동할 수 있어요!

2)아웃라이너

 

  • 화면 오른쪽 상단에 위치하며, 현재 씬에 배치된 모든 오브젝트를 계층 구조로 보여줍니다.
  • 각 오브젝트를 선택하여 속성을 수정하거나 삭제할 수 있습니다.
  • 위의 스샷처럼 보통은 오브젝트의 성격에 따라 조명, 스태틱 메시, VFX와 같은 폴더들로 나누고 오브젝트를 계층적으로 관리하는게 관례이긴 합니다!

3)디테일

 

  • 아웃라이너 아래에 위치하며, 선택한 오브젝트의 속성을 보여주고 편집할 수 있습니다.
  • 예를 들어, 위치(Position), 회전(Rotation), 크기(Scale)를 수정하거나 특정 속성을 설정할 수 있죠!

4) 컨텐츠 브라우저

  • 화면 하단에 위치하며, 프로젝트에 사용되는 모든 에셋(모델, 텍스처, 머티리얼 등)을 관리합니다.
  • 에셋을 끌어서 뷰포트에 배치할 수 있어요! 드래그 앤 드롭!
  • 단축키 Ctrl + Space

5) 메뉴바

  • 화면 상단에 위치하는 메뉴들이 있는 바입니다.
  • 파일 저장, 프로젝트 설정, 빌드 등 다양한 작업을 수행할 수 있는 메뉴를 제공해요!
  • 이 메뉴 바에 대해선 차근차근 알아가시면 됩니다!

그 외에 자세한 뷰포트 내에서 움직임, 오브젝트 선택, 뷰포트 세부용어 정리

 

1) 월드

레벨이 존재하는 최상위 컨테이너로 모든 액터와 구성 요소를 포함합니다.

 

2)레벨

내가 보고있는 하나의 씬

작업할수있는 공간

 

3)액터

상호작용가능한 모든 단위,물체

 

4)폰

플레이어나 AI가 조종할수있는 오브젝트

 

마지막 실습으로 여러 액터를 맘대로 바꾸어보고 머티리얼의 강도 금속 설정도 바꾸어보는 과제

크기 vs 양 누가 이길까
나만의 작은 마을

 

만들어져있는 액터들이 많아서 활용가능, 작은 액터로 나만의 건물 짓는건 아직 힘듬

다음 과제로는 상호작용가능한 건물 짓기(건물 직접 만들기)

 

 

강의목록 2 : c++ 기초

 

1) 진법

2진법과 10진법 변환 반대 변환도 함께 공부

 

 

2) 자료형 변수명 = 값; 중요

 

Ex)

 

// Main.c

#include <stdio.h>

int main(void)
{
// 자료형 변수명 = 값;
int Num = 2147483647;

// 선언과 동시에 초기화
double PI;            

// 선언

printf("Num = %d\n", Num);

PI = 3.141592;
printf("PI = %lf\n", PI);

return 0;
}

 

 

 

3) signed 과 unsigned

부호 없는 Vs. 부호 있는. unsigned를 자료형 앞에 붙히면 음수는 표현 불가능. 대신 양수 부분이 2배 늘어남. 서식 지정자로는 %u를 쓰면 됩니다. 모든 자료형은 사실 앞에 signed 키워드가 생략

 

4) 오버플로우

 

자료형이 담을수있는 용량을 넘는 경우

 

5) ASCII

컴퓨터는 char자료형의변수에 문자 그대로 저장할수없기때문에 조치가 필요함

그것이 인코딩 형태 A에서 형태 B로 전환

그 반대는 디코딩이라고 부름

 

6) scanf() 함 중요

 

Ex)

 

// Main.c

#define _CRT_SECURE_NO_WARNINGS -> 위험하지만 무시할게

#include <stdio.h>

int main(void)
{
int Num;

scanf("%d", &Num);

// "Num에다가(&) %d 형식으로 입력받아라."

printf("%d", Num); 

return 0;
}

 

7) 연산자

 

산술연산

사칙연산 관련 연산

+, -, x, %(나머지), /(몫) 

 

논리연산

논리 곱 연산, 논리 합 연산

&&, ||

 

관계연산

<, >, ==, !=

 

8) 형변환 연산자, 삼항 연산자 size of(1)

 

형변환 연산자

 

Ex)

 

// Main.c


#include <stdio.h>

int main(void)
{
int Num;

printf("%.2f\n", 5 / 2);   ->  5 와 2는 정수이므로 그냥 무시하고 0.00이 나옴
printf("%.2f\n", 5 / (float)2);  -> 2를 실수형으로 형변환 했으므로 2.50 정상값나옴 (5만 바꿔도 값은 같음)

Num = (int)5.0 / 2;
printf("%d\n", Num);  -> 5.0 실수형을 정수형으로 형변환 했으므로 2 정상값나옴

return 0;
}

 

삼항연산자

ex) 4 < 5 ? 0 : 1;

앞의 연산이 참이면 0을 거짓이면 1을 반환함

 

* 과제

 

int 자료형 변수 Num1과 Num2를 선언해봅니다.

Num1과 Num2에 각각 4와 5를 저장합니다.

Num1과 Num2중 더 큰 값이 출력되게끔 하는 코드를 작성해봅시다.

 

결과)

//Main.c

#include<stdio.h>

int main(void)
{
int Num1 = 3;
int Num2 = 6;

printf("%d", Num1 < Num2 ? Num2 : Num1);   -> 6이3보다 큰 건 참이므로 Num2가 출력 반대가되면 거짓이므로 Num2가 출력


return 0;
}

 

문제 없이 출력완료됌

 

size of()

자료형의 값과 상관없이 자료형 자체의 크기를 물어보는 함수

 

Ex)

 

int Num1 = 1;
int Num2 = 7;

printf("%d", sizeof(int));  -> int의 크기는 4byte이므로 4가 출력
printf("%d", sizeof(Num1)); -> Num1도 int이므로 4가 출력
printf("%d", sizeof(Num1 + Num2));  -> Num1과Num2의 형태가 int형태, int + int = int이므로 4가 출력 (*헷갈리지않게 유의*)