본문 바로가기

Unity3D

animator에서 각 애니메이션들의 상태 확인하기 들어가며... 기존의 FPS 게임과는 달리 현재 개발 중인 게임은 캐릭터가 시간, 게임 진행 상황에 따라 알아서 이동을 하게 된다. 그리하여 때에 맞는 애니메이션이 자동으로 실행되도록 해야하는데 Unity 공식 메카님 튜토리얼에서 알려준 방식과는 조금 달리 애니메이션을 사용하게 된다. How To... 12345678910111213141516private Animator avatar; void Update() { if (this.avatar.GetCurrentAnimatorStateInfo(0).IsName("Base Layer.Walk")) { // Do something } if (this.avatar.GetCurrentAnimatorStateInfo(0).IsName("Base Layer.Idle.. 더보기
Editor 모드에서 캐릭터가 지면에 정확히 위치하지 않는 현상 Ctrl + Shift를 눌러 캐릭터를 원하는 곳에 위치 시켰으나 땅에 반쯤 박히는 현상이 있었습니다.그러나 Play 시켜보니 정상적으로 지면에 서있는 것을 확인할 수 있었습니다. 1) Editor 모드일 때 2) Play 모드일 때 마치며... 기즈모가 왜 발이 아닌 캐릭터 중간쯤에 위치하고 있는지는 아직 잘 모르겠다. 아마 캐릭터 하위에 넣어둔 다른 GameObject의 영향을 받는 것 같다. 더보기
클래스(class)간의 정보 공유 들어가며... 일반적으로 A라는 클래스의 변수 또는 메소드에 public으로 선언해두고, B라는 클래스에 new 연산자를 이용하여 A 객체와 그 인스턴스를 만들어 사용을 하는데. 유니티에서는 .GetComponent() 을 사용하는 것을 추천하고 있다. 그 이유는 MonoBehaviour클래스를 상속 받은 클래스의 경우 new 연산자로 인스턴스를 만들게 되면, 유니티에서 불규칙적으로 생성자를 여러번 호출하기 때문이라고 한다 (심지어 Editor mode에서도 호출한다.). 그래서 유니티에서는 생성자에서 초기화하지 않고, Override된 Awake나 Start 함수에서 초기화하는 것을 추천하고 있다. How To... [클래스 A]public class A : MonoBehaviour{ public Ga.. 더보기
Terrain Inspector에서 추가 된 나무와 풀 삭제 방법 들어가며... 첫번째 그림과 같이 Terrain Inspector에서 나무나 풀을 추가하여, 두번째 그림처럼 Brush Size에 따라 나무나 풀을 Terrain 위에 만들 수 있습니다. 그러나 다음과 같이 추가된 나무는 Project 패널에서 직접 끌어다 추가한 경우와 달리 Hierarchy에 추가되지 않아 이를 어떻게 삭제하는지 헤맬 수도 있습니다. How to... Terrain Inspector에서 나무를 지우고 싶을땐 Place Trees 모드, 풀을 지우고 싶을땐 Paint Details 모드로 선택합니다. Brush Size로 범위를 조정하고, Shift + 마우스를 클릭합니다. Conclusion... 간단했습니다...그런데 왜 Unity Editor에는 삭제 버튼이 따로 존재하지 않는 걸.. 더보기
[Info][펌]유니티에서 C#으로 코딩할때 주의할 점 아래 내용은 ☞ http://blog.naver.com/leonhong/20146039629 에서 가지고 왔습니다. 1. MonoBehaviour, ScriptableObject 로 부터 ( 직접 혹은 간접으로 ) 상속 받아야 한다. ps. GameObject 에 Attach 하려면 MonoBehavior로 부터 상속받고, 일반 로직등에 필요한 클래스는 ScriptableObject로 부터 상속 받는다. 2. 클래스 이름과 파일 이름이 일치해야 한다. 3. namespace를 사용할 수 없다. -> 사용할 수 있지 않나요? 4. MonoBehaviour 일 경우, 멤버 변수만 Inspector 에 나타난다. 5. MonoBehaviour 일 경우, 생성자를 사용하지 말고, Awake( 이게 생성자 ), .. 더보기
Mecanim 애니메이션 튜토리얼(한글자막) 유튜브 영상 유니티 공식 웹사이트에 있는 튜토리얼 영상을 어느 친절한 한국분께서 자막을 달아두셨네요. Mecanim의 사용법을 제대로 익힐 수 있는 영상이 아닌가 싶습니다. 나중에 Mecanim 사용법을 따로 블로그에 포스팅해서 두고두고 봐야겠습니다. 더보기
[Unity3d][문제해결]There are inconsistent line endings in the 'xxx/xxx.cs' script. Some are Mac OS X (UNIX) and some are Windows..... ♬Problem 사진이 잘 보이지 않군요. 다시 적어봅니다. There are inconsistent line endings in the 'Assets/Scripts/HUD/HUD_controller.cs' script. Some are Mac OS X (UNIX) and some are Windows. This might lead to incorrect line numbers in stacktraces and compiler errors. Many text editors can fix this using Convert Line Endings menu commands. 이상없이 컴파일은 되지만 찝찝합니다. ♬Solution LineEnding Error로 파일을 Save As로 명확하게 LineEndin.. 더보기
[Unity3d]Intellisense was unable to determine an accurate completion list for this expression Javascript로 하고 있었는데 갑자기 인텔리센스가 안되고, 저런 메세지가 떴고, 가만 보니 다른건 작동을 하는데 UnityEngine만 인식하지 못 하는 것 같다. 어쨌든 1) http://stackoverflow.com/questions/13204428/visual-studio-2012-javascript-intellisense-not-working?lq=12) http://stackoverflow.com/questions/11488208/intellisense-doesnt-work-for-js-in-vs2012?lq=13) http://blog.craigtp.co.uk/post/Javascript-jQuery-Intellisense-in-Visual-Studio-2012.aspx 위의 3개의 페.. 더보기
[Unity3d][문제해결]The AnimationClip 'XX' used by the Animation component 'Main_character' must be marked as Legacy. The AnimationClip 'XX' used by the Animation component 'Main_character' must be marked as Legacy. 다음과 같은 경고가 뜨고 게임을 실행 시켜도 애니메이션이 적용 되지 않았습니다. 따라하기!!! 1) 3d 오브젝트를 선택합니다. 2) Component > Miscellaneous > Animation을 통해 애니메이션을 추가합니다. 3) 원하는 애니메이션을 추가합니다. 그리고 상단의 Model의 Select를 선택하여 Import Settings로 갑니다. 4) Rig 탭으로 갑니다. 5) Animation Type을 Legacy로 바꿔줍니다. 6) 그리고 게임을 실행시켜보면 애니메이션이 적용된 모습을 확인할 수 있습니다. 참고h.. 더보기
캐릭터에 생명을 불어넣는 mixamo URL ☞ http://www.mixamo.com/ 3ds max 사용이 많이 미숙하여 자연스런 캐릭터 애니메이션 제작에 어려움을 겪고있는 와중 여길 발견하였다. 다양한 케릭터 에니메이션과 심지어 리깅까지 10초만에 할 수 있게 지원을 해준다는 것을 알 수 있었다. 최근에 본 웹페이지들 중 제일 잘 만들어진 혁신에 가까운 웹사이트가 아닌가 생각된다.복잡하고 자신만의 애니메이션을 만들기위해선 약간의 돈이 필요하지만...그만한 가치가 충분하다고 생각된다. 더보기