unity 11

[Firebase] Unity에서 Firebase 사용하기

멍하 멍정입니다. 이쪽 블로그에서는 설명하는 말투로 적어본 적이 없어서 좀 어색하지만 열심히 적도록 노력해볼게요. 오늘의 주제는 '유니티에서 파이어베이스로 데이터 전송하기'입니다. 본론에 들어가기에 앞서.. 왜 파이어베이스를 사용하고 있는가? why? 이번에 진행하는 프로젝트는 카메라로 촬영한 이미지를 웹에 업로드하여 웹에서 이미지를 받아볼 수 있도록 진행하고 있기 때문이죠! 아무튼 거두절미하고 본론으로 가보아요(ง˙∇˙)ว Firebase란 무엇인가? 파이어베이스를 활용하기 위해서 파이어베이스가 무엇인지 먼저 알아볼 필요가 있겠죠? Firebase는 사용자의 사랑을 받는 앱과 게임을 빌드하고 성장시키는 데 도움이 되는 앱 개발 플랫폼입니다. 이 플랫폼은 Google이 지원하며 전 세계 수백만 개 회사에..

UNITY/Firebase 2023.11.22

[UNITY] Lerp 오브젝트가 따라다니게 만들기

내가 이동하는 위치로 오브젝트가 따라오게 만들 때는 Lerp을 쓰면 쉽게 해결할 수 있다! public GameObject a; //이동 시킬 오브젝트 public GameObject b; //목표 위치 오브젝트 a.transform.position = Vector3.Lerp(b.position, a.position, Time.deltaTime * 변수); a.transform.rotation = Quaternion.Lerp(b.transform.rotation, a.rotation, Time.deltaTime * 변수); Lerp(목표 위치, 현재 위치, 걸리는 시간) //시간이 커지면 빨라짐 요렇게 하면 내가 이동하는 위치로 오브젝트가 졸졸 따라오게 할 수 있다! 나는 캐릭터가 움직이면 UI가 거기에..

UNITY 2022.08.23

[UNITY] FillAmount를 사용하여 체력바(HP/MP) 만들기

유니티에서 체력바를 만들어보자! 우선 UI에서 이미지파일을 생성한다. 하이라어키에서 우클릭으로 UI-Image를 누르면 캔버스와 함께 생성된다. 생성된 이미지의 Source Image에 이미지 스프라이트를 넣어주자. 적당한 스프라이트를 추가해주고 이미지타입을 Filled로 바꿔준다. 기본 설정은 원형으로 없어지는데 HP는 옆으로? 없어지니까 설정을 Horizontal로 바꿔주면 된다. horizontal로 변경해주면 Fill Amount값에 따라서 이미지가 변하는 모습을 볼 수 있다. 0부터 1까지의 값으로 조절할 수 있다. 체력바를 관리해줄 스크립트를 하나 만들어준다. 이미지에 접근하기 때문에 UnityEngine.UI를 추가해준다. 스크립트를 이미지파일에 넣을 것이기 때문에 GetComponent로 ..

UNITY 2022.08.13

[UNITY] 애니메이션(animation) 사용하기

애니메이션을 만들 수 있다면 좋겠지만.. 3D 모델링을 할 수 있다면 좋겠지만.. 그게 어려운 경우! 유니티에서 제공하는 애니메이션을 사용하여 간단한 애니메이션을 사용할 수 있다! 애니메이션 창은 window- animation - animation에서 열 수 있다. 애니메이션 창은 요렇게 생겼다. 애니메이션을 만들 때는 내가 애니메이션을 넣을 오브젝트를 클릭한 상태에서 create를 눌러야한다. (위의 창은 player라는 이름의 오브젝트를 선택한 상태여서 player로 나온다) 파일을 생성하면 이렇게 바? 형태가 나온다. 이번에 샘플로 만들어 볼 것은 상자 열기! 왼쪽 하단의 add property를 통해 애니메이션을 넣어 줄 속성을 고를 수 있다. rotation을 선택하고 옆에 있는 타이머 바를 ..

UNITY 2022.08.10

[UNITY] Instantiate 플레이 중 아이템 생성하기

특정 조건에서 아이템을 생성할 필요가 있는 경우가 있다. 예를 들자면 지금 내가 이 코드를 사용하는 총알을 생성하는 경우랄까 Instantiate를 사용하면 원하는 위치에 원하는 오브젝트를 생성할 수 있다. 기본적인 사용 방식은 이렇게 된다. GameObject 오브젝트명 = Instantiate(GameObject, position, rotation); 내가 생성할 오브젝트를 GameObject칸에 생성된 아이템의 position은 postition에 생성된 아이템의 rotation은 rotiation에 넣어주면 된다. 사용은 이런식으로 할 수 있다. bullet 오브젝트를 public으로 받아오고 복제된 bullet 오브젝트를 스크립트가 붙어있는 오브젝트의 위치에 생성한다. public GameObj..

