【Unity】 Spine3.8 动态加载

版本: Unity2019 Spine3.8

1.预制体的动态加载

预制体已经挂载了SkeletonAnimation组件,并包含了SkeletonDataAsset数据,
设置初始动画,是否循环等

代码上,只需要实例化预制体、获取SkeletonAnimation 组件等

GameObject go = Object.Instantiate(spinePrefab, spawnLoaclPosition, Quaternion.identity);
go.transform.localPosition = spawnLoaclPosition;
go.transform.SetParent(this.transform, false);

SkeletonAnimation sa = spinePrefab.GetComponentInChildren<SkeletonAnimation>();
var sda = sa.skeletonDataAsset;
if (sda == null) return null;

sda.GetSkeletonData(false); 

go.name = sda.name.ToString(); 
var spineAnimation = sda.GetSkeletonData(false).FindAnimation(defaultAnimation);

DoExtraStuff(sa, spineAnimation);

2.Export文件的动态加载

Unity已经导入三个文件
xxxx.atlas.txt
xxxx.json
xxxx.png
通过这三个文件可以依次获取SkeletonDataAsset数据、SpineAtlasAsset数据
然后在通过脚本来初始化游戏对象,并挂载SkeletonAnimation组件

部分代码如下

//变量
public TextAsset skeletonJson;
public TextAsset atlasText;
public Texture2D[] textures;
public Material materialPropertySource;

private SpineAtlasAsset runtimeSAA;
private SkeletonDataAsset runtimeSDA;
private SkeletonAnimation runtimeSA;

//逻辑    
runtimeSAA = SpineAtlasAsset.CreateRuntimeInstance(atlasText, textures, materialPropertySource, true);
runtimeSDA = SkeletonDataAsset.CreateRuntimeInstance(skeletonJson, runtimeSAA, true);

 runtimeSDA.GetSkeletonData(false); //预加载
 runtimeSDA.name = skeletonJson.name + "_SkeletonData";
 runtimeSA = SkeletonAnimation.NewSkeletonAnimationGameObject(runtimeSDA);  //初始化游戏对象
 var spineAnimation = runtimeSDA.GetSkeletonData(false).FindAnimation(defaultAnimation);

 runtimeSA.transform.localPosition = spawnLoaclPosition;
 runtimeSA.transform.SetParent(this.transform, false); 

 DoExtraStuff(runtimeSA, spineAnimation); //此方法做一些额外的工作
 runtimeSA.transform.gameObject.name = runtimeSDA.name.ToString();
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: spine-unity-3.8.99是Spine软件针对Unity引擎开发的一个版本。Spine是一款功能强大的2D骨骼动画编辑器,能够帮助开发者创建流畅、逼真的2D角色动画。而Unity引擎则是一款广泛应用于游戏开发的跨平台开发工具。 spine-unity-3.8.99的发布主要是为了提供更好的兼容性和功能性。这个版本可能修复了一些之前版本中存在的问题,改进了软件的稳定性和性能表现。同时,针对Unity引擎的特性和功能,spine-unity-3.8.99也可能做了一些适配和优化,以便更好地集成和使用Spine动画。 此外,spine-unity-3.8.99可能还增加了一些新的特性和工具,以提供更多的选项和灵活性,方便开发者根据自己的需求定制和优化动画效果。这样,开发者可以更加方便地在Unity引擎中使用Spine来制作高质量、流畅的2D角色动画,为游戏添加更多的细节和魅力。 总的来说,spine-unity-3.8.99的发布是为了进一步提升SpineUnity引擎中的使用体验,使开发者能够更加方便地创建出更加生动、精美的2D角色动画,并为游戏提供更多的互动性和视觉效果。 ### 回答2: spine-unity-3.8.99是Spine软件的一个版本。Spine是一款用于创建2D骨骼动画的软件,它允许用户通过设置骨骼结构和绘制动画关键帧来制作复杂的角色动画。 spine-unity-3.8.99是Spine软件的Unity插件版本。Unity是一种强大的跨平台游戏引擎,它支持2D和3D游戏的开发,并且有广泛的用户和社区支持。通过将Spine插件集成到Unity中,开发者可以使用Spine的骨骼动画功能来制作和控制游戏中的角色动画。 spine-unity-3.8.99可能是SpineUnity之间的一个特定版本兼容性的标识。由于SpineUnity都在不断发展和升级,为了确保Spine插件与Unity引擎的版本相匹配,Spine团队会发布适用于不同Unity版本的Spine插件版本。这样,使用Spine插件在开发过程中可以避免一些潜在的兼容性问题。 总结来说,spine-unity-3.8.99是Spine软件的Unity插件版本,提供了Spine骨骼动画的功能和控制,并且在特定的版次中与Unity引擎兼容。 ### 回答3: spine-unity-3.8.99是一个用于Unity引擎的插件,用于支持Spine骨骼动画。Spine是一个2D骨骼动画编辑器,它允许开发者创建复杂的动态角色动画。 spine-unity-3.8.99提供了Unity引擎与Spine的无缝集成,使开发人员可以在Unity中直接使用Spine创建的骨骼动画。这个插件包含了一系列用于呈现、控制和优化动画的组件和功能。 使用spine-unity-3.8.99,开发者可以在Unity中轻松导入Spine动画文件,并通过Unity的编辑器界面进行编辑和调整。插件提供了一组工具,帮助用户在运行时控制动画的播放、循环、混合、绑定事件和触发动画等。同时,它还提供了优化功能,以保证动画在运行时的性能和效果。 spine-unity-3.8.99还支持与Unity其他功能的无缝集成,如粒子效果、物理引擎、碰撞检测等。这使得开发人员可以创建更加丰富多样的动画效果,并在游戏中实现更高的互动性和流畅度。 总之,spine-unity-3.8.99是一个强大的插件,为开发者提供了在Unity中使用Spine骨骼动画的便利。通过其丰富的组件和功能,开发人员可以更好地实现游戏中的复杂动画效果,提高游戏的视觉吸引力和用户体验。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值