개념 이론
C#
메모리 관리를 자동화한 C+
유니티 내부는 C++, 외부는 C#로 이루어져 있음
이때 C#을 C++로 바꿔주는 중간언어가 IL2CPP임
Unity Hub에서 깔았음
IL2CPP 의 뜻
to = 2
AtoB = A2B
게임 엔진
요즘엔 유니티 게임 엔진 대신 유니티 유틸 엔진이라고 부름
게임 뿐만 아니라 다양한 걸 만들기 때문
pc겜, 콘솔겜, 모델링, 애니메이션, ai, vr, mr, 공간 컴퓨팅, 인공지능, window 프로그램, 안드로이드 앱, ios 앱, mac 프로그램, web browser 등 제작 가능
Vector 벡터
방향성이 있는 힘
3차원은 x축, y축, z축으로 이루어져 있음
Rendering
객체를 화면에 그리기 위해 rendering 과정이 필요함
object들은 아무리 본인이 3D여도 결국엔 모니터에 나타야하는데, 이때 모니터는 2D라고 볼 수 있음
Render Pipeline
보이지 않는 공간의 object들이 2D 화면에 그려지는 과정
유니티에는 Built_in_RP, URP(Universal RP), HD RP가 있음
Built_in_RP가 구버전, URP가 신버전이라고 보면 됨
이번주엔 Built_in_RP, 다음주엔 URP로 작업 예정
visual studio 2022
빌드 단축키 : ctrl+F5 또는 아래 버튼
namespace
분류를 체계적으로 할 수 있음(대분류 느낌 ex. 서울시)
가독성과 코드 이름 중복 방지를 위해 명확해야 함
협업 시에는 닉네임을 넣기도 함
‘.’으로 하위 분류 가능
예시)
코드 포맷팅 및 단축키
C#은 세미콜론 필수~!
선택한 줄 주석 처리
Ctrl + K + C
선택한 줄 주석 제거
Ctrl + K + U
선택한 줄 */ 주석
Ctrl + shift + /
카멜, 스네이크 언제?
이름이 짧으면 카멜, 이름이 길면 스네이크 추천
변수 타입
타입 | 값 |
int | 정수 |
float | 실수 |
double | 실수 |
bool | 참/거짓 |
char | 문자 |
string | 문자열(문장) |
1 = 정수형 int
1f = 실수형 float = 1.0f : 자릿수 7자리(0.xxxxxxx)
1d = 1.0d : 자릿수 15-16자리, GPS 등에 사용됨(정확도 높음)
class, method는 대문자
variable은 소문자로 시작한다
Unity
씬 뷰
scene
하나의 월드 단위(언리얼에선 좀 다름)
ex. intro scene, lobby scene, main scene, outro scene
Fly Through
scene 공간을 날아다니는 기능 = 작업할 때 카메라
추가로
오른쪽 마우스 + q, e : 하강, 상승
오른쪽 마우스 + 마우스 휠 : 카메라 이동 속도 조절
큐브 생성
목록에서 해당 object 더블클릭하면 해당 위치로 이동함
z축이 정면이라 만약 캐릭터라면 파란색 z축이 정면이라 생각하면 됨
Tool bar
이동 w
안쪽 네모는 평면이동 가능
= 해당 축을 제외한 나머지 두 방향으로 이동 가능(해당 축 고정)
회전 e
선이 아닌 곳도 핸들 → 전체 회전
크기 r
안에 사각형은 이미지처럼 노란색으로 전체 선택되면서 전체 크기 조정 가능
위치 및 크기 초기화
모든 객체를 만들 때 reset 하고 시작해라
이유 : object는 카메라가(사용자가) 바라보는 위치에 생성되기 때문
위치 자동 초기화 설정
2d로 전환 단축키 : 숫자 2
perspective 원근법
잠금하면 회전이 안됨
scene 상에서 방향을 알려주는 나침반 역할
local(객체 방향), globar(월드 방향)
클릭해서 원근법 - 투영 변경 가능
콘솔뷰
프로젝트에서 발생하는 메세지(log)를 확인할 수 있는 창(window)
ctrl + shift + c
에러 아닌 로그는 clear로 삭제 가능
스크립트 작성
edit - preferences - external tools - external script editor을 vs2022로 설정
assets 우클 - create - c# script
생성됨
더블클릭하면 visual studio로 열림
unity 연동 확인 : class 부분이 잘 연결되어 있나 체크
콘솔 대신 디버그 사용
unity에 맨 위에 플레이 버튼을 꼭 확인해야 함! 플레이 버튼을 키고 하면 종료 되었을 때 다 지워져버림
꼭 작업할 땐 버튼 끄고 해야함!
Edit → Preferences → Colors → Playmode tint 수정하면 재생할 때 강조할 수 있어 쉽게 구분 가능
스크립트 넣는 법
Create Empty로 GameObject 생성
GameObject 클릭 - Assets 클릭 - 해당 스크립트 파일 Drag & Drop
GameObject에 Script를 넣어서 실행하는 것!
scene에 있는 object에 script가 하나는 들어있어야 실행됨
검색해서 넣을 수도 있음
이렇게 Drag & Drop 해도 됨
이제 실행해보면 아까 작성한 log 확인 가능
코드 분석
namespace는 생략(해당 프로젝트명으로 생성되었다 보면 됨)
using ~ : 다른 namespace에 있는 기능을 가져옴(js의 import 느낌)
2일차 회고
아직 어려운 부분은 없다.
유니티랑 C#이 처음이라 자신감이 많이 부족했는데 차근차근 해나가면 될 것 같다.
특히 유니티는 기존에 3D 툴에 관심 많았던 게 이해하는 데 도움이 많이 됐다.
C#도 완전 기초라서 이해하는데 어려움은 없었다.
예전에 처음 부트캠프 다닐 때랑 다르긴 해서 신기하다ㅎ
정대희 강사님이 항상 밝고 차분하게 잘 가르쳐주셔서 오랜 시간 강의 듣는데 무리가 없다!
유니티로 뭔가 만들어보면 점점 더 재미있을 것 같다ㅎㅎ
역시 난 뭔갈 만들 때 재미를 느끼나보다.
'공부 > [TIL] Game Bootcamp' 카테고리의 다른 글
[멋쟁이사자처럼 부트캠프 TIL] 유니티 게임 개발 3기 : Flappy Bird 만들기 (2) | 2024.11.29 |
---|---|
[멋쟁이사자처럼 부트캠프 TIL] 유니티 게임 개발 3기 : Animation, Light, UI - Text 등 (0) | 2024.11.28 |
[멋쟁이사자처럼 부트캠프 TIL] 유니티 게임 개발 3기 : Animator, Rigidbody 등 (1) | 2024.11.27 |
[멋쟁이사자처럼 부트캠프 TIL] 유니티 게임 개발 3기 : 캐릭터 만들기 + Unity C# 기초 문법(연산자, 조건문) (0) | 2024.11.22 |
[멋쟁이사자처럼 부트캠프 TIL] 유니티 게임 개발 3기 : 유니티 살펴보기 완 + 유니티 C# + 클래스, 함수, 변수까지 (1) | 2024.11.21 |