목차
한글 깨짐 설정, FindObjectsOfType, TextMesh gitignore
새로운 팀을 만났다!!
발제 가이드를 듣기 전에 짧게 아이스브레이킹을 했는데, 다들 프로젝트에 임하는 목표가 같아서 좋았다.
이번 챕터 첫째주는 개인과제이고, 둘째주는 팀과제이므로.. 일단 첫째주 팀장을 맡았다!
유니티를 아직 안다뤄봐서 이전 팀처럼 주도할 수 있을 거라는 확신이 없으므로, 둘째주에는 팀장이 바뀔 수도 있다고 언급은 해뒀다.ㅎㅎㅎㅎㅎ
VSCode 한글 깨짐 설정
예전에도 발생했지만 그냥 시스템 언어 한글 설치하고, Visual Studio 2022 를 이용하는 동안에는 발생하지 않았는데...
Unity로 다시 학습을 시작하니 한글이 깨지기 시작했다.
���� Ŭ������ �̹� rigidbody�� �־ _ ��
주석 처리를 했는데 이런식으로 뜨는 것이다.
Settings (Ctrl + ,)에서 다음과 같이 체크해주면 된다.

이제 잘 보임!

Unity 한글 깨짐 설정
VScode를 고치고 나니, Unity에서도 문제가 보였다.

Unity 자체에서 세팅으로 설정할 수 있는 일은 없는 것 같고 .editorconfig를 프로젝트 루트에 추가하면 된다고 한다.
# .editorconfig
root = true
[*]
charset = utf-8-bom
고쳐지지 않았다.
일단 VS code에서는 한글이 깨지지 않으므로, 이렇게 진행하다가 9시 땡하면 튜터님께 달려가야겠다.
혹시 몰라서 Test.cs를 새로 만들었는데 안깨진다!!
이미 생성했던 파일은 분명 수정하고 저장 했는 데도 깨져서 안되는 줄 알았던 것...
암튼 해결해서 다행이고 팀원들한테 주석 깨진 채로 깃 푸시했던 잘못을 다시 하지 않을 수 있어서 다행이다.

FindObjectsOfType<T>()
//씬 내에서 Obstacle 모두 찾기
Obstacle[] obstacles = GameObject.FindObjectsOfType<Obstacle>();
강의를 따라가던 도중에 이런 부분을 발견했다.
해당 메서드가 가벼운 코드는 절대 아니므로 Start() 같은 단일 호출 메서드에서 실행하는 것이 좋다는 얘기도 첨언해주셨지만,
그래도 진짜? 현재 상태에서 모든 객체를 검사하는 게 진짜로 있다고?
네. 진짜 있었습니다.
구글링 해보다보니까 새롭게 알게 된 사실.
OfType과 ByType의 차이로 성능상의 차이를 볼 수 있다고 한다.
OfType은 InstanceId 기준으로 정렬을 수행한 뒤 그 결과를 반환한다고 한다. (단, 비활성화된 객체는 포함 X, 하려면 true 인자)
따라서 해당 정렬이 불필요한 경우, 불필요한 연산이 내부에서 수행되는 것이다.
그럴 경우에는 FindObjectsByType 함수를 사용하고, 명확하게 FindObjectsSortMode.None 인자를 넘겨서 불필요한 정렬 과정을 수행하지 않고 얻어오는 것이 좋다.
다만, Unity2023.1이상 버전에서만 사용 가능하다.
즉, FindObjectsOfType<T>()는 씬 전체를 탐색하며 InstanceId 정렬까지 포함되어 있어 무겁고,
FindObjectsByType<T>()는 FindObjectsSortMode.None을 지정하여 정렬 없이 빠르게 반환 가능하다.
따라서, 아래와 같이 변경했을 때 기존 코드와 똑같이 구현되는 것을 확인했다.
Obstacle[] obstacles = GameObject.FindObjectsByType<Obstacle>(FindObjectsSortMode.None);
유니티 프로젝트 깃 Languages 비율
강의 첫 번째 게임을 끝내고 깃허브에 백업을 해뒀다.
그런데 언어 비율이 C# 100%로 뜨던 첫 번째 팀 프로젝트 리포지터리와는 다르게 ShaderLab이라는 언어가 90퍼센트 이상으로 나왔다.
구글링해보니 TextMesh 때문인 것으로 보인다.
# Text Mesh
[Aa]ssets/TextMeshPro/
.gitignore에 TextMesh Pro/를 추가하고 Text Mesh Pro 폴더를 지웠더니 C# 비율이 100%가 되었다.

