版本: Unity 6 (6000.0)
语言英语
  • C#

Material.SetFloat

建议修改

成功!

感谢您帮助我们改进 Unity 文档的质量。尽管我们无法接受所有提交内容,但我们会阅读用户提出的每个建议,并在适当的情况下进行更新。

关闭

提交失败

由于某种原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们改进 Unity 文档的质量。

关闭

取消

切换到手册

声明

public void SetFloat(string name, float value);

声明

public void SetFloat(int nameID, float value);

参数

nameID 属性名称 ID,使用 Shader.PropertyToID 获取。
value 要设置的浮点值。
name 属性名称,例如 "_Glossiness"。

描述

设置命名的浮点值。

在使用标准着色器设置材质值时,您应该注意,您可能需要使用 EnableKeyword 来启用之前未使用的着色器功能。有关更多详细信息,请阅读 通过脚本访问材质

其他资源:GetFloat材质ShaderLab 文档Shader.PropertyToID着色器程序中的属性

using UnityEngine;

public class Example : MonoBehaviour { Renderer rend;

void Start() { rend = GetComponent<Renderer> ();

// Use the Specular shader on the material rend.material.shader = Shader.Find("Specular"); }

void Update() { // Animate the Shininess value float shininess = Mathf.PingPong(Time.time, 1.0f); rend.material.SetFloat("_Shininess", shininess); } }