首页 > 解决方案 > 当我们在 y 轴上旋转操纵器时,如何通过 Manipulator 在sharpdx 中移动模型

问题描述

我在 helixtoolkit 中使用 Sharpdx这个链接

我在 y 轴上将我的操纵器旋转了 15 度以与我的模型对齐,当我移动操纵器时,它会向那个方向移动,但是对于模型而不是移动到操纵器方向,它会通过世界空间 y 轴而不是操纵器方向。旋转也是一样的。我该如何解决?

这是我的代码

        tranformManupulatorMaster.EnableRotation = True;
    tranformManupulatorMaster.EnableTranslation = True;
    tranformManupulatorMaster.CenterOffset = New Vector3(getCenter.X, getCenter.Y, getCenter.Z);
    RotateTransform3D myRotateTransform = New RotateTransform3D(New AxisAngleRotation3D(New Vector3D(0, 1, 0), -modelAngle), New Point3D(getCenter.X, getCenter.Y, getCenter.Z));
    var binding = New Binding("");
    binding.Source = container;
    tranformManupulatorMaster.SetBinding(MyTranslateManipulator3D.TargetProperty, binding); 
    tranformManupulatorMaster.Transform = myRotateTransform; 
    //Add to containerMaster
    containerMaster3D.Children.Add(tranformManupulatorMaster);

标签: c#wpfhelix-3d-toolkit

解决方案


推荐阅读