애니메이션의 통합

Animation 트랜지션 모드를 사용시 animator 컴포넌트를 컨트롤러 요소애 연결 합니다.

컨트롤러 요소에 Animator 컴포넌트를 연결시 Auto Generate Animation을 클릭하면 자동으로 실행

*UI애니메이션 트랜지션 모드는 Unity 래거시(legacy) 애니메이션 시스템과 호환되지 않습니다.

 


자동 레이아웃

자동 레이아웃 시스템은 중첩된 레이아웃(Horizontal Group, Vertical GROUP, Grid Group) 그룹에 있는 요소의 배치 방법을 제공

요소를 자동으로 컨텐츠 에 맞는 크기로 변경

자동레이아웃 시스템은 Rect Transform 시스템의 내장 시스템 입니다 일부를 쓸지 모두 쓸지 선택하여 실행할수 있다.



Layout Element의 이해

자동 레이아웃 시스템은 Layout_Element_와 Layout_controller_ 개넘에 근거 한것

Layout Element는 Rect Transform 이나 임의 컴포넌트도 가지고 있는 오브젝트

자신의 바람직한 크기를 정확하게 파악 함

자신의 크기를 직접 설정할 수 없지만 Layout Controller 기능을 가진 다른 컴포넌트는 사용하기 전에 크기 계산을 위해

제공된 정보를 사용할 수 있습니다.

/ Layout Element는 자신을 정의하는 다음과 같은 특성을 가지고 있다.

  • Minimum width
  • Minimum height
  • Preferred width
  • Preferred height
  • Flexible width
  • Flexible height

 

Layout Group의 요소 배치의 기본 원리 크기의 변경

*우선 minimum크기가 할당

*충분히 사용 가능한 공간이 있으면 preferred 크기가 할당

*아직 사용 가능한 공간이 있으면 flexible 크기가 할당 됩니다.

Rect Transform이 연결되어 있는 게임 오브젝트는 Layout Element로 동작 할수 있다. 연결된 오브젝트 들은 기본적으로

minimum, preferred, flexible 크기를 0으로 가지고 있음 - 특정 컴포넌트는 게임 오브젝트에 더해졌을 떄 그 특성을 변경합니다.

image와 Text 컴포넌트는 Layout Element의 프로퍼티를 제공하는 컴포넌트의 두가지 예

그들은 스프라이트 또는 텍스트 콘텐츠를 매치하기 위해 preferred width와 height를 변경합니다.

Layout Element 컴포넌트

minimum, preferred 또는 flexible 크기를 덮어쓰고 싶다면 게임 오브젝트에 Layout Element를 더함으로써 가능합니다.

 

Layout Element 컴포넌트는 하나 이상의 레이아웃 프로퍼티의 값을 덮어 쓰는데, 덮어 쓰고

싶은 프로퍼티의 체크 박스를 사용하여 덮어쓰려는 값을 지정 합니다

//자세한 설명은 여기로

http://docs.unity3d.com/kr/current/Manual/script-LayoutElement.html

Layout Controller의 이해

Layout Controller는 Rect Transform을 가진 게임 오브젝트 크기 조절 및 경우에 따라서는 하나 이상의

레이아웃 요소의 위치를 관리하는 컴포넌트 입니다.

Layout Controller는 Layout Elment(그 자체가 연결되어 있는 동일한 게임 오브젝트) 또는 자식의 Layout Element를

제어할 수 없습니다.

Layout Controller 역활을 하는 컴포넌트는 동시에 Layout Element로서도 동작할수 있습니다

Content Size Fitter

Content Size Fitter는 자신의 Layout Element의 크기를 관리하는 Layout Controller 역활을 합니다.

자동 레이아웃 시스템의 동작을 보는 방법으로 가장 간단한것은 Content Size Fitter 컴포넌트를 Text 컴포넌트를 가진

게임 오브젝트에 더하는 것입니다.

Horizontal Fit과 Vertical Fit중 하나를 Preferred로 설정하면 Rect Transform은 자신의 width 및/또는 Height를 텍스트 콘텐츠에 맞게

조정합니다

Aspect Ratio Fitter

Aspect Ratio Fitter는 자신의 Latout Element의 크기를 제어하는 Layout Controller역활을 합니다

