스터디/Unity 2018. 11. 3. 21:38

[Unity] 작업노트 - Playmaker 연습하기 2 - Game Artz님 강좌


한글 유튜브 강의를 살짝 들어봄

https://www.youtube.com/watch?v=gA1Yxkq_uQc (Game Artz님) unity playmaker 02

https://www.youtube.com/watch?v=T36lEjrS2cQ unity playmaker 03


- 플레이메이커 설치후 중요 셋팅

- 버튼 눌러서 캐릭터 조작하기


유니티 메뉴 Playmaker > Addons>> download addons

Ecosystem browser 추가 설치해야 기타 플러그인을 사용할 있음


UI> Canvas 생성

안에 UI > button 생성

버튼에 Add FSM



버튼을 눌렀을때 오른쪽으로 이동하도록 만들어보겠음

Ecosystem browser 에서 U gui proxy full 다운로드


그러면 이제 state 에서 transition


반드시 add script 해야함

Play maker u component proxy (script) 추가!



키보드로 캐릭터가 4방향으로 로 움직이도록 했고, 버튼 누르면 구 쪽으로 달려감

Smoothy Look At, Move Towards 액션 사용




카메라가 캐릭터 쫓아가도록 main camera 오브젝트를 player캐릭터 넣음

근데 그러면 귀여운 앞모습이 보이질 않잖아..흑




카메라에 FSM 추가해서 Smoothy Follow Action 추가하면 카메라가 오브젝트를 자연스럽게 쫓아가고 회전함





https://www.youtube.com/watch?v=XRUUGhWB1Wg unity playmaker 04

큐브 위에 마우스 클릭하면 큐브가 사라지면서 다음 큐브가 나타나는 예제







다음 단계로 버튼을 누르면 캐릭터가 다음에 나타나는 큐브를 바라보도록 응용 해보았다

그리고 Cube를 누르면 Cube쪽으로 쫓아가고, sphere를 누르면 그쪽으로 쫓아감

근데 Sphere를 누르면 state가 finish 되면서 cube를 바라보는 state로 자동 넘어가서 획 돌아가버리는 느낌.

이건 어떻게 해결해야할까? finish가 되면서 cube를 바라보지 않는 state를 캐릭터에 하나 더 추가해야하나?

암튼 현재는 일일히 event 1 2 3 4 만들어서 큐브1 클릭하면 큐브 2 액티베이트 되면서 이벤트 1 보내고 rotateCube라는 글로벌 게임오브젝트에 Cube2를 넣는다. 

다음 cube2 클릭하면 cube3 액티베이트, 이벤트 2 보내고 rotateCube Cube 3 넣고.. 이렇게 동일하게 반복하게 된다. 

 이때 event 1 2 3 4 따로 보내지 않고 nextcube라는 이벤트를 만들어서 공용화하고, 다음에 액티베이트 되는 큐브를 글로벌게임오브젝트에 넣도록 공용화(함수화?)하고 싶은데 어떻게 하는지 잘 모르겠다. playmaker의 액션 종류에 대해서 좀더 공부해야할듯


getter/setter 구분해서 쓰는거랑 gameobject랑 FSMgameobject랑 변수로만 만든 gameobject랑 너무 헷갈림 0ㅁ0...


그래도 로직을 만들면서 헤매기는 하는데 연두색 선으로 state의 이동에 대한 디버그를 하면서 할수있어서 좀 다행이다


텍스트 코딩으로 했으면 내 실력으로는 어림도 없는 구성이었을듯!


playmaker 만세!








스터디/Unity 2018. 10. 2. 14:45

[Unity] ‘유니티로 만나는 애니메이션의 세계!’ - 제작 기법 세미나

https://onoffmix.com/event/153833  신청링크


유니티 코리아(대표 김인숙)가 유니티로 제작된 다양한 영화 및 애니메이션 사례를 선보이는 세미나인 ‘유니티로 만나는 애니메이션의 세계!’를 오는 10월 22일 최초로 개최한다.

