개발이야기

    [Oculus] Oculus Link가 안될 때 해결방안

    어느날 잘되던 Oculus의 Link기능이 되지 않는다. PC도 인식했고, Link 화면까지 들어와지고, 소리는 나오지만 게임이 실행되지 않는다. 이때 가장 먼저 확인해야할 것은 USB의 연결위치이다. 전면포트는 USB3.0이라고 하더라도 제대로 작동하지 않는 경우가 많다. 이유는 아래와 같은데 궁금하지 않는 사람들이 더 많을테니 접어두었다. 더보기 USB 전면포트의 경우 후면포트와 최대 전력량이 다르다. 따라서 전면에 USB연결을 하게되면 비교적 필요 전력량이 큰 게임화면 출력등은 되지 않고, 데이터 송수신 정도만 가능해진다. (경우에 따라서는 아예 인식만 되고 어떤 송수신이 되지 않을 수 있다.) 이는 노트북에 Oculus가 연결이 되지 않는 이유과 일맥상통한 것으로, 전면포트인지 아닌지를 인식할 방..

    [Unity] TMPro를 이용해 Text에서 Icon을 사용해보자

    [Unity] TMPro를 이용해 Text에서 Icon을 사용해보자

    게임을 하다보면 툴팁 등에서 글 중간에 Icon이 사용된 모습을 심심찮게 볼 수 있다. 오늘 우리는 TMPro를 이용해 Text 중간중간에 Icon을 사용하는 방법을 알아볼 것이다. TMPro가 무엇인지, 어떻게 쓰는지는 모두가 알 것이라고 생각한다. 최신 Unity에서 TMPro가 기본으로 사용되니 모른다면 알아두자. 먼저 우리는 Slice 된 아이콘이 필요하다. 아이콘 샘플과 Slice 방법은 내 블로그 이전 글에 있으니, Sample이 필요하거나 Slice 방법을 모른다면 아래 링크를 들어가라. [Unity] 아틀라스(Atlas) 된 이미지를 Slice하는 방법 게임을 하다보면 아래와 같은 이미지를 한번쯤 본 적이 있을 것이다. 우리는 위와 같은 기법을 아틀라스(Atlas)라고 부른다. 이미지를 효..

    [Unity] 아틀라스(Atlas) 된 이미지를 Slice하는 방법

    [Unity] 아틀라스(Atlas) 된 이미지를 Slice하는 방법

    게임을 하다보면 아래와 같은 이미지를 한번쯤 본 적이 있을 것이다. 우리는 위와 같은 기법을 아틀라스(Atlas)라고 부른다. 이미지를 효율적으로 저장하기 위한 방식이라고 생각하면 편하다. 이번에 우리는 위와 같이 아틀라스 된 이미지를 게임내에서 사용할 수 있도록 Slice하는 방법에 대해 배울것이다. 먼저 아틀라스 되어있는 Sprite 파일이 필요하다. 이번 시간에 쓸 Sprite 파일은 하단에 첨부하였다. 그리고 Sample Sprite의 Sprite Mode를 Multiple로 바꿔주자. Multiple로 바꿔줘야 우리가 이 Sprite를 Slice해서 16장의 아이콘으로 사용할 수 있다. 적용을 완료했다면 Sprite의 인스펙터창에서 Sprite Editor 버튼을 눌러주자. Sprite Edit..

    [Unity] 특정 Collider 안에 완전히 포함되어 있는지 확인하기

    [Unity] 특정 Collider 안에 완전히 포함되어 있는지 확인하기

    나는 어떤 구역안에 오브젝트가 들어가야할 때 여태까지는 Collider 혹은 Distance를 써서 해결해왔다. 하지만 두 방법 모두 치명적인 단점이 있는데, Collider 1. 코드가 더럽다. 2. Collider로 구역을 가두리를 해줘야하기 때문에 불필요한 Collider를 많이 만들어야 한다. 3. 정육각형 이외의 범위의 경우 사용하기 힘들다. Distance 1. 원형 범위 이외의 범위는 사용이 힘들다. (특히 모서리 부분) 위와 같은 이유로 하나의 Collider로 이 Collider 안에 완전히 오브젝트가 들어왔는지 확인하는 코드를 짜고 싶었다. 구글링 결과 Collider의 Bounds를 이용하여 해결이 가능했다. Bounds에 대한 API는 아래와 같다. Unity - 스크립팅 API: ..

    [Unity] Scroll View 내용에 맞게 크기 조절하기

    [Unity] Scroll View 내용에 맞게 크기 조절하기

    Scroll View를 사용하다보면 스크롤이 끝까지 되지 않고, 돌아온다 거나 하는 현상이 일어나고는 한다. 이는 Content의 크기가 충분히 크지 않기 때문이다. 위의 흰색 실선과 같이 Content의 크기가 설정되어 있다면 Scroll View는 아주 약간 수직으로 스크롤 되고, 수평방향으로는 아무리 스크롤을 해도 제자리로 돌아오게 된다. 따라서 스크롤 되기 원하는 만큼 Content의 크기를 키워줘야 하는 것이다. 가로의 크기를 키웠더니 수평 방향 스크롤바에 스크롤 가능한 공간이 생긴 것을 확인할 수 있다. 이와 같이 스크롤 영역은 Viewport를 넘어가는 Content 영역의 크기만큼 생긴다고 볼 수 있다. 그렇다면, 이 스크롤 영역이 게임 내에서 동적으로 바뀌어야한다면 어떻게 구현해야할까? ..

    [Unity] Hinge Joint의 표기오류

    [Unity] Hinge Joint의 표기오류

    Unity를 통해 VR 프로젝트를 개발하며, Hinge Joint로 문을 구현하고 있었다. 그런데 몇몇 문들이 알수 없는 버그가 있었는데, 게임을 실행하자마자 알수없는 힘에 의해 문이 강하게 열리는 현상이 있었다. 다른 모든 오브젝트와 충돌을 꺼봐도 같은 현상이 일어나서 충돌에 의한 현상은 아닌것으로 판단하고, 마지막 남은 용의자인 Hinge Joint를 건드렸다. 결과적으로는 Hinge Joint Limit의 표기오류로 일어난 현상이었다. 표기는 위와 같이 되지만, 실제로 열리는 범위는 파랑선으로 표기한 각도와 같다. 이와같은 현상이 나타날 때는 Hinge Joint가 표기해주는 각도가 아닌, 실제 오브젝트의 각도를 보고 넣어주면 되겠다. 최소로 열렸을 때와 최대로 열렸을 때의 각도를 잘 봐두고 수동으..

    [Unity] 화면에 맞게 UI와 Sprite 크기 조절하기

    [Unity] 화면에 맞게 UI와 Sprite 크기 조절하기

    정성 들여 만든 앱을 핸드폰에 설치하는 순간 내가 공들여 만든 UI의 배열이 깨지거나, UI의 크기가 들쭉 날쭉 해진다. 오늘은 그런 UI의 크기를 화면 크기에 맞게 조절하는 방법을 배울 것이다. 먼저 위와 같이 Canvas를 생성한 후, Render Mode를 Screen Space - Camera로 설정해 준다. 그리고 Render Camera에 Main Camera를 넣어준다. 여기까지 했다면 UI문제는 해결되었다. 이제 화면의 해상도에 맞게 조절되는 UI를 확인할 수 있다. 자 그렇다면 이제 문제는 Sprite다. 이놈의 Sprite는 크기가 고정된 것 마냥 화면의 해상도를 아무리 바꿔도 스스로의 크기를 고수한다. 화면이 작아져도 크기가 그대로라 화면 밖으로 삐져나오고, 배열도 그대로라 다루기가 ..

    [웹개발] GitHub Pages에 Custom Domain(커스텀 도메인)을 연결해보자!

    [웹개발] GitHub Pages에 Custom Domain(커스텀 도메인)을 연결해보자!

    지난번 GitHub Pages를 사용하는 방법과 css를 적용하는 방법을 알아보았다. 관련 링크 poison-dog-do-everything.tistory.com/6 [웹개발] Vue.js, GitHub Page에서 작동을 안 해요! GitHub Page 사용법 오늘은 Vue로 개발한 나의 사이트를 GitHub Page에 등록하는 법을 알아볼 것이다. 중간중간 주의할 점을 알려주니 오류가 난 사람도 참고하기 좋을 것이다. 참고로 나는 VScode를 사용하니 주의바란다 poison-dog-do-everything.tistory.com poison-dog-do-everything.tistory.com/5 [웹개발] GitHub Page에 CSS가 적용되지 않는 문제 포트폴리오 사이트를 만드는데 별안간 css..