微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

不旋转节点的逼真节点变形缩放

如何解决不旋转节点的逼真节点变形缩放

我有一个 SwiftUI/SpriteKit 游戏,其中有弹跳的球。球是 SKSpriteNodephysicsBody,并且它们确实启用了旋转。

我想要实现的是一种柔体效果,当球与某物碰撞时,它们会变形。想一想网球撞击地面时是如何变形的:侧面稍微向外推出,顶部/底部挤压在一起,形成一种蛋形。

要做到这一点,我首先认为我可以使用 scaleX(to:y:duration:)。但这只有在球在某物上直接上下弹跳时才有效。如果碰撞发生在球表面的不同部分(例如“2点钟”位置),那么标准的 X/Y 缩放当然是错误的。

所以,我可以用 scaleX(to:y:duration:) 来完成:

enter image description here

但我无法做到这一点:

enter image description here

因为球是根据物理学旋转的,而且球所用的图像是有纹理的,无法通过简单地将它们旋转到正确的角度来解决问题变形。

另一种方法可能是使用 SKWarpGeometryGrid 范式扭曲球,但我不确定如何实现这一点,所以我希望有更好的选择。

如何在不旋转球的情况下缩放/挤压旋转轴上的球?我应该使用扭曲几何体,还是有更简单的方法来实现这种效果

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。