애니메이션 클립을 설정합니다.

Player@Stay와 Player@Run을 먼저 설정하도록 하겠습니다.

각각을 이렇게 설정을 합시다

그리고 Apply를 눌러줍니다.

그 다음으로는 Player@Attack과 Player@Down을 이렇게 설정합니다.

이렇게 해서 일단 셋팅은 마치도록 하겠습니다??

셋팅은 일단 이런 식으로 하는 겁니다하고 알려드렸습니다.

이것을 참고해서 만들어 보시기를 바랍니다^^

블로그 이미지

이사가는 사람

안녕하세요 블로그를 옮기려고 생각하고 있습니다. 해당 블로그는 폐기하고 다음 다른 블로그에서 뵙도록 하겠습니다. 감사합니다!

,

제가 오류가 생겼다면서 작성하였던 코드를 올리도록 하겠습니다.

UnityEngine.Component.Getcomponent<Rigidbody>().velocity = velocity;

제가 이런 코드를 가지고 있었습니다.

이것은 UnityEngine에서 살짝 직접 수정을 해준 내용이었는데....

이게 오류를 불러오고 있었습니다.

물론 오류라면서

[파일 이름] error CS0120 (26,XX)

라고 표기가 되어 있었기 때문에 무슨 파일 몇번째인지를 알게 되었습니다.

그래서 일단 수정을 할까 해서 오류가 났다고 알려주는 console창을 읽는 도중

제가 혹시 몰라서 원래 작동이 되고 있던 코드도 같이 수정을 해 두었었습니다.

그래서 그거와 관련이 되어있다는 것을 알고

얼른 수정하러 이동을 하였죠

gameObject.Getcomponent<Rigidbody>().velocity = velocity;

이렇게 수정을 하고 console창을 보았더니!!!


놀랍게도 지금은 없어졌습니다!!


만세!!

블로그 이미지

이사가는 사람

안녕하세요 블로그를 옮기려고 생각하고 있습니다. 해당 블로그는 폐기하고 다음 다른 블로그에서 뵙도록 하겠습니다. 감사합니다!

,

와아....

error CS0120이라는 오류가 나타났습니다.

한동안 실습은 아마 이거 해결만 노력을 해야 할 것 같아요!

그래서 저는!

오류 해설을 보려고 왔습니다.

저에게 알려주고 있는 사람이 없기 때문에 아마도.... 하하??

뭐... 제가 꿈의 대학을 가게 된다면?? 아마도 해결이 가능 할 지도?? 적어도 물어볼 수 있는 사람이 한명이라도 생기는 거잖아요!

블로그 이미지

이사가는 사람

안녕하세요 블로그를 옮기려고 생각하고 있습니다. 해당 블로그는 폐기하고 다음 다른 블로그에서 뵙도록 하겠습니다. 감사합니다!

,

APOCALIPA CITY를 이번에 기획을 하게 되었습니다.

물론 친구들이랑 미소녀 연애 시뮬레이터 (이하 미연시)를 만들겠다고 하였는데

미연시 제작에 참여하는 친구들의 자유의사를 너무 존중을 하다가 흐음.... 무기한 연기가 되었다고 봐도 될 정도가 되었습니다.


그리고 제가 Civil War때도 그랬듯이 이상하게 아포칼립스 장르가 만들기 편할지도 모르겠다는 생각을 하였습니다.

이상하죠??

아무튼 저는 혼자서 레벨 디자인을 마치고 게임 제작을 시작하여 간단하게 알파 테스트 버전 또는 베타 테스트 버전까지 만들까합니다.

이것을 제작하기로 결심한 이유는 제가 Civil War를 혼자 힘으로 제작을 하였듯이 이번 APOCALIPA CITY도 혼자의 힘으로 제작을 하여

학교에 당당히 선생님들에게 보여줄까?? 생각을 하게 되었습니다.


물론 좀비라는 선호받지 못하는 또 슈팅이라는 교육의 의미로 더더욱 선호 받지 못하는 장르이기는 하지만 저는 레벨 디자인과 개발 과정들을 여러 방법으로 이 블로그에 게시를 하려고 생각을 하고 있습니다.


그리고 최종 완성본은 아마 대학교에 간다면 아니면 고등학교를 졸업하게 된다면 제작을 하게 되지 않을까 조심스럽게 생각을 합니다.


