Version: Unity 6.0 (6000.0)
언어 : 한국어
IMGUI 확장
GUI 스타일(IMGUI 시스템)

GUI 스킨(IMGUI 시스템)

Switch to Scripting

GUISkin 은 GUI에 적용할 수 있는 GUIStyle 컬렉션입니다. 각 컨트롤 유형에는 고유한 스타일 정의가 있습니다. 스킨은 스타일을 단일 컨트롤에만 적용하는 것이 아닌 전체 UI에 적용하기 위한 것입니다.

인스펙터에 표시되는 GUI 스킨
인스펙터에 표시되는 GUI 스킨

GUISkin을 생성하려면 메뉴 바에서 Assets > Create > GUI Skin 을 선택해야 합니다.

참고: 이 페이지는 스크립팅 전용 UI 시스템인 IMGUI 시스템의 일부를 참조합니다. Unity에는 사용하는 것을 선호할 수 있는 완전한 게임 오브젝트 기반__ UI__(사용자 인터페이스) 사용자가 애플리케이션과 상호 작용하도록 해 줍니다. Unity는 현재 3개의 UI 시스템을 지원합니다. 자세한 정보
See in Glossary
시스템이 있습니다. 씬 뷰에서 사용자 인터페이스 요소를 표시되는 오브젝트로 디자인하고 편집할 수 있습니다. 자세한 내용은 UI 시스템 매뉴얼을 참조하십시오.

프로퍼티

GUI 스킨의 모든 프로퍼티는 개별 GUIStyle입니다. 스타일 사용 방법에 대한 자세한 내용은 GUIStyle 페이지를 참조하십시오.

프로퍼티: 기능:
Font GUI의 모든 컨트롤에 사용할 전역 폰트
Box 모든 박스에 사용할 스타일
Button 모든 버튼에 사용할 스타일
Toggle 모든 토글에 사용할 스타일
Label 모든 레이블에 사용할 스타일
Text Field 모든 텍스트 필드에 사용할 스타일
Text Area 모든 텍스트 영역에 사용할 스타일
Window 모든 창에 사용할 스타일
Horizontal Slider 모든 가로 슬라이더 바에 사용할 스타일
Horizontal Slider Thumb 모든 가로 슬라이더 엄지 버튼에 사용할 스타일
Vertical Slider 모든 세로 슬라이더 바에 사용할 스타일
Vertical Slider Thumb 모든 세로 슬라이더 엄지 버튼에 사용할 스타일
Horizontal Scrollbar 모든 가로 스크롤바에 사용할 스타일
Horizontal Scrollbar Thumb 모든 가로 스크롤바 엄지 버튼에 사용할 스타일
Horizontal Scrollbar Left Button 모든 가로 스크롤바의 왼쪽 스크롤 버튼에 사용할 스타일
Horizontal Scrollbar Right Button 모든 가로 스크롤바의 오른쪽 스크롤 버튼에 사용할 스타일
Vertical Scrollbar 모든 세로 스크롤바에 사용할 스타일
Vertical Scrollbar Thumb 모든 세로 스크롤바 엄지 버튼에 사용할 스타일
Vertical Scrollbar Up Button 모든 세로 스크롤바의 위로 스크롤 버튼에 사용할 스타일
Vertical Scrollbar Down Button 모든 세로 스크롤바의 아래로 스크롤 버튼에 사용할 스타일
Custom 1–20 모든 컨트롤에 적용할 수 있는 추가 커스텀 스타일
Custom Styles 모든 컨트롤에 적용할 수 있는 추가 커스텀 스타일의 배열
Settings 전체 GUI에 대한 추가 설정
        __Double Click Selects Word__ 이 옵션을 활성화하는 경우, 단어를 더블 클릭하면 선택됩니다.
        __Triple Click Selects Line__ 이 옵션을 활성화하는 경우, 단어를 세 번 클릭하면 해당 행 전체가 선택됩니다.
        __Cursor Color__ 키보드 커서의 색상
        __Cursor Flash Speed__ 텍스트 컨트롤을 편집할 때 텍스트 커서가 깜박이는 속도
        __Selection Color__ 텍스트 선택 영역의 색상

