ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

XAMLコミュの質問

  • mixiチェック
  • このエントリーをはてなブックマークに追加

コメント(26)

□ 質問「xamlのフォーマットについて」 □

3Dアニメーションツール「Cyberdelia」というツールを作っているのですが、xamlの3Dデータを書き出せるようにしました。Version 6.1をダウンロードしてください。
http://www.cyberdelia.net/tools/cyberdelia.html

それで質問なんですが、Storyboardの移動やスケールはXYZに分かれてアニメーションできるのに、回転アニメーションRotation3DAnimationUsingKeyFramesだけは、一つの軸でしか回転できません。

回転はどうやればXYZ全部できるでしょうか?
自己レスです。

あまり正確ではありませんが、クォータニオンを使えばよかったようです。
たけしさん。こんばんは。cyberdelia!早速明日会社で試用してみます!
Ry-orgy A. Romeroさん、ありがとうございます。

実はまだ誰からもテストプレイの結果を聞けていません。

フリーソフトなので、試用といわず愛用してください(笑)。
□ 質問「四大3DCGツールのxamlプラグイン?」 □

iアプリにしろ、Shockwave3Dにしろ、たいていの3Dフォーマットは、四大3DCGツールから書き出せるプラグインが出ているはずです。

ところが、3ds max・Maya・Soft Image・LightWave3Dのどれからもxamlフォーマットへのエクスポートプラグインが出ていないと言うことは、仕様的に無理だと言うことでしょうか?

ZAM3Dは今後も無料で配布され続けるのでしょうか?
私、そちらは門外漢で、ざっとぐぐってみただけですが、mayaとLightwaveはコンバーター出てますよね?
(いや使い物になるのかもわかりませんが)

あと、
the WPF/XAML Conversion Contest
http://wpf.netfx3.com/content/ConversionContest.aspx
こんなんやってますね。

ネイティブのプラグインが出てないのは、仕様上の問題もあるかも知れませんが、マーケットとしてまだ成立してないとか、WPF自体の仕様がまだ流動してるとかそういうとこではないでしょうか?
kaorunさん、ありがとうございます。

言葉が足りませんでした。特に回転アニメーションの変換が難しいと言いたかったのです。

僕のLightWaveのバージョンが古いので、動作確認はできませんでしたが、このプラグインはモデルデータのみの変換で、アニメーションにはまだ対応していないみたいです。

「the WPF/XAML Conversion Contest」
早速投稿しました。が、連絡先がブログのメールフォームでした。読み間違えたのでしょうか?
3dsとdxfに関してもZAM3Dのサイトを見る限りでは、ZAM3D経由でXAMLにexportで来そうですね。ZAM3Dから書き出した球のモデリングデータは最高精度で円にみたてた64角形の集合でしかないので拡大するとだいぶ粗がでますね。
球体の扱いに関しては現状ではBlenderを使って100角形の円の集まりで構成された球体を扱うのが最も美しいかもしれません。
どなたかツルッツルの球体を表示する術をご存知の方がいらっしゃいましたらご教示いただけばと...w。
>Ry-orgy A. Romeroさん

Blenderのことはよくわかりませんが、高価な3DCGツールならたいてい曲面化の機能があります。

2Dでいうベジェ曲線のように、直線を滑らかにする技術に似ています。

フリーソフトのMetasequoiaLEでも球を曲面化したら、楕円っぽくなってしましましたが。
>たけしさん

こんばんは。

WPFでいくとレンダリング前のモデリングデータをXAML化するワークフローになるかと思いますが、手元にZAM3Dしか無いために美しい曲面のモデリングデータを生成する術が良くわかりませんでした。w...もしかしてZAM3Dでも綺麗な球体をモデリングする事って出来ますかね?

そこで例えばMaYaとかの3Dアプリで曲面化されたデータを生成してXAML化した場合は、しっかりと曲面として認識されるのでしょうか?

