유니티 강좌2014. 3. 31. 06:00

(1) GUI의 정의

GUI란 Graphic User Interface의 약자로 사용자 편의를 위해 시각적인 그래픽 요소로 화면을 꾸미고 배치하여 상호작용할 수 있게 만든 것을 의미합니다. GUI이전에는 컴퓨터와의 상호작용을 Text로 했었으나 점차 기술이 발달되어 그래픽으로 표현된 인터페이스를 사용함으로써 지금과 같이 상호작용 요소를 인지(cognition)하기 쉽게 되었습니다.

   

보다 쉽게 얘기하자면, 게임이나 앱에서 화면을 구성하는 버튼, 스크롤 바 등과 같이 사용자가 행동을 통해서 컨트롤을 하여 컴퓨터가 자신이 원하는 행동을 하게끔 만들 수 있는 객체나, 시계, 배터리 게이지 등과 같이 필요한 정보를 시각적으로 쉽게 확인할 수 있는 객체라고 생각하시면 됩니다.

   

   

(2) NGUI란?

NGUI는 유니티3D 개발자가 편리하게 GUI를 원하는 대로 만들 수 있게 해주는 플러그인 툴 입니다. 유니티3D 자체에도 GUI를 만들 수 있게 도와주는 기능이 있지만 복잡한 UI 구성이 어렵거나 프로그램 성능이 저하되는 경우가 있어 별도의 툴을 소개합니다.

   

Playmaker가 프로그래밍을 담당하여 초보자가 쉽게 프로그램 할 수 있는 플러그인 툴이었다면, NGUI는 GUI를 담당하는 플러그인 툴 입니다.

   

NGUI를 UI 툴로 다룰 수 있게 되면, 프로그래밍을 Playmaker로 사용하여서 손쉽게 앱을 제작할 수 있게 됩니다.

  

[그림 4-1]



(3) NGUI 설치하기

Playmaker를 설치했을 때와 같이 유니티3D를 실행한 상태에서 Ctrl + 9로 Asset Store를 연 뒤, 검색 창에서 NGUI로 검색을 하면 쉽게 NGUI를 찾으실 수 있습니다.


[그림 4-2]


여기서 NGUI를 바로 구입하실 수 있고, 구입을 하시면 바로 정품 버전으로 아무런 제한 없이 사용하실 수 있습니다.

   

하지만, 정품을 구입하기 전에 먼저 한 번 테스트 버전을 사용해보고 싶다면, NGUI제조사의 홈페이지(http://www.tasharen.com)로 가서 무료 테스트 버전을 다운 받아서 사용하시면 됩니다.


[그림 4-3]


홈페이지에서 Products > NGUI: Next-Gen UI Kit 클릭

* NGUI: Next-Gen UI Kit 페이지에서 Evaluation Version 카테고리에 있는 'Free Edition of NGUI here' 링크를 클릭하시면 무료 테스트 버전을 다운받으실 수 있습니다.

   

다운을 받으셨으면, Playmaker unitypackage를 프로젝트에 Import 시켰던 것 같이 NGUI unitypackage 파일을 Import 시켜주시면 됩니다.

   

Import가 끝난 뒤에 Playmaker와 마찬가지로 NGUI도 유니티 상단에 있는 메인 메뉴바의 빈 곳을 한 번 클릭해주면 메뉴가 나타납니다.


[그림 4-4]


   

NGUI 설치가 끝났으면, 본격적으로 NGUI 예제를 해보기 전에 먼저 NGUI의 구성요소와 그 기능을 살펴 보도록 하겠습니다.

   

다음 강의에서는 NGUI의 구성에 대해 알아보겠습니다.



스마트아카데미-시설 소개

페이스북 왓츠앱 인수

스마트 아카데미 창의인재 교육 6개월 과정 등록안 -스마트 앱 전문 교육기관

정부 벤처창업지원 통해 경제 활성화 나선다

한국의 구글 핸드스튜디오 안준희 대표 - 스마트아카데미

한국의 구글 핸드스튜디오 - 스마트아카데미 (2)

ICT란 무엇인가 - 스마트 아카데미


Posted by 알 수 없는 사용자
ICT Trend2014. 3. 28. 17:45

지난 8일 마이크로소프트가 '원노트'를 무료로 풀었습니다. 원노트는 한마디로 문서저작도구입니다. 겉보기엔 아래아한글이나 'ms워드'나 생김새만 조금 다를 뿐 , 기본기능은 같습니다. 그렇지만 차이가 있습니다. 클라우드기반이란점입니다.


원노트엔 '저장' 단추가 없다. 글을 쓰는 즉시 자동 저장됩니다. 그러니 글을 쓰다가 정전이 되거나 PC가 말썽을 일으켜도 문서 내용을 잃어버릴 염려가 없습니다. 원노트는 또 MS 클라우드 서비스인 '원드라이브'에 문서를 보관합니다. 태블릿PC나 아이폰·안드로이드폰용 응용프로그램(앱)도 무료로 제공하고, 웹에 접속해 쓸 수도 있습니다. PC든 스마트폰이든 태블릿PC든, 한곳에서 작성한 글은 언제 어떤 기기에서 열어도 늘 최신 상태로 볼 수 있다는 뜻입니다.





그뿐인가. 노트를 주제별로 분류해 체계적으로 관리하는 데도 제격입니다. 사진 속 글자를 자동 인식하는 광학문자인식(OCR) 기능을 지원하니, 각종 영수증이나 증명서를 보관하기에도 좋습니다. 음성 메모나 PDF 문서도 노트에 첨부할 수 있습니다. 노트 내용을 다른 사람과 함께 작성하거나 고치는 공유 기능은 기본입니다. 윈도용 원노트에선 필기 입력 기능도 지원합니다. 터치 화면이 달린 윈도 태블릿에서 펜으로 원노트 화면에 곧바로 글씨를 쓰거나 그림을 그릴 수 있다는 뜻입니다.


원노트는 2003년 처음 나올 때만 해도 클라우드 기능이 빠진 평범한 노트 프로그램이었습니다. 게다가 원노트는 '아웃룩'이나 '엑셀'처럼 'MS 오피스'에 포함된 유료 프로그램이었습니다. 그러다가 '원노트 2010'부터 클라우드 연동 기능이 붙었고, '윈도8'과 스마트폰용 앱이 나오더니, 이번에 맥용 프로그램까지 선보이며 무료 소프트웨어로 전환했습니다.

'에버노트'는 달랐습니다. 원노트보다 조금 늦게 나왔지만, 처음부터 클라우드 기반 무료 노트를 내세워 열혈 이용자층을 넓혔습니다. 지금은 '클라우드 노트=에버노트'란 등식을 만들 정도로 대표적인 프로그램으로 자리잡았습니다. 이제 원노트나 에버노트 사이에 기능상 큰 차이는 없다. 두루 써보고 기호에 맞게 고르면 됩니다.

굳이 원노트나 에버노트만 고집할 필요는 없습니다. 간단한 메모용 노트를 찾는다면 '구글 킵'이나 '솜노트'가 제격입니다. 비슷한 기능을 제공하는 프로그램은 조금만 앱 장터를 뒤져보면 한 움큼 찾아낼 수 있습니다.

중요한 건 이거다. 독립형 프로그램에 갇혀 있지 말자는 얘기다. 언제까지 새로 작성한 문서를 일일이 파일로 백업해 보관할 것인가 아니면 하드디스크가 뻗었다고, 노트북을 잃어버렸다고 애써 쌓아둔 지식 정보마저 송두리째 잃어버릴 셈인가 선택하는 일입니다.


밤새 정리한 중요한 문서를 집에 놓아두고 출근했다가 발을 동동 굴리는 기억과도 이젠 작별하고, 갑작스런 정전 앞에서 외마디 비명과 함께 머리를 감싸쥐는 사무실 풍경이 아직도  풍경과 작별하십시오.

아래아한글이나 MS 워드는 훌륭한 문서 저작 도구입니다. 그렇지만 지식 정보를 차곡차곡 저장하고 관리하기엔 불편하고 낡은 창고입니다. 디지털 시대를 살아가는 지식노동자라면 저 구름 어디께에 보조기억장치 하나쯤은 보험처럼 마련해둬야 할까 아닐까 싶습니다.



APP 개발 온라인 강좌 제3강 [3-6-2] - 비주얼 프로그래밍이란? - State 구성하기

APP 개발 온라인 강좌 제3강 [3-6-1] - 비주얼 프로그래밍이란? - PlayMaker 사용해보기

SK텔레콤 서비스 장애 보상안내발표 - 스마트아카데미

스타트업 얼라이언스 출범 - 스마트 아카데미

비주얼 프로그래밍이란? - Finite State Machine(FSM)

모바일게임 플랫폼 시장 춘추전국시대 - 스마트아카데미

비주얼 프로그래밍이란? - 플레이메이커의 설치

국내기업 개인정보유출 정리 - 스마트 아카데미



Posted by 알 수 없는 사용자
유니티 강좌2014. 3. 26. 06:00

3) Prefab 만들기