유니티는 매번 새로운 버전을 선보일 때마다 향상된 실시간 렌더링 기능과 그래픽 처리 기술을 선보이며 영화 및 애니메이션 업계에서 활발히 사용되고 있다. 영화 '디스트릭트 9'으로 유명한 닐 블롬캠프(Neill Blomkamp) 감독 및 그가 창립한 오츠(OATS) 스튜디오가 제작에 참여한 유니티의 오리지널 영상 시리즈 ‘아담(Adam)’을 비롯, 디즈니가 제작한 TV 애니메이션 ‘베이맥스 드림즈(Baymax Dreams), ‘블레이드 러너 2049(Blade Runner 2049)’, ‘레디 플레이어 원(Ready Player One)’, ‘정글북(The Jungle Book)’ 등의 유명 작품들이 유니티로 제작됐다.

이번 행사는 22일 오후 1시 30분부터 6시 20분까지 서울 강남구 삼성동 소재의 서울종합예술실용학교 아트홀에서 진행되며, 유니티로 제작된 다양한 작품들과 영화 및 애니메이션 분야에서 활용되는 유니티의 다채로운 기능들을 소개할 예정이다.

먼저 유니티 에반젤리스트가 유니티의 실시간 렌더링을 통해 생산성을 대폭 향상시킬 수 있는 애니메이션 제작 파이프라인, 애니메이션 산업에서 활용할 수 있는 포스트 프로세싱 기능을 소개한다.

이와 함께 업계 종사자가 직접 참가하는 유익한 세션들도 이어진다. 2018 부천국제애니메이션페스티벌 국제경쟁 부문에 오른 애니메이션 ‘다시 찾은 사랑(Sonder)’의 제작사인 Soba Studio 담당자가 애니메이션 제작 스토리와 유니티 활용 방법에 대한 세션을 진행할 예정이다.

또한 네이버 웹툰 작가로 활동중이며 1인 게임 개발자인 ㈜스튜디오호랑 최종호 대표가 참여해 유니티를 활용해 제작한 VR만화 서비스 ‘스피어툰’의 제작 과정 및 시연 세션을 진행한다.

특히 각 세션의 중간에는 유니티로 탄생한 다양한 영상들을 상영하는 시간도 준비돼 있다. 다양한 작품들을 마치 단편 애니메이션 상영회처럼 감상하며 유니티 엔진의 발전상을 엿볼 수 있을 예정이다. 영화 및 애니메이션 업계 종사자와 디자인, 애니메이션 학과 학생 등 누구나 참여 가능하며, 신청 페이지(https://onoffmix.com/event/153833)를 통해 신청할 수 있다.

김인숙 유니티 코리아 대표는 “유니티는 영상 및 애니메이션 콘텐츠 편집 결과를 즉각 확인할 수 있는 실시간 엔진으로 제작 기간을 대폭 단축시킬 수 있는 유용한 툴”이라며, “이번 세미나를 통해 관련학과 학생 및 업계 종사자 분들이 제작 과정에서 유니티를 활용해 생산성을 높이고, 작품의 창의성 및 경쟁력을 높이는 데에만 온전히 집중할 수 있도록 돕고 싶다”고 밝혔다.

한편 유니티는 기업 목표인 ‘개발의 민주화’를 이루기 위해 영화 및 애니메이션 분야에서도 유니티로 누구나 손쉽게 콘텐츠를 제작할 수 있게끔 돕고 있다. 지난 6월 열린 ‘유나이트 베를린’ 컨퍼런스에서 AR 기술을 활용해 실제 인물의 표정을 가상의 캐릭터에 입힐 수 있는 ‘페이셜 AR 리모트 컴포넌트(Facial AR Remote Component)’ 기능, 인공지능(AI)을 활용해 애니메이션의 품질을 강화하는 AI 애니메이션 시스템 ‘키네마티카(Kinematica)’를 소개하는 등 지속적으로 엔진 기능을 발전시키고 있다.

또한 오는 10월 23일(현지 시각) 열리는 ‘유나이트 LA’에서는 영화 및 애니메이션 분야의 유니티 활용 사례와 노하우를 소개하는 ‘영화 및 애니메이션 서밋(Film and Animation Summit)’도 최초로 개최할 예정이다.

원문보기: 
http://www.inven.co.kr/webzine/news/?news=207998#csidxace2c73e1abd9c1be24e2ee808a2f62 


오 재밌겠다! 신청 완료 :)


