Unity Spine动画 程序自己切换动画蒙皮

    动作美术给我们出的Spine 是一个动画格式,当我们需要使用同一个骨骼,但是不同的蒙皮时,美术来做的话就是一件很无聊的重复的事情,浪费时间。所以就需要我们程序自己来制作了。首先在网上查了下修改的原理,就是替换这个spine动画预制体的matrial,因为slot是不变的,所以无需操作。然后尝试了网上找的方案,不太适合,出现了各种问题,所以自己看了下Spine的代码,发现为我们提供了自定义的修改脚本。总结一下两个方案实现:

    方法一:首先添加SkeletonRendererCustomMaterials 脚本,在CustomMaterialOverrides 里 ,给需要替换的材质。这里的材质,我们需要自己生成,直接拷贝一份原mat文件,替换其mainTexture。SkeletonRengerer 拉过来(SkeletoinAnimation继承自SkeletonRengerer ),就发现spine动画的皮换掉啦。

    方法二:此方法在网上很容易搜到,加载一张图片,把他的图片信息与Spine的slot绑定一起,然后创建一个新的材质,给Spine物体进行替换材质。

    第一个方法方便自己创建不同的预制体,给策划同学自己去配置使用哪个,很方便。第二个方法我试了,但是会更改所有在场景中的这个物体,也会出现材质丢失的问题,管理起来很麻烦。如果有更好的解决方案可以提供的话 感谢大家了!方法二代码片段如下,来自网络:

 public static Material CreateRegionAttachmentByTexture(Slot slot, Texture2D texture)
    {
        if (slot
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值