07/30 그래픽 프로그래밍 기초

댓글 0
댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요.

댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요.

| 순서 | 요소 | 핵심 역할 | 주요 데이터·설정 | Unity에서 자주 사용하는 컴포넌트 |
|---|---|---|---|---|
| 1 | Mesh 메시 | 물체의 모양과 구조를 결정합니다. | 정점(Vertex), 삼각형(Triangle), 노멀(Normal), UV 좌표 | Mesh Filter Mesh Renderer Skinned Mesh Renderer |
| 2 | Material 머티리얼 | 물체의 표면이 어떻게 보이는지 결정합니다. | 색상, 텍스처, 금속성, 거칠기, 투명도, 셰이더 | Material Shader |
| 3 | Light 라이트 | 물체를 비추어 밝기, 명암, 그림자를 만듭니다. | 색상, 세기, 범위, 방향, 그림자 | Directional Light Point Light Spot Light Area Light |
| 4 | Camera 카메라 | 장면을 특정 시점에서 촬영하여 화면에 출력합니다. | 위치, 회전, 시야각, 투영 방식, 렌더링 범위 | Camera |
Mesh
Mesh는 3D 물체의 형태를 구성하는 데이터입니다.
| 구성 요소 | 설명 |
|---|---|
| Vertex | 물체를 구성하는 점 |
| Edge | 정점과 정점을 연결하는 선 |
| Triangle | 실제로 화면에 그려지는 삼각형 면 |
| Normal | 표면이 향하는 방향. 조명 계산에 사용 |
| UV | 3D 표면에 2D 텍스처를 배치하기 위한 좌표 |
Mesh만 있으면 물체의 형태는 존재하지만, 표면의 색이나 재질은 아직 정해지지 않습니다.
Scene 뷰 왼쪽 위의 표시 모드를 Shaded에서 Wireframe으로 바꿔봅니다. 매끈해 보이던 구가 사실은 수많은 삼각형 조각으로 이루어져 있는 것이 보입니다.
이 사실은 7과목 최적화 수업에서 "폴리곤 수 줄이기"로 다시 만나게 됩니다.
Material
Material은 Mesh의 표면 표현 방법을 지정합니다.
| 항목 | 설명 |
|---|---|
| Shader | 표면을 어떤 방식으로 계산하고 그릴지 정의 |
| Base Color | 물체의 기본 색상 |
| Texture | 표면에 붙이는 이미지 |
| Metallic | 금속처럼 보이는 정도 |
| Smoothness | 표면의 매끄러움과 빛 반사 정도 |
| Normal Map | 실제 형태를 바꾸지 않고 표면의 요철 표현 |
| Emission | 물체가 스스로 빛나는 효과 |
Material은 설정값을 저장하고, Shader는 그 설정값을 이용해 화면의 픽셀을 계산합니다.
<Material에 대해서 추가 노트를 작성했습니다.>
Light
Light는 물체의 밝기, 명암, 반사와 그림자를 계산하는 데 사용됩니다.
| 종류 | 특징 | 대표 용도 |
|---|---|---|
| Directional Light | 모든 위치에 같은 방향으로 빛을 비춤 | 태양 |
| Point Light | 한 점에서 모든 방향으로 빛을 비춤 | 전구, 촛불 |
| Spot Light | 원뿔 모양의 특정 방향으로 빛을 비춤 | 손전등, 무대 조명 |
| Area Light | 넓은 면에서 부드러운 빛을 생성 | 창문, 스튜디오 조명 |
빛의 결과는 Material이 사용하는 Shader와 렌더 파이프라인에 따라 달라집니다.
Mode는 조명을 언제 계산할지 결정하는 옵션입니다.
| Mode | 계산 시점 | 실행 중 변경 | 성능 비용 | 적합한 용도 |
|---|---|---|---|---|
| Realtime | 게임 실행 중 매 프레임 계산 | 가능 | 높음 | 움직이는 조명, 캐릭터, 손전등 |
| Mixed | 실시간 계산 + 미리 베이크 | 일부 가능 | 중간~높음 | 고정된 환경과 움직이는 캐릭터가 함께 있는 장면 |
| Baked | 에디터에서 미리 계산 | 사실상 불가능 | 낮음 | 움직이지 않는 건물, 배경, 실내 조명 |
광원의 색상, 밝기, 도달 거리와 빛의 모양을 설정하는 부분입니다. 아래 내용은 URP 기준입니다.
| 항목 | 핵심 내용 |
|---|---|
| Light Appearance | 빛의 색상을 정하는 방식을 선택 |
| Color | 빛 자체의 색상 설정 |
| Filter | 색온도로 만든 빛에 추가 색상을 입힘 |
| Temperature | 빛의 색온도를 켈빈(K)으로 설정 |
| Intensity | 빛의 밝기 설정 |
| Indirect Multiplier | 다른 표면에 반사되는 간접광의 밝기 조절 |
| Range | 빛이 도달하는 거리 설정 |
하늘에 Skybox 매터리얼 적용하기
Camera
Camera는 장면에서 무엇을 화면에 그릴지 결정합니다.
| 설정 | 설명 |
|---|---|
| Transform | 카메라의 위치와 방향 |
| Field of View | 원근 카메라의 시야각 |
| Projection | Perspective 또는 Orthographic 선택 |
| Near/Far Clipping Plane | 렌더링할 최소·최대 거리 |
| Culling Mask | 어떤 Layer를 화면에 그릴지 선택 |
| Clear Flags / Background | 화면을 그리기 전 배경 처리 |
| Target Texture | 화면 대신 Render Texture에 출력 |
투영 방식
| 방식 | 특징 | 대표 용도 |
|---|---|---|
| Perspective | 멀리 있는 물체가 작게 보임 | 일반적인 3D 게임 |
| Orthographic | 거리에 따라 크기가 변하지 않음 | 2D 게임, 전략 게임, UI형 화면 |
Camera는 장면에서 무엇을 화면에 그릴지 결정합니다.
| 설정 | 설명 |
|---|---|
| Transform | 카메라의 위치와 방향 |
| Field of View | 원근 카메라의 시야각 |
| Projection | Perspective 또는 Orthographic 선택 |
| Near/Far Clipping Plane | 렌더링할 최소·최대 거리 |
| Culling Mask | 어떤 Layer를 화면에 그릴지 선택 |
| Clear Flags / Background | 화면을 그리기 전 배경 처리 |
| Target Texture | 화면 대신 Render Texture에 출력 |
전체 흐름
Mesh로 모양을 만들고 → Material로 표면을 정하고 → Light로 명암을 계산한 뒤 → Camera가 최종 화면을 촬영합니다.
Mesh → Material → Light → Camera → Game 화면
모양 표면 조명 촬영

우리들의 게임 발매 이야기

안녕하세요. 플밍 4기 입니다. 게임 개발을 배우기 전 네트워크 엔지니어 도메인에서 익히고 배웠던 네트워크 이론에 대한 기초 입니다. 학습에 도움이 되길 바라며 공유 드립니다.
XR을 활용한 게임 개발 3기(유니티) 수강생입니다. 곧 수료 하지만 앞으로 이곳에 가끔 저의 개발 경험이 나 지식 기록할까 합니다. 더 나아가 이 사이트가 제 개인위키의 역할을 할 수 있으면 좋겠습니다. 한국 게임 시장을 흔들겠습니다


안녕하세요. 플밍 4기 입니다. 게임 개발을 배우기 전 네트워크 엔지니어 도메인에서 익히고 배웠던 네트워크 이론에 대한 기초 입니다. 학습에 도움이 되길 바라며 공유 드립니다.
XR을 활용한 게임 개발 3기(유니티) 수강생입니다. 곧 수료 하지만 앞으로 이곳에 가끔 저의 개발 경험이 나 지식 기록할까 합니다. 더 나아가 이 사이트가 제 개인위키의 역할을 할 수 있으면 좋겠습니다. 한국 게임 시장을 흔들겠습니다
