|
ターゲットカメラがあるので、それをパンしてみる。
スライダーを3つ追加して、次の3つのカメラの設定にリンクさせる。
-
望遠・広角
値の設定先: ターゲットカメラの FieldOfView
値のレンジ: だいたい 30〜100ぐらい
-
水平方向回転
値の設定先: ターゲットカメラの Transform
値のレンジ: -180°〜180°
-
垂直方向回転
値の設定先: ターゲットカメラの Transform
値のレンジ: -180°〜180°
実装例は次の通り。
private void SliderH_ValueChanged(object sender, RoutedPropertyChangedEventArgs e)
{
Transform3DGroup tg = new Transform3DGroup();
tg.Children.Add(new RotateTransform3D(new AxisAngleRotation3D(new Vector3D(0, 1, 0), this.SliderH.Value)));
tg.Children.Add(new RotateTransform3D(new AxisAngleRotation3D(new Vector3D(1, 0, 0), this.SliderV.Value)));
this.Target_CameraOR20.Transform = tg;
}
private void SliderV_ValueChanged(object sender, RoutedPropertyChangedEventArgs e)
{
Transform3DGroup tg = new Transform3DGroup();
tg.Children.Add(new RotateTransform3D(new AxisAngleRotation3D(new Vector3D(0, 1, 0), this.SliderH.Value)));
tg.Children.Add(new RotateTransform3D(new AxisAngleRotation3D(new Vector3D(1, 0, 0), this.SliderV.Value)));
this.Target_CameraOR20.Transform = tg;
}
private void sliderZoom_ValueChanged(object sender, RoutedPropertyChangedEventArgs e)
{
this.Target_CameraOR20.FieldOfView = this.slider.Value;
}
|