스터디/Unity 2017. 3. 26. 21:21

[유니티] Unity create a game series (sebastian lague)



Unity Create a Game Series

https://www.youtube.com/watch?v=SviIeTt2_Lc&list=PLFt_AvWsXl0ctd4dgE1F8g3uec4zKNRV0

https://github.com/SebLague/Create-a-Game-Source


와 한글 번역 해주신분 감사합니다.

튜토리얼도 알차고 매 에피소드마다 코드 히스토리도 github에 올라와있고 이 튜토리얼로 공부한 한글 블로거들도 있어서 뭔가 문제에 부딪혔을때 검색해보거나 물어볼수도 있지 않을까 하는 기대감(?)



영상 러닝타임 약 5시간, 실제 따라 만들려면 하루 이틀이면 되려나. 생각좀 해보자.

00 Intro 1:31

01 Player controller 15:09

02 Gun system 14:43

03 Enemies 12:59

04 Damage system 10:06

05 Spawn system 10:41

06 Enemy Attacks 16:19

07 Some loose ends 10:37

08 Tile map 12:04

09 Obstacle placement 15:03

10 Map connectivity 17:04

11 Map navigation 14:40

12 Finishing the map generator 18:42

13 Random spawning 20:24

14 Game over 14:43

15 Particle death effect 13:24

16 Weapon effects 20:38

17 Weapon variation 12:41

18 Wave difficulty 16:04

19 Crosshairs 14:20

20 Recoil and reloading 22:12

21 Guns and UI 22:16

22 Audio pt1 17:30

23 Audio pt2 17:22

24 Menu 31:20

25 finishing up 31:12

스터디/Unity 2016. 8. 17. 22:41

[유니티] Vuforia 마커 테스트

https://developer.vuforia.com/


http://dark0946.tistory.com/292


vuforia사에서 제공하는 unity용 AR 마커기능 테스트


* 덧 : 여러개 마커 동시 인식할때는 AR camera 에서 꼭 이미지타겟 맥스 값 추가해줄것!



홈페이지에 가서 개발자 라이센스 등록후 타겟 설정.

이미지, 큐브, 원기둥, 뷰포리아 전용 앱으로 스캔한 3d object를 트래킹 대상으로 설정할 수 있음 


6면체에 각각 이미지를 등록하고 데이터를 다운받아 유니티에 import



db를 불러오면 타겟이 화면에 뜨고, 그 타겟 아래 차일드로 원하는 3d object를 넣는다. 



싱글 이미지 테스트


폰 화면 안에 넣은 싱글 이미지


안약통에 프린트한 그림 붙인 육면체도 잘됨 

 자유로운 회전에는 육면체가 좋은듯 


multi target 테스트


레고로도 과연 될까 



레고 각 면의 사진을 찍어서 기울어진걸 보정하고 큐브에 붙였는데

features (특징이 되는 점) 가 부족해서 잘 인식이 안됨.

컬러로 인식하는게 아니라 그레이스케일에서 대비가 되는 점들로 인식하는거였음



그럼 좀 더 자잘하게. 

작은 플레이트도 더 사고 뚜껑 덮을 1칸짜리 타일들도 좀 더 사야할듯 

사진을 대충찍어서 늘렸더니 우글쭈글

별이 두개 더 올라가긴 했는데 여전히 부족한 포인트..


아주 힘겹게 가끔 인식된다.



스터디/Unity 2016. 7. 20. 16:39

[유니티] 유니티5 액션 RPG 전투 입문 강좌 수강



아래 두 강좌 수강을 끝내고 


[유니티] 초보자를 위한 유니티 C# 스크립트 강좌 수강


[유니티] 유니티 4 기초테크닉 80


ibatstudio의 액션 RPG 게임 강좌 출시 기념으로 50프로 할인중 (7월 21일까지) 이라 냉큼 구매해서 듣고 있다. 

게임을 만들어야하는건 아니지만 이 강좌에서 다루는 주요 모듈들이 내가 만들어야하는 프로토타이핑에 요긴하게 쓰일것 같다.