일단 이런 느낌의 초기 컨셉을 잡아볼까 생각중 입니다.

(http://kilo-staticgames-85326.tistory.com/entry/추가-저작권-링크?category=728712)

저작권은 기재가 되어 있는 게시글로 연결을 해두겠습니다.


아무튼 초기 컨셉을 그냥 저렇게 잡았습니다.


이번 것은 친구에게 돈좀 주고 아트좀 그려달라고 해야할 것 같네욬ㅋㅋㅋ

블로그 슬라이드에 게시를 하려면

블로그 이미지

이사가는 사람

안녕하세요 블로그를 옮기려고 생각하고 있습니다. 해당 블로그는 폐기하고 다음 다른 블로그에서 뵙도록 하겠습니다. 감사합니다!

,

https://www.artstation.com/artwork/JKxWD

APOCALIPA CITY 기획 아트 저작권 출처

블로그 이미지

이사가는 사람

안녕하세요 블로그를 옮기려고 생각하고 있습니다. 해당 블로그는 폐기하고 다음 다른 블로그에서 뵙도록 하겠습니다. 감사합니다!

,

캐릭터 애니메이션의 내용은 이렇습니다.

- 대기, 이동, 공격, 쓰러지는 연출

- 대기 중, 이동 중, 공격 중이라도 생명이 0이라면 쓰러집니다.

- 공격 중엔 검을 휘두르고 있을 때만 적과 무기 타격 판정이 유효합니다.


Unity엔 인간형 모델을 Humanoid라고 합니다.

캐릭터는 인간형이기에 앞서 설명한 것처럼 이 모델에 애니메이션 대상 변경 기능을 사용할 수 있습니다.


Project란에 미리 임포트를 시켜 놓은 모델 데이터를 선택합니다.

하지만 저는 제가 독학을 하고 있는 책자에서 샘플을 제공하여 주었습니다.

그러고 나면 Inspector에 'Player Import Settings'라는 것이 표시 됩니다.

그때 Rig라는 것을 누른 후에 인간형이라면 Animation Type을 Humanoid로 설정합니다.

Apply를 눌러 설정을 저장을 한다면 아래와 같이 체크 표시가 생길 겁니다.

그러면 이제 Animation Type에 Humanoid말고 다른 것은 무엇이 존재 하는지 그것을 알아보겠습니다.

- None : 애니메이션을 사용하지 않는 모델

- Generic : Humanoid가 적용되지 않는 모델

ex) 케르베로스, 드래곤

- Legacy : Unity 3.x 이전 버전의 애니메이션 시스템과 호환을 위한 설정

- Humanoid : 인간형 모델

ex) 오우거, 엘프, 인간

---------------------------------------------------------------

애니메이션 데이터를 설정할 차례입니다.

이번 게시글은 꽤 길게 진행할 생각입니다!!!


그럼 다시 본론으로 돌아와서

아까도 말을 하였듯이 제가 유니티 3D를 배울 때 사용하는 책자에서는 저에게 모션을 제공해 주었습니다.

대기 모션 / 이동 모션 / 공격 모션 / 쓰러지는 모션을 제공 받았습니다 (원래는 책사면 줍니다.....)

그럼 다시 설명을 하겠습니다.

일단 Project에 미리 임포트한 애니메이션 데이터를 선택합니다.

그러면 Inspector에 Player Import Settings가 다시 표시가 됩니다.

그리고 이번에도 Rig를 눌러서 Rig화면으로 변경 해줍니다.

그리고 Animation Type을 Humanoid로 설정합니다.

다시 Apply버튼을 눌러줍니다.


그리고 이 작업을 모든 인간형 모델의 애니메이션 데이터에 설정합니다.

---------------------------------------------------------------

이제는 앞서서 임포트한 애니메이션 데이터를 유니티에서 이용하기 위해 애니메이션 클립 파일로 만들어야 한답니다.

(먼데 이리 귀찮은데??)혼자 만들면 해야할게 너무 많잖아

Animation Clip(애니메이션 클립)은 임포트한 애니메이션 데이터에서 실제로 이용할 데이터만 뽑아서 유니티에서 사용하기 쉽게 조정한 데이터를 말합니다.


그럼 이제 본방입니다.

Project 브라우저에서 애니메이션 데이터를 하나 선택하고 나서 Inspector의 Animations 탭을 클릭합니다.

그럼 애니메이션 클립 설정화면이 나타납니다.

Clips에선 애니메이션 데이터를 추출하는 시간을 조절합니다.

그리고 FBX 애니메이션 데이터 하나에 애니메이션 여러 개를 모았다가 유니티에서 나누는 것도 됩니다. (이거는 솔직히 독학이라.... 책에는 쓰여 있는데 중요해 보이고 설명은 어렵고...???)

나머지는 뭐.... 애니메이션 클립의 재생 설정부분 입니다.


위 사진을 가지고 설명을 이어가겠습니다.

Loop Time : 이 속성에 체크하면 애니메이션이 반복 재생 됩니다.

- Loop Pose : 체크시 애니메이션 시작과 끝이 매끄럽습니다.


Root Transform Rotation

- Bake Into Pose : 체크하면 루트 오브젝트의 Transform -> Rotation에 애니메이션 값을 대입하지 않습니다. 회전 제어시 사용합니다.

- Based Upon : 회전의 루트 위치를 설정합니다.

- Original : 애니메이션 데이터를 따릅니다.

- Body Orientation : 상반신 전방을 루트의 Transform에서 Rotation으로 맞춥니다.

- Offset : 회전의 보정값을 설정할 수 있습니다.


Root Transform Position (Y)

- Bake Into Pose : 체크시 루트 오브젝트의 Transform -> Position -> Y에 애니메이션 값을 대입하지 않습니다. 캐릭터의 점프등을 관리할 때 사용합니다.

- Based Upon (at Start) : 수직 방향의 기준이 되는 것을 설정합니다.

- Original : 애니메이션 데이터를 따릅니다.

- Center of Mass : 오브젝트 중심을 루트의 Position -> Y에 맞춥니다.

- Feet : 발 위치에 맞춥니다.

- Offset : Position -> Y의 보정값을 설정할 수 있습니다.


Root Transform Position (XZ)

- Bake Into Pose : 체크시에 루트 오브젝트의 Transform -> Position -> XZ에 애니메이션 값을 대입하지 않습니다. 스크립트 쪽에서 오브젝트의 수평 위치를 제어할 때 이용합니다.

- Based Upon (at Start) : 수평 방향의 기준이 되는 것을 설정합니다.

- Original : 애니메이션 데이터를 따릅니다.

- Center of Mass : 오브젝트 중심을 루트의 Position -> XZ에 맞춥니다.


loop match 아이콘 : 속성 별 loop match 아이콘이 있습니다. 이 아이콘은 애니메이션의 시작과 끝을 연결했을 때 깔끔하게 재생되는지 나타냅니다. 아이콘이 초록이라면 문제가 없습니다. ( 색상 초록 -> 노랑 -> 빨강 이것은 시작과 끝의 포즈가 다른 정도)


Mirror : 애니메이션을 좌우 반전시킬 수 있습니다. 현재 설정값에 따라 어떻게 재생되는진 Inspector 맨 아래에 있는 [Preview]에서 확인할 수 있습니다. [재생] 버튼을 누르거나 타임라인을 조작해 Inspector만으로도 애니메이션을 확인할 수 있습니다. [Preview]오른쪽 위에 있는 슬라이더로 애니메이션 재생 속도를 조절합니다.

그러면 오늘 저는 이만 들어가보도록 하겠습니다.

블로그 이미지

이사가는 사람

안녕하세요 블로그를 옮기려고 생각하고 있습니다. 해당 블로그는 폐기하고 다음 다른 블로그에서 뵙도록 하겠습니다. 감사합니다!

,

Mecanim(메카님)이란 유니티 4에서 추가가 된 새로운 애니메이션 시스템을 말한다고 합니다.

대표적인 기능으로는 Retargeting(애니메이션 대상 변경) / State Machines(상태 머신)

이렇게 존재합니다.


---------------------------------------------------------------


애니메이션 대상 변경이라는 것은 다양한 3D 모델에서 같은 애니메이션 데이터를 사용할 수 있게하는 기능입니다.

휴머노이드라는 것에 이 기능을 사용할 수 있다고 합니다.

예를 들어 8등신 3D 캐릭터용을 만든 것은 2등신에서도 적용이 된다고 하니 얼마나 편한 것인지를 모르겠네요


---------------------------------------------------------------


상태 머신이라는 것은 애니메이션의 상태 전환을 유니티에서 편집할 수 있는 기능입니다.

애니메이션간 전환 조건 / 블랜딩 설정 등을 시각적으로 확인이 가능합니다.

유니티 실행중에 애니메이션 전환을 디버깅할 수 있는 기능도 지원합니다.

블로그 이미지

이사가는 사람

안녕하세요 블로그를 옮기려고 생각하고 있습니다. 해당 블로그는 폐기하고 다음 다른 블로그에서 뵙도록 하겠습니다. 감사합니다!

,

Warg모델을 화면으로 드래그를 하여 불러옵니다.

위치는 상관 없습니다. 잘 보이기만 하면 됩니다.


캐릭터와 같이 Warg에도 컴포넌트와 스크립트를 추가 합니다.

먼저 Character Controller를 위와 같이 셋팅하여 설정을 합니다.

그리고는 Character Move와 Character Status를 불러와서 다음과 같이 설정을 합니다.


그렇게 늑대를 프리팹화 합니다.


잊지말고 드래곤도 프리팹화를 하기 위한 셋팅을 합니다.

위와 같은 셋팅이 완료가 된다면 늑대하고 드래곤을 프리팹화 합니다.


블로그 이미지

이사가는 사람

안녕하세요 블로그를 옮기려고 생각하고 있습니다. 해당 블로그는 폐기하고 다음 다른 블로그에서 뵙도록 하겠습니다. 감사합니다!

,

프리펩이라는 것이 무엇인지를 먼저 생각을 해야 한다고 생각을 합니다.

제가 책을 보고 생각한 프리팹은 기본 셋팅이라는 것입니다.

기본값을 설정을 하는 것입니다.

그리고 모든 복제된 변형된 모든 오브젝트는 프리팹을 통한 기본 세팅을 진행을 합니다.

이렇게 Assets에 Prefabs라는 폴더를 생성합니다.

그리고 Hierarchy에 있는 캐릭터를 프리팹에 옮깁니다.

그리고 프리팹을 화면으로 옮겨서 꺼낸 후에 잘 되었는지 확인을 합니다.^^

블로그 이미지

이사가는 사람

안녕하세요 블로그를 옮기려고 생각하고 있습니다. 해당 블로그는 폐기하고 다음 다른 블로그에서 뵙도록 하겠습니다. 감사합니다!

,
제 생각을 마지막으로 정리를 조금 하겠습니다.

제가 훈련이라고 주장을 한 것은 결론적으로 경험에서 오는 것입니다.

그렇기에 저는 다른 방법이라도 좋으니 경험을 쌓아야 한다고 생각을 합니다.


그래서 이번 동아리 시간에 제가 부원들에게 말한 사항은

1. 너희들이 평소에 좋아하던 것을 찾아라!

2. 그것을 어떻게 하면 만들어내고 효과적으로 접근이 가능한가?

3. 평소와는 다른 시각으로 접근해라!

한 시간정도 넘게 떠들은 기억이 있습니다만(?)

그 동안 저는 저 3줄로 요약이 가능한 이야기를 했습니다.


그래서 저는 이렇게 말을 합니다.

경험을 바탕으로 다른 사람과는 다른 방식으로 새롭게 접근하는 것이야 말로 창의력의 근본이라고

아무튼!

저는 그런 방식을 좋아하고 평소에도 최근에는 많이 줄었지만 시간이 날때마다 해보고 있습니다.

꿀팁을 전수하자면 이미 생각했던 그리고 그 생각에서 이미 접근한 방식은 다시는 시도 하지 않을 것!



해당 카테고리의 다음 게시글은 게임 프로그래머가 보는 게임의 장단점

'게임은 좋은 것이다? vs 게임은 나쁜 것이다?'를 하도록 하겠습니다.

블로그 이미지

이사가는 사람

안녕하세요 블로그를 옮기려고 생각하고 있습니다. 해당 블로그는 폐기하고 다음 다른 블로그에서 뵙도록 하겠습니다. 감사합니다!

,