木の下でゆっくり

ビルボードの前に、座標の回転とかどないすんの、ということでいろいろ調べて迷走。なんだかんだとSin・Cos・Tanとか行列とか見て、ああそんなんだったなーと数学する。で、そんな流れで試しながら回転座標とかがんばって計算しちゃってたんだけど Matrix 使って簡単に Vector3 の変換できるんじゃないか、ちくしょう某サンプルにだまされた!!(言いがかりです)

・Vector3.Transform メソッド
 http://msdn.microsoft.com/ja-jp/library/microsoft.xna.framework.vector3.transform

で、気を取り直してビルボード処理を試して回る。ちなみにクリエイターズクラブのサンプルがまるで使えなかったのでいろいろ調べて回ってたんだけど、こちらもAPI提供されていた。

・Matrix.CreateConstrainedBillboard メソッド
 http://msdn.microsoft.com/ja-jp/library/bb195602

これ使うと頂点位置とカメラ位置わたしてあげれば、いろいろ計算してくれるよ!ありがとう!
以下、処理結果。
xna04

そのままだと描画順に表示されちゃって困ることに。これはなにやら深度バッファを有効にしなよ!という話だったので

RenderState.DepthBufferEnable = true;

としてあげると解決。true にすることが何なのか理解してないがこれでクリア!

xna05

広告

HOSSIE について

忍者という利点を活かしXNAで大勝利すべき日夜活動する。XboxOne・PS4・Vitaちゃん・WiiU、そしてPCではSteamer。
カテゴリー: XNA パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中