항상 초보자도 이해하기 쉽도록 풀어서 설명해주시고

 작은 부분도 놓치지않고 반복적으로 섬세하게 짚고 넘어가주시는게 감사하다.

아쉬운 점이라면 교안이나 예제 코드가 따로 없어서 

강좌들으면서 일일히 다 중요 내용은 필기를 따로 해놓아야 하고, 

오타나 작은 실수 때문에 문제가 생겼을때 뭐가 잘못됐는지 찾으려면 영상을 일일히 열어서 다시 체크해야한다는 점때문에

하나하나 넘어갈때마다 시간이 엄청 오래걸리면서도

그 때문에 좀더 꼼꼼하게 공부하게 된다는 엄청난 장점이 있다(?)

역시 어렵게 얻을수록 살과 피가 되는건가.








  • Module #1 마우스 클릭 이동 배우기

    마우스 클릭 이동을 위해서는 화면 좌표를 월드 좌표로 변환하는 방법을 배우셔야 합니다. 우리가 3D 공간에서 캐릭터를 이동시키려고 마우스 클릭을 할 때, 실제로는 2차원 평면 화면을 클릭하고 있는 것입니다. 여기에서는 레이캐스트를 이용하여 2차원 좌표를 3차원 좌표로 변환하는 방법을 상세하게 알려 드립니다.

    m1

    Module #2 유한 상태 기계(FSM) 만들기

    복잡한 게임을 만들기 위해서는 우리가 캐릭터나 몬스터의 행동에 대해 일일이 조건문을 이용하여 조건 판단을 하는 식으로 작업할 수 없습니다. 대신 해당 캐릭터의 상태를 정의하고, 각 상태에서 어떤 행동을 하며, 각각의 상태는 어떤 조건에 의해 변하게 되는가를 지정해 주면 됩니다. 이를 위해 유한 상태 기계(FSM)의 개념을 상세하게 알려 드리고, 실제 FSM을 만들어 캐릭터와 몬스터의 행동을 제어해 보겠습니다.

    m2

    Module #3 부드러운 회전과 부드러운 이동

    이제 마우스 클릭 지점으로 캐릭터를 이동시켜야 합니다. 이 때 자연스럽게 회전하고 이동하기 위해서는 어떤 로테이션 값을 가져야 하는 지를 계산하는 것 뿐 아니라, 매 프레임당 얼마나 조금씩 회전해야 자연스럽게 보일 지를 계산해 내야 합니다. 다행히도 유니티는 이런 과정을 아주 쉽게 처리할 수 있는 명령어들을 제공하고 있습니다.

    m3

  • Module #4 자동 공격하는 몬스터 만들기

    몬스터 역시 FSM을 구현하여, 자동으로 공격과 추적 등을 판단하고 수행할 수 있도록 해야 합니다. 여기에서는 몬스터가 플레이어와의 거리를 체크하여, 이에 따라 스스로 추적과 공격, 그리고 재 추적 등을 행할 수 있도록 하는 방법을 상세하게 다루게 됩니다. 또한 정해진 시간 차를 두고 자동으로 공격을 반복하게 하는 기법 등도 상세히 알려 드립니다.

    m4

    Module #5 캐릭터 파라미터 관리하기

    플레이어와 몬스터가 공방을 벌일 때, 내부적으로는 다양한 수치 계산이 이루어집니다. 이를 위해 플레이어와 몬스터가 공통적으로 사용하는 파라미터들을 담은 "캐릭터 파라미터" 부모 클래스를 만들고, 이를 몬스터와 플레이어 캐릭터 파라미터 클래스들이 각각 상속하도록 해 보겠습니다. 또한 가상함수와 오버라이드 함수를 사용하는 방법도 상세히 알려 드립니다.

    m5

    Module #6 이벤트(Event) 이해하기

    게임을 하는 동안에는 다양한 이벤트들이 일어납니다. 이 때 특정한 이벤트가 발생하면, 그에 따라 미리 등록해 둔 여러 개의 함수들이 동시에 실행되도록 하는 식으로 많은 게임 오브젝트들이 특정한 사건에 대해 각자 다른 방식으로 반응하도록 할 수 있습니다. 여기에서는유니티 이벤트를 사용하는 방법과 함께, 캐릭터 애니메이션의 특정 프레임에 이벤트 함수를 등록하는 방법도 배우게 됩니다.

    m6

    Module #7 UI 만들기

    게임에 등장하는 많은 몬스터들은 각자 자신의 잔여 HP를 표시하기 위한 게이지 바를 가지고 있습니다. 여기에서는 유니티 UI를 이용하여 이들 게이지 바들이 몬스터 머리 위를 자연스럽게 따라 다니도록 하는 방법을 알려 드립니다. 또한 몬스터의 HP 값이 줄어들 때마다 게이지 바도 자동으로 줄어들게 하는 법과 플레이어 캐릭터의 헤드 업 디스플레이(HUD) 만드는 법도 다루어 보겠습니다.

    m7

    Module #8 리스폰 영역 만들기

    필드 곳곳에 특정한 종류의 몬스터들이 자동으로 생성되도록 하는 '리스폰 영역' 만드는 법을 다룹니다. 리스폰 영역 마다 서로 다른 종류의 몬스터들을 등록하고, 이들 몬스터들이 플레이어의 접근시 자동으로 생성되도록 해 보겠습니다. 또한, 전투 중 모든 몬스터들이 사망하면, 일정 시간 후에 죽은 몬스터들을 재활용하여 다시 리스폰 시키는 방법도 다루어 봅니다.

    m8

    Module #9 엑셀 파라미터 불러 오기

    게임 속에 등장하는 수 많은 종류의 몬스터들의 파라미터 값들을 유니티 에디터에서 일일이 입력하는 것은 비효율적인 일입니다. 여기에서는 게임 기획자들이 엑셀로 작업한 몬스터 파라미터 데이터를 XML 파일로 변환한 뒤, XML 파싱을 통해 실제 게임 몬스터들에게 자동으로 적용하는 방법을 다루어 보겠습니다.

    m9

     



