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); //将颜色应用于网格渲染
}  

 

posted @ 2018-05-31 10:52  gameDesigner  阅读(765)  评论(0编辑  收藏  举报