Cocos Creator Spine动画产生位移时,动画位置获取问题 (root的使用)
版本: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的使用)相关推荐
- android 骨骼动画库,cocos creator spine骨骼动画组件使用
1: 掌握sp.Skeleton组件的使用; spine骨骼动画工具 1: 骨骼动画: 把动画打散, 通过工具,调骨骼的运动等来形成动画 2: spine是一个非常流行的2D骨骼动画制作工具 3: s ...
- cocos creator spine动画避坑
动画组合 只需要在不同的管道播放就可以了 this.player.getComponent(sp.Skeleton).setAnimation(0, "sheji1", false ...
- 麒麟子Cocos Creator 3D研究笔记七:骨骼动画上的挂接点
注意手中的大棒 每个人心中有一个属于自己的游戏世界,麒麟子也不例外.拿到Cocos Creator 3D第一时间,就想撸点人物角色相关的.像换装.角色控制.血条.武器挂接之类的. 然而当我按照套路把角 ...
- cocos creator spine动画控制停止在中间的某一帧
游戏中经常需要将一个spine动画拆成不同帧进行播放 只需要设置几个常用的属性就可以了 animationStart: 开始帧 animationEnd: 结束帧 总帧数可以打印结束帧 timeSca ...
- Unity 动画驱动位移的动画fbx导入设置
问题 基于纯客户端的动画驱动模型位移的设置,之前一直遇到各种问题,比如未驱动模型移动或者移动方向很诡异甚至有奇怪的旋转.经过测试确定了一种确定的模型/动画导入设置,记录以备忘. 导入步骤 注: 所有动 ...
- cocos creator学习(七)音乐
目录 背景音乐 使用AudioSource组件 ①添加组件 ②脚本控制 直接脚本控制 ①声明 ②播放背景音乐(playMusic) 音效 直接脚本控制 ①声明 ②播放 ③停止 注意 背景音乐 使用Au ...
- Cocos Creator Animation 组件
Cocos Creator Animation 组件 使用脚本控制动画 Animation 组件 Animation 组件提供了一些常用的动画控制函数,如果只是需要简单的控制动画,可以通过获取节点的 ...
- Android帧动画和补间动画
目录 1.帧动画 (帧动画的资源文件,放在drawable文件夹下) 1.创建一个项目 2.导入资源, 将图片资源放入 mipmap 文件夹下 3.编写资源文件 在drawable文件夹创建 4.在x ...
- 一文搞懂 Cocos Creator 3.x 坐标转换!建议收藏
Cocos Creator 3.x 如何将世界坐标转屏幕坐标?Creator 3D 怎么将 3D 坐标转化到 Canvas 上面?触摸的屏幕坐标如何转世界坐标?怎么把 Canvas 下的节点坐标转换为 ...
最新文章
- 深入理解分布式技术 - 降级和熔断
- C语言回调函数demo(帮助理解)以海康isapiExternDemo回调函数为例
- Qt Creator设置Conan
- 记录ionic 最小化应用时所遇的问题
- PTA11、 输入输出-计算字符串中的数 (10 分)
- Python之数据分析(Numpy数据可视化:等高线图、热力图、饼图)
- 网络 HTTP状态码大全
- 苦难是人生必须经历的一课
- DispatcherServlet与初始化主线
- deinstall oracle 11g on linux
- Win10电脑如何批量修改文件名
- @Transactional注解的几个参数--事务传播控制--事务隔离级别--异常与回滚
- FPGA课程:JESD204B的应用场景(干货分享)
- 大学生应该懂得。。。葡萄酒知识
- JAVA-day18-Map集合遍历、HashMap、TreeMap、Collections、集合嵌套,模拟斗地主发牌
- 宝宝纸尿裤怎么选?我联合2000位宝妈,对20款纸尿裤做了次测评
- 规格说明书-吉林市2日游
- Quasi-Newton拟牛顿法(共轭方向法)
- 支付宝,你在憋什么大招?
- canon老的一体机在win10上无法直接安装成功
热门文章
- Canvas 教程:如何绘制带箭头的曲线
- pywinauto爬取微信通讯录 2023年1月有效
- 提高IT专业人员薪酬水平的十种方法
- window10专业版关闭defender
- 【opencv安装和配置完整版教程】(win10+vs2019+opencv4.4.0+opencv_contrib-4.4.0+永久配置)
- 基于Android的相关毕业设计和论文
- GitHub上小伙玩剧本杀假戏真做,没想到对方竟然是……
- NTR1czU1bTk= 1
- 微信视频直播截图及如何分享到朋友圈和微信群截图(多图)
- 智能合约(区块链技术)全面阐述