height를 width에 맞게 혹은 그반대로 조정할수 있습니다. 혹은 요소를 그 부모, 또는 부모의 envelope 안쪽에 맞출 수 있습니다.

Aspect Ratio FItter는 minimum크기와 preferred 크기와 같은 레이아웃 정보를 고려하지 않습니다.

Layout Groups

Layout Group은 자식의 Layout Element의 크기와 위치를 제어하는 Layout Controller 컴포넌트 역활도 함

Layout group은 자신의 크기는 관리를 안하며 대신 다른 Layout Controller에 관리되고 있거나 또는 수동으로 설정된 Layout Element 의 역활을 수행합니다

Layout Group에 할당된 크기가 어떤것이라도 대부분의 경우 자식 요소로 보고되는 minimum, preferred, flexible크기에 따라 자식의 Layout Element각각의

영역에 적절한 양을 할당하려고 합니다.

구동하는 Rect Transform 프로퍼티

자동 레이아웃 시스템의 Layout Controller는 특정 UI요소의 크기와 위치 선정을 관리 할수 있다.

크기와 위치를 인스텍터창이나 씬뷰를 통해 수동으로 편집 해서는 안됨

-설정시 다음 레이아웃 계산에서 Layout Controller를 통해서 재설정 됩니다.

Rect Transform 에는 _구동하는(driven) Property를 취급하는 개념이 있음

기술적인 세부 사항

사용자 정의 방식으로 레이아웃을 관리하는 컴포넌트를 생성 가능

이것은 특정 인터페이스를 구현한 컴포넌트를 가짐으로써 실행됩니다

레이아웃 인터페이스

ILayoutElement 인터페이스를 구현하는 경우 컴포넌트는 자동레이아웃에 의해 Layout Element로 처리됨.

ILayoutGroup 인터페이스를 구현하는 경우 컴포넌트는 컴포넌트는 자식의 Rect Transform을 작동시키는 것을 예상합니다.

ILayoutSelfController 인터페이스를 구현하는 경우 컴포넌트는 자신의 Rect Transform을 작동시키는걸 예상합니다.

레이아웃 계산

자동 레이아웃 시스템은 다음과 같은 순서로 평가*수행 합니다.

Posted by 테루키스
:

초보자를 위한 유니티5 입문


Rect Transform

속성

설명

Pos X, Pos Y, Pos Z

X축, Y축, Z축의 Anchor에서 Pivot의 위치 정보

Width

UI의 폭

Height

UI의 높이

Rotation

UI의 회전 정보

Scale

UI 자체 크기

Anchor

UI 오브젝트를 Canvas에 배치할 때의 기준점

Pivot

UI의 위치나 회전의 기준점

- uGUI 전용 Transform


 

Canvas의 Render Mode

-> Canvas의 Canvas 컴포넌트의 Render Mode에서 UI 렌더링 설정을 할 수 있다.

Screen Space-Overlay, Screen Space-Camera, World Space


 

-Screen Space-Overlay

-> UI가 게임 화면의 가장 앞에 렌더링 되는 모드이다.

이 옵션을 선택하면 항상 맨 앞에 UI가 그려지게 되어 UI와 다른 오브젝트 사이의 그리기 순서를 지정할 수 없다. 또한 이 모드에서는 카메라를 제거하고 다른 오브젝트가 하나도 없더라도, UI 오브젝트는 표시된다.


 

-Screen Space-Camera

-> 카메라를 지정하여 그 카메라에서 UI를 그리는 모드이다.

카메라는 Render Camera에 Main Camera외에 UI용 카메라를 따로 준비한다.

Main Camera 및 UI용 카메라의 그리기 순서를 설정할 수도 있어서 UI 오브젝트를 다른 오브젝트 뒤에 표시가 가능.


 

-World Space

-> UI 오브젝트가 가른 오브젝트와 마찬가지로 X, Y, Z를 기준으로 배치되는 모드이다.

이 렌더링 모드에서는 다른 오브젝트와 마찬가지로 텍스트를 회전시키거나, 깊이를 적용하여 표시할 수 있다.



 

UI 오브젝트

UI 오브젝트

설명

Panel

게임 화면 전체에 이미를 표시하는데 사용.

Raw Image

텍스처 리소스를 사용하여 이미지를 표시.

