飴屋

WPF/日記2

何を参考にするか

当然、初学者の自分に必要なのは有能なテキストだと思い立ったので、参考になりそうなページを探してみました。

WPF アプリケーションを作る クッキングガイド

これはサンプルコードもたくさんついているし、分量的にも読むのが苦ではなさそうです。ここを参照しながらいろいろと試してみることにします。それから、今日は本屋に出かける用事があるので、関連する良さそうな書籍があれば購入してみようと思います。

3Dオブジェクトを追加してみた

頼もしいことに、3D関連のトピックも上記のサイトに掲載されていましたので、さっそくサンプルコードをコピペしてみることにしました。

http://www.microsoft.com/japan/msdn/windowsvista/wpf/cookingguide/vol5.aspx

具体的にはVC#がデフォルトで書き出したXAMLの中にあったタグの中にタグを貼り付けました。すると、画面のデザインビュー上に灰色の矩形が出てきました。XAMLに文法のエラーがあったら、エラーが表示されるはずなので、おそらくうまくいっているのでしょう。とりあえず、「デバッグ開始」ボタンでXBAPファイルをIEに読み込ませてみると、やはり灰色の矩形が描画されました。

タグ

ViewPort3Dタグはどうも3D表現を括るタグであるっぽいことが、パッと見感じ取れます。この中に3D表現に関連するタグをガリガリ書いていくときっと面白いことになるのだと思います。以下、関連するタグについて挙動を調べながら考察します。

タグ

これは3D空間におけるカメラに関する情報を括るタグのようです。カメラというのは、観察者であり、ユーザの視線を決めるものであり、対象を映すものですから、このカメラがどっちを向いているかによって、表示される内容がガラッと変わることになるのでしょう。いかに適切な角度を指定するかがユーザビリティと関わってくるのだと思います。

タグ

これはカメラに映し出される側の情報を括るタグのようです。それは動物であったり、建物であったり、自然物であったり、何を表現したいかが一番関わってくる部分でもあります。また、「光源」と呼ばれる物体もこのタグを使って定義できるようです。すなわち、映画の撮影でいうところの照明係が持っているようなライトを3D空間内に自由に設置できるということでしょう。今回私が作成しようと思っているのは、3D空間でのチャットですので、チャットの参加者を表す「人型のモデル」や場を表す「背景」などをこのタグの中に記述してやればよいと思います。

3Dの取扱い

私自身は3D関連のプログラミングを行うのはこれが初めてではないので、基礎的な知識はいくらか持ち合わせています。ただ、Java3DとかDirectXとかでモデルに簡単なアニメーションをつけるぐらいのことで満足するレベルでした。当時、3D表現をいろんな人に見せることは非常に困難でしたので、時間をかけて制作したものの反応が返ってこないため、モチベーションが維持できなかったのを覚えています。今は動画という手法で手軽に人に3Dアニメーションを公開できるようになりましたが、インタラクティブな活用とは言いがたいですね。UIとしての3D表現を手軽に実装できるようになったWPFは、その点ですばらしいと思います。(互換性の面でまだまだですが、SilverLightではまだ3Dが動かないようですので・・・)

というわけで、3Dのことで現状で特に心配はないのですが、XAMLでの表現となった場合に、XAMLに関する資料がやっぱり欲しいなと思った次第です。で、これを書いている間に本屋を3件まわってみたのですが、XAMLやWPFをタイトルに冠した本には一冊も出合えませんでした。どうもいまだに出版物が少ないようなのです。一冊もないわけではないのでAmazonでポチッと購入してしまえばいいのですが、パラパラと立ち読みしてから購入したいというのが人情じゃないでしょうか。とりあえず、この件に関しては大型書店にそのうち出かけてみようと思います。(ネットの資料でも十分かもしれませんけど。)

WPF