スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

XNA2.0に移行&XBOX360で動かす


シャイニングブラッドですがXBOX360上で
動かせるように頑張っています

やっとこさコンパイルは出来るようになったのですが
パフォーマンスが悪く処理落ちが激しいです
パフォーマンスに関してはボチボチ直して行くとして
XBOX360版に移行するのに手間取った箇所を書いておきます

まず、XNA2.0に移行したのですが使用していた
ライブラリが2.0に対応しておらず
自分でコンパイルすることにしました
素直にコンパイルできればよかったのですが、下記のエラーが発生

エラー 1 "BuildContent" タスクが予期せずに失敗しました。
System.IO.FileNotFoundException: ファイルまたはアセンブリ 'Xclna.Xna.Animation.Content, Version=1.0.2.0, Culture=neutral, PublicKeyToken=null'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。
ファイル名 'Xclna.Xna.Animation.Content, Version=1.0.2.0, Culture=neutral, PublicKeyToken=null' です。

バージョンが違うのが原因の様ですが何のバージョンか分からず
非常に悩むことに・・・
実はFramework.Content.PipelineのDLLのバージョンが違っているというオチでした
DLLを同じバージョンに参照しなおしたら直りました
このエラーメッセージでは全然分かりません!

あともう一つは背景球?ようは空の描画に
サンプルのGeneratedGeometrySampleを利用していたのですが
これも動かない・・・
これも同じ様にバージョンの問題なのですが
さっきとは別の原因でSkyReaderの参照先が見つからないのが原因でした
下記のGeneratedGeometryの部分を自分のアセンブリ名と名前空間に変更すれば
動くようになりました


///
/// Tells the content pipeline what worker type
/// will be used to load the sky data.
///

public override string GetRuntimeReader(TargetPlatform targetPlatform)
{
return "GeneratedGeometry.SkyReader, " +
"GeneratedGeometry, Version=1.0.0.0, Culture=neutral";
}
スポンサーサイト

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

拡張現実子供乗せロボットゲーム製作(第四回)


拡張現実編
オーギュメンテッド・リアリティ?

拡張現実を使ったゲーム部分を作成します
拡張現実といっても顔を認識して
その位置対して攻撃判定を行うというだけです

顔認識の部分は下記のサンプル等を参考にしてください
http://chihara.naist.jp/opencv/?SharperCV

まずは顔の位置を取得します

CvRect[] faces = hc.DetectObjects(theFrame, 1.2, 2, PruningFlags.CannyPruning);

取得した位置にロックオンマーカを描画します

Rectangle h = new Rectangle((int)(preferredWindowWidth / 2) - 64,
(int)(preferredWindowHeight / 2) - 64, 128, 128);
d = new Rectangle((int)(faceX * reWidth) - 64,
(int)(faceY * reHeight) - 64, 128, 128);
s = new Rectangle(192, 0, 64, 64);
spBatch.Draw(lockontexture, d, s, Color.White);

トリガーを引いたときに
発射エフェクトとロックオンマーカとの相対位置
を調べ、近ければヒットとします
ヒットの場合は顔を赤く表示します

if (rightCount < 300 && rightCount > 0 && d.Intersects(h) && CommonCount % 5 < 3)
{
c = Color.Red;
s = new Rectangle(64, 128 + 32, 128, 32);
d = new Rectangle((int)(preferredWindowWidth - 192),
128 + 32, 128, 32);
spBatch.Draw(lockontexture, d, s, Color.White);
}

正直なところ処理が重すぎて
遊ぶのは難しいかもしれません
しかも顔認識が甘いので的は写真か何かを使わないとつらいかも
まあ5年後のPCでは遊べるようになると思いますw

簡単ですので
冬休みの工作で作って学校で遊んだら
楽しいかと思いますがどうでしょう

一応これで完了です
筆まめではないので随分な文章になってしまいました

テーマ : ハードウェア - ジャンル : コンピュータ

プロフィール

TEA(てぃあ)

Author:TEA(てぃあ)
親サイト:
フリーのゲームがダウンロードできます
主にシューティング系

最新記事
最新コメント
カテゴリ
PSP Vita
カウンター
ジャスティスレギオン 無料ダウンロード
インディーズPSPVitaゲーム
リンクや作った物
検索フォーム
RSSリンクの表示
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。