Unity/UI & TMP 맨텀 2020. 6. 13. 19:57
데이터베이스에서 주고 받을 때 \n 을 엔터로 받아서 바로 Text에 입력해보면 rich Text 덕분에 엔터로 바로 적용된다. 그런데 DOText를 사용하는경우 엔터로 적용되지않고 \n가 그대로 출력되는 현상이 있음. string targetText = text.Replace("\\n", "\n"); 타겟 텍스트를 위와같이 한번 처리해주면 정상출력됨. 나는 아래와 같이 확장 메서드를 만들어서 사용하고있음. public static string DOTextMy(this TextMeshProUGUI textUGUI, string text, float perCharTime = 0.03f, System.Action endAction = null) { string targetText = text.Replace(..
Unity/UI & TMP 맨텀 2020. 5. 21. 01:57
DOText는 아래와 같이 인자를 받는다. Txt_talk.DOText(string endTargetText, float duration); 때문에 사용할 Text의 Length를 사용해서 duration을 결정하곤 하는데, 문제는 등과 같이 RichText를 사용할 시에는 보이지않는데 Length에 포함된다는 것. 유니티포럼 https://forum.unity.com/threads/rich-text-length.402876/ public int TextLength(string richText) { int len = 0; bool inTag = false; foreach (var ch in richText) { if (ch == '') { inTag = false; } else if (!inTag) { ..
Unity/UI & TMP 맨텀 2020. 5. 5. 20:54
UI LineRenderer https://bitbucket.org/UnityUIExtensions/unity-ui-extensions/wiki/Controls/UILineRenderer LineRenderer의 UI 버전. LineRenderer와 비슷하기 때문에 무리없이 바로 사용하면 된다. 한가지 주의할점은. 런타임 중 켜져있는 상태로 point 를 바꿔도 유아이에서 업데이트가 일어나지 않는다는 점. point를 바꾼 후 SetAllDirty()를 호출해야한다. public void UpdateLinePoints2(int maxIndex) { for (int i = 0; i < maxIndex; i++) { lineRenderers[i].Points[0] = ((RectTransform)stageB..
Unity/UI & TMP 맨텀 2020. 5. 3. 14:40
UI Extension : ScrollSnap https://bitbucket.org/UnityUIExtensions/unity-ui-extensions/wiki/Controls/ScrollSnap ScrollSnap 튜토리얼 영상 https://www.youtube.com/watch?v=LnKy3_ymEXs [ Horizontal 기준 ] 1) Create - UI - UIExtension - Horizontal Scroll snap을 생성한다. (만약 마스크를 주고 싶다면 2) Scrollview 속성에서 Vertical은 체크해제 해준다. 3) Scrollview 컴포넌트를 가진 오브젝트에 Horizontal Scroll Snap 스크립트를 붙여준다. - StartingScreen : 0 / 초기에..
Unity/UI & TMP 맨텀 2020. 4. 7. 05:59
https://github.com/mob-sakai/UnmaskForUGUI#demo mob-sakai/UnmaskForUGUI Reverse mask for uGUI element in Unity. Contribute to mob-sakai/UnmaskForUGUI development by creating an account on GitHub. github.com 패키지 임포트하고 Create -> UI -> UnMask - Iris 에서 예제를 확인할 것. 캐릭터마다 표정의 위치가 다른 경우에는 UnMask 컴포넌트에있는 FitTarget에다가 표정을 등록해놓고, UnMask 오브젝트를 껐다가 켜면 다시 위치가 Fit되게 업데이트되니 참고. 언마스크는 게임뷰에서만 보이고 에디터뷰에서는 안보인다 주의..
Unity/UI & TMP 맨텀 2020. 4. 4. 05:38
public class CloneButton : MonoBehaviour, IPointerDownHandler, IPointerUpHandler, IPointerClickHandler { [SerializeField] Button Btn_Ref; public void OnPointerDown(PointerEventData eventData) { ExecuteEvents.Execute(Btn_Ref.gameObject, eventData, ExecuteEvents.pointerDownHandler); } public void OnPointerUp(PointerEventData eventData) { ExecuteEvents.Execute(Btn_Ref.gameObject, eventData, Execute..