반응형

UI 3

[유니티 C#] 텍스트 박스 가변 - ContentSizeFitter 올바르게 사용하기

유니티를 사용하다보면 텍스트에 맞춰서 박스크기가 가변되는것을 원할때가 있다.  여기서 우리는 흔하게 사용하는것이 ContentSizeFillter이다.하지만 사용해본사람은 알것이다.  배경박스와 텍스트컨포넌트 둘다 ContentSizeFitter를 넣어야지 돌아가는데 꼭 이런 에러메세지가 있어서 신경쓰인다.심지어 실시간으로 가변됐을때 이전크기로 적용되어서 이런 사태가 발생한다.  그래서 다양한 방법을 사용했었지만, 경험상 가장 깔끔하고 유니티에서 가이드해주는 방식으로 접근하고자한다. 유니티에서 위와같은 상황에서 가이드하는 메뉴얼https://docs.unity3d.com/kr/current/Manual/HOWTO-UIFitContentSize.html UI 요소를 콘텐츠 크기에 맞추기 - Unity 매뉴..

게임 개발/Unity 2024.09.02

[유니티 C#] UI Animation State 이름 중복 사용

최근에 UI 애니메이션 관련해서 재밌는 팁을 알게되서 달려왔습니다! UI 애니메이션의 중복 활용이라 적었는데 무엇이냐면 유니티 애니메이션을 하면서 원하는 애니메이션으로 변경하거나 실행해야할때 각 상태에 transition을 연결하고 파라미터 값을 매겨 일종의 유한상태 머신을 만드는 형태로만 사용해왔습니다. 하지만 이번에 알아낸건 스크립트상에서 애니메이션을 실행할때 state이름을 매개변수로 받아 실행하며 그 state이름을 똑같이 작성하게되면 UI상에 중복되는 시점에 다른 애니메이션을 실행시킬수있다는 것을 알았습니다. 예시를 들자면 일반 팝업 연출과 아래에서 슬라이드해서 올라오는 팝업 연출이 있습니다. 그리고 해당 애니메이터를 제어할 스크립트를 살펴봅시다. // 콜백 매개변수를 위한 델리게이트 publi..

게임 개발/Unity 2021.07.11

[유니티 C#] UI 터치영역 - 마우스, 터치 이벤트 만들기

이번 프로젝트를 진행하면서 겪은 시행착오를 공유하려고 합니다! 어려운것은 아니지만, 혹시 나중을 위해 정리해두겠습니다! 마우스 혹은 터치를 구현하게 되면 저 같은 경우에는 가장 먼저 생각나는것이 Input.GetMouseBottonDown()이나 Input.GetTouch()가 있었습니다. 하지만 보시다시피 전체화면에서 발생하는 터치이벤트... 저에게 필요했던건 일정영역 안에서만 터치이벤트가 발생하는 것이었습니다. 그래서 찾아낸것이 IPointer 인터페이스입니다. // EventSystems 네임스페이스를 사용해야 가능 using UnityEngine.EventSystems; EventSystems 네임스페이스를 사용해서 스크립트에 원하는 Ipointer 이벤트핸들러를 상속받으면 인터페이스에 선언한 메..

게임 개발/Unity 2019.07.27
반응형