이제 이렇게 만들어진 큐브를 Prefab 구성을 통해서 하나 더 만들어보겠습니다.

그럼 우선 Prefab을 만들어보겠습니다.

   

먼저 Project 창에서 Create > folder 메뉴로 새 폴더를 하나 생성해준 뒤에 폴더의 이름을 Prefab이라고 지어줍니다.

그리고 Hierarchy창에서 'Cube' 오브젝트를 앞서 생성한 Prefab폴더로 드래그합니다.

그러면, 파란 상자모양의 아이콘이 달려있는 'Cube' Asset이 생성되어 있는 것을 보실 수 있는데, 이 Asset이 바로 Prefab입니다.


[그림 3-34]

   

이렇게 생성한 Prefab은 현재까지 설정한 오브젝트가 가진 모든 컴포넌트 설정을 동일하게 저장하고 있습니다. 따라서 비슷한 오브젝트를 대량으로 복제를 해야 하거나, 앱이나 게임을 제작할 때 특정 오브젝트를 어떠한 이벤트를 통해 생성할 때, 유용하게 사용됩니다.

   

'Cube' Prefab을 클릭 & 드래그 해서 Hierarchy창 안으로 넣어봅시다.

그러면 [그림 3-35]와 같이 짙은 파란색 글씨로 Prefab을 통해서 생성된 'Cube' 오브젝트를 확인할 수 있습니다.


[그림 3-35]


이 오브젝트를 기존의 'Cube' 오브젝트와 차별성을 두기 위해서 이름을 'Cube2'로 변경해줍니다.



[그림 3-36]


   

[그림 3-37]


Scene 창에서 위의 그림과 같이 'Cube2'오브젝트가 잘 배치가 되었는지 확인해보자.

   

지금까지 프로그래밍에 대한 전반적인 이해와 Playmaker를 통한 비주얼 프로그래밍 방법에 대해서 알아보았고, FSM코드를 포함한 다양한 정보를 가지고 있는 오브젝트를 Prefab으로 구성하는 방법에 대해서도 알아보았습니다.

   

다음 장에서는 GUI에 대해서 알아보겠습니다.


스마트아카데미 책 소개 - 개발자, 나를 말하다

창의융합형 교육이 대세다.

스마트아카데미-시설 소개

페이스북 왓츠앱 인수

스마트 아카데미 창의인재 교육 6개월 과정 등록안 -스마트 앱 전문 교육기관

스마트 앱 전문 교육기관 스마트아카데미가 추천하는 안드로이드앱(1)

스마트 폰 삶 속으로 들어오다

정부 벤처창업지원 통해 경제 활성화 나선다


Posted by 알 수 없는 사용자
창의교육2014. 3. 25. 12:15

Cre8tive ux 훈련 강좌

   

스마트아카데미에서는 사람에 대한 이해로부터 창의력과 UX를 체계적으로 훈련하고 그것을 자신의 능력으로 만드는 교육과정을 진행하고 있습니다.

   

이 과정은 창의력과 UX 융합 실무교육 과정으로써 인문학을 기반으로 한 창의력 증진 강좌, 즉 림빅(Limbic)맵 구성, 전뇌 매트릭스 활용, 퓨쳐스 힐 기법 경험 등 8가지 과학적인 방법을 통하여 자신에게 맞는 창의력을 개발하고, 자신에 대한 이해를 확장하여 다른 사람에 대한 이해와 사용자 경험을 체계적인 UX기법으로 훈련하도록 구성되어 있습니다.

   


