프로그래밍/Unity
-
[Unity][2D] EventSystems를 활용한 UI Control프로그래밍/Unity 2021. 11. 7. 11:46
Hierarchy에서 UI에서 button을 만들면 1) Canvas 밑에 Button이 생기고 2) Canvas와 같은 라인(친구 라인?)에 EventSystem이라는게 생긴다. Unity의 Scene에서 event를 처리하고 다루는데 사용되며, 한 Scene에 하나의 Event System만 포함되어야 한다. EventSystem을 사용하기 위해서는 using UnityEngine.EventSystems로 불러와야 한다. UI로 등록된 버튼들을 제어하는데 유용하게 쓰이는 것 같다! 구현하고자 하는 것은 버튼을 누르면 타일을 세팅할 수 있는 동작을 활성화하고, 다시 한번 더 누르면 비활성화 하는 시스템을 만들고자 했다. 유용하게 쓰인 함수에는 EventSystem.current.currentSelect..
-
[Unity][2D] 카메라 줌 인/줌 아웃프로그래밍/Unity 2021. 10. 31. 21:20
이전 글에 뒤이어서 카메라 줌 인/줌 아웃에 대한 Script 공부.. 원근법에 상관 없이 Projection Mode가 Orthographic이므로 참고한 사이트에서 이 부분과 줌 인/줌 아웃 방향만 반대로 해주었다. 참고한 사이트 https://hannom.tistory.com/181 [Unity]modelViewer - 마우스 휠(Wheel) 로 카메라(Camera) 줌 - 구현(Field of View 값 변경) 이전 글에서는 두가지 줌방식에 대해서 정리했고 여기서는 Field of View를 조절해서 줌하는 방식으로 하려고 한다. 최종 코드는 아래와 같다. using System.Collections; using System.Collections.Generic; usin.. hannom.tist..
-
[Unity][2D] UI 배치를 위한 Canvas 알아보기프로그래밍/Unity 2021. 10. 30. 10:56
카메라를 Zoom in/out 했을 때 UI는 움직이지 않는다. 그걸 Unity에서는 어떻게 구현해야하는지 공부하는 시간을 가졌다. (▼) Hierarchy에서 오른쪽 버튼을 누르면 추가할 수 있는 많은 것들이 있는데, UI에 있는 것들을 클릭하면 자동으로 Canvas가 생성된다. (▼) UI > Image를 눌러주고 Source를 넣어준다. (캡츠루라니!) (▼) Canvas의 inspector를 확인해서 Render Mode를 World Space > Screen Space - Camera (Overlay도 되는 듯)로 바꿔주었다. 그러고 Scene에서 UI 크기를 대충 맞추어 준다. (▼) 카메라에서 Size를 변경시켜주면 UI를 제외하고 Zoom in/out이 된다. (▼) 여기서 Maximize..
-
[Unity][2D] Grid의 Cell 좌표 구하기 (수정 예정)프로그래밍/Unity 2021. 10. 27. 21:23
시티즈같이 도시 빌딩 시스템을 만들고 싶었던 나.. 너무 어렵다! 하지만 쪼금씩 해보려고 한다.. 우선 Grid의 Cell 좌표를 구하는 방법에 대해서 정리해보고자 한다. Summary // =================================================== using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Tilemaps; public class grid_tistory : MonoBehaviour { Vector2 MousePosition; Camera Camera; public Tilemap Tilemap; // Start is called before ..
-
[Unity][2D] 버튼 만들기&연결하기프로그래밍/Unity 2021. 10. 26. 13:49
유니티에서 버튼을 만들고 싶었던 나.. 시도해본 것 1. 버튼으로 만들고 싶은 이미지에 Button Component 추가하기 -> 안됨 잘모르겠음 2. Hierarchy>UI>Button 추가 후 이미지 넣고 Script 추가하기 -> 됨! Button을 추가하면 Canvas 밑에 Button, 그리고 EventSystem 이 추가된다. EventSystem을 실수로 삭제하면 Button을 눌렀을 때 Event가 실행되지 않는다고 한다. Default상태에서는 button의 상태가 이상하므로.. Canvas에서 Render Mode에서 Screen Space-Camera로 설정하고 Render Camera를 Hierarchy에서 Main Camara를 끌어온다. Render Mode에서 World Sp..
-
[Unity][2D] Rotation 하기프로그래밍/Unity 2021. 10. 25. 20:38
유니티에서 시계 침이 돌아가는 것을 구현하고 싶었던 나.. Summary: // ============================================================= using System.Collections; using System.Collections.Generic; using UnityEngine; public class arrow_rotation : MonoBehaviour { public float rotationSpeed; public GameObject arrow_center; // Empty Game Object // Update is called once per frame void Update() { transform.RotateAround(arrow_cente..