728x90
오늘도 간단하게 하나 구현해보려합니다!
게임속 캐릭터들의 말풍선.... 텍스트에 따라 크기가 변경되는 경우가 있는데,
이 경우를 어떻게 처리 해주어야할까.....
하다가 굳굳 생각보다 간단하게 구현할 수 있었습니다.
일단 코드는!
아래처럼 구성해주었습니다.
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
public class DynamicMessageBox_test : MonoBehaviour
{
public TextMeshProUGUI messageText; // 동적 변경할 텍스트
public RectTransform background; // 배경 (Panel)
private float maxWidth = 300f; // 최대 너비 제한
private Vector2 padding = new Vector2(20f, 10f); // 좌우 여백 (X: 좌우, Y: 상하)
void Start()
{
maxWidth = messageText.gameObject.GetComponent<RectTransform>().sizeDelta.x;
}
private void Update()
{
// 텍스트 크기 가져오기
Vector2 textSize = messageText.GetPreferredValues();
// 배경 크기 조정 (텍스트 크기 + 패딩 적용)
float width = Mathf.Min(textSize.x, maxWidth) + 50f;
background.sizeDelta = new Vector2(width, textSize.y + padding.y);
}
}
간단하게 텍스트와 말풍선 역할을 할 ui를 받아오고,
텍스트의 크기에따라 말풍선의 크기를 조절해주는 간단한방식
씬은 아래처럼 구성해 주었고,

Text는... 딱히 변경된 부분은 없습니다!

결과는... 오... 굳굳

끝!
틀린점이 있다면 댓 달아주세요!

728x90
'유니티 최고 > 유니티 구현' 카테고리의 다른 글
[Unity] 유니티 Canvas Group을 이용한 UI컨트롤 + Dotween (0) | 2025.03.08 |
---|---|
[Unity] 유니티 마우스 입력을 이용한 드래그 선택 (OverlapCollider) (0) | 2025.02.16 |
[Unity] 유니티 마우스 입력을 이용한 드래그 박스 (0) | 2025.02.15 |
[Unity] 유니티 Navigation 시스템을 이용한 클릭 이동 (NavMesh) (3) | 2024.11.06 |
[Unity] 유니티 암호 입력 시스템구현에 대해서 (0) | 2024.11.04 |
댓글