개요와 사례분석, 설계단계부터 실무실습까지 체계적으로 학습이 진행되며 사람에 대한 이해를 통해 새로운 경험을 상품, 서비스를 설계하는 능력을 함양 할 수 있습니다.


교육 과정 안내

   

2014년 크리에이티브 UX 훈련 강좌

   

모집과정 크리에이티브 UX 훈련 과정

   

모집기간 과정별 정원 완료 시

   

교육일정 (총 4주간 4일 20시간 / 매주 토요일 13:00 ~ 18:00)

   

토요 반: 1월 25일 토요일 강좌 (마감)

4월 12일 토요일 개강 (모집 중)

 

.

   

교육비용 55만원.

   

교육대상 창의력을 체계적으로 키우고자 하는 사람.

     사람에 대한 이해를 바탕으로 신상품과 서비스를 기획하려는 사람

     새로운 상품과 서비스로 창업을 꿈꾸는 예비 창업자.

   

교육 과정 소개

   

1. 창의력 개발

   

· 인문학을 기반으로 하는 창의력 증진 강좌를 합니다.

· 체계적인 창의력 개발 방법론 적용과 훈련으로 체득화 과정 진행합니다.

· 림빅(Limbic)맵 구성, 전뇌 매트릭스 활용, 퓨쳐스 힐 기법 경험 등 8개의 개발방법론을 모두 사용함으로써 자신에게 맞는 방법을 찾을 수 있습니다.

   

 

   

UX훈련


·UX는 아이팟과 아이폰으로 시작된 애플의 혁명의 근원입니다.

   

사람에 대한 이해, 사용자 경험에 대한 분석으로 새로운 경험을 상품, 서비스, 게임에 제시합니다.

   

 

   

3. 크리에이티브

   

   

·자신에 대한 이해를 창의력으로 발전 시킬 수 있습니다.

·다른 사람에 대한 이해를 UX로 훈련 합니다.

·사람에 대한 과거의 경험과, 현재의 상황, 그리고 미래의 목표를 이해하고 제품과 서비스를 설계하는 능력을 함양할 수 있습니다.

 

커리큘럼

   

 

   

등록안내

   

크리에이티브 UX 강좌 등록안내

   

신청문의: 스마트아카데미 교육안내 (T. 02-567-3885)

   

수업 참여시 준비물 : 간단한 필기도구와 창의력에 필요한 편안한 마음을 준비하세요!



Smart Academy

   

스마트 아카데미의 공식블로그 입니다. 

문의 전화 : 02-567-3885    mail : support@smartacademy.or.kr 




Cre8tive ux 훈련 강좌 2014년 4월12일 개강[토요반]

APP 개발 온라인 강좌 제3강 [3-6-1] - 비주얼 프로그래밍이란? - PlayMaker 사용해보기

SK텔레콤 서비스 장애 보상안내발표 - 스마트아카데미

스타트업 얼라이언스 출범 - 스마트 아카데미

APP 개발 온라인 강좌 제3강 [3-5] - 비주얼 프로그래밍이란? - Finite State Machine(FSM)

 모바일게임 플랫폼 시장 춘추전국시대 - 스마트아카데미

 APP 개발 온라인 강좌 제3강 [3-4] - 비주얼 프로그래밍이란? - 플레이메이커의 설치


Posted by 알 수 없는 사용자
유니티 강좌2014. 3. 25. 06:00

2) State 구성하기


Playmaker의 Editor창에 있는 State탭에서 'State 1'이라고 되어 있는 이름을 'Wait' 이라고 변경해줍니다.


[그림 3-20]


이 State가 하게 될 역할은 큐브가 바닥에 떨어지는 시간 동안 기다릴 역할을 하게 될 것입니다.


그러면 이제 기다리라는 내용의 Action을 State에 넣어서, State 구성을 완성해보겠습니다.


Playmaker Editor 창에서 State를 선택한 상태에서 State 탭을 보면 우측 하단에 Action Browser라는 버튼을 볼 수 있습니다.


[그림 3-21]


이 버튼을 클릭하면, State에 넣을 수 있는 액션들이 나열된 창을 보실 수 있습니다.

Action Browser에서 Time > Wait 메뉴를 더블 클릭해서, 'Wait' State에 추가해줍니다.

  

[그림 3-22]


'Cube'가 'Plane' 위에 떨어지는 속도는 1초 정도 걸리므로, Time의 수치는 기본으로 설정되는 1 값을 그대로 사용합니다.

그 다음, Playmaker Editor창에서 'Wait' State를 우 클릭 했을 때 나타나는 메뉴에서 Add Transition > FINISHED 메뉴를 클릭해서 FINISHED Event를 생성해줍니다.


[그림 3-23]


그리고 다시 State에 설정된 Wait 액션으로 돌아와서 Finish Event를 앞서 설정한 FINISHED Event 이벤트로 연결해줍니다.

 

[그림 3-24]


이로써, Wait 액션의 기능이 [1초 동안 기다린 다음, FINISHED 이벤트를 발동시켜라.] 라는 행동을 할 수 있게 되었습니다.

   

※Playmaker Editor에서 작업을 진행하다 보면, State에 빨간색 느낌표가 나타나는 경우가 있습니다.


   [그림 3-25]


아마 'Wait' State에 FINISHED 이벤트를 생성해준 순간 빨간색 느낌표가 나타났을 것입니다.

이 느낌표 표시는 현재의 State에 에러가 있다는 것을 의미하며, 자세한 내용은 PlaymakerEditor창의 하단에 있는 error 버튼을 누르면 확인할 수 있습니다.


[그림 3-26]


[그림 3-26]에서 에러 내용을 살펴보면 ['Cube'오브젝트에 있는 'FSM CUBE POSITION RESET' FSM의 'Wait' State에 설정된 이벤트 중, 타겟이 될 State에 연결되지 않은 것이 있다.] 입니다.


State에 설정되는 이벤트들은 어떠한 상황이 일어난 것을 액션에서 감지하고, 그 액션에서 [현재의 상태를 특정 이벤트가 타겟으로 잡고 있는 상태로 변화하라.]는 명령을 실행할 때, 타겟을 잡아주는 과정에 포함되기 위해서 존재합니다.


