Spine是目前用的比较广泛的2D骨骼动画插件,在unity中的使用也是比较多的,现在的项目有需要做一个外部资源来换装的换装系统,下面是根据官方的例子实现的一种方案

using System.Collections;
using System.Collections.Generic;
using Spine;
using Spine.Unity;
using Spine.Unity.Modules.AttachmentTools;
using UnityEngine;
public class Princess : MonoBehaviour
{/// <summary>/// 替换用的脸/// </summary>[SerializeField] SpineAtlasAsset []faces = null;void Start(){}/// <summary>/// 换脸/// </summary>void ChangeFace(int value){//获取SkeletonRenderer组件var skeletonRenderer = GetComponent<SkeletonRenderer>();//获取选中的脸的Atlasvar atlas = faces[value].GetAtlas();//获取现在的scalefloat scale = skeletonRenderer.skeletonDataAsset.scale;//获取要修改的插槽Slot slot = skeletonRenderer.Skeleton.FindSlot("face");//来源的AttachmentAttachment originalAttachment = slot.Attachment;//获取来源的regionAtlasRegion region = atlas.FindRegion("face");//继承的属性bool inheritProperties = true;//如果准备的素材都不为nullif (region == null){slot.Attachment = null;Debug.Log("获取不到想要的插槽");}else if (inheritProperties && originalAttachment != null){//克隆一个 附件 来赋值给 源插槽的附件slot.Attachment = originalAttachment.GetRemappedClone(region, true, true, scale);}else{//克隆一个 附件 来赋值给 源插槽的附件var newRegionAttachment = region.ToRegionAttachment(region.name, scale);slot.Attachment = newRegionAttachment;}}
}

Unity Spine 换装方案相关推荐

  1. Cocos Creator 的 web/原生多平台 Spine 换装方案解析,附 Demo 源码

    引言:Spine 换装是游戏开发中的一种常见实现方案,本次,羽毛先生将介绍自己对整体换装和局部换装实现方案的探索与选择. 运行环境 Cocos Creator 3.5.2 web/native 需求 ...

  2. unity 角色换装

    unity角色换装的关键是更改角色部位上的物体的SkinnedMeshRenderer组件的属性: 更改mesh:mesh决定了部位的物体的外形,是主要的数据. 刷新骨骼:同一个部位下,不同的mesh ...

  3. unity 3d换装之 SkinMeshRenderer

    http://www.cnblogs.com/shamoyuu/p/6505561.html 关注公众号 风色年代(itfantasycc) 200G Unity资料合集送上~ 一.换装原理 游戏角色 ...

  4. 关于unity实现换装的几个难点

    一.难点一:找到需要换装的网格组件.因为在人物模型中,有大量的骨骼网格组件,在进行换装时,需要对他们进行获取,然后赋予材质.而一般我们会使用的找寻物体的方式,一般有: 1.通过父物体找子物体,通过名字 ...

  5. unity官方换装教程Character Customization 学习笔记

    1. 下载示例demo,可以直接从AssetsStore上下载,但是速度比较慢,我在github上找了一个据说支持unity5.x的. 链接:https://github.com/spacebeagl ...

  6. unity中Avatar换装实现(三)之美

    前言 最近学习了Unity中Avatar换装功能实现,参考了网上的几篇文章,总结了一个Demo.Unity的换装实现参考网上的教程,总体有两种实现,一种是官方Demo给出的合并Mesh实现, 还有一种 ...

  7. Unity之SkinMeshRenderer带骨骼的人体模型换装

    Unity之SkinMeshRenderer带骨骼的人体模型换装 SkinMeshRenderer系统 条件 换装解决方案 第一种解决方案 第二种解决方案 方案选择 代码 效果 参考链接 SkinMe ...

  8. Unity Spine 局部换皮

    1.Spine元素主要包含皮肤(Skin).骨骼(Bone).插槽(Slot).附件(Attachment).及附件下的图片. 2.而皮肤(Skin)包含了插槽信息.附件信息,如果我们有两套相同构成的 ...

  9. unity换装骨骼、蒙皮、动作之美

    无论是AAA级的主机游戏,还是层出不穷的移动端游戏,角色换装几乎都是必不可少的功能,有的甚至是核心功能,像暗黑3和魔兽世界的幻化系统(如图1).这个功能没什么新鲜点.网上关于Unity换装的文章不胜枚 ...

  10. Unity使用OpenCV插件实现人脸融合 —— 换脸换装示例

    Unity使用OpenCV插件实现人脸融合 案例说明 Unity版本以及必备插件 快速上手 核心(黑心)方法(脚本): 结束 案例说明 本章节针对部分网友提出的看不懂源码,拿到相关资料后这也报错,那也 ...

最新文章

  1. EZ430 Chronos 自带程序源码:test 示范程序
  2. 1118 实验三 有限自动机的构造与识别
  3. LeetCode 26 Remove Duplicates from Sorted Array [Array/std::distance/std::unique] c++
  4. Oracle 11g Express Edition 安装及常见问题
  5. .NET World——gPRC概览
  6. php 汉字分割,php支持中文字符串分割的函数
  7. 解决Zarp报错,成功运行
  8. TeaVM编译JAVA感想:看着简单,做起来真难
  9. Java_基础—List集合存储学生对象并遍历
  10. 十进制 二进制 十六进制 八进制
  11. 右键菜单项删除 pycharm vs
  12. canonical的概念用途及用法详细解说,seo不可不看!
  13. 《程序员》2012年12期精彩内容:2012这一年
  14. IMF: Interactive Multimodal Fusion Model for Link Prediction
  15. 2023年Python数据分析有什么好的课程推荐吗?
  16. python海量数据分析师职业技能_大数据分析师技能图谱详解与零基础自学内容大全...
  17. Centos7系统下部署Gitlab+Jenkins+Docker 实现自动化部署项目
  18. Unity高频面试题总结
  19. 创业公司感叹养不起程序员:他们的工资有泡沫吗? | 百度宣布开源自主驾驶软件...
  20. 基于结点电压法的配电网状态估计matlab仿真

热门文章

  1. 【安全篇 / 反病毒】(5.6) ❀ 01. 反病毒的基本配置 ❀ FortiGate 防火墙
  2. 金蝶K3系统单据审核时报错:无效的过程调用或参数 处理方法
  3. 微型计算机主板常用部件,简明微型计算机组装与维护教程
  4. python多线程爬取qq好友空间的留言
  5. routerOS做wan口的交换机扩展和带宽叠加
  6. Java学习路线:day1 Java语言概述
  7. 考软件测试自学钢琴,新手学钢琴用什么app-自学钢琴比较好的软件推荐 - Iefans...
  8. Linux创建一个有空间大小限制的目录提供给ftp用户
  9. 励志:滴滴打车CTO张博:生死战役,技术和时间赛跑
  10. 学生计算机编程比赛获奖感言,学生技能大赛获奖感言