0

我正在尝试使用 Leap Motion 来控制带有 Helix Toolkit 的 3D 对象,我几乎成功了,但我想知道如何在代码隐藏中进行“缩放”。

注意我正在使用 Caliburn(MVVM 模式)。

我想在执行顺时针 CircleAction 时放大,否则缩小:

public void CircleAction(bool isClockWise)
{
    if (!detectionActive)
    {
        return;
    }
    if (isClockWise)
    {
        // To do
    }
    else
    {
        //To do
    }
}

这是我的 HelixToolkit 区域:

        <HelixToolkit:HelixViewport3D.Camera>
            <PerspectiveCamera 
                Position="{Binding CameraPosition,Mode=TwoWay}"
                LookDirection="{Binding CameraDirection,Mode=TwoWay}"
                UpDirection="{Binding Camera.UpDirection}"
                FieldOfView="{Binding Camera.FieldOfView}"
             />
        </HelixToolkit:HelixViewport3D.Camera>

    </HelixToolkit:HelixViewport3D>
4

1 回答 1

0

helix-toolkit 源代码中的SurfaceDemo示例和该类的文档中,我可以提出以下建议。CameraController

XAML:

<HelixToolkit:HelixViewport3D x:Name="myViewPort3D">
<!-- ... -->
</HelixToolkit:HelixViewport3D>

代码隐藏:

public void CircleAction(bool isClockWise)
{
    if (!detectionActive)
    {
        return;
    }
    if (isClockWise)
    {
        myViewPort3D.CameraController.zoom(delta);
    }
    else
    {
        myViewPort3D.CameraController.zoom(-delta);
    }
}
于 2016-06-22T21:40:48.477 回答