[Unity] 5. Prefab & Animation & GetComponent

치치·2025년 2월 23일
0

Unity

목록 보기
6/27
post-thumbnail

지난 수업에 이어 만들던 Prefab을 마저 작성하였다

수업 진행 과정

  1. ✅ 프리팹화로 만든 Information 게임 오브젝트의 자식으로 text를 넣고 서로 다른 텍스트를 출력

  2. GetComponent 사용해보기

  3. ✅ 애니메이션 사용해보기


Prefab 사용

  • 부모 게임 오브젝트에 Information 스크립트를 넣고 작성한다
    -> Information은 캔버스 컴포넌트이고, 프리팹화 되어있는 상태
    -> 자식으로 패널과 텍스트를 가진 상태

  • Information의 계층 자식들에게 변경사항이 생기면 override를 사용하여 게임 오브젝트의 변경사항을 원본 프리팹에 적용할 수 있다

  • Text에서 vertical Overflow를 오버플로우로 적용 할 경우, text가 범위를 벗어나지 않는다

Vertical Overflow

  • UI Text 컴포넌트에서 텍스트가 세로 방향(vertical)으로 넘칠 때, 처리하는 설정

  • Truncate : 기본값, 텍스트의 길이가 높이를 초과하면 보이지 않는다 (잘림)

  • Overflow : 텍스트가 높이를 초과해도 계속 표시된다



GetComponent


GetComponent란?

  • 특정 게임 오브젝트에 부착된 컴포넌트를 가져오는 함수이다

  • 컴포넌트타입 변수명 = GetComponent<컴포넌트 타입>();

    -> 위의 예시는 Canvas타입의 게임 오브젝트의 컴포넌트를 가져오기 위해 선언된 것

  • 스크립트가 들어있는 게임 오브젝트에 원하는 타입의 컴포넌트가 있으면 가져올 수 있고, 없으면 NULL


GetComponent 자세히

  • <컴포넌트 타입> : 컴포넌트 타입에 해당하는 컴포넌트를 가져오는 것이다
    -> 단 하나의 컴포넌트겠죠 (여러개 아님)

  • 만약 컴포넌트 타입이 사용자가 정의한 클래스라면, GetComponent로, 해당 게임 오브젝트에 붙어있는 클래스 타입의 컴포넌트를 가져오는 것



GetChild().GetComponent란?

  • GetChild() : 특정 게임 오브젝트의 자식 오브젝트를 가져오는 함수이다

  • GetComponent 와 같이 사용하면 자식 오브젝트의 컴포넌트를 가져올 수 있다

  • 부모 오브젝트에 스크립트를 붙이고, (UI에선 주로 panel에 붙임)
    부모 오브젝트에 부착된 자식 오브젝트의 컴포넌트를 가져온다

  • Transform에서 특정 순서(인덱스)의 자식 오브젝트를 찾을때 사용된다

  • panel이 현재 텍스트들의 부모이기 때문에 여기에 스크립트를 넣어준다
    -> 자식의 제일 위부터 인덱스 [0]



결과

게임을 실행하면 자식 컴포넌트를 받아와서 자식 컴포넌트의 값을 변경한다
에디터에서 변경될 text값을 지정해준다
-> SerializeField로 선언되었기 때문에, 에디터 내에서 바로 게임오브젝트 적용 가능



export package

export package란?

쉽게 말하자면, 유니티 내의 패키지 내보내기이다

이미 유니티 에셋스토어에서 가져올때 많이 봤을 것이다

  • 여러명이서 작업할때 유용하게 사용될 수 있다

  • 실제 유니티 내부의 오브젝트들은 .meta 형식으로 저장되어있다
    -> 이 meta파일과 해당 에셋 파일을 같이 보내야만 안에 들어있는 속성값 까지 다 보낼 수 있다
    -> meta파일 없이 안에 에셋만 보낼려고 따로 보낼 경우, 유니티 내에 적용이 안된다
    -> meta파일은 함부로 수정하지 않는다 (수정된 내용이 그대로 반영되기 때문이다)
    -> 따라서, 유니티에서 제공하는 export package를 사용하자!

1. 내보내기

2. 내보내기를 원하는 데이터만 선택

3. 이렇게 패키지가 생성되면 다른 곳에 보낼 수도 있고, 실행해서 내가 쓸 수도 있다

-> 파일을 가져올때는 파일을 더블클릭하면 에셋 스토어에서 가져왔던 것 처럼 패키지 매니저 창이 뜰 것이다. 리소스 받았던 것 처럼 원하는 파일만 Import해서 다운받으면 된다

ex)



애니메이션 기능

* Animation : 애니메이션 클립을 만들고 편집하는 창이다

  • 애니메이션 작업을 원하는 게임 오브젝트를 선택할 수 있다

  • 많이 해봐야 적응되고 실력이 늘 거 같다
    -> 원하는 초시간에 애니메이션을 설정. 0:00 ~ 1:00
    -> 애니메이션 속도는 프레임을 변경해주면 된다
    -> 상단의 숫자값은 현재 초 시간

결과물


profile
뉴비 개발자

0개의 댓글