unity spine 进阶使用

这篇具有很好参考价值的文章主要介绍了unity spine 进阶使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在项目实践中,我们常常遇到收集金币,钻石等这样的特效需求,最初我们也是全靠代码实现,效果总是差点,偶然和我们动画师聊天确定了一种新的实现方案。

大概流程是动画师在spine软件中实现炸金币+飞金币的过程 输出文件给到程序,程序需要在代码中动态修改节点位置,来对齐飞金币的方向和位置。

配置:

unity+spine

1.动画文件导入unity

2.在hierarchy面板创建一个 spine-skeleton graphic,动画文件拖入到 skeletonData asset 处

unity spine 进阶使用

3.点击 add skeleton utility 按钮添加skeleton Utility

4.点击spawn hierarchy 这里选择override all

到这里,你就可以在hierarchy面板中看到节点下生成了对应的骨骼节点,名字与spines源文件中是一样的。

之后就需要我们在代码中找到

eg: transform.Find("SkeletonUtility-SkeletonRoot/root/JByidong1").position = spin_jbInitPos;

--------------------------------------------------------------------------------------------

之后又发现,如果直接一开始就改位置,很容易牵到其他节点,导致动画扭曲

解决方案:

👉动画在做spine时添加关键事件帧,然后程序在unity中添加userevent事件监听

eg:

goldSpinAni.GetComponent<SkeletonGraphic>().AnimationState.Event += OnUserDefinedEvent;

public void OnUserDefinedEvent(Spine.TrackEntry trackEntry, Spine.Event e)
    {
            goldSpinAni.transform.Find("SkeletonUtility-SkeletonRoot/root/JByidong1").DOMove(goldImg.transform.position,0.3f);
    }

说明:这里为什么要用DoTween,其实不一定要用dotween,只是要有一个缓动的过程,如果是直接改变position,还是会有上文说到的问题。

希望能帮到大家!也是自己做一个笔记,哈哈哈文章来源地址https://www.toymoban.com/news/detail-403672.html

到了这里,关于unity spine 进阶使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity---Spine动画

    目录 1.介绍 2.优点 3.spine导出的unity资源 4.导入 5.导入报错的解决方案 6.使用 7.代码示例 1.加载Spine骨骼动画: 2.控制Spine动画的播放: 3.暂停和恢复动画播放: 4.监听动画事件: 5.切换皮肤(换装) 6.获取骨骼的Transform信息: 7.控制骨骼动画的混合和交叉淡入: 8.控制动画的

    2024年02月10日
    浏览(29)
  • Unity | Spine动画记录

    https://blog.csdn.net/linshuhe1/article/details/79792432 https://blog.csdn.net/winds_tide/article/details/128925407 通常制作好的 Spine 动画导出时会有三个文件: .png 、.json 和 .atlas: skeleton-name.json 或 skeleton-name.skel.bytes,包含了skeleton和animation数据。 skeleton-name.atlas.txt,包含了texture atlas的信息。 一个

    2024年02月19日
    浏览(35)
  • Spine(Unity)

    1.当前动画播放完毕后自动播放下一个动画 2.自动动画补偿问题 1)由于spine在切换动画的时候自动补偿,用于动画的平稳过度。但是会导致残影等bug,这时候需要在SetAnimation前调用 skeletonAnimation.skeleton.SetToSetupPose (); spineAnimationState.ClearTracks ();    或 skeletonGraphic.AnimationState

    2024年02月11日
    浏览(35)
  • 随笔-Unity中修改Spine材质

            我们在Unity中使用Spine动画时,往往需要在材质上添加一些效果,比如描边、闪光等等。              这些效果其实在Spine插件中就给我们提供好了对应的Shader,路径分别是: Spine/Outline/Skeleton、Spine/Skeleton Fill。 虽然有插件上给我提供好了这些常用的Shader,单独

    2024年02月11日
    浏览(47)
  • Unity 2D Spine 外发光实现思路

    前言 对于3D骨骼,要做外发光可以之间通过向法线方向延申来实现。 但是对于2D骨骼,各顶点的法线没有向3D骨骼那样拥有垂直于面的特性,那我们如何做2D骨骼的外发光效果呢? 理论基础 我们要知道,要实现外发光效果,首先得先实现外描边效果。对于2D图片的描边实现有

    2024年02月22日
    浏览(34)
  • 如何将spine的素材导入unity

    最近做项目,想将少前里的小人素材导入到unity里,于是乎便去捣鼓了一下,随便记录一下方便以后查看。 第一步:将素材导入spine(如果你已经有素材了,直接跳到第二步即可) 这里参考b站的一个教程:【少前/教程/小人动画】3分钟学会如何提取少前小人制作小人动画_哔

    2024年02月09日
    浏览(33)
  • Unity 如何导入二进制Spine文件

    总是忘记Spine导出二进制到Unity的设置,记录一下。 TIP 此教程只满足URP渲染管线与Linear颜色空间的需求 纹理打包器也修改一下拓展名(日常操作) 修改图集扩展名 不要 勾选图集的 预乘Alpha ,勾选 溢出 修改图集扩展名 .atlas.txt 可导出以下几种文件 Default Shader 设置为 Univer

    2024年02月07日
    浏览(27)
  • Spine动画导入unity后有白边的解决方法

     可以看官方视频[spine-unity] 常见导入问题解答_哔哩哔哩_bilibili 里面第四个问题就是讲的这个 如果你的spine文件导出用的是默认的情况,那么在导入unity后就有可能会出现透明贴图出现白边的情况 如下 此时先打开导入的图片文件  将右侧的sRGB选项取消选中(官方视频是这么

    2024年02月04日
    浏览(36)
  • Unity Spine 3.8 (URP) 踩坑(Shader报错修改)

    今天搜索spine优化,看到一篇文章项目导入多个Spine动画 合批 降低DrawCall -- UWA问答 | 游戏开发者互动问答社区 | 侑虎科技 提供了新思路,打算尝试一下URP。但美术使用的spine版本是3.8,项目用的Unity2021.3.11f1c2,直接导入spine URP包,shader报错:half4 不能转成 SurfaceData2D;遂改下

    2024年02月12日
    浏览(32)
  • 快速解决Spine动画导入Unity后需要设置Straight Alpha Texture的问题

    在导入Spine资源后,Unity会根据不同的后缀,自动化构建出不同格式的资源。导入后,会发现播放的动画和导入前的动画的图片不一样。这时上网查基本都是需要手动吧材质资源的Straight Alpha Texture 勾上。 查看材质的Shader可以看出这个选项是用来选择颜色是否加了透明度的计算

    2024年02月16日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包