유니티
-
[Unity][2D] 드래그해서 타일 깔기프로그래밍/Unity 2021. 11. 21. 18:08
우선 드래그해서 타일을 깔기 위해 이전에 Grid 크기가 맞지 않았던 현상을 고치기 위해 Grid의 Cell Size를 임의로 맞추어 주었다. 필요하면 Grid Scale도 바꾸어주면 된다. 이전과 다른 점은 Canvas에서 hierarchy상 버튼을 이름을 찾는게 아니라 Canvas에 활성화 버튼을 지정해주고 AddListener를 사용해서 버튼의 활성화 상태만 저장해주었다. 이후 활성화 상태를 이용하여 Update Function 상에서 타일을 세팅하게 해주었다. 아직 마우스를 위에서 아래로 드래그할 때만 적용해 두어서 수정이 필요한 상태! [재생시 화면] 누른 상태 자체는 GetMouseButtonDown를 써야 깔끔하다고 서칭했었는데 드래그를 할 때는 GetMouseButton(0)이 유용했다. ..
-
[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..