세부 정보

게임의 전체 GUI를 제작할 때는 다양한 컨트롤 유형에 대해 많은 커스터마이징을 수행해야 합니다. 실시간 전략이나 롤플레잉 등 다양한 게임 장르에 거의 모든 컨트롤 유형이 필요합니다.

각 개별 컨트롤에 특정 스타일을 사용하므로 수십 개 이상의 개별 스타일을 생성하고 모든 스타일을 수동으로 할당하는 것은 효율적이지 않습니다. GUI 스킨으로 이 문제를 해결할 수 있습니다. GUI 스킨을 생성하면 각 개별 컨트롤에 대한 스타일 컬렉션을 사전 정의할 수 있습니다. 그런 다음 코드 한 줄로 스킨을 적용하면 각 개별 컨트롤의 스타일을 수동으로 지정할 필요가 없습니다.

GUISkin 생성

GUISkin은 에셋 파일입니다. GUI 스킨을 생성하려면 메뉴 바에서 Assets > Create > GUI Skin 을 선택합니다. 그러면 프로젝트 뷰 에 새 GUISkin이 추가됩니다.

프로젝트 뷰의 새 GUISkin 파일
프로젝트 뷰의 새 GUISkin 파일

GUISkin 편집

GUISkin을 생성한 후에는 인스펙터에서 포함된 모든 스타일을 편집할 수 있습니다. 예를 들어 모든 텍스트 필드 컨트롤에 Text Field 스타일이 적용됩니다.

GUISkin의 Text Field 스타일 편집
GUISkin의 Text Field 스타일 편집

스크립트에서 생성하는 텍스트 필드 수에 상관없이 모두 이 스타일을 사용합니다. 물론 원하는 경우 한 텍스트 필드의 스타일을 다른 텍스트 필드의 스타일과 다르게 변경할 수 있습니다. 다음으로 이렇게 하는 방법을 알아보겠습니다

GUISkin 적용

GUI에 GUISkin을 적용하려면 스킨을 읽어 들이고 컨트롤에 적용할 간단한 스크립트를 사용하면 됩니다.


    // Create a public variable where we can assign the GUISkin
    var customSkin : GUISkin;

    // Apply the Skin in our OnGUI() function
    function OnGUI () {
        GUI.skin = customSkin;

        // Now create any Controls you like, and they will be displayed with the custom Skin
        GUILayout.Button ("I am a re-Skinned Button");

        // You can change or remove the skin for some Controls but not others
        GUI.skin = null;

        // Any Controls created here will use the default Skin and not the custom Skin
        GUILayout.Button ("This Button uses the default UnityGUI Skin");
    }


경우에 따라 서로 다른 스타일의 두 개의 동일한 컨트롤을 사용해야 합니다. 이러한 경우 새로운 스킨을 생성하고 다시 할당하는 것은 효율적이지 않습니다. 대신, 스킨에 커스텀 스타일 중 하나를 사용합니다. 커스텀 스타일에 대한 이름 을 지정하면 해당 이름을 개별 컨트롤의 마지막 인자로 사용할 수 있습니다.

    // One of the custom Styles in this Skin has the name "MyCustomControl"
    var customSkin : GUISkin;

    function OnGUI () {
        GUI.skin = customSkin;

        // We provide the name of the Style we want to use as the last argument of the Control function
        GUILayout.Button ("I am a custom styled Button", "MyCustomControl");

        // We can also ignore the Custom Style, and use the Skin's default Button Style
        GUILayout.Button ("I am the Skin's Button Style");
    }

GUIStyle 작업에 대한 자세한 내용은 GUIStyle 페이지를 참조하십시오. UnityGUI 사용에 대한 자세한 내용은 GUI 스크립팅 가이드를 참조하십시오.

GUISkin

IMGUI 확장
GUI 스타일(IMGUI 시스템)