После применения к мячу линейного импульса и крутящего момента я пытаюсь переместить шар обратно в исходное положение.
При загрузке сцены из реальности 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)
}
Вместо возврата в исходное положение, шар просто зависает там, где он есть.