0

Leap Motion を使用して Helix Toolkit で 3D オブジェクトを制御しようとしていますが、ほぼ成功していますが、コード ビハインドで「ズーム」を行う方法を考えています。

NB 私は 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の例とclassドキュメントから、次のことを提案できます。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 に答える