UNITY 2022.08.01

섹션 1 : 소개와 설치

멍하! 이것저것 바빴던 5월을 지나 6월이 되었으니 새로운 마음으로 다시 열공하겠다는 마음을 먹었다.. 전에 사놨던 유데미 강의도 들을 겸 필기도 할 겸 이것저것 해서 블로그에 적기로 했다! 섹션 1은 유니티를 설치하고 오브젝트 생성하는 기초적인 내용이지만 알아두면 좋은! 하지만 알려주지 않으면 모르는 정보들을 조금 정리해보았다~~ Q W E R T 유니티를 다루다보면 당연하게 오브젝트를 수정할 필요가 있는데 그때 사용되는게 좌측 상단에 있는 이 버튼이다. 하지만 오브젝트를 수정할 때 마다 마우스로 누르면 굉장히 귀찮고 불편하니 유니티에서 제공하는 단축키를 쓰자! 오브젝트를 편집할 때 1. 위치 이동 보이는대로 화살표를 사용하여 오브젝트의 방향을 조절할 수 있다. 이때 중요한 것은 선이 아닌 평면을 사용..

[UNITY] 코루틴(Coroutine) 사용하기

코루틴은 실행을 일시 중지하고 Unity에 제어 권한을 반환한 후 다음 프레임에서 중단했던 위치에서 계속할 수 있는 함수와 같습니다. -Unity 매뉴얼 간단하게 말하자면 리턴을 하는 시점에서 리턴값(시간)만큼 멈췄다가 시간이 지나고 다시 호출되면 멈췄던 부분에서 다시 실행한다. 일반적인 반복문 같은 경우는 빠르게 실행되기 때문에 점진적인 변화를 시각적으로 제공할 수 없다. 하지만 코루틴은 return부분에서 타임 딜레이를 넣을 수 있어서 변화를 시각적으로 체감할 수 있다. 코루틴을 사용하는 기본적인 방법은 StartCoroutine(함수명); 을 통해 호출한다. private void Start() { StartCoroutine(함수명); } IEnumerator 함수명() { yield return ..

UNITY 2022.05.10

[UNITY] XR Origin / xr interaction toolkit에서 UI 상호작용 하기

xr interaction toolkit은 기본적으로 상호작용 할 수 있는 빨간 선(?)을 제공한다. 하지만 UI와의 상호작용은 할 수 없다. 우선 VR에서 UI는 Screen Space - Overlay로는 상호작용이 불가능하기 때문에 world space로 변경해준다. world space로 변경 했으면 카메라에 잘 보이게 크기를 조정한다. 그 후에 Canvas에 Tracked Device Graphic Raycaster 스크립트를 추가하면 된다. 스크립트를 추가하면 아래 영상처럼 버튼에 닿았을 때 빨간색이 흰색이 되고 트리거 버튼을 통해 클릭할 수 있다. 씬변경 스크립트가 적용되어 버튼 클릭 시 씬이 바뀐다 씬 변경 스크립트 https://meongjeong.tistory.com/10 [UNITY]..

UNITY 2022.04.14

[UNITY] SceneManager.LoadScene 씬 변경하기

유니티에서 작업하다보면 씬을 변경하는 일이 종종 생긴다. 스테이지를 넘어가거나 메인 스테이지에서 인게임으로 들어가거나 그럴 때 사용하는게 SceneManager.LoadScene 이다. using UnityEngine.SceneManagement; public void SceneChange() { SceneManager.LoadScene("SceneName"); } 위 코드는 SceneChange() 함수를 실행하면 SceneName의 이름을 갖고 있는 씬으로 변경된다. 그리고 씬을 변경을 하기 위해서 미리 씬을 등록해야한다. Build Settings에서 Add Open Scenes를 통해 씬을 추가하거나 씬을 끌어서 추가할 수 있다. 이때 오른쪽에 있는 씬 넘버로도 이동이 가능하다. (하지만 편집하면..

UNITY 2022.04.10

[UNITY] RigidbodyConstraints | Rigidbody 움직임 제한하기

저번 글에서 움직임을 제어하기 위해 Rigidbody의 gravity와 kinematic에 접근하는 방법에 대해 알아봤다. https://meongjeong.tistory.com/5 [UNITY] Rigidbody - useGravity, isKinematic 접근하기 GameObject의 물리 엔진을 동작하게 하는 Rigidbody!! 그 중에서 개인적으로 가장 자주 사용하는건 Use Gravity이다. (Is Kinematic은 그냥 같이..) 유니티 매뉴얼을 보면 Use Gravity 활성화되면 오브젝트는 중.. meongjeong.tistory.com 이번에는 Constraints에 접근하여 움직임에 제한을 줘보자. None 모든 축에 대해서 회전과 움직임을 제한하지 않습니다. FreezePosi..

UNITY 2022.01.09