전체 글
-
[Unity] ScrollView와 EventTriggerUnity 2024. 3. 15. 15:31
오늘도 열심히 작업을 하던 중 ScrollView 안에 포함된 UI들에 Enter Sound와 Click Sound를 넣으려고 했다가 ScrollView의 휠 기능이 작동이 되지 않는 이슈를 발견하였다. 대충 알아보니 EventTrigger에 있는 Drag 관련 이벤트 권한(?)을 모두 가져가버리는 탓에 ScrollView의 Drag 이벤트가 발생되지 않는 것이었다. 여러 방법이 있었는데 내가 생각난 방법은 그냥 IPointerClickHandler, IPointerEnterHandler 인터페이스를 사용하는 것이었다. 각 UI에 모두 스크립트를 넣어줘야 한다는 번거로움이 있었지만, 이 방법이 가장 확실할 것 같았다. 메모...
-
[Unity] UI Image의 Vertex를 드래그하여 다각형 그리기(feat. BaseMeshEffect)Unity 2023. 11. 22. 10:45
프로젝트 진행 중 WorldCanvas 기준에서 UI의 이미지의 각 꼭짓점을 드래그하여 다각형을 그리는 기능이 필요했다. 필요한 기능은 위 그림과 같이 꼭짓점을 드래그하여 각 정답 위치에 꼭짓점을 놓는 기능이었다. 그래서 구글링..을 해본 결과, BaseMeshEffect라는 클래스가 있었다. 링크는 아래에 걸어놓겠다. 1. 하이어라키 및 앵커 TargetImage는 위에 보이는 빨간 이미지를 뜻하며, 저 이미지의 Vertex를 가지고 놀 수 있도록 BaseMeshEffect 클래스를 상속받는 스크립트가 들어가야 한다. 각 꼭짓점을 움직이기 위해 필요한 하얀색 원 이미지(Point)는 TargetImage의 자식으로 들어가 있어야 한다. 그 이유는 RectTransformUtility.ScreenPoin..
-
[Unity] 멀티터치(2개)를 통한 오브젝트 회전Unity 2023. 11. 21. 14:42
저장용.. bool rotating; Vector2 startVector; float rotGestureWidth; float rotAngleMinimum; if (Input.touchCount == 2) { Touch touch1 = Input.GetTouch(0); Touch touch2 = Input.GetTouch(1); // 배치할 오브젝트 회전 if (!rotating) { startVector = touch2.position - touch1.position; rotating = startVector.sqrMagnitude > rotGestureWidth * rotGestureWidth; } else { var currVector = Input.GetTouch(1).position - Inpu..
-
[Unity] 소소한 Tip 모음 (주기적 업데이트)Unity 2023. 11. 21. 14:23
1. GetComponentInChildren, GetComponentsInChildren T를 가진 자식 개체들을 찾아주는 컴포넌트. 그냥 쓰면 꺼져 있는 자식들을 찾을 수 없는데 이 때 아래와 같이 includeInactive(bool) 값을 넣어주면 꺼져있는 오브젝트까지 모두 찾아낸다. 2. 여러 개의 카메라로 인한 Game View 이슈 카메라를 여러 개 설치해야 하는 상황일 때 가끔씩 GameView가 원치 않는 카메라의 시점으로 보여지는 경우가 있다. 이 때 카메라의 Priority 값을 조절하면 된다. 해당 값이 높은 카메라가 Game View에 보여진다. 이 때 Priority로 인해 순서가 조절되는 카메라는 Render Type이 Base인 카메라들이다. Overlay카메라들의 순서는 B..