Spine学习九 - 冰冻效果
想象这样一个效果,一个人被冰霜攻击命中,然后这个人整个就被冰冻了,那么spine动画要如何实现这个效果呢?
1.首先需要一个Spine动画,这个动画应该是相对静止的,因为人物已经被冰冻了,那么这个人儿应该就没法动了,所以冰冻的时候就播放这个动画。
2.需要改变这个spine的颜色,因为spine使用的是mesh renderer组件渲染,我们想要改变spine的颜色,可以使用MaterialPropertyBlock来实现,具体代码如下:
public Color freezeColor; public Color freezeBlackColor; public string colorProperty = "_Color"; public string blackTintProperty = "_Black"; MaterialPropertyBlock block; MeshRenderer meshRenderer; void Start(){ block = new MaterialPropertyBlock(); meshRenderer = GetComponent<MeshRenderer>(); block.SetColor(colorProperty, freezeColor);//设置颜色 block.SetColor(blackTintProperty, freezeBlackColor);//设置背景颜色 meshRenderer.SetPropertyBlock(block); //将颜色应用于网格渲染 }