版本:2.3.4

参考:

CSDN Unity-Spine动画位移问题

CNBolg 使用Spine动画制作动作游戏

网上搜了一下Spine动画位置的解决方案,参考了两篇文章吧。在制作spine动作时,不可避免的动画会产生位置,动画师不能一直将动画固定在原地。

比如跑步动画,这个可以原地踏步,动画做在原地就行了。

但是做出攻击,或者一些炫酷动作时,难免会产生位移。这个位移可能是曲线的,非线性运动,直接让程序或者策划去微调出和动画师制作的一样效果有些困难。

例如如下攻击动画。人物位置移动了,但是动画位置还在原地呢。这样做碰撞检测或者其他位置相关判断的时候,还在检测原地的位置,这显然是不合适的。

这个解决方案就是让动画师制作动画时,让根骨骼root跟随动画一起移动。

下图root根骨骼就是人物脚下那个十字图标

在cocos中获取root的位置。在做位置相关判断时,加上root的位置就行了。

    start() {let sk:sp.Skeleton = this.hero.getComponent(sp.Skeleton);sk.setAnimation(0,"attack1_1",true);let root = sk.findBone("root");let rootX = root.x;let rootY = root.y;console.log("root位置:",rootX , rootY);console.log("动画位置:",sk.node.x + rootX, sk.node.y + rootY);}

  

如果要在人物身上挂载碰撞BoxCollider,选择骨骼动画,点击生成挂点。

生成挂点,会显示人物的骨骼树

我们在root下挂上一个BoxCollider做碰撞检测

在代码里显示碰撞检测debugDraw

    onLoad(){var manager = cc.director.getCollisionManager();manager.enabled = true;manager.enabledDebugDraw = true;}

运行游戏,可以看到碰撞检测的BoxCollider挂载root上后,是和人物显示的位置是一致的。

这样做使用BoxCollider做碰撞检测,就不用担心spine动画里有位移了。

Cocos Creator Spine动画产生位移时,动画位置获取问题 (root的使用)相关推荐

  1. android 骨骼动画库,cocos creator spine骨骼动画组件使用

    1: 掌握sp.Skeleton组件的使用; spine骨骼动画工具 1: 骨骼动画: 把动画打散, 通过工具,调骨骼的运动等来形成动画 2: spine是一个非常流行的2D骨骼动画制作工具 3: s ...

  2. cocos creator spine动画避坑

    动画组合 只需要在不同的管道播放就可以了 this.player.getComponent(sp.Skeleton).setAnimation(0, "sheji1", false ...

  3. 麒麟子Cocos Creator 3D研究笔记七:骨骼动画上的挂接点

    注意手中的大棒 每个人心中有一个属于自己的游戏世界,麒麟子也不例外.拿到Cocos Creator 3D第一时间,就想撸点人物角色相关的.像换装.角色控制.血条.武器挂接之类的. 然而当我按照套路把角 ...

  4. cocos creator spine动画控制停止在中间的某一帧

    游戏中经常需要将一个spine动画拆成不同帧进行播放 只需要设置几个常用的属性就可以了 animationStart: 开始帧 animationEnd: 结束帧 总帧数可以打印结束帧 timeSca ...

  5. Unity 动画驱动位移的动画fbx导入设置

    问题 基于纯客户端的动画驱动模型位移的设置,之前一直遇到各种问题,比如未驱动模型移动或者移动方向很诡异甚至有奇怪的旋转.经过测试确定了一种确定的模型/动画导入设置,记录以备忘. 导入步骤 注: 所有动 ...

  6. cocos creator学习(七)音乐

    目录 背景音乐 使用AudioSource组件 ①添加组件 ②脚本控制 直接脚本控制 ①声明 ②播放背景音乐(playMusic) 音效 直接脚本控制 ①声明 ②播放 ③停止 注意 背景音乐 使用Au ...

  7. Cocos Creator Animation 组件

    Cocos Creator Animation 组件 使用脚本控制动画 Animation 组件 Animation 组件提供了一些常用的动画控制函数,如果只是需要简单的控制动画,可以通过获取节点的 ...

  8. Android帧动画和补间动画

    目录 1.帧动画 (帧动画的资源文件,放在drawable文件夹下) 1.创建一个项目 2.导入资源, 将图片资源放入 mipmap 文件夹下 3.编写资源文件 在drawable文件夹创建 4.在x ...

  9. 一文搞懂 Cocos Creator 3.x 坐标转换!建议收藏

    Cocos Creator 3.x 如何将世界坐标转屏幕坐标?Creator 3D 怎么将 3D 坐标转化到 Canvas 上面?触摸的屏幕坐标如何转世界坐标?怎么把 Canvas 下的节点坐标转换为 ...

最新文章

  1. 深入理解分布式技术 - 降级和熔断
  2. C语言回调函数demo(帮助理解)以海康isapiExternDemo回调函数为例
  3. Qt Creator设置Conan
  4. 记录ionic 最小化应用时所遇的问题
  5. PTA11、 输入输出-计算字符串中的数 (10 分)
  6. Python之数据分析(Numpy数据可视化:等高线图、热力图、饼图)
  7. 网络 HTTP状态码大全
  8. 苦难是人生必须经历的一课
  9. DispatcherServlet与初始化主线
  10. deinstall oracle 11g on linux
  11. Win10电脑如何批量修改文件名
  12. @Transactional注解的几个参数--事务传播控制--事务隔离级别--异常与回滚
  13. FPGA课程:JESD204B的应用场景(干货分享)
  14. 大学生应该懂得。。。葡萄酒知识
  15. JAVA-day18-Map集合遍历、HashMap、TreeMap、Collections、集合嵌套,模拟斗地主发牌
  16. 宝宝纸尿裤怎么选?我联合2000位宝妈,对20款纸尿裤做了次测评
  17. 规格说明书-吉林市2日游
  18. Quasi-Newton拟牛顿法(共轭方向法)
  19. 支付宝,你在憋什么大招?
  20. canon老的一体机在win10上无法直接安装成功

热门文章

  1. Canvas 教程:如何绘制带箭头的曲线
  2. pywinauto爬取微信通讯录 2023年1月有效
  3. 提高IT专业人员薪酬水平的十种方法
  4. window10专业版关闭defender
  5. 【opencv安装和配置完整版教程】(win10+vs2019+opencv4.4.0+opencv_contrib-4.4.0+永久配置)
  6. 基于Android的相关毕业设计和论文
  7. GitHub上小伙玩剧本杀假戏真做,没想到对方竟然是……
  8. NTR1czU1bTk= 1
  9. 微信视频直播截图及如何分享到朋友圈和微信群截图(多图)
  10. 智能合约(区块链技术)全面阐述