CreateRubble() 할때 새 중심지 구하는 공식
float rubbleHalfScale = deltaX / 2f; //생성될 rubble 객체의 중심지를 구하기 위해 자를 크기의 절반.
CreateRubble(
new Vector3(
isNegativeNum//어느 방향 자를지 파악 후 계산.
? lastPosition.x + stackBounds.x / 2 + rubbleHalfScale //lastPosition.x => 마지막 블록의 중심 위치
: lastPosition.x - stackBounds.x / 2 - rubbleHalfScale, //stackBounds.x / 2 => 잘린 뒤의 블록의 반 너비 (끝점)
lastPosition.y,
lastPosition.z
),
new Vector3(deltaX, 1, stackBounds.y)
);
void CreateRubble(Vector3 pos, Vector3 scale)
{
GameObject go = Instantiate(lastBlock.gameObject); //블럭과 같은 객체 생성
go.transform.parent = this.transform; //TheStack을 부모 삼음
go.transform.localPosition = pos; //전달 받은 위치
go.transform.localScale = scale; //전달 받은 크기
go.transform.localRotation = Quaternion.identity; //각도는 건들것 없음
go.AddComponent<Rigidbody>(); //중력 생성하고
go.name = "Rubble"; //이름 Rubble (이따 지울때 씀)
}
여기서 lastPosition.x + stackBounds.x / 2 + rubbleHalfScale이 정~~말 머릿 속에 안들어왔다.

혼자서 이해해보려고 그림을 그려봤다.
근데 아무리 그려도 그림의 비율이 이상해서 더 이해가 안가더라고... 그래서 그림판을 이용했다.
같은 비율의 상자로 보니까 확연히 보이더라.
3D를 계산해본 적이 없으니, 2D로 이렇게 변경하니 이해가 더 잘된 것 같기도 하다.
유니티 입문 첫번째 게임 학습을 완료했다. (1-1 ~ 1-9)
Rigidbody, Unity 라이프사이클, GetComponent, Input 클래스, Time.deltaTime, 충돌 처리 함수, 로컬 좌표와 월드 좌표, 싱글턴 패턴에 대해서 정리했다.
유니티 입문 (2D) - Flappy Plane
유니티 입문 (2D)내일배움캠프 지급된 강의 듣고 정리기존에 확실히 알고 있던 개념은 제외하고, 애매하게 알고 있었거나 몰랐던 내용만 정리하느라 누락된 부분 있을 수 있음Orthographic 카메라원
j000.tistory.com
유니티 입문 두번째 게임 학습을 완료하고 싶었지만 그러지는 못했다. (1-10~1-12)
두번째 게임 마지막 강의가 30분 정도 되서.. 그 전에 1-13이랑 1-14는 듣고 끝내지 않을까 싶다.
Lerp 개념에 대해서 정리했다.
유니티 입문 (3D) - The Stack
유니티 입문 (3D)강의 듣고 정리. 누락되는 부분 있을 수 있음. LerpLinear Interpolation의 약자로, 두 값 사이를 일정한 비율로 선형 보간(Interpolation)하는 기능이다.유니티에서는 주로 Mathf.Lerp나 Vector3.L
j000.tistory.com
느낀점
원래 회사에 취직할 생각보다는 개인 개발 혹은 취미 개발로 진행하려나.. 싶은 마음으로 캠프에 임했다.
아무래도 지역이 지역인지라.. 게임 회사가 단 하나 밖에 없으니까...ㅜ (이거라도 싶긴 하지만..)
그런데 이력서 강의를 들으며 취직에 대한 열정이 갑자기 생겼다!
나... 제법 열심히 살아왔을지도..? 싶다가도 하.. 머릿 속에 남은 게 없는데 무슨 소용인가 싶기도 하고.
그치만 원래 인생에서 수험생과 취준생일 때가 가장 miserable한 법.
너무 자학에 빠지지 말고 취업 때만큼은 날 안뽑은 회사를 안타까워하자.
서울로 다시 상경하긴 정말정말 싫었는데...ㅠㅠ 회사 실무를 경험해보려면 어쩔 수 없나 싶기도 하다.
그 지옥 같은 인구밀집도를 버틸 자신이 조금... 없지만 인프라 생각하면 참을만 할지도?
최대한 해외원격근무 등에 지원을 많이 해서 기회를 잡아보자.
아예 출국하는 것도 나쁘진 않긴 한데.. 한 2~3년은 한국에 있고 싶긴 하다ㅠㅠ
내일 학습 할 것은 무엇인지
오늘 목표였던 1-15까지 못하고 1-14 중간까지만 들었기 때문에 오전에 이부분을 마무리하고,
내일 중으로 강의를 전부 끝내는 것이 목표다.
학습 시간이 충분할지 모르겠지만, 마지막 게임이 2D인것 같아서 일단 완강 도전해보려고 한다.
저녁에 시간 남으면 개인과제 구상도 해보고!
'부트캠프 > 본캠프' 카테고리의 다른 글
| [내일배움캠프_2025JUL24] 유니티 학습, 분반 OT, 개인과제 (0) | 2025.07.24 |
|---|---|
| [내일배움캠프_2025JUL23] 유니티 학습 (0) | 2025.07.23 |
| [내일배움캠프_2025JUL21] 팀 프로젝트 발표, 다음 팀 프로젝트는... (1) | 2025.07.21 |
| [내일배움캠프_2025JUL19] OfType, 팀 TextRPG (0) | 2025.07.19 |
| [내일배움캠프_2025JUL18] 콘솔 입력 버퍼 (0) | 2025.07.18 |