У меня есть ModelVisual3D куба. Я хочу перевести и повернуть его одновременно. Я хочу, чтобы центр вращения находился посредине куба (куб вращается вокруг собственной оси). Но когда я пытаюсь сделать это, применяя оба преобразования, эффект не то, что вы ожидаете. Поскольку объект переводится, центр вращения отличается тем, что он перемещается и вращается странным образом. Как получить желаемый эффект?3D анимация Вращение и перевод одновременно в WPF
Transform3DGroup transGroup = new Transform3DGroup();
DoubleAnimation cardAnimation = new DoubleAnimation();
cardAnimation.From = 0;
cardAnimation.To = 3;
cardAnimation.Duration = new Duration(TimeSpan.FromSeconds(2));
Transform3D transform = new TranslateTransform3D(0,0,0);
transGroup.Children.Add(transform);
RotateTransform3D rotateTransform = new RotateTransform3D();
AxisAngleRotation3D rotateAxis =
new AxisAngleRotation3D(new Vector3D(0, 1, 0), 180);
Rotation3DAnimation rotateAnimation =
new Rotation3DAnimation(rotateAxis, TimeSpan.FromSeconds(2));
rotateAnimation.DecelerationRatio = 0.8;
transGroup.Children.Add(rotateTransform);
Model.Transform = transGroup;
transform.BeginAnimation(TranslateTransform3D.OffsetXProperty,
cardAnimation);
rotateTransform.BeginAnimation(RotateTransform3D.RotationProperty,
rotateAnimation);
Вы имеете в виду вращение куба на месте, а затем переводить? Beacause это не то, что я хочу, я хочу, чтобы он был переведен и вращался так же, как земля двигается и вращается вокруг своей оси ... – synepis
Спасибо за ваш ответ! Это то, что я искал. – synepis