스터디/Unity 2016. 7. 20. 16:22

[Unity] Delegate 와 Event 설명 모음


아무리 봐도 헷갈리는 Unity3d C#  이벤트 event 와 델리게이트 delegate 사용 참고 페이지들


[유니티] 터치이벤트 처리하기

http://www.bsidesoft.com/?p=164


delegate, action, event 활용 관련 

http://hyunity3d.tistory.com/522


유니티 event delegate 예제

http://hyunity3d.tistory.com/528


[C#] delegate과 event의 차이점 

http://www.gpgstudy.com/forum/viewtopic.php?topic=18988


Delegate( 델리게이트 ) 는 어떨때 쓰나요?

http://devkorea.co.kr/bbs/board.php?bo_table=m03_qna&wr_id=36068


C# 강좌 19편. 델리게이트와 이벤트

http://blog.eairship.kr/151


[Unity, C#] EventHandler를 이용해서 Event Driven Programming 하기

http://growingdever.tistory.com/215


<C# 강의> 5장. 델리게이트 (Delegate) - 콜백, 체인

http://mrw0119.tistory.com/19


<C# 강의> 7장. 이벤트 (Event)

http://mrw0119.tistory.com/21


C# event (이벤트) 를 알아보겠습니다.

http://aloloever.blogspot.kr/2015/01/c-event.html


유니티 - 탄막 슈팅 게임을 만들자(2), 이벤트(Event)와 Delegate 의 사용

http://linecode.tistory.com/12


UnityEvent, UnityAction and Delegate

http://rapapa.net/?p=2936


대리자(delegate)

http://penji.tistory.com/160


C#기초문법 <6> 델리게이트, 이벤트

http://blog.daum.net/_blog/BlogTypeView.do?blogid=0rMHK&articleno=104&categoryId=9&regdt=20151227150851


C# delegate 쉽게 이해하기

http://www.csharpstudy.com/CSharp/CSharp-delegate-concept.aspx


c# lambda expression

http://www.csharpstudy.com/CSharp/CSharp-lambda.aspx

스터디/Unity 2015. 8. 20. 21:39

[유니티] 유니티4 기초테크닉 80 + Roll a Ball + zombie run


150819


1. <유니티 4 기초테크닉 80> (링크) 

교재 및 영상으로 우선 기초 계속 다지기, 기초 개념이나 팁들을 잘 끊어서 설명해줘서 좋다

내일 스터디 모임 전까지 Roll a ball 튜토리얼 다해보고 가야하는데 그 젤 쉽다는 튜토리얼도 나한테는 어려워서 최대한 테크닉 진도는 서둘러 나가둘수록 좋은것 같다 









잘 이해 안되는 (안 익숙한) 부분, empty object가 스크립트랑 연결된다는건 어떤 의미인거지.. 

그리고 스크립트 쓰고서 변수 필드에 드래그앤 드랍해서 오브젝트를 껴넣는데 그것도 내가 뭐하고있는건지 알수없지만 일단 시키니까 따라해본다..  자꾸 반복되면 왠지 감으로 알게될것만 같은 느낌..(ㅠㅠ)



요 교재 진도가 완료가 되고 나면 새로나온 5 강좌도 구매해서 복습할겸 프로젝트랑 병행해서 공부할 예정 http://www.ibatstudio.com/unity5/





저자가 올려두신 52분짜리 UNITY를 위한 C# 동영상 강좌도 http://meeis.tistory.com/65 








2. Roll a Ball  (https://unity3d.com/kr/learn/tutorials/projects/roll-ball-tutorial)



유니티에서 제공하는 튜토리얼에는 7개의 프로젝트와  Interface & Essentials에 대한 자잘한 영상들이 있다. 프로젝트중에 젤 쉬운 Roll a Ball 부터 시작

위의 책에 비해 엄청난 속도로 막 지나가버려서 계속 Pause를 눌러가며 힘겹게 따라함 ㅠ 

인터페이스 쪽은 그나마 책에서 따라하고있어서 그나마 익숙해지고 있는데 스크립트는 따라서 타이핑해봤자 아직 전혀 이해가 안되고 있다...

그대로 따라하기만 하는데도 자꾸 오류가 나는지......(알고보면 원인은 아주 사소한 오타나 체크박스 때문이긴하지만)




오브젝트가 중력이나 충돌 등의 물리적성질을 가질수있도록 세팅하고 오브젝트들의 관계를 유기적으로 설정해줄수있는게 유니티의 재미난점인것 같다


운동이나 각도를 다루는데에서 점차 수학이 등장하기 시작하니 멘붕.. 

영어+코딩+3D+수학까지 4중고



어찌어찌해서 게임은 완성 중간에 공을 키보드로 굴려서 노란색을 다 없애면 게임이 끝난다


유니티의 장점은  프로세싱이나 MAXMSP보다는 다양한 환경으로의 빌드가 용이하다는 것, 맥에서는 APP파일, 윈도우에서는 EXE파일로 재생가능하다. 

언능 배워서 웹이나 모바일을 위한 무언가도 만들어보아야지




3. Zombie Run





목요일 오전 스터디 모임, 반선배의 좀비 튜토리얼 

에셋스토어에서 무료로 다운받은 좀비 오브젝트로 간단한 게임을 만들어 보았다

1인칭 시점 카메라뷰의 플레이어가 키보드로 움직이면 좀비떼들이 쫓아오고 + 가까워질수록 좀비의 괴성이 커지도록

여기서도 등장하는 벡터. 와 무슨말인지 나만 몰라서 정석을 다시 꺼내어 울면서 공부를 따로 좀 해야할것 같으다..




좀비의 회전 각도 코드가 아직 약간 완성이 덜되어서 어느 위치에서는 좀 이상하게 회전되긴하지만..  선배님이 고쳐주시겠지 난 아직 저 코드의 의미도 다 모름 흑흑

튜토리얼 후 각자 앞으로 할 프로젝트에 대한 간단한 프로포절, 

선배들은 이미 진행중인 연구 주제에 맞게 준비들을 해왔는데 주영이랑 나랑은 아직 유니티로 뭘 할수있는건지 잘 모르기도 하고 진행중인 연구가 없다보니 일주일정도 더 생각해보기로 했다