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

如何通过脚本访问并修改Unity2D中文本的Glow Power值?

解决Unity2D文本动态修改Glow Power的问题

核心问题分析

你用GetComponent失败,大概率是找错了组件类型——Unity内置的Text组件没有「Glow Power」属性,这个功能几乎都是来自**TextMeshPro(TMP)**的UI文本组件,或是第三方发光插件。


针对TextMeshPro场景的解决方案

步骤1:确认组件与命名空间

  • 先检查你的文本组件是TextMeshProUGUI(UI画布上的文本)还是TextMeshPro(3D场景文本),查看Inspector里的组件全名。
  • 脚本开头必须引入TMP命名空间:
    using TMPro;
    

步骤2:正确获取组件并修改Glow Power

TMP的Glow属性通过材质控制,直接修改材质对应参数即可,示例脚本:

using UnityEngine;
using TMPro;

public class DynamicTextGlow : MonoBehaviour
{
    private TextMeshProUGUI _tmpText;
    // 可在Inspector调整目标发光强度
    public float targetGlowPower = 3f;
    // 平滑过渡速度
    public float smoothSpeed = 1f;

    void Start()
    {
        // 获取当前物体上的TMP UI文本组件
        _tmpText = GetComponent<TextMeshProUGUI>();
        if (_tmpText == null)
        {
            Debug.LogError("当前物体没有挂载TextMeshProUGUI组件!");
            return;
        }

        // 确保Glow效果已启用(需先在Inspector打开Glow开关,或用代码启用)
        _tmpText.fontSharedMaterial.EnableKeyword("GLOW_ON");
    }

    void Update()
    {
        // 读取当前发光强度
        float currentPower = _tmpText.fontSharedMaterial.GetFloat(ShaderUtilities.ID_GlowPower);
        // 平滑过渡到目标值
        float newPower = Mathf.Lerp(currentPower, targetGlowPower, smoothSpeed * Time.deltaTime);
        // 设置新的发光强度
        _tmpText.fontSharedMaterial.SetFloat(ShaderUtilities.ID_GlowPower, newPower);
    }
}

第三方发光插件的通用解决思路

如果「Glow Power」来自自定义/第三方组件(比如EasyGlow、TextGlow等):

  1. 在Inspector里查看标红组件的类名(比如组件叫TextGlowEffect)
  2. 脚本里用对应的类型获取并修改:
    private TextGlowEffect _glowComponent;
    
    void Start()
    {
        _glowComponent = GetComponent<TextGlowEffect>();
        if (_glowComponent != null)
        {
            // 直接修改组件的Glow Power属性,字段名参考插件文档或Inspector变量名
            _glowComponent.glowPower = 2f;
        }
    }
    

常见排查点

  • 组件是否和脚本挂载在同一个GameObject上?如果不在,改用GetComponentInChildren<>或指定物体获取
  • 是否拼写错了组件类型?比如把TextMeshProUGUI写成TextMeshPro
  • TMP的Glow是否在Inspector里提前开启?未开启的话材质不会有Glow相关参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 14:05:17