본문 바로가기
728x90

ngui4

Unity, Transform 인스펙터 커스텀 커스텀 에디터 스크립트 NGUI를 사용하던 지원하는 기능 중, 트랜스폼 컴포넌트를 커스텀해주는 기능이 있습니다. 단순하게 'P', 'R', 'S' 버튼을 눌러주는 것만으로 초기화 처리를 해주는 기능이 있는데, 이 기능을 개인적으로 사용하고자 작성했습니다. 스크립트 에디터 스크립트로써, 반드시 'Editor'라고 명시된 폴더 안에 생성하셔야합니다. TransformInspector.cs using UnityEngine; using UnityEditor; [CanEditMultipleObjects] [CustomEditor(typeof(Transform), true)] public class TransformInspector : Editor { [System.Flags] enum Axes : byte { N.. 2023. 5. 9.
NGUI, SafeArea를 통한 아이폰 노치 영역 대응하기 UIAnchor 노치 대응 NGUI를 이용하여 UI를 표현하고 있었지만, 최근 출시되는 기기들이 다양한 디스플레이로 나오기 시작했습니다. 이로 인해서 개발자들은 각각 상황에 맞게 대응을 해주어야하는 상황이 되었습니다. 펀치홀, 노치, 다이나믹 아일랜드 등 여러가지의 이름으로 개발자를 괴롭혀 왔지만, 유니티 2021.3 버전 이상부터는 SafeArea 클래스를 제공하고 있습니다. 이는 기기 화면에서 물리적인 화면의 영향 없이 온전하게 보이는 영역을 Rect로 확인할 수 있습니다. 이로써 SafeArea 클래스를 이용하여, UIAnchor 스크립트에 추가하여 안전한 영역에 앵커 자리를 잡도록 적용할 수 있습니다. 스크립트 UIAnchor.cs의 Update() 함수 안에, 아래와 같이 SafeArea 주석으.. 2023. 3. 30.
Unity, UI Masking 중첩 해결 방안 마스크 이미지를 미리 생성해주는 패키지 마스크 기능이 들어가는 UI의 경우 중첩으로 마스크를 지원해주지 않은 경우가 있습니다. 현재 제가 사용 중인 NGUI의 경우 중첩으로 마스킹 하는 경우 제대로 스텐실 쉐이더가 작동하지 않아 깨집니다. NGUI에 대해서 조금 더 알아보니 중첩 마스킹은 지원하지 않는다고 합니다. NGUI측에서는 셰이더 스텐실 연산이 중첩으로 들어가는 경우가 연산에 문제가 생기는 이슈가 있어서 지원하지 않는다고 하네요. 그러면 개별적으로 마스킹 텍스쳐를 생성하고 받아오면 되지 않을까라는 생각에, 마스킹 이미지를 만들어주는 ScriptableObject를 작성했습니다. 예제 1. SciptableObject Data 생성하기 2. 텍스처, 마스크, 좌표 설정 3. 스크립트에서 사용하기 p.. 2022. 3. 6.
NGUI Plugin, Custom GameTooltip 개인적으로 만든 NGUI 커스텀 게임 툴팁입니다. NGUI 에셋이 기본적으로 추가되어 있어야 합니다. 툴팁이 필요한 오브젝트에 GameTooltip 컴포넌트를 추가해주어 사용하시면 됩니다. 더 자세한 사용 방법은 패키지 내의 SampleScene에서 참고하여 사용하시길 바랍니다. 2021. 12. 25.
반응형