개발/Unity 내일배움캠프 TIL67 Unity 어트리뷰트 (Attribute) 직렬화 관련SerializeFieldHideInInspectorSerializable인스펙터 커스텀 관련HeaderSpaceTooltipRangeMultilineRequireComponent에디터 커스텀 관련CreateAssetMenuMenuItemContextMenuAddComponentMenuExecuteInEditMode 유니티에서는 에디터를 쉽게 커스텀할 수 있도록 여러 가지 기능들을 제공해주고 있다.그 중 하나가 이 어트리뷰트(Attribute)이다. 오늘은 다양한 어트리뷰트들과 그 기능에 대해 알아보자. 직렬화 관련 SerializeField 데이터를 직렬화하여 한정자가 private인 변수임에도 Inspector에서 볼 수 있게 해주는 기능이다. public class CharacterSta.. 2023. 9. 22. Unity2D 궁수의 전설 UI 따라만들기 (3) 하단 탭버튼 만들기패널 넘어다니는 버튼 만들기버튼 사이즈 조정하기탭버튼에 이미지 추가하기 다음의 영상을 참고하여 궁수의 전설 UI를 제작하고 있다. 궁수의 전설 UI 수직 수평 스크롤 뷰 완벽하게 만들기예전부터 궁수의 전설 UI가 정말 궁금했는데, 만들었습니다! UI가 굉장히 세련되고 움직이는 게 신기해서 열심히 연구해 봤는데요 수직 수평 스크롤 뷰를 이용하면 많은 분야에서 멋진 UI를 만드실 수 있습니다 탭 버튼 움직이는 것도 만족스러워요~ 보너스로 초간단 탭 메뉴도 이 영상에 포함했습니다 아래 탭 클릭시 수직으로 올라가는 것은 블로그와 스크립트 수정되었습니다. # 스크립트 보기 https://goraniunity2d.blogspot.com/2020/02/ui.html # 프로젝트, 리소스 다운받기 h.. 2023. 9. 21. 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. 이전 1 2 3 4 5 6 7 다음