SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Windows Phone 7.5でつくる3Dアプリケーション

Windows Phoneで3Dアプリケーションを作成しよう

Windows Phone 7.5でつくる3Dアプリケーション(4)

  • X ポスト
  • このエントリーをはてなブックマークに追加

3Dモデルをワイヤーフレームで描画する

 その他のテクニックとして、3Dモデルをワイヤーフレームで描画する方法を紹介します。骨格が透けて背面が描画されることにより、奥行のある3Dらしさを演出できます。

GamePage.xaml.cs
private void OnDraw(object sender, GameTimerEventArgs e)
{
    // 画面を黒色で塗り潰します
    SharedGraphicsDeviceManager.Current.GraphicsDevice.Clear(Color.Black);

    // ワイヤーフレームの表示有無を設定します
    if (showWireFrameCheckBox.IsChecked.Value)
    {
        SharedGraphicsDeviceManager.Current.GraphicsDevice.RasterizerState = new RasterizerState()
        {
            FillMode = FillMode.WireFrame,
            CullMode = CullMode.None,
        };
    }

    …
}

 上記のコードでは、GameTimer.OnDrawイベント内において背景色を黒色に設定し、チェックボックスがオンである場合に、3Dモデルをワイヤーフレームで描画するように設定します。具体的には、GraphicsDevice.RasterizerStateプロパティを利用することにより、ポリゴンを面ではなく線として描画し、普段は描画されない裏側のポリゴンも含めて描画するように設定します。上記のコードを実行してGamePageに遷移し、「ワイヤーフレームを表示」チェックボックスをオンにすると、以下のように3Dモデルがワイヤーフレームで表示されます。

実行結果
実行結果

 これにより、冒頭で紹介した3Dアプリケーションが完成しました! この3Dアプリケーションが何なのか、筆者にもよく分かりません。でも、なんかカッコイイ! そう思わせる表現力もまた、3Dアプリケーションの大きな魅力ではないでしょうか?

さいごに

 いかがでしたでしょうか? 全4回に渡り、Silverlight/XNAを基盤として3Dアプリケーションを開発する方法をご紹介しました。ご覧いただいたように、Silverlight/XNAという最新のテクノロジを利用することで、SilverlightとXNAを相互に連携させられるようになります。また、3DCGソフトウェアを利用した3Dモデルの作成や、3Dモデルの描画処理に関しても、決して敷居の高いものではないということが、ご理解いただければと思います。

 もちろん、本連載でご紹介した方法は、数ある開発方法の一例に過ぎません。ですが、3Dアプリケーションを開発するための一助としていただけましたら幸いです。なお、今回作成した3Dアプリケーションは、ページ上部のリンクからダウンロードできます。ぜひ実際に、Windows Phoneで3Dアプリケーションが快適に動作する様子をご覧ください。

 それでは、最後までご覧いただき誠にありがとうございました! またどこかでお目に掛かれることを願って、最後は「3本締め」ならぬ「3どうぃ~~~ん締め」でお別れしましょう!

どうぃ~~~ん☆TV Shopping

…と思いましたが、動画はすでに削除されてしまったようです。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Windows Phone 7.5でつくる3Dアプリケーション連載記事一覧

もっと読む

この記事の著者

もとひろん(モト スクウェア ソリューション)

自営業でシステムエンジニアを営んでおります。主に.NETテクノロジによるシステム開発を得意としておりますが、いざとなれば何でもやります。ふつつかものですが、よろしくお願い致します!WebサイトMOTO SQUARE SOLUTIONTwitter@MOTOSQUARE 

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6374 2012/01/27 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング