본문 바로가기

-----Unity 3d----/Tips

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에는 삭제 버튼이 따로 존재하지 않는 걸.. 더보기
[Unity3d]표면 스냅 기능을 이용한 캐릭터 지면에 정확히 배치하기 캐릭터를 Scene의 원하는 장소 근처에 배치한 다음 W키를 눌러 이동 모드로 전환한 후 Ctrl + Shift를 동시에 누르고 Obect를 움직여 보면 캐릭터를 지면에 정확히 위치 시킬 수 있습니다. 자석처럼 지면에 찰싹 달라붙을꺼예요.:) 더보기