TextMeshPro 存在于两个位置,一个是在3D Object菜单中,如下图所示:
另一个是在UI中,两个是不能相互替代的(后者带UI字样,且自带canvas),如下图所示:
两者都需要导入TextMeshPro package,可以从window菜单位置导入,如下图所示:
我的实践经验告诉我,第一种好用。但网上关于它的代码,可能例子中有,懒得找了,参考(113条消息) Unity TextMeshPro文本内容用代码修改_一半西瓜的博客-CSDN博客_unity使用脚本修改文本内容的进行设置。新建ChangetheText脚本script如下(using TMPro;需要自己添加,如果出现找不到的情况,请从window菜单导入TextMeshPro package):
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
public class ChangetheText : MonoBehaviour
{
public void onthisbtnwasclick()
{
GameObject.Find("ManipulateDisable/ButtonContent/TextMeshPro").GetComponent<TMP_Text>().text = "Hitted!";
}
}
随便挂在到一个物体上(我这里挂在了物体ManipulateEnable上),如下图:
将上面的物体拖到其交互功能区(Interactable属性,没有的话请添加)中的ONCLICK事件中,然后选择刚才写的脚本中的函数
因我代码中find的是ManipulateDisable下面的TextMeshPro,所以点击ManipulateEnable物体(这里是自己集成的一个类似button的东西)时候,ManipulateDisable物体中的文字button会变成Hitted!