앞서 설정한 'Wait' State의 경우에는 FINISHED 이벤트가 설정된 이유가 [1초 동안 기다린 후, FINISHED 이벤트가 타겟으로 잡고 있는 상태로 변화하라.] 라는 명령을 구성하기 위해서 입니다.

그런데, 정작 FINISHED 이벤트에 연결된 다음 상태가 없기 때문에 에러가 나타난 것입니다.

   

이제 다음 State를 하나 더 만들어 준 후에 State 이름을 'Reset Cube Position'이라고 이름을 지어줍니다.

그리고 'Wait' State의 FINISHED 이벤트를 클릭 & 드래그를 해서 화살표를 꺼낸 뒤, 'Reset Cube Position' State에 연결시켜줍니다.


[그림 3-27]


[그림 3-28]


그 다음 'Reset Cube Position' State를 선택하고 Action Browser 창을 Open 한 뒤, Transform 카테고리에서 Set position 액션을 찾아서 더블 클릭하여 'Reset Cube Position' State에 삽입합니다.

  

[그림 3-29]


※ Action의 카테고리 종류와 그 안의 내용 배치에 대해서 다 이해할 수 있을 때까지는 검색기능을 사용하기보다, 직접 카테고리를 클릭해서 열어보며 액션들과 카테고리의 연결점에 대해서 생각해보는 것이 좋습니다.

   

그리고 삽입한 Set Position 액션에서 Y축 입력 칸의 우측에 있는 변수 사용(Use Variable) 버튼을 눌러서 해제 상태로 만들어준 뒤, 절대값 2를 입력합니다. (2를 입력하는 이유는 Cube를 선택하고 Inspector창에서 Transform을 확인해보면 큐브가 떨어지기 전에 셋팅되어 있는 Y축 좌표 값이 2이기 때문입니다.)


[그림 3-30]


이렇게 설정된 Set Position 액션의 내용을 설명하자면 다음과 같습니다.

① 움직여야 할 Game Object는 Use owner (FSM이 존재하는 오브젝트. 즉, 'Cube' 자기 자신)

② 움직여야 할 위치는 Y축으로 변수 값이 아닌 절대값 2만큼

③ 움직일 때 참고할 방향 좌표는 World를 기준으로


[그림 3-31]


이제 플레이 버튼을 눌러서 어떤 결과가 나타나는지 확인해봅시다.

Game창에 보이는 화면에서 'Cube'가 'Plane' 위에 떨어졌다가, 다시 원래의 위치로 되돌아가서 떨어지는 것을 보실 수 있습니다.

Playmaker Editor창을 보면 초기에 Start > 'Wait' State에 녹색빛이 머물렀다가, 1초 뒤에 'Reset Cube Position' State로 이동하는 것을 볼 수 있습니다.

   

※ 오브젝트에 FSM 컴포넌트가 들어간 이후에는 Scene 창에서 오브젝트를 보면 PlayMaker 로고가 반투명하게 표시되어 보이는 것을 보실 수 있습니다. 이 로고가 오브젝트를 가려서 거슬리는 분들은 아래의 그림과 같이 Scene창에서 Gizmos버튼을 클릭했을 때 나오는 메뉴에서 PlaymakerFSM의 체크를 풀어주면 됩니다.

 

[그림 3-32]


다음으로 큐브가 한 번만 포지션이 리셋되는 것이 아니라, 떨어질 때마다 매번 포지션이 리셋이 되도록 한 번 만들어 보겠습니다.

   

먼저 Playmaker Editor 창에서 'Reset Cube Position' State를 우 클릭 했을 때 나타나는 메뉴에서 Add Transition > FINISHED 메뉴를 클릭해서 FINISHED Event를 생성해줍니다.

그리고, FINISHED Event를 클릭 & 드래그하여 'Wait' State를 타겟으로 하도록 연결시켜 줍니다.


   [그림 3-33]


   그리고 다시 플레이 버튼을 눌러서 매 1초마다 큐브의 위치가 잘 Reset 되는 지를 확인해봅시다.

   

※'Reset Cube Position' State는 내부에 있는 액션이 Finished Event를 설정할 수 없는 액션이 없는데도 불구하고, FINISHED 이벤트가 타겟으로 설정하고 있는 'Wait' State로 상태 변환이 잘 일어나는 것을 볼 수 있습니다.

그 이유는 시스템에서 기본으로 제공하는 FINISHED 이벤트는 State 내에 Every Frame 과 같이 지속적으로 체크를 해줘야 하는 액션설정이 존재하지 않는 이상 자동으로 다음 State로 처리과정을 넘겨주는 기능을 가지고 있기 때문입니다.

만약, State내에 지속적으로 체크를 하는 속성의 액션이 있다면, Wait이나 Send Event 액션으로 Finished Event를 설정해줘야 처리과정을 다음 State로 넘길 수 있습니다.

   

다음 강좌에서는 Prefab 만들기에 대해 알아보겠습니다.


스마트 아카데미 '스마트 앱 개발' 교육과정 안내

스마트 앱 개발 학원 국비지원 안내

K팝 홀로그램 상설공연장 개소

구글의 네스트 인수 의미

스카이 아카데미 취업 정보 - 선데이토즈 이야기

창의인재과정 안내

미래창조과학부 창조경제 실현

크리에이티브 UX교육 훈련과정 안내


Posted by 알 수 없는 사용자
유니티 강좌2014. 3. 24. 06:00

(6) PlayMaker 사용해보기


1) FSM 만들기.


1강에서 연습했던 프로젝트 파일을 열고, 그 안에 설치된 Playmaker를 활용해서 간단하게 어떤 구조로 비주얼 프로그래밍이 이루어지는지 살펴보도록 하겠습니다.

   

PlayMaker > PlayMaker Editor 메뉴를 사용해서 Playmaker Editor 창을 엽니다.


[그림 3-13]



[그림 3-14]


위의 그림과 같이 창이 열리면 해당 창을 유니티 인터페이스 안에 적절하게 공간을 할당하여 배치합니다.

