이제 입문 팀프로젝트가 끝나고 숙련과정으로 들어와서 강의를 듣게 되었다.
저번 입문 팀프로젝트는
https://github.com/A7-ShootingGame-Team/ShootingGameProject
이 링크를 들어가면 확인 할수있다.
스카이 박스란?
게임 세계의 배경을 둘러싸는 환경 매핑 기술입니다. 큐브 맵(Cube Map)과 구체형 스카이박스(Sphere Map) 등이 있으며, 주로 다음과 같은 특징을 가집니다.
스카이박스는 6개의 텍스처로 구성된 큐브 맵 또는 하나의 구체로 텍스처가 매핑된 구체형 스카이박스로 구성됩니다.

Unity에서는 씬의 배경으로 사용되며, 게임 환경을 확장시키는데 활용됩니다.
주로 하늘, 구름, 산 등의 자연적인 배경을 표현하는 데 사용됩니다.
미리 만들어진 스카이박스를 사용하거나 직접 만들어서 Unity에서 적용할 수 있습니다.
게임 중에 스카이박스를 동적으로 변경하여 낮과 밤 등의 시간대나 특정 이벤트에 맞게 배경을 변화시킬 수 있습니다.
성능에 영향을 미치므로 최적화에 주의해야 합니다.
Rigidbody 컴포넌트를 사용하여 게임 오브젝트에 물리적인 힘을 가할 때, 이 ForceMode를 사용하여 다양한 힘 적용 방식을 설정할 수 있습니다.
주요한 ForceMode 종류는 다음과 같습니다:
Force: 힘을 지속적으로 적용합니다.Rigidbody.AddForce(Vector3 force, ForceMode.Force);Acceleration: 가속도를 적용합니다. 이전 힘의 누적에 따라서 점진적으로 더 빠르게 움직이게 됩니다.Rigidbody.AddForce(Vector3 force, ForceMode.Acceleration);Impulse: 순간적인 힘을 적용합니다. 짧은 시간에 갑작스러운 움직임이 발생합니다. (아마도 대쉬나 점프에 쓰일듯하다.)Rigidbody.AddForce(Vector3 force, ForceMode.Impulse);VelocityChange: 변화하는 속도를 적용합니다. 물체의 현재 속도를 변경하면서 움직입니다.Rigidbody.AddForce(Vector3 force, ForceMode.VelocityChange);이러한 ForceMode를 적절히 활용하여 게임 오브젝트에 원하는 물리적인 움직임과 효과를 부여할 수 있습니다.

Ray - 직선의 시작점(origin)과 방향(direction)
Ray ray = new Ray(transform.position, transform.forward); // 오브젝트
Ray ray = Camera.main.ViewportPointToRay(new Vector3(0.5f, 0.5f, 0)); // 카메라 중심
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); // 마우스
Raycast - 눈에 보이지 않는 광선(Ray)에 맞은 물체가 무엇인지 여부를 판단한 뒤 여러 가지 후처리를 하는 방식.
Ray, RaycastHit, MaxDistance, LayerMask 등의 옵션
RaycastHit - Raycast에 의해 검출된 객체의 정보가 담겨있다.
RaycastHit.point - 레이캐스팅이 감지된 위치
RaycastHit.distance - Ray의 원점에서 충돌 지점까지의 거리
RaycastHit.transform - 충돌 객체의 transform에 대한 참조

SendMessage Invoke Event Invoke C sharp Events C# 스크립트에서 Invoke Event 과정을 수행.
키 입력 받고 실행 전, 키 입력 받고 실행 완료, 키 입력 해제 등의 구체적인 상황에 따라 별도의 함수를 등록할 수 있다.
다음 강의에서는 이 이론을 토대로 구현을 해볼것이다.