После приложения к мячу линейного импульса и крутящего момента я пытаюсь вернуть мяч в исходное положение.
При загрузке сцены из Reality Composer я сохраняю здесь исходное преобразование мяча.
Experience.loadTestSphereAsync { (result) in
switch result {
case .success(let anchor):
anchor.generateCollisionShapes(recursive: true)
self.testSphereAnchor = anchor
self.ball?.physicsBody?.mode = .static
self.arView.scene.anchors.append(self.testSphereAnchor)
self.ballStartTransform = self.testSphereAnchor.ball?.transform
self.targetStartTransform = self.testSphereAnchor.target?.transform
self.addTapGestures()
case .failure(let error):
fatalError(error.localizedDescription)
}
}
Чтобы вернуть мяч в исходное положение, я делаю это
func didPressRestartButton() {
ball?.clearForcesAndTorques()
ball?.physicsBody?.mode = .static
ball?.move(to: ballStartTransform!, relativeTo: nil, duration: 0.3)
}
Вместо того, чтобы вернуться в исходное положение, мяч просто застывает на месте.