에디터 창의 안을 보면 'Select a GameObject'라는 글씨를 볼 수 있는데, 현재 Hierarchy창에서 아무 오브젝트도 선택한 상태가 아니라면 이와 같은 메시지가 나타나게 됩니다. Hierarchy창에서 'Cube' 오브젝트를 선택하면 다음과 같이 내용이 변경됩니다.


[그림 3-15]


'Right-Click to Add FSM' 이 말은 즉, 현재의 창에서 마우스 우측 버튼을 클릭해서 FSM을 생성하라는 뜻입니다.


이 말이 설명하는 대로 창에서 마우스 우측 버튼을 클릭해서 FSM을 생성해보겠습니다.


[그림 3-16]


마우스 우측 버튼을 클릭했을 때, 나오는 메뉴에서 Add FSM을 클릭하면 FSM이 생성됩니다.


[그림 3-17]


FSM을 생성했다면 위의 그림과 같이 Start 라는 이름의 State와 State 1 이라는 이름의 State가 생성된 것을 볼 수 있습니다.


그리고 큰 회색 글씨로 쓰여있던 'Right-Click to Add FSM'이라는 메시지도 'Cube: FSM'이라는 내용으로 바뀐 것을 볼 수 있습니다. (즉, 'Cube' 오브젝트에 'FSM'이라는 이름의 FSM이 생성된 것입니다.)

이제 본격적으로 FSM 프로그래밍을 할 준비가 되었습니다..

   

이제 'Cube: FSM' Edit창에 있는 FSM 탭을 클릭한 뒤, 'FSM'만 적혀있는 이름 칸의 내용을 'FSM CUBE POSITION RESET'으로 바꿔봅시다.


[그림 3-18]


이렇게 이름을 바꿔주면, 큰 회색 글씨로 쓰여있던 'Cube: FSM'이라는 메시지도 바뀐 것이 보일 것입니다.

이렇게 생성된 'FSM CUBE POSITION RESET' FSM이 컴포넌트로 큐브에 잘 들어가 있는지 확인해봅시다.


[그림 3-19]


Hierarchy창이나, Scene창에서도 Playmaker 로고를 통해 FSM이 존재하는 오브젝트라는 것을 확인할 수 있습니다.


다음 강좌에서는 첫 번째 State의 구성에 대해 알아보겠습니다.


우아한 형제들 김봉진 대표 - 앱 개발 전문 학원 스마트 아카데미

창의융합형 교육이 대세다.

창조경제시대 왜 코딩교육인가 - 스마트 아카데미

페이스북 왓츠앱 인수

스마트 앱 전문 교육기관 스마트아카데미가 추천하는 안드로이드앱(1)

스마트 폰 삶 속으로 들어오다

3D프린팅과 스마트네트워크는 우리생활에 어떤 영향을 미칠까?


Posted by 알 수 없는 사용자
ICT Trend2014. 3. 21. 22:00

약정할인 적용 보상액 더 낮아져, 전고객 하루 요금분 감면

   

SK텔레콤의 서비스 장애로 불편을 겪은 고객들이 보상을 받을 수 있게 됩니다. 직접 서비스 장애를 겪은 560만명의 고객은 다음 달 '실제 청구 요금' 기준으로 6시간 금액의 10배를 받을 수 있습니다. 실제 서비스 장애 시간은 상관이 없습니다.

   

직접 서비스 장애가 발생하지 않더라도 SK텔레콤 고객이라면 하루 분 요금이 감면됩니다. 두 경우 모두 내달 청구 금액에서 감면되는 방식입니다. 직접 피해를 겪은 고객은 이중 보상을 받습니다.  택배와 콜택시 등 기업 사업 부문은 향후 피해 정도 파악 후에 별도로 보상키로 했습니다.

   

SK텔레콤은 21일 을지로 본사에서 긴급 기자회견을 열고 이같은 내용을 담은 피해 보상안을 발표했습니다.

어제(20일)오후 6시경부터 음성, 데이터 등 서비스 장애가 일어난 SK텔레콤 고객 560만명은 내달 실제 청구 요금에서 6시간 금액의 10배가 감면됩니다.

   

 

 

 

가입요금제 NO, 실 청구금액에 따라 보상금 지급

   

예를 들어 월정액 요금제 '올인원 54요금제' 사용 고객으로 내달 5만4000원이 청구된다면 약 4355원이 감면됩니다. 월 요금을 31일 기준으로 나누고 이를 또 24시간으로 나누면 1시간 금액이 나옵니다. 여기에 10배를 곱한 금액입니다. 하지만 통상 약정할인(1만7500원)을 제외하면 실금액은 3만6500원으로 보상금액은 2944원으로 낮아집니다.

   

직접 피해 고객 중복 보상

   

직접 피해를 입은 고객은 청구금액의 6시간 10배 감면에 SK텔레콤 전 고객에게 적용되는 하루 분 요금인 1177원을 중복으로 보상받게 됩니다. 따라서 약정할인을 1만7500원을 받는 54요금제 가입 고객 중 피해를 입었다면 총 4121원이 됩니다. 이달 추가 데이터 사용 등으로 내달 실제 청구금액이 높아지면 보상금은 더 늘어납니다.

   

62요금제(6만2000원)의 경우 약정할인(1만6000원)을 적용하면 실제 청구금액은 4만6000원이 됩니다. 총 보상금액은 10배 보상(3710원)과 하루 요금분(1484원)을 더해 5194원이 됩니다. 75요금제(7만5000원)를 쓰는 고객은 약정할인(1만8750원)을 적용하면 실 청구금액은 5만6260원이고 총 보상금액은 10배 보상(4536원)과 하루 요금분(1815원)을 합해 총 6351원이 됩니다.

   

 

 

 

장애 겪지 않은 SK텔레콤은 하루 요금 감면

   

직접적으로 서비스 장애를 겪지 않은 2G, 3G 등 SK텔레콤 고객들도 내달 청구 금액 중 하루 요금이 감면됩니다. 대상은 약 2700만명이다. 감면 금액은 내달 개인별 청구 요금에 따라 달라진다. 실 청구 금액의 31분의 1이 됩니다.  SK텔레콤은 오는 25일부터 서비스 장애를 겪은 고객들에게 보상 금액을 안내할 계획이고 향후 T월드, 고객센터, 대리점 등에서도 확인이 가능해집니다. 따로 신청할 필요는 없이 일괄적으로 내달 청구 요금에서 감면됩니다.

   

