본문 바로가기

전체 글85

Unity2D 궁수의 전설 UI 따라만들기 (2) 세로 스크롤되는 패널 만들기가로와 세로 스크롤 동시에 되게 만들기자식 스크롤뷰의 Scroll Rect 재구성옆으로 갔다가 돌아오면 세로 스크롤뷰의 위치 초기화 다음의 영상을 참고하여 궁수의 전설 UI를 제작하고 있다. 궁수의 전설 UI 수직 수평 스크롤 뷰 완벽하게 만들기예전부터 궁수의 전설 UI가 정말 궁금했는데, 만들었습니다! UI가 굉장히 세련되고 움직이는 게 신기해서 열심히 연구해 봤는데요 수직 수평 스크롤 뷰를 이용하면 많은 분야에서 멋진 UI를 만드실 수 있습니다 탭 버튼 움직이는 것도 만족스러워요~ 보너스로 초간단 탭 메뉴도 이 영상에 포함했습니다 아래 탭 클릭시 수직으로 올라가는 것은 블로그와 스크립트 수정되었습니다. # 스크립트 보기 https://goraniunity2d.blogspot.. 2023. 9. 20.
Unity2D 궁수의 전설 UI 따라만들기 (1) 프로젝트 세팅스프라이트 준비Horizontal Scroll View 세팅Canvas 크기 설정 Scroll View 크기 설정자석처럼 붙는 화면 패널 만들기 다음 영상을 참고하여 제작하면서 나오는 방법들을 정리해보았다. 궁수의 전설 UI 수직 수평 스크롤 뷰 완벽하게 만들기예전부터 궁수의 전설 UI가 정말 궁금했는데, 만들었습니다! UI가 굉장히 세련되고 움직이는 게 신기해서 열심히 연구해 봤는데요 수직 수평 스크롤 뷰를 이용하면 많은 분야에서 멋진 UI를 만드실 수 있습니다 탭 버튼 움직이는 것도 만족스러워요~ 보너스로 초간단 탭 메뉴도 이 영상에 포함했습니다 아래 탭 클릭시 수직으로 올라가는 것은 블로그와 스크립트 수정되었습니다. # 스크립트 보기 https://goraniunity2d.blogspo.. 2023. 9. 19.
사원수, 쿼터니언 (Quaternion) 행렬을 쓰지 않는 이유복소수에 대해복소수에서 곱하기의 기하학적 의미3차원 복소공간을 가지는 복소수?사원수에서의 회전공식유도사원수 (Quaternion) 회전의 장점 이전 글 : Unity에서의 짐벌 락Unity에서 짐벌 락 (Gimbal Lock) 관찰하기오일러 각오일러 각의 문제오일러 각의 표현짐벌 락 (Gimbal Lock) 문제순서에 따라 결과가 바뀌는 문제 사원수(Quaternion)를 쓰는 이유에 대해 너무나도 궁금했는데, 이번 기회에 알게되어 정리해본다. 오일러 각 Inspector를 보면 Transform에서 볼 수 있는 Rotation을 보면 3차원의 정보로 표현이 되어 있다. 사실 너무 직관적이고 당연해보인다.3차원 물체니까 3차원의 정보를 표현한다는 것이니깐… X값을 변화하면 빨간색을 .. 2023. 9. 18.
Unity에서 짐벌 락 (Gimbal Lock) 관찰하기 오일러 각오일러 각의 문제오일러 각의 표현짐벌 락 (Gimbal Lock) 문제순서에 따라 결과가 바뀌는 문제 사원수(Quaternion)를 쓰는 이유에 대해 너무나도 궁금했는데, 이번 기회에 알게되어 정리해본다. 오일러 각 Inspector를 보면 Transform에서 볼 수 있는 Rotation을 보면 3차원의 정보로 표현이 되어 있다. 사실 너무 직관적이고 당연해보인다.3차원 물체니까 3차원의 정보를 표현한다는 것이니깐… X값을 변화하면 빨간색을 중심으로 회전한다. Y값을 변화하면 초록색을 중심으로 회전한다. Z값을 변화하면 파란색을 중심으로 회전한다. 오일러 각의 문제 항상 그대로만 동작하면 문제가 없겠지만, 조금만 값을 바꿔보면 이상한 점을 발견할 수 있다. Rotation이 X = 90, Z .. 2023. 9. 15.
Unity 코루틴(Coroutine)으로 딜레이 구현하기 기본 형태물리 프레임으로 딜레이 주기시간으로 딜레이 주기그 외의 다양한 딜레이들 게임을 만들다보면 딜레이가 필요하다. 시전 모션이 끝나면 공격이 들어간다던지, 물리적인 판정 자체에 몇 프레임 씩 딜레이를 넣을수도 있다. 그러기 위해서 보통 코루틴을 사용한다. 인보크를 쓰면 안되나요? 라고 물어볼 수 있는데, 인보크 대신 코루틴을 사용하는 이유는 다음 게시글에 잘 정리되어 있다. Unity 인보크(Invoke)와 코루틴(Coroutine) 정리들어가며인보크 기본인보크 사용방법InvokeRepeatingCancelInvokeIsInvoking인보크 주의점코루틴코루틴 사용 방법StartCoroutineStopCoroutine 들어가며이번에 했던 프로젝트를 하고 나서, 가장 많이 느꼈던 점은 Invoke를 너무.. 2023. 9. 14.
Unity2D 애니메이터 State와 Transition 애니메이터 StateTransitionParametersConditionsSettings특수 State들Entry, ExitAny State예시) 기본, 달리기, 피격 상태 구현예시1. Any State의 Can Transition To Self 사용예시 2. Trigger 사용예시 3. Exit 활용 애니메이션을 구현하다보면, 단계별로 진행되는 애니메이션이 아니라 말그대로 특정 조건을 만족하기만 하면 애니메이션을 재생하도록 설정하고 싶은 경우도 있다. 피격 모션이나, 죽을 때 애니메이션과 같은 경우가 그것이다. 해당 기능들을 구현하기 위해 쓰는 각 State와 Transition들에 대해 알아볼 것이며, 예시로 State Diagram을 어떻게 구성하는지 소개할 것이다. 애니메이터 State 애니메이터.. 2023. 9. 13.
Unity2D 레이캐스트 (Raycast) 레이캐스트 (Raycast)RayRaycast vs RaycastAll참고) RaycastAll의 단점LayerMaskBoxcast, Circlecast, Capsulecast 레이캐스트 (Raycast) 씬의 여러 위치에 분포해 있는 오브젝트를 얻어오는 방법 중 하나이다. 쉽게 말해 빔을 쏴서 그 빔을 맞는 오브젝트를 가져온다. 기능 자체는 단순하지만, 바리에이션이 살짝 많기 때문에 다룰 수 있는 함수들에 대해 알아보려 한다. Ray Raycast를 호출하면 Raycast를 위해 Ray라는 클래스의 객체가 생성이 된다. 위치와 방향 벡터를 매개변수로 넣던지, Ray를 생성하는 함수를 통해 직접 만들 수도 있다. Ray ray; // 1. 위치와 방향 벡터를 매개변수로 넣어 생성 ray = new Ray.. 2023. 9. 12.
Unity2D 월드 좌표계 vs 로컬 좌표계 기본적인 월드 좌표계와 로컬 좌표계의 구분변수와 함수들의 좌표계 구분Rotation 변경 시 씬에서 변화 관찰하기스크립트에서 좌표계 지정하기Space.Self vs Space.WorldVector3.up vs transform.up (right, forward)TransformDirection vs InverseTransformDirection 나는 완벽하게 구분할 수 있을 줄 알았지 생각보다 헷갈리는 부분이 많아 따로 게시글로 정리해본다. 기본적인 월드 좌표계와 로컬 좌표계의 구분 월드 좌표계는 절대적인 위치를 나타낸다.월드 좌표가 같으면 씬에서 봤을 때 정확히 같은 곳에 있다. 로컬 좌표계는 상대적인 위치를 의미하는데, 이는 오브젝트 사이에 부모자식 관계가 있을 때만 의미가 있다. 부모를 두고 있는 .. 2023. 9. 11.
Unity 오브젝트 풀 오브젝트 풀을 쓰는 이유오브젝트 풀 생성풀링용 함수 작성 오브젝트 풀을 쓰는 이유 유니티에서는 프리팹을 만들어 개체를 생성할 때 생성함수 Instantiate()와 삭제함수 Destroy()를 제공해준다. 하지만 이 두가지의 함수를 너무 자주 사용하게 되면 물리적인 메모리 상에서 파편화된 메모리 (찌꺼기 메모리)가 계속해서 발생하게 되면서 성능에 악영향을 줄 수 있다. 이러한 문제를 해결하기 위해 오브젝트 풀링 (Object Pooling)이라는 것을 사용한다. 직접 한 번 만들어보는 시간을 가져보자. 나는 골드메탈님의 유튜브 강좌를 참고하여 몬스터를 소환하는 오브젝트 풀을 제작해보았다. 오브젝트 풀링🏊으로 소환하기 [유니티 뱀서라이크 06]플레이어 주변에 수많은 적을 소환하는, 뱀서라이크의 묘미를 직접.. 2023. 9. 8.
Unity2D 셀 애니메이션 출처 및 스프라이트 준비애니메이션 생성애니메이터 보기트랜지션 만들기조건을 위한 파라미터 추가참고) Duration 최소화코드 작성하기참고) 애니메이터 재활용 유니티 상에서 애니메이션을 만드는 방법이 여러 가지 있겠지만, 오늘은 셀 애니메이션에 대해 소개해보고자 한다. 출처 및 스프라이트 준비일단 애니메이션을 만들 스프라이트들을 준비하자. 나는 골드메탈님의 유튜브 강좌를 참고하였다. 2D 셀 애니메이션🏃제작하기 [유니티 뱀서라이크 03]유니티에서 2D 애니메이션을 만드는 방법을 쉽게 설명한 강좌입니다. 플레이어 스프라이트는 4종류가 있으니 원하는 것으로 따라해보아요~🤭 그리고 힘들게 만든 애니메이터를 재활용하는 방법까지 상세하게 소개해드리고 있습니다. 📚 뱀서라이크 개발 채널 https://www.yout.. 2023. 9. 7.