Image

스프라이트를 사용하여 이미지 리소스를 표시.

Button

클릭되었을 때 액션 이벤트를 발생시키기 위해 사용.

Text

텍스트를 표시.

Slider

설정된 최솟값과 최댓값 사이의 값을 입력받거나 속성값으로 사용.

Toggle

선택 항목의 체크 여부를 지정하기 위해 사용.

Scrollbar

설정된 최솟값부터 최댓값 사이의 값을 입력받거나 진행 상황을 표시.

Canvas

Canvas를 추가.(복수의 Canvas를 추가할 수도 있다.)



컨트롤(Controls)

 

Label : 텍스트와 이미지를 표시할 수 있다.

- GUI.Label 함수의 첫 번째 이수는 그리는 위치와 범위를 Rect 클래스로 지정. 두 번째 인수는 표시하고 싶은 텍스트와 텍스처를 지정.

(텍스트와 택스처를 함께 표시하고 싶을 때는 GUIContent 클래스로 모아서 지정 가능)


void OnGUI{

 GUI.Label(new Rect(10, 10, 50, 50), "Label");

 GUI.Label(new Rect(10, 70, 50, 50), texture);

 GUI.Label(new Rect(10, 130, 50, 50), new GUIContent("Label", texture));

 } 

 

 

Box : Label과 마찬가지로 텍스트와 이미지를 표시한다.

- 배경 이미지 위에 표시 가능.

void OnGUI{

 GUI.Box(new Rect(10, 10, 50, 50), "Label");

 GUI.Box(new Rect(10, 70, 50, 50), texture);

 GUI.Box(new Rect(10, 130, 50, 50), new GUIContent("Label", texture));

 }

 

Button : 버튼 배경이 있는 텍스트와 이미지를 표시할 수 있다.

- 동시에 화면에서 Rect 클래스로 지정한 버튼 영역을 누르면 true가 반환.

void OnGUI{

 if(GUI.Button(new Rect(10, 10, 50, 50), "Button"))

 Debug,Log("Push Button 1");

if(GUI.Button(new Rect(10, 70, 50, 50), texture))

Debug,Log("Push Button 2");

if(GUI.Button(new Rect(10, 130, 50, 50), new GUIContent("button", texture)))

Debug,Log("Push Button 3");

}

 

RepeatButton : 버튼 영역을 누르는 동안 항상 true를 반환.

void OnGUI{

if(GUI.RepeatButton(new Rect(10, 10, 50, 50), "RepeatButton"))

Debug,Log("Push Button 1");

if(GUI.RepeatButton(new Rect(10, 70, 50, 50), Repeattexture))

Debug,Log("Push Button 2");

if(GUI.RepeatButton(new Rect(10, 130, 50, 50), new GUIContent("Repeatbutton", texture)))

Debug,Log("Push Button 3");

}


 

TextField : 한 줄짜리 텍스트 입력란을 표시한다.

- 인수에는 입력란에 표시할 텍스트를 지정한다. 반환 값으로 항상 입력란의 문자열을 돌려준다.


 

TextArea : 여러 행으로 된 텍스트 입력란을 표시.


 

PasswordFild : 표시할 문자열을 지정한 문자로 모두 치환해서 표시.

- 암호를 입력할 때 사용.


 

Toggle : On/Off 체크박스가 딸린 Label을 표시.

- 인수로 선택 상태를 지정할 수 있다. 반환 값은 현재 상태를 반환.


 

Toolbar : 버튼 여러 개를 한 행에 가로로 표시한다.

- 버튼 여러 개 중에서 항상 버튼 하나를 선택한 버튼 그룹.

표시할 내용을 인수로 지정할 때 string 배열이면 텍스트, Texture 배열이면 이미지,

GUIContents 배열이면 텍스트와 Texturn가 혼합 된 버튼을 표시 가능

반환값은 선택된 버튼 인덱스.


 

SelectionGrid : 옆으로 나열한 버튼 수를 지정해서 버튼을 여러 개의 열로 표시.

- 그 밖의 동작은 Toolbar랑 동일.


 

Slider / Scrollbar

- 손잡이 부분(노브)을 수평 방향이나 수직 방향으로 밀어 지정한 범위 내에서 float값을 조작하는 바이다.