타사고객 피해 방안은 전無

 

타 이통사 고객이 SK텔레콤 가입자와 통화가 되지 않아 입은 피해에 대해서는 현재로서 별다른 대책이 없습니다. SK텔레콤측은 "약관에 없는 내용"이라며 손해배상 청구 외에는 방안이 없다는 입장압나다.

   

 

 

콜택시 등 SKT 이용 비즈니스에서 피해 입은 경우

   

콜택시, 택배 등 SK텔레콤의 망을 사용하는 기업 고객에 대핸 피해 보상안도 아직 정해지지 않았습니다. SK텔레콤은 "제휴사들을 방문해서 피해 정도를 알아보고 있다"며 파악하는 대로 별도 보상키로 했습니다.

 

 

스타트업 얼라이언스 출범 - 스마트 아카데미

비주얼 프로그래밍이란? - Finite State Machine(FSM)

모바일게임 플랫폼 시장 춘추전국시대 - 스마트아카데미

APP 개발 온라인 강좌 제3강 [3-4] - 비주얼 프로그래밍이란? - 플레이메이커의 설치

APP 개발 온라인 강좌 제3강 [3-3] - 비주얼 프로그래밍이란? - 프로그래밍의 구조

차량에서 아이폰을 쓴다면 - 스마트 아카데미

 

Posted by 알 수 없는 사용자
창업2014. 3. 20. 22:32

스타트업 얼라이언스 공식 출범


미래창조과학부와 국내 인터넷 기업들이 합작, 스타트업을 발굴하고 육성하기 위한 네트워크 '스타트업얼라이언스'가 공식 출범했습니다. 스타트업얼라이언스는 18일 강남 테헤란로에 위치한 커뮤니티 센터 '&스페이스'에서 개소식을 갖고 본격적인 출범을 선언했습니다.

   

이 날 행사에서는 최문기 미래창조과학부 장관과 윤종록 차관, 이석우 카카오 대표, 한국엔젤투자협회 고영하 회장, 카이스트 이민화 교수, 우아한 형제들 김봉진 대표, 요즈마그룹 이원재 지사장을 비롯한 50여개 참여기관 관계자 등 150여명이 참석했습니다.





얼라이언스는 국내 스타트업 생태계의 활성화와 성공적인 해외진출을 효과적으로 지원하는 것을 목표로 우수 인재들의 교류·협력의 장 마련을 통한 창업 활성화 , 네이버, 다음, SK, 카카오 등 인터넷 선도기업들의 효율적인 스타트업 지원 ,유망 초기 스타트업과 국내외 투자자 연결 ,해외시장 정보제공 및 해외 스타트업 커뮤니티와의 네트워킹,정부, 선도기업, 엔젤·벤처투자자, 학교, 창업보육기관, 엑셀러레이터 등 스타트업 생태계 구성원간의 정보공유의 장 마련 등을 중점 추진할 계획입니다.

   




 

얼라이언스는 이를 실현하기 위한 이날 출범식에서 올해 사업계획을 발표하고 다양한 네트워크 행사와 프로그램을 진행하기로 했습니다우선 오는 25일 실리콘밸리 한인 네트워크인 '베이 에어리어 케이그룹(Bay Area K-Group)' 멤버들을 초청해 '실리콘밸리의 한국인' 콘퍼런스를 개최하고, 4월부터는 네이버, 다음, 카카오, SK플래닛 등 선도기업의 실무경험이 풍부한 핵심인력들이 직접 스타트업을 만나 멘토링하는 '오피스아워 for 스타트업(가칭)' 세션을 개최할 예정입니다.

   

 

또한, 선도기업의 해외 지사와 네트워크 등을 활용한 해외 동반진출 프로그램 '스타트업 글로벌 부트캠프'를 실시하고, 첫 시범사업으로 네이버 일본법인인 라인과 연계한 '스타트업 재팬부트캠프(가칭)'를 추진할 계획이다. 하반기에는 국내 유망 스타트업의 글로벌 등용문으로 해외 현지 투자상담회 및 콘퍼런스인 '비글로벌(beGLOBAL)'을 실리콘밸리 등지에서 가질 예정입니다.

   



지난해 9월 얼라이언스 주관으로 실리콘밸리에서 개최한 제1회 beGLOBAL을 통해서는 온라인 가상화폐 비트코인의 한국 거래소인 '코빗(Korbit)'이 팀 드라퍼 등 현지 유명 투자자로부터 40만 달러의 투자를 유치하기도 했습니다.

   

 

한편, 얼라이언스는 국내 벤처투자자, 창업보육기관 관계자 등을 초청해 정보공유를 위한 워크숍을 가질 예정이며, 다목적 이벤트 공간인 &스페이스를 활용해 테마별 미니 워크숍과 커피 브레이크를 수시로 갖고 다양한 스타트업 커뮤니티 행사를 지원할 계획입니다.

   

 

임정욱 센터장은 "향후 미래부 등 정부·공공기관, 얼라이언스에 참여 중인 다양한 투자기관·창업보육기관 등과 상호 스킨십을 강화하면서 민·관 협력사업 등 효과적인 스타트업 지원 방안을 지속 발굴해 나가겠다"고 밝혔습니다이 날 개소식에 참여한 윤종록 차관은 "우리 인터넷 선도기업들이 돈 잘 벌고 좋은 서비스를 하는 굿 컴퍼니를 넘어 상생하는 산업 생태계 구축에 일조하는 그레이트 컴퍼니로 거듭나는 계기가 될 것"이라고 말했습니다.

   

사진출처 : Platum.kr



APP 개발 온라인 강좌 제3강 [3-4] - 비주얼 프로그래밍이란? - 플레이메이커의 설치

APP 개발 온라인 강좌 제3강 [3-6] - 비주얼 프로그래밍이란? - Finite State Machine(FSM)

 APP 개발 온라인 강좌 제3강 [3-3] - 비주얼 프로그래밍이란? - 프로그래밍의 구조

 APP 개발 온라인 강좌 제3강 [3-1~2] - 비주얼 프로그래밍이란?