どなたか試された方がいらっしゃいましたらご教示頂ければと思います。
...というか後で時間つくってMayaのFREE版で試してみようかな...と。
>Ry-orgy A. Romeroさん

dxf形式でも大丈夫なら、無料のMetasequoiaLEで、球をU方向V方向の分割数を大きくすれば、かなり細かい球になると思います。
http://www.metaseq.net/metaseq/
>たけしさん
情報ありがとうございます!そうですかメタセコイアでも100分割球がいけたのですね。この見た目であれば結構な拡大にもたえられそうですね。イイですね!

ただ、zam3dのデフォルトの16segmentの球と64segmentの球ではパフォーマンスが明らかに違いますね。w

少しロースペック(Pen4 1.2GHz)のノートPCでみたところ、16の球はグリグリと回転が可能でしたが64になると一気に負荷があがりました。xamlのコード数もそれなりのボリュームですね。100分割になるとさらに64の1.5倍くらいなのできっとまた「それなり」でしょう。w

メタセコイアためしに使ってみます。
Yahoo!のニュースを見ていたら、旭山動物園がマイクロソフトに作らせたWPFブラウザアプリの記事がありました。
http://www.asahiyamazoo-aict.jp/

このページを見ると「推奨ハードウェア」に「グラフィック アクセラレータ:ハードウェアによるピクセル シェーダ 2.0」と書かれています。

WPFでシェーダーの使い方を教えてください。
今さらながらですが・・・

WPFは内部的にシェーダを使っていますが、開発者がWPFを通してシェーダを使用することは出来ません。

マイクロソフト曰く、「今後も使えるようにするつもりはない」そうです。
まっつんさん

わかりました。

マテリアルがテクスチャのみかディフューズ色のみなのでシェーダーが自由に使えないとチープになりそうです。
すみません。
WPFのコミュニティにもご質問させていただいたのですが、
こちらでもご質問させていただいて宜しいでしょうか?
(マルチポストと解釈されても致し方ありませんが、
 仕事を進める上で問題になっている事柄ですので。)

現在XBAPプログラムの開発を続けているのですが、
コントロール系の機能で質問があります。

◎ツールバーコントロールを画面上で自由に移動させる事は可能でしょうか?

というのも、クライアントからダイアログによるテクスチャ切り替え表示機能の実装を要求されたので、
暫定的にツールバーコントロールをダイアログの代替にする方法で実装してみたのですが、
これを移動させる方法が現状で実装できていません。(汗)

当初は、
「ツールバーコントロールだったらToolBarTrayを広く取れば、
 その範囲内の任意の場所におけるのではないか?」
と考えたのですが、
そもそもToolBarTrayの場所を広く取ってもツールバー自体をマウスで移動させることが出来ない状況です。

あるいはこの場合、イベントを実装して自分で移動処理を書かないと対応できないものでしょうか?

もし何か情報をお持ちの方がございましたら、
どうかお答え下さいますようお願いいたします。


追伸:

たけしさん著作の「WPF 3Dプログラミング」と、Identityを有難く使わせて頂いております。
この場をお借りして御礼申し上げます。
すみません、上記の質問への補足です。

一応ToolBarTray設定時にIsLocked="False"としていますが、
これでもToolBarは動いてくれませんでした。
まず、マルチポストはいかんと思います。
次に質問の仕方が明快でないと思います。
動かないなら、最小限のサンプルを付けて説明するのがよいと思います。

で、気になったので調べてみましたが、
ToolBarTrayコントロール内のToolBarコントロールは、常にAlignされている状態なので、1つしかツールバーが無い状態ではびくとも動きません。
ツールバーを2つ以上作ると、ドラッグできるようになりますが、必ず左上に整列された状態を守ります。
(参考: Microsoft SDK, WPFSamples\Controls\ToolBarExample)

