낑깡의 게임 프로그래밍 도전기

44일차 : '한 번에 끝내는 유니티&C# 게임 개발 초격차 패키지' 강의 후기 본문

인강 후기

44일차 : '한 번에 끝내는 유니티&C# 게임 개발 초격차 패키지' 강의 후기

낑깡겜플밍 2025. 8. 13. 13:03
반응형

학습 시작 시간
학습 종료 시간
오늘 들었던 강의 클립

 오늘은 유니티에서 트랜스폼(Transform) 조작과 레이캐스트(Raycast), 그리고 태그·레이어 마스크에 대해 배웠다. 오브젝트의 위치를 바꿀 때는 transform.position +=처럼 덧셈을 사용해 좌표를 더하는 방식으로 이동하고, 회전할 때는 transform.rotation *=처럼 곱셈을 사용해 기존 회전에 새로운 회전을 누적하는 방식을 쓴다는 점이 흥미로웠다. 이동과 회전이 이렇게 다른 수학 연산을 사용하는 이유는, 회전 값이 단순한 숫자가 아니라 방향과 각도를 함께 포함하는 쿼터니언(Quaternion) 구조이기 때문이다. 이 원리를 알게 되니, 회전을 코드로 제어할 때 왜 곱셈 순서나 회전 축 지정이 중요한지도 이해가 됐다.

 레이캐스트는 화면이나 씬 속에서 ‘이 방향으로 쏜 보이지 않는 선’이 무엇과 닿는지를 판별하는 기능이다. 마우스 클릭으로 오브젝트를 선택하거나, 캐릭터 앞의 장애물을 감지하는 등의 기능을 만들 때 필수적이다. 이를 시각적으로 확인하기 위해 Debug.DrawLine을 쓰면, 씬 뷰에 실제 선이 그려져 디버깅이 훨씬 쉬워진다. 이 과정을 보며 느낀 건, 레이캐스트는 단순 충돌 감지를 넘어 “보이지 않는 센서”처럼 게임 세계를 인식하게 하는 중요한 수단이라는 점이었다.

 또한 태그(Tag)와 레이어(Layer)의 개념도 함께 다뤘다. 태그는 오브젝트를 그룹화해 논리적으로 구분하는 데 쓰이고, 레이어는 물리 연산이나 카메라 렌더링에서 어떤 그룹과 상호작용할지 결정하는 데 사용된다. 특히 레이어 마스크(LayerMask)는 32개의 비트 값을 이용해 여러 레이어를 한 번에 포함하거나 제외할 수 있어, 레이캐스트나 충돌 판정의 성능을 크게 개선할 수 있다. 단순히 ‘태그는 이름표, 레이어는 물리 필터’ 정도로만 알았는데, 이 둘을 적절히 조합하면 씬의 복잡도를 줄이고 계산 효율을 높이는 강력한 도구가 된다는 걸 깨달았다.

 결국 오늘의 핵심은, 오브젝트의 이동·회전, 감지·판별, 그룹 관리가 모두 수학적 개념과 엔진 구조에 기반한다는 점이었다. 이동은 단순한 좌표 연산, 회전은 쿼터니언 곱셈, 감지는 레이캐스트와 레이어 마스크 조합, 그리고 관리·구분은 태그로 풀어낼 수 있다는 원리를 이해하니, 앞으로 코드를 작성할 때 더 명확한 의도를 가지고 설계할 수 있을 것 같다.

학습 인증샷
오늘의 완강률

오늘부로 62클립을 들었다. 한강의 들었는데 세강의 들었다고 나왔다. 왜일까?

내일도 파이팅!

 

반응형