kBlankii

- 2 часа назад
- Регистрация: 14 мар
我有个角色行走动画,我希望在运行时,根据角色脚下地面的坡度,动态改变他的足部骨骼在跨步时的高度 —— 为此,我想我需要实时获取足部骨骼在原始动画中的位置信息,基于此,再加上地面坡度的y轴偏移来实现效果。
所以,我该怎么获取骨骼在编译时(而非运行时)的原始位置信息?(譬如,在某帧上,脚A的Y坐标在Spine内是100;而此时它可能需要被动态修正成 y80,我该怎么获取原始值100?)
又或者,有没有其他更好的解决方案?
I’ve noticed that my mesh occasionally deforms slightly in Setup Mode, even when I haven’t manually altered it. As a result, I frequently have to reset these distorted meshes and painstakingly rebind their bones & repaint their weights.
So, my questions are:
① What operations could unintentionally cause mesh deformation? (I’d like to identify and avoid them in the future.)
② Is there a way to reset mesh deformations in Setup Mode without affecting the bound bones and weights?
我需要通过 SpineAnimationState.add_animation() 在0号轨道上不断添加新动画,并且我需要新动画能以曲线插值方式来过渡旧动画
我知道可以用 SpineTrackEntry.set_mix_duration() 来设置过渡,但这个是线性插值,效果不尽人意
我也知道可以用 SpineTrackEntry.set_alpha() 使用自定义值来实现曲线插值,但每次使用 SpineAnimationState.add_animation() 时,动画都会跳转到默认姿势开始过渡,而不是从现有状态继续过渡
我该怎么让动画从现有的状态继续过渡?
My requirement is similar to these posts:
https://esotericsoftware.com/forum/d/27948-how-to-disable-spine-physics-when-interacting-in-unity
https://esotericsoftware.com/forum/d/25523-physics-related-question--separate-gameobject-transform-from-skeleton-bones-/2But in spine-godot GDExtension, i can't seem to find such function to separate physics constraints from certain parents.
To be exact, i have a pseudo-3D scene in Spine, where there's a "camera bone" controls a parallax effect for every object in the scene, including a character with physics constrains applied to their hair.
When i move the camera bone, i don't want their hair to swing, instead i need the physics constraints to only be affected by the character itself.Can i achive this in the Spine editor? if not yet, is it possible to code it at the runtime in Godot?
- Изменено
Misaki
Can confirm, this issue is reproducible in Godot 4.3.stable.Tested with a newly created Godot 4.3 project, using the same spine project,
where the animations are named only using English letters,
only the slots, bones, image file & the skeleton itself contains Chinese.Godot 4.3 still crashes when the SpineSkeletonDataResource is provided to the SpineSprite node.
Misaki
谢谢你的处理!但实际情况与你的描述还是有些偏差。
方便起见,我在此提供一套能够完整还原这一问题的环境,
其中包含了 Spine 和 Godot 项目:MEGA.NZ 下载 (这里没法上传 >8MB 的文件)主要偏差来自
The important cause is apparently the inclusion of Chinese in the animation names, and it does not matter if Chinese is used in the skeleton bone names, slot names, or image file names used for attachments.
但在这套有问题的环境中,并不包含中文名动画。带中文的就只有 插槽、骨骼、骨架、图片文件
我已经在 Godot 项目中包含了有问题的 SpineSkeletonDataResource,将其拖拽进 SpineSprite 节点的 skeleton_data_res 空槽中,就会导致 Godot 崩溃。
该环境所使用的 Spine 版本为 4.2.40 Pro,
Godot 版本为 4.4.stable(官方版本)
spine-godot 版本为 spine-godot-extension-4.2-4.3-stable(GDExtension 版本)为了可读性和方便管理,我常需要使用中文来命名骨骼,所以希望这个问题能得到解决
先行感谢 Spine 团队和 spine-godot 相关参与者的付出① 若骨架名称包含中文,则 SpineSprite 节点的 skeleton_data_res 属性被指定该 skeleton data 时,整个 Godot IDE 都会崩溃
② SpineBoneNode 这类可选骨骼的节点,其骨骼列表会显示中文为乱码
我在使用最新的 GDExtension (spine-godot-extension-4.2-4.3-stable),并且在 Godot 4.3 和 4.4 中都测出了上述问题