なので、通常のWPFのツールバーの機能で、ご所望の動作はおそらくできない、というのが答えになるのではないか、と思います。
がんばるなら、PopupコントロールにでもToolBarコントロールを張って、Drag&Dropの処理を横取りして自分で処理するとかそんな感じかと思いますが、だったらToolBarコントロール使う必要性はほとんど無いですね。
よーするに、自分で最初からコントロール作った方がいいのでは? と。
kaorunさん、
不躾なご質問にもかかわらずご調査・ご返答頂き有難うございます。

遅ればせながら一応こちらで組んでいるXAMLから切り出して
サンプルを用意致しました。
処理の関係上長文になることをお許し下さい。>皆様

<ToolBarTray
IsLocked="False"
Background="{x:Null}">
<ToolBar Band="1" BandIndex="1"
Width="505" Height="226"
x:Name="ToolBar01"
Visibility="Visible"
MouseMove="ToolBar01_MouseMove"
MouseLeftButtonDown="ToolBar01_MouseLeftButtonDown"
MouseLeftButtonUp="ToolBar01_MouseLeftButtonUp">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="18"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0"
x:Name="SelectPanel_TITLE"
Height="17" Text="ダイアログタイトル(仮)"
FontWeight="Bold"
TextAlignment="Center"/>
<ScrollViewer Grid.Row="1"
VerticalScrollBarVisibility="Visible">
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<Button x:Name="TextureSelect01" Click="TextureSelect01_Click"
Width="58" Height="68"
Grid.IsSharedSizeScope="False">テクスチャ切替え01</Button>
<Button x:Name="TextureSelect02" Click="TextureSelect02_Click"
Width="58" Height="68"
Grid.IsSharedSizeScope="False">テクスチャ切替え02</Button>

・
・
(途中省略)
・
・

<Button x:Name="TextureSelect08" Click="TextureSelect08_Click"
Width="58" Height="68"
Grid.IsSharedSizeScope="False">テクスチャ切替え08</Button>
</StackPanel>
<StackPanel Orientation="Horizontal">
<Button x:Name="TextureSelect09" Click="TextureSelect09_Click"
Width="58" Height="68"
Grid.IsSharedSizeScope="False">テクスチャ切替え09</Button>

・
・
(途中省略)
・
・

</StackPanel>
</StackPanel>
</ScrollViewer>
</Grid>
</ToolBar>
</ToolBarTray>

で、kaorunさんの調査によりますと、

「XAMLで記述されたツールバーでは強制的に左側にAlignされるために私が当初目論んでいた利用法は期待できない。」

という理解で宜しいでしょうか。

その代わりにPopupコントロールの利用を検討するご提案につきましては、有難く参考にさせて頂きます。
上記のご質問につきましてご報告です。
結局ToolBarをそのまま使うことで対応できることがわかりました。

方法としましては、
ダミーのツールバーをToolBarTray内に複数列配置してHiddenに設定しておくことで、メインのツールバーをスライドさせて画面中央に配置したり上下移動配置したりすることが出来るようになりました。
ダミーのツールバーは画面上に表示されないため、あたかもダイアログが画面内を移動しているように見せることが出来ます。 但しToolBarは常に左方向にAlignmentされるので、本来のダイアログの画面移動とは動かし方が異なります。

今回は上記の移動配置ができれば十分であると判断しました。

改めて貴重な情報を戴きました事に感謝致します。
はじめまして。
xamlというのは表現力の可能性はすごく高いと思いますがその難易度たるや.net frameworkのライブラリのなかでもトップクラスと感じています。
それは例をみてもそれを応用するのが非常に難しいと感じるため、いちいち聞いて回らなければならないからです。

具体的な質問ですが
StackPanelにユーザコントロールを動的に追加した時にアニメーションで追加したいのですがどうすれば実現できるでしょうか?
MSフォーラムとマルチポストですみません。

ログインすると、残り5件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

XAML 更新情報

XAMLのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。