更改SKPhysicsBody参数没有效果

5
我尝试模拟不同类型的球(足球、网球、高尔夫球、排球等)的行为。为此,我尝试更改物理体的密度、质量、大小参数。但在我的游戏中没有效果,我试图在由球和球拍组成的非常简单的应用程序中模拟它。

enter image description here

球体无论质量、密度、大小如何,总是以相同的速度上升到相同的高度

setting for the ball

enter image description here

这是因为恢复系数等于1吗?我该如何模拟不同球类型的行为呢?

1个回答

6
你需要更改每个球的弹性属性、线性阻尼和角度阻尼。以下是示例数据:
网球 - 弹性 0.6,线性阻尼 0.2,角度阻尼 0.2
足球 - 弹性 0.5,线性阻尼 0.3,角度阻尼 0.2
高尔夫球 - 弹性 0.8,线性阻尼 0.3,角度阻尼 0.3
铅球 - 弹性 0.1,线性阻尼 0.1,角度阻尼 0.1

enter image description here

这是一个链接,指向苹果属性的定义。

https://developer.apple.com/documentation/spritekit/skphysicsbody/1519906-mass


当阻尼值越低时,球弹跳得越高。即使恢复系数设置为1。 - Ron Myschuk
2
嘿,书呆子 ;) 实际上它们以相同的速度下落(这是重力的预期),视频中可能只是出现了一些故障。我敢打赌,Giphy录制器在场景编辑器中出现了卡顿。当我观看不录制的序列时,它们都以相同的速度下落。 - Ron Myschuk
@RonMyschuk,QuickTime 提供屏幕录制功能,你可以录制视频后将其转换成 gif 格式。试一试,看看是否能提高性能。 - Knight0fDragon
@Knight0fDragon 谢谢,这是对任何阅读这些评论的人都有用的建议。我在发布这个视频时没有注意到“滞后”问题,否则我可能会从设备上录制它,而不是直接从场景编辑器中录制。当我使用QuickTime从我的iPad录制时,也遇到了相当大的问题(它只有一半的时间工作,当在苹果论坛上研究它时,看起来这是一个已知的问题)。 - Ron Myschuk
@RonMyschuk,是的,不幸的是,从我所读到的各种人的评论来看,仿真器似乎使用软件渲染的OpenGL,而不管安装了什么硬件,因此捕获一个良好的视频,以及不会干扰应用程序的良好帧率,可能只是一厢情愿。 - Knight0fDragon
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接