Slider는 노브 크기가 고정되어 있지만, Scrollbar는 노브의 크기를 변경 가능.


 

Window : 팝업 창을 나타낸다.

- Window에서는 Window끼리 식별할 수 있는 ID 번호와 Window내에 표시할 내용을 적은 Window 함수가 필요.

 

 

 

Posted by 테루키스
:

“게임부터애니메이션까지 아우르는 유니티 전문가 모집!

유니티 코리아유니티 공인 전문가 그룹 유니티 마스터즈 3기 모집

                                                                                      

7 22일까지 공식 모집 사이트 통해 신청, 7월 말 결과 발표 예정

자동차엔지니어링건축영화 및 애니메이션 분야 등 모집 대상 대폭 확대

Unity Pro 사용권 및 연 100만원의 유니티 에셋 스토어 바우처 지급유니티 행사 강연 기회 제공

 

<이미지 설명유니티가 유니티 마스터즈’ 3기를 오는 7 22일까지 모집한다.>

 

2018 7 3 – 유니티 코리아(대표 김인숙http://unity3d.com/kr) 유니티 공인 전문가 그룹으로 활동할 ‘유니티 마스터즈’ 3기를 금일부터 오는 7 22일까지 모집한다고 밝혔다.

 

유니티 마스터즈는 유니티에 대한 뛰어난 전문 지식을 지닌 유니티 코리아의 공인 전문가 그룹으로, 1년의 활동 기간 동안 /오프라인의 다양한커뮤니티 채널에서 여러 분야의 개발자  콘텐츠 제작자들을 만나 유니티 관련 지식과 노하우를 공유하게 된다.

 

지난해 8월부터 1년간 활동을 진행한 유니티 마스터즈 2기는 다양한 업계 전문가들이 참여해 유나이트 서울  관련 행사의 강연유니티로 개발된 우수 콘텐츠를 선정하는 메이드 위드 유니티 코리아 어워즈 2018’ 심사 등에 참여했으며이외에도 관련 도서 출판콘텐츠 제작 참여 등의다채로운 활동을 펼쳤다.

 

기존 마스터즈들의 활약에 힘입어 다시금 모집되는 유니티 마스터즈 3기는 지난해보다 더욱 다양한 전문 분야의 관계자  종사자가 신청할 있도록 모집 분야를 대폭 확대했다모바일테크니컬 아티스트디자인기획, VR/AR 분야 외에 추가적으로 자동차엔지니어링건축영화 애니메이션 분야에서 활동 중인 이들 누구나 도전할  있다이는 게임뿐만 아니라 다양한 산업 분야에서 활용되고 있는 유니티 엔진의 현황에맞춰 확대된 것이다.

 

유니티 마스터즈 3기에게는 유니티를 통한 콘텐츠 제작  활용 가능한 풍성한 혜택과 다양한 유니티 행사 참여 기회가 주어진다. 1년의 활동 기간 동안 Unity Pro 무료로 사용할  있으며 100만원 상당의 에셋을 이용할  있는 유니티 에셋 스토어 바우처가 지급된다또한 유나이트 등의 국내 유니티 행사에 무료로 초청되며관련해 강연자로 참여  발표할  있는 기회를 우선 제공한다또한 우수 마스터로 선정  해외유니티 행사 참관 기회를 제공하며항공료  숙박비  각종 제반 비용을 유니티가 전액 지원한다.

 

유니티 마스터즈 3 신청은 모집 페이지(https://docs.google.com/forms/d/1uXIk1DKKKXgx7W_SUBfUikAr_ZXQognNel-U-c8Q2Oo/edit) 통해 본인의 프로필과 전문분야 등을 제출하면 된다심사를 거쳐 최종 선정되는 유니티 마스터즈 3 모집 결과는 오는 7 합격자들에 한해 개별 공지될 예정이다.

 

유니티 코리아 김인숙 대표는 “그간 유니티 마스터즈로 활동해 주신 여러분들의 노력 덕분에 유니티가 더욱 많은 분들에게 알려지게 됐다”며“이번 유니티 마스터즈 3기에도 다양한 혜택을 준비한 만큼 다양한 분야의 전문가 분들의 관심을 부탁드린다”고 밝혔다.

 

 

Posted by 테루키스
: