728x90
728x90
유니티 GetAxis() 함수란? Input.GetAxis()는 GetAixs와 관련된 입력을 받아들여오는 명령어로, -1과 1 사이의 실수값을 리턴하고 기본적으로 0의 값을 가진 함수이다. 대표적으로 Horizontal과 Vertical에 대한 값을 받아올 수 있다. Horizontal : 좌우로(방향키 왼쪽/오른쪽) 움직이는 값을 받아옴 Vertical : 수직으로(방향키 위/아래) 움직이는 값을 받아옴 즉, Horizontal 값을 받아올 때 왼쪽 키를 누르면 0에서 -1로 값이 변하고, 오른쪽 키를 누르면 0에서 1로 값이 변하는 형식이다. GetAxis()함수와 GetAxisRaw() 함수 특징 비교 비슷한 함수로 Input.GetAxisRaw()가 있는데 둘의 차이점이 있다면, Input.Ge..
유니티에서는 AR 콘텐츠 제작 기능을 지원하고 있다. 이를 활용하여 얼굴을 인식하는 AR카메라를 만들어보겠다. 먼저 Package manger의 Unity Registry에서 AR Foundation, ARCore XR Plugin, ARKit Face Tracking 3가지를 install해주면 된다. 그리고 프로젝트 세팅으로 가서 XR Plug-in Management에서 ARCore을 반드시 체크해주어야 한다. 그리고 Player - Other Setting - Graphics APIs에서 vulkan을 삭제하고 Color Gamut에서 Multithreaded Rendering 체크를 해제해 준다. 그리고 마지막으로 minimum api level을 26이상 버전으로 변경만 해주면 기본적인 세팅이..
적을 피하면서 코인을 최대한 많이 획득하는 미니게임을 만들어보자. 이번 단계에서는 기본적인 플레이 환경을 세팅하고 플레이어 및 코인 세팅까지만 완료해보도록 하겠다. 플레이어가 활동할 Floor는 큐브로 만들어 주었다. 구글에서 따로 받은 floor texture을 머터리얼에 입힌 후 큐브에 넣어 다음과 같은 기반을 완성했다. 여기서 floor texture는 새로 생성한 머터리얼의 Albedo 옆 작은 사각형에 넣어주면 활성화가 된다. 기본 텍스처에 Albedo값을 조정해주면 다양한 색상으로 바꿀 수 있고 Metallic과 Smoothness도 함께 바꿔 효과를 더할 수 있다. 다음으로 Capsule을 사용하여 player를 만들어주었다. add component에서 capsule collider와 ri..
Destroy()는 특정 시간 동안 GameObject나 Component를 제거하는데 사용하는 함수이다. Input.GetKey(KeyCode.Space)는 스페이스바 키를 누를 경우 지정된 오브젝트가 게임 뷰에서 제거된다. Update() 함수 내 gameObeject를 destroy 해주면 게임오브젝트가 제거되지만, GameObject other을 public으로 선언해주고 인스펙터 스크립트 other에 원하는 오브젝트를 가져다 놓으면 씬 뷰에서 제거 대상을 자유롭게 바꿔줄 수 있다. Destroy(GetComponet())를 호출해 컴포넌트 자체를 제거할 수 도 있다. 추가적으로 Destroy(gameObject, 3f)와 같이 delay time을 설정해주면 함수 호출 시 3초 후에 오브젝트가 ..
비행기 게임을 보면 다양한 형태의 총알(무기)을 탑재하고 있고 적에게 들어가는 데미지도 다르다. 여러개의 bullet 프리팹을 추가하여 무기의 형태 및 성능을 강화해보겠다. 먼저 다양한 bullet sprite 중에 사용하고자 하는 sprite이미지를 선정하고 prefab화 시켜주자. 이전에 만들었던 기본 bullet에 속한 컴포넌트들을 똑같이 지정해 주었다. sprite를 씬 뷰로 옮겨논 후 transform을 reset(좌표값 0,0,0) / box collider 2D, IsTrigger 체크 / Rigid body 2D, Gravity Scale 0 / 총알이 발사될 때 나오는 sound effect는 sound source를 bullet에 드래그앤 드롭 bullet 스크립트에는 "public i..
LookAt()함수는 게임 오브젝트를 지정한 방향/오브젝트를 향해 trasform해주는 함수이다. 쉽게 말해서 특정 오브젝트가 target오브젝트를 바라보게 하는 함수인 것 RPG 게임 내에서 내 캐릭터와 적의 캐릭터가 가까워졌을 때 적 캐릭터가 내 캐릭터를 바라보게 만드는 기능을 수행 (적 캐릭터가 따라가거나 물리적 충돌을 일으키지는 않는다.) 또한 카메라에 LookAt()함수를 적용하면 지정된 오브젝트를 카메라가 따라가게 만드는 연출 효과를 만들 수 있다. Find()함수는 특정 오브젝트를 찾기 위해 쓰는 함수이다. 보통 GameObject.Find(string) 또는 GameObject.FindGameObjectWithTag(string) 형식으로 입력한다. 부모-자식 계층화를 통해 자식 오브젝트가..