初音ミク XAML 化計画
開発環境: Visual Studio 2008
1.目的
3Dミクを躍らせるツールを見ていたら、3DミクのAutoCadデータがアップされているのに気がつきました。 ということは、ZAM
3D にインポートできるわけで・・・ ということは、VS 2008 にエクスポートできるわけで・・・
ということは、コンパイルすると動いてしまうわけで、簡単に紹介します。
2.参考書
(1) http://fenyo-ru.hp.infoseek.co.jp/dlc.htm
3.初音ミクの 3Dデータ
3.1 Miku 3D の元データ→ ZAM 3D
http://fenyo-ru.hp.infoseek.co.jp/dlc.htm の作者様より、商用以外でのXAML
へのデータ変換とアップロードのお許しをいただきました。
ここでアップロードされているデータのうち、AutoCAD のxdf 形式を ZAM 3D
にインポートすることができます。
3.2 ZAM 3D →VS 2005
この状態で、ZAM 3Dのメニューより Export を選択し、Visual Studio 2005
のプロジェクト形式で Export します。
3.3 VS 2005 → VS 2008
エクスポートした Visual Studio 2005 のプロジェクトファイルを Visual
Studio 2008 で開くと、自動的に変換を行ってくれます。
Miku-fenyo-ru.hp.infoseek.co.jp.zip 2.03MB
ただし、このデータだと、まゆと口の周辺のレンダリングがうまく行われずに、次のようになってしまいます。もとのレンダリングソフトから、AutoCAD
のdxf フォーマットでエクスポートし、さらにそれを XAML にエクスポートする際に、劣化してしまうのでしょう。残念です。
4. キオ式ミク
同様に、キオ式ミクで試してみました。結構厄介です。
データのXAML化の方法とその検討結果とその前後を参照してください。
Kio2.lwo の LightWave 用データを Blender にインポートし、そこから dxf
フォーマットへエクスポートし、それを ZAM 3D へインポートしました。
4,1 カメラワーク
ターゲットカメラがあるので、それをパンしてみる。
スライダーを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;
}
4,2 カメラワークのデモ
この方法で、初音ミクを回してみます。
ソースコード一式
Miku Kio V1.zip 4.3MB
注意: ここで使用している初音ミク 3D XAML データの利用に関しては、キオ式アニキャラ3D
の使用条件に従ってください。
5.初音ミク XAML化計画
以下、C# 研究室へのリンクです。
初音ミク XAML化計画 3/8
初音ミク XAML化計画 3/12
初音ミク XAML化計画 3/13
初音ミク XAML化計画 3/17
初音ミク XAML化計画〜クオータニオンって何? 3/19
初音ミク XAML化計画〜初音ミクをグリングリンするには、ベクトルの外積とクオータニオン 3/23
初音ミク XAML化計画〜 Trackball.cs を組み込んで、初音ミクをグリングリン回す 3/24
初音ミク XAML化計画〜初音ミクは重い 3/29
初音ミク XAML化計画〜キーボード入力で口と目を動かす 3/30
WPF Morphing してみる 5/6
初音ミクをモーフィングしてみるデモ Morphing
V1.exe