我按照这个视频创建了我的第一个着色器。溶解着色器视频链接
在协程中,我从对象中获取了材质的组件:
PalaceMaterial = palaceInstance.GetComponent <Renderer> () .material;
Run Code Online (Sandbox Code Playgroud)
我将参数设置为0:
PalaceMaterial.SetFloat ("_ CutoffHeight", 0);
Run Code Online (Sandbox Code Playgroud)
为了达到这个效果,我不得不修改参数“CuttoffHeight”,逐渐将其放入Update()中
PalaceMaterial.SetFloat("_CutoffHeight", Mathf.MoveTowards(PalaceMaterial.GetFloat("_CutoffHeight"), CutoffHeight, 100 * Time.deltaTime));
Run Code Online (Sandbox Code Playgroud)
我将其应用于所有对象。每 2 秒我实例化一个“不可见对象”(CutoffHeight 设置为 0),并在 Update() 中逐渐更改值。现在我想将此参数更改为同时使用此着色器的所有对象。我希望我说清楚了。
我的项目视频: 项目,Dissolve_Effect
我想同时更改第一个平台中的所有立方体中的“_CutoffHeight”参数,然后更改第二个平台中的所有立方体,等等。您有什么想法吗?