내일배움캠프/TIL

[내배캠][Unity6기][TIL] 3. 고양이 밥주기(1~4)

binary는 호남선 2024. 9. 6. 23:13

Preview

- 카메라로 기본 배경 설정

- Scene

- Instantiate (+Quaternion)


카메라로 기본 배경 설정

- Camera 컴포넌트 프로퍼티를 활용하여 배경 만들 수 있음

프로퍼티 기능
Background 뷰의 모든 요소가 그려지고 스카이박스가 없을 경우 여백 화면에 적용될 색상
Projection Perspective 카메라가 원근감을 그대로 적용하여 오브젝트를 렌더링
Orthographic(직교) 카메라가 원근감 없이 오브젝트를 균일하게 렌더링(z축 없음)
Size(직교일때만) 직교를 선택했을 때의 카메라의 뷰포트 크기

* 사이즈가 클수록 오브젝트를 더 멀리서 바라보게 됨, 리소스 이미지의 크기에 따라 조정하여 사용

참고 : https://docs.unity3d.com/kr/2022.3/Manual/class-Camera.html

Scene

- 하나의 게임 프로젝트는 씬이라는 원소들로 구성된 집합

- 각 씬은 고유한 환경, 오브젝트, UI 등을 포함, 씬을 적절하게 사용하면 유지보수에 용이

- 일반적인 사용예)

  • 타이틀 씬: 게임을 처음 실행했을 때 나타나는 화면. 필요한 데이터를 로드하고, 플레이어를 메인 메뉴로 안내.
  • 메인 메뉴 씬: 게임 플레이 시작 전에 플레이어에게 제공되는 화면. 게임 시작, 설정, 크레딧, 종료 등의 옵션 버튼과 게임에 대한 정보 표시.
  • 게임 플레이 씬: 실제 게임 진행 화면. 플레이어 캐릭터, 적, 아이템, 배경 등 게임 플레이에 필요한 모든 오브젝트와 UI 요소를 포함.
  • 엔딩 씬: 게임 종료 화면. 게임 결과, 점수, 크레딧 등을 표시

참고 : https://nbcamp.spartacodingclub.kr/blog/%EA%B0%9C%EB%85%90-%EC%BD%95-%EC%97%90%EC%85%8B-%EC%94%AC-%EA%B2%8C%EC%9E%84-%EC%98%A4%EB%B8%8C%EC%A0%9D%ED%8A%B8-%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8-21478

https://docs.unity3d.com/kr/560/Manual/CreatingScenes.html

Instantiate (+ Quaternion)

public static Object Instantiate (Object original);
public static Object Instantiate (Object original, Vector3 position, Quaternion rotation);

 

- 오브젝트(주로 프리팹)를 동적으로 생성하는 함수

- 위치와 회전값을 인자로 받을 수 있음

- 위치값과 회전값을 함께 다루는 것이 일반적이며 이를 통해 오류 방지

- 회전하지 않는 경우 Quaternion.identity(객체의 기본 rotation값) 사용

public class BulletSpawner : MonoBehaviour
{
   public GameObject bullet; // bullet 프리팹
   public Vector3 targetPosition; // 생성할 위치
   void Start()
     {
        // bullet 프리팹을 targetPosition 위치에 Quaternion.identity(기본 회전값)로 생성
        Instantiate(bullet, targetPosition, Quaternion.identity);
     }
}

참고 : https://nbcamp.spartacodingclub.kr/blog/%EA%B0%9C%EB%85%90-%EC%BD%95-instantiate-%ED%95%A8%EC%88%98-21483

https://docs.unity3d.com/kr/530/ScriptReference/Object.Instantiate.html