한국의 구글 핸드스튜디오 - 스마트아카데미 (2)

한국의 구글 핸드스튜디오 안준희 대표 - 스마트아카데미

스마트안경 웨어러블 대세되나 - 스마트아카데미



Posted by 알 수 없는 사용자
유니티 강좌2014. 3. 19. 06:00

5) Finite State Machine(FSM)


PlayMaker는 비주얼 프로그래밍 방식 중에서 Finite State Machine(FSM-유한 상태 기계)방식의 프로그래밍 기법을 사용합니다. 수학이나 과학에서 사용하는 조금 어려운 개념입니다.


FSM을 쉽게 이해하기 위해 먼저 상태라는 개념을 알아봅시다.

상태란, 시간의 선상 위에서 어떠한 사물이나 존재가 취하고 있는 모양, 형편을 말합니다.


앞서 예를 들었던 자판기의 행동에서 상태를 찾아보자면,

소비자가 돈을 넣어주기를 기다리는 상태가 있고,

돈이 들어왔을 때 돈의 가격을 int 변수에 저장하고 제품들의 버튼 상태를 On시킨 후,

돈이 얼마나 들어 오는지, 많은 돈이 들어오는지,

거스름돈 반환 레버가 돌려지는지 체크하는 상태가 있으며,

제품을 선택한 뒤에 소비자가 또 다른 제품을 선택하는지,

거스름돈 레버를 돌리는지 체크하는 상태가 있습니다.


이러한 각각의 상태들은 상태가 유지되는 동안 해야 될 일들이 있으며, 그 일의 처리에 따라서 어떻게 상태들 간의 흐름이 다음으로 이어질 지가 결정됩니다.

   

이 상태(State)가 특정하게 제한된 것을 유한상태(Finite State)라 하며, 정해진 절차에 따라서 반복적으로 그 일을 수행하는 것을 기계(Machine)라고 합니다. 즉 FSM은 어떤 특정한 상태에서 정해진 일을 수행하는 것을 말합니다.


이것은 플레이메이커가 기존의 텍스트 프로그램이나 다른 비주얼 프로그램과 차별되는 중요한 특징입니다. 논리전개의 방법을 제한함으로써 오히려 분석과 이해를 쉽게 할 수 있습니다. 즉 마음대로(자유도가 높은) 만드는 텍스트 프로그래밍이나 비주얼 프로그래밍과 다르게 플레이메이커는 플로우 차트(Flow chart)처럼 제한된 상태로써 논리를 전개합니다. 이러한 프로그래밍 기법으로 인하여 다른 사람이 봐도 쉽게 이해할 수 있는 효과를 갖게 되는 것입니다.

 

말이 어렵나요? 그림으로 표현하자면 [그림 3-11]과 같습니다.



[그림 3-11]


이처럼 FSM은 각 객체 별로 존재하면서 그 안에 다양한 상태들을 담고 있으며, 각각의 상태들 안에는 그 상태에서 수행해야 하는 액션이 담겨 있습니다.


FSM이 들어있는 객체에 적절한 FSM 구성을 해주는 것도 중요하지만, 상태의 안에 그 상태에서만 수행해야 할 액션들을 구성하는 것도 매우 중요한 일입니다.


예를 들어 앞서 보았던 자판기의 FSM 구조를 처음 만들어보면서 '들어온 돈의 액수를 파악한다.' 라는 상태까지만 만들고 그 안에 필요이상의 액션이 들어가면 어떻게 될까요?


[그림 3-12]

분명히 상태는 들어온 돈의 액수를 파악하는 상태이지만, 그 안에서 액션들이 수행하고 있는 부분은 레버를 돌려서 돈이 나가는 것까지 들어있습니다.


이런 경우, 만약 소비자가 돈을 자판기에 넣었을 경우, 돈이 들어는 순간 프로그램이 액션들을 처리하면서 아래와 같은 일이 일어나게 됩니다.

   

①들어온 돈의 액수를 int 변수에 담고, 제품 버튼들의 FSM을 On 시킨다.

→ 돈의 액수 500을 int에 값에 저장.

제품 버튼들의 FSM On.

   

②돈이 들어오면 Red('int값을 더한다.' 상태)로.

→ ERROR: 이벤트에 연결된 상태가 존재하지 않습니다.

   

③반환 레버가 돌려지면 Blue('돈을 반환한다.' 상태)로.

→ ERROR: 이벤트에 연결된 상태가 존재하지 않습니다.

   

④int값을 체크해서 동일한 값으로 돈을 내보낸다.

→ int값을 체크한다.(int 값은 500이다.)

500원을 내보낸다.

int값을 0으로 변경한다.

   

'돈이 들어오길 기다린다.' 상태에서 돈을 넣는 것을 확인하고 '들어온 액수를 파악한다.' 상태로 들어오는 순간, 회색으로 보이는 글씨들은 에러로 인해 처리되지 못하고 남은 액션들이 프로그램으로 처리됩니다. 결과적으로 말하자면, 자판기에 500원을 넣으면 바로 500원이 반환되어 나오는 상황이 되어버리는 것입니다.


이런 예를 보면서 황당하게 느끼거나, '이런 말도 안 되는 실수를 누가해?' 라고 생각하는 분들이 있을지도 모르지만, 이와 같은 실수는 프로그램을 전문적으로 배워보지 않았거나, 배웠더라도 겉핥기 수준으로 배워본 프로그램의 초보자들이 쉽게 저지르는 오류입니다.


이런 황당한 경우를 겪지 않으려면 상태의 개념을 잘 이해하고, 하나의 상태에서 할 수 있는 행동과 할 수 없는 행동에 대해서 잘 구분 지을 줄 알아야 하며, 그것을 바탕으로 본격적으로 프로그램을 짜기 전에, 설계부터 논리적으로 구상을 해본 후 작업에 착수하는 것이 좋습니다


다음 강좌에서는 PlayMaker 사용에 대해 알아보겠습니다.


APP 개발 온라인 강좌 - 제1강 모바일 개발 환경과 Tool 소개 [1-1]

스마트 앱 개발 학원 국비지원 안내

스카이 아카데미 취업 정보 - 선데이토즈 이야기

미래창조과학부 창조경제 실현

스마트아카데미 책 소개 - 개발자, 나를 말하다

창조경제시대 왜 코딩교육인가 - 스마트 아카데미

스마트아카데미-시설 소개

스마트 앱 전문 교육기관 스마트아카데미가 추천하는 안드로이드앱(1)


Posted by 알 수 없는 사용자
ICT Trend2014. 3. 18. 17:16

모바일 게임 서비스를 제공하는 모바일 게임 플랫폼시장에 춘추전국시대가 열리고 있습니다. 카카오가 운영하는 '카카오톡 게임하기'가 모바일 게임의 주류로 부상하자 기존 게임업체에 이어 구글도 모바일 게임 플랫폼시장에 출사표를 내미는 등 시장 주도권을 둘러싼 경쟁이 치열해지고 있습니다.


17일 업계에 따르면 네이버는 이달 말 소셜네트워크서비스(SNS) '밴드'를 기반으로 하는 모바일 게임 플랫폼을 선보일 예정입니다. 밴드는 글로벌 누적 가입자 2,500만명에 달하는 SNS로, 국내 이용자만 1,800만명에 달합니다.

 

초대받은 사람만 가입할 수 있다는 특징을 내세워 대학생과 중장년층에서 인기입니다. 네이버는 밴드에 모바일 게임 서비스를 연동해 카카오톡의 게임하기 서비스를 본격적으로 견제한다는 계획입니다.


지인과 친구 사이의 경쟁심을 부추겨 카카오톡 게임하기 모바일 게임 서비스의 강자로 부상한 것처럼 밴드는 가까운 사람으로 구성된 만큼 파급력이 한층 높을 것으로 기대하고 있습니다. 네이버는 밴드를 앞세워 모바일 게임시장의 점유율을 확보한 뒤 향후 모바일 메신저 '라인'의 게임 서비스와도 연계할 예정입니다.





모바일 게임 플랫폼을 둘러싼 경쟁은 올 상반기를 기점으로 한층 뜨거워질 전망이다. 지난해 네이버에서 분사한 게임 전문업체 NHN엔터테인먼트는 상반기 중 신규 모바일 게임 플랫폼 '토스트플레이(가칭)'을 선보이고 카카오톡 견제에 나섭니다.


넥슨도 구글 플레이와 애플 앱스토어를 거치지 않고 모바일 이용자가 별도로 게임을 내려받을 수 있는 '넥슨 런치패드'를 출시하기로 했습니다. 앞서 게임빌은 2012년 7월 모바일 게임 플랫폼 '게임빌 서클'을 내놨고 컴투스도 지난해 9월 '컴투스 허브'를 출시한 바 있습니다.






글로벌 업체들의 행보도 빨라지고 있다. 중국 텐센트는 모바일 메신저 '위챗'과 연동되는 모바일 게임 플랫폼 '위챗 게임센터'를 지난해 8월 출시하고 가시적인 성과를 거두고 있습니다. 글로벌 가입자만 8억명에 달하는 위챗은 이미 모바일 메신저를 넘어 모바일 게임에서도 최강자로 부상했다. 중국, 대만, 말레이시아 등 중화권에 가입자가 집중됐다는 게 단점으로 지적됐지만 텐센트는 올해를 기점으로 북미와 유럽시장 공략에도 마케팅을 집중할 예정입니다.


구글은 아시아시장을 겨냥한 전용 모바일 게임 플랫폼으로 승부수를 던졌습니다. 구글은 오는 17일(현지시각) 미국 샌프란시스코 모스콘센터에서 열리는 세계 최대 게임 개발자 전시회 '2014 게임개발자콘퍼런스(GDC)'에서 아시아 모바일 게임시장을 겨냥한 전용 모바일 게임 플랫폼을 선보일 예정입니다.


 지난달 페이스북에 모바일 메신저 '왓츠앱'을 빼앗기자 모바일 게임을 앞세워 주도권을 확보하겠다는 심산입니다.  구글은 이미 내부 방침을 통해 한국을 비롯해 중국, 일본, 대만, 동남아를 기반으로 한 모바일 게임 플랫폼을 선보이겠다고 밝혔습니다.





모바일 게임 플랫폼을 둘러싼 경쟁이 가열되는 것은 모바일 게임사의 수수료 배분 논란과도 밀접한 관련이 있다. 현재 모바일 게임 개발사가 신작 게임을 카카오톡을 통해 1,000원에 출시하면 구글이 구글 플레이를 통해 300원(30%)을 수수료로 떼어가고 남은 금액의 30%인 210원을 다시 카카오가 가져갑니다.

 

결국 개발사는 1,000원에 게임을 판매해도 전체 매출의 절반이 안 되는 490원만 수익으로 챙깁니다. 신규 모바일 게임 플랫폼은 수수료를 강점으로 내세웁니다. 


구글은 모바일 게임업체가 구글 플레이에 게임을 출시하면 마케팅 지원을 약속했고 네이버도 밴드 게임 서비스를 통해 게임을 출시하면 수수료는 14%만 징수하겠다고 내부 방침을 정했습니다. 특히 밴드 대신 네이버 앱스토어를 통해 게임을 출시하면 네이버가 20%만 수수료를 제하고 개발사에게는 64%를 돌려주겠다는 계획입니다.



국내기업 개인정보유출 정리 - 스마트 아카데미

APP 개발 온라인 강좌 제3강 [3-3] - 비주얼 프로그래밍이란? - 프로그래밍의 구조

APP 개발 온라인 강좌 제3강 [3-4] - 비주얼 프로그래밍이란? - 플레이메이커의 설치

APP 개발 온라인 강좌 제3강 [3-1~2] - 비주얼 프로그래밍이란?

 APP 개발 온라인 강좌 제2강 - 유니티의 기본 구성 및 조작법 [2-6~7] - 물리 컴퍼넌트 구성하기

3D프린팅과 스마트네트워크는 우리생활에 어떤 영향을 미칠까?

 스마트안경 웨어러블 대세되나 - 스마트아카데미

한국의 구글 핸드스튜디오 안준희 대표 - 스마트아카데미

한국의 구글 핸드스튜디오 - 스마트아카데미 (2)




Posted by 알 수 없는 사용자