You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过脚本为TextMeshProUGUI的RTL文本输入框写入内容

TextMeshPro RTL输入框脚本写入实现方法

TextMeshPro(含内置RTL支持版本、第三方RTL增强TMP插件)的输入框核心组件为TMP_InputField,和UGUI原生InputField不通用,按以下步骤操作即可:

  • 首先在脚本顶部引入TMP命名空间,否则无法识别对应组件:
    using TMPro;
    
  • 获取目标输入框组件,二选一即可:
    • 脚本挂在输入框对象上时,直接调用GetComponent<TMP_InputField>()获取
    • 脚本挂在其他对象上时,在脚本内声明公开字段public TMP_InputField targetRtlInput;,回到Unity Inspector把场景里的RTL输入框对象拖到这个字段上完成赋值,这种方式最不容易出错
  • 写入内容直接操作组件的text属性即可,RTL文本的排版、语序修正会由TMP的RTL模块自动处理,不需要手动做文本翻转、顺序调整,示例代码:
    using UnityEngine;
    using TMPro;
    
    public class WriteToRtlInput : MonoBehaviour
    {
        public TMP_InputField targetRtlInput;
    
        // 测试调用
        void Start()
        {
            // 替换为你要写入的RTL文本,比如阿拉伯语、希伯来语内容
            string rtlContent = "نص عربي للاختبار";
            // 赋值即完成写入
            targetRtlInput.text = rtlContent;
        }
    }
    

排查提示:如果赋值后文本RTL显示错乱,先检查输入框组件上的RTL支持开关是否勾选:TMP 3.0及以上原生版本在TMP_InputField组件关联的TMP_Text子组件上勾选Right To Left选项即可,第三方RTL插件则勾选插件自带的RTL启用开关。

组件参考截图:
RTL TMP输入框界面参考

内容的提问来源于stack exchange,提问作者user11369406

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 09:54:29