Вращение объекта узла в начальную позицию SCNScene в iOS

У меня есть 3d модель скелета, которую я использую в качестве узла в моем приложении. Я вращаю его, используя UIPanGesture с этим кодом

- (void)handleSingleTap:(UIPanGestureRecognizer *)recognizer
{
    CGPoint location = [recognizer locationInView:[recognizer.view superview]];
    float x = location.x;
    float y = location.y;
    float anglePan = sqrt(pow(x, 2)*M_PI_4/90.0 + pow(y, 2));//*M_PI/180.0;
    SCNVector4 rotationVector = SCNVector4Make(0, 1, 0, anglePan);

    geometryNode.rotation = rotationVector;
    muscleNode.rotation = rotationVector;

    if(recognizer.state == UIGestureRecognizerStateEnded){

        SCNMatrix4 currentPivot1 = geometryNode.pivot;
        SCNMatrix4 changePivot1 = 
        SCNMatrix4Invert(geometryNode.transform);
        geometryNode.pivot = SCNMatrix4Mult(changePivot1, currentPivot1);
        geometryNode.transform = SCNMatrix4Identity;

        SCNMatrix4 currentPivot2 = muscleNode.pivot;
        SCNMatrix4 changePivot2 = SCNMatrix4Invert(muscleNode.transform);
        muscleNode.pivot = SCNMatrix4Mult(changePivot2, currentPivot2);
        muscleNode.transform = SCNMatrix4Identity;
    }
}

Теперь я хочу повернуть мой скелет в исходное положение, которое было в начале. Пожалуйста, проведите меня через процесс. Спасибо

0 ответов

Другие вопросы по тегам