トップページ⇒tech
1001コメント300KB

【みんな】XNA 質問・相談スレッド1【初心者】

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2007/09/23(日) 23:43:41
Microsoft XNA はマイクロソフトによって提供された、ゲーム開発のためのツールである。
XNA はマネージ実行環境を完備する。
2004 年 3 月 24 日、カリフォルニア州のサンノゼの Game Developers Conference で発表され、
2006 年 12 月 11 日にリリースされた。

XNA は「 XNA's Not Acronymed」 ( XNA は頭字語ではない)の頭字語である。


XNA デベロッパーセンター
http://www.microsoft.com/japan/msdn/xna/

xna スタジオ
http://xna-studio.jp/

XNA Game Studioメモ
http://www.saturn.dti.ne.jp/~npaka/xna/

ということで立ててみた。
0446デフォルトの名無しさん2009/07/03(金) 22:45:11
>>444
ググればいくらでも必要なサンプルが見つかる。
なにが必要なのか分からんとかいうレベルなら、もっとたくさんサンプルプログラムを眺めて勉強しろ。
必要なサンプルは、Creator's Club Onlineにあるよ、屑が。
0447デフォルトの名無しさん2009/07/04(土) 10:33:16
444です。
>>445
ありがとうございます、まさにこれです。感謝の極みです。

>>446
ググッて探したつもりでしたが、>>445さんが提示したような
分かりやすいサンプルがあるのを見ると、私の探し方がおっしゃるとおり
クズだったようです。申しわけありません。
サンプルプログラムを見るという方法も、なぜかすっかり忘れていました。
勉強してきます、ありがとう!
0448デフォルトの名無しさん2009/07/04(土) 10:56:45
>>447
まあ、>>445 は XNA ray ヒットテスト とかをキーワードに検索してるし、
仕組み知らないと出てこないと思うけど。
0449デフォルトの名無しさん2009/07/05(日) 10:25:16
ttp://creators.xna.com/en-US/education/catalog/
CCはここね。とりあえずここでサンプル探すとこから始めるといいかも。
0450デフォルトの名無しさん2009/07/10(金) 20:22:43
日経産業新聞4面「ゲーム制作向け日本語版、MS無償提供」
マイクロソフトは9日、無償のゲーム制作ソフト「XNA Game Studio 3.1」の日本語版の提供を始めることを発表しました。
Xbox360などに向けたゲーム制作するための開発環境を整えられます。個人のゲーム開発者や資金力のないベンチャー開発を後押しし、
Xbox360の魅力を高めます。

完全日本語版来たね。
http://creators.xna.com/en-US/japan/
0451デフォルトの名無しさん2009/07/13(月) 19:00:19
XNAってもしかしてゲームをオンライン対応させた場合、
そのゲームでオンライン接続したい全てのプレイヤーが
クリエイターーズクラブにくそ高い金払って加入しないといけないのか・・・?
0452デフォルトの名無しさん2009/07/13(月) 21:31:41
普通の箱○ゲームと同じで、
マルチプレイするならゴールドメンバーシップは必要だった気が。
クリエイターズクラブ会員にはゴールド会員相当の権利がくっついてるというだけで。
0453デフォルトの名無しさん2009/07/13(月) 21:55:54
開発版かコミュニティ版か、箱かPCかで変わってくるが
どっちにしろLiveの機能使う開発版なら>>451の言うとおり
自分でネットにつないでかつPC版なら会員である必要はない
0454デフォルトの名無しさん2009/07/13(月) 23:12:55
意味わからん
ごちゃごちゃしすぎ
0455デフォルトの名無しさん2009/07/13(月) 23:25:25
出来ますん
0456デフォルトの名無しさん2009/07/13(月) 23:42:41
なにが?
0457デフォルトの名無しさん2009/07/13(月) 23:45:00
この流れがXNAの失敗を物語っているな。
0458デフォルトの名無しさん2009/07/14(火) 09:06:55
開発版   クラブ会員  ゴールドメンバー
        360   PC  360   PC
インスコ   ○   ×   ×   ×
オフゲ    ×   ×   ×   ×(インスコしてあるものはクラブ会員期限がきれてもプレイ可能)
オンゲ    ○   ○   ○   ×

インディーズ版(コミュニティ版)
インスコ   ×   ×   ×   ×
オフゲ    ×   ×   ×   ×
オンゲ    ×   ×   ○   ×

クラブ会員料金なくすか、せめて年間3000円程度にしないとね。
0459デフォルトの名無しさん2009/07/15(水) 11:29:44
そもそも開発版とかインスコとか意味不明なんだが。
開発版はPCにインスコできないのか?

だめだなこりゃ。やりたくもない。
0460デフォルトの名無しさん2009/07/15(水) 11:44:54
開発版ってのはソースも配布できる状況。
PCは基本的に開発版しかない。
0461デフォルトの名無しさん2009/07/15(水) 12:26:28
>>458
m9(^Д^)
0462デフォルトの名無しさん2009/07/15(水) 12:46:48
>>458のはLiveを使うケースだろ?
0463デフォルトの名無しさん2009/07/15(水) 19:43:07
意味わからん
ごちゃごちゃしすぎ
0464デフォルトの名無しさん2009/07/15(水) 20:11:02
どういうことなの…
0465デフォルトの名無しさん2009/07/15(水) 20:12:54
なにが?
0466デフォルトの名無しさん2009/07/15(水) 20:17:47
この流れがXNAの失敗を物語っているな。
0467デフォルトの名無しさん2009/07/15(水) 20:30:15
お金払えば○○はできて、○○はできないとか大杉
分かってる奴も一言で説明できない
だから流行らない

バーカ
0468デフォルトの名無しさん2009/07/16(木) 10:41:39
基本的にはXbox360かLiveに絡めば金かかる。
それ以外は無料。
無料でネットワークやりたければ、PCで通常の.NET frameworkの範囲で通信すればよろしい。
0469デフォルトの名無しさん2009/07/30(木) 01:05:46
ネットのサンプルxファイルは出力できるのですが、
メタセコイアで自作したxファイルが出力できません。
DirectXではどちらも読み込めます。

原因が分かる方がいたら教えてください。
0470デフォルトの名無しさん2009/07/30(木) 03:16:50
出力できないってLoadは成功してるの?
テクスチャ貼ってる?
0471デフォルトの名無しさん2009/07/30(木) 03:19:40
ビルド時のエラーならテクスチャの指定が振るパスで入ってたりするから
って場合がある。テクスチャは個別にContentの下にコピーした上で
直接xファイル編集してドライブとパス名削るとか
0472デフォルトの名無しさん2009/07/30(木) 13:05:03
>>470
>>471
テクスチャを貼ろうとしたらmesh.Draw()で例外が発生したので
読み込めてないのかもしれません。(メタセコで基本図形を保存しただけなので
図形の問題という事はないとは思ったんですが、ファイルの大きさなどの
問題もあるんですかね?)
テクスチャとxファイルは全部contentの下にいれてあります。
0473デフォルトの名無しさん2009/07/30(木) 14:18:34
例外ってどんな内容?
テクスチャ貼らない場合はうまくいくの?
あとテクスチャの横幅は8の倍数?

基本的にビルド時にエラー出るはずなので、実行時の例外はよくわからん。
0474デフォルトの名無しさん2009/07/30(木) 14:56:07
「InvalidOperationExceptionはハンドルされませんでした」とでます。
テクスチャを貼らない場合はエラーは出ず実行されますが図形が表示されません。
テクスチャの横幅は8の倍数ではありませんでした。また8の倍数に直しても
同じエラーがでました。

メタセコが悪いんですかね?(サンプルのxファイルは問題ないので)
0475デフォルトの名無しさん2009/07/30(木) 14:59:34
>>474
BasicEffect使ってる? xファイルの中にTextureCoordみたいな記述は出来てる?
0476デフォルトの名無しさん2009/07/30(木) 15:02:37
一応書いとくけど、うちじゃメタセコでx出力したやつ普通にXNAでModelに読んで表示できてるよ
0477デフォルトの名無しさん2009/07/30(木) 15:04:52
バージョンとかの違いとかですかね?
0478デフォルトの名無しさん2009/07/30(木) 15:06:08
>>475
たぶん使ってません
よければ詳しくお願いします
0479デフォルトの名無しさん2009/07/30(木) 15:08:21
InvalidOperationExceptionはヘルプ見ると「Effectが null です」ってなってんだけど。
いったいどんなコード書いてんの?
サンプルのxは表示できてるって書いてるから、そんなに変なコードじゃなさそうなんだが・・・
0480デフォルトの名無しさん2009/07/30(木) 15:14:09
3Dモデルのレンタリングのところです。自分が変えたところは
読み込むファイル名だけなので、大丈夫だと思うのですが
foreach (ModelMesh mesh in houseModel.Meshes)
{
//エフェクト設定
foreach (BasicEffect effect in mesh.Effects)
{
//ライティング(オン)
effect.EnableDefaultLighting();

effect.TextureEnabled = true;
effect.Texture = texture;

//ワールド座標変換指定
effect.World = world;
//ビュー座標変換指定
effect.View = view;
//射影変換指定
effect.Projection = projection;
}
//描画
mesh.Draw();
}
0481デフォルトの名無しさん2009/07/30(木) 15:17:46
まずテクスチャ無しのやつ解決しようか。
ってたぶんサンプルとスケール違いすぎて小さすぎて見えてないんじゃないかと思うんだけど。
0482デフォルトの名無しさん2009/07/30(木) 15:19:54
>>481
0483デフォルトの名無しさん2009/07/30(木) 15:21:14
>>481
そうかなと思いましたが、メタセコのどこでスケールを大きくできますか?
倍率とかいじってみてもファイルサイズがほとんど変わらないです
0484デフォルトの名無しさん2009/07/30(木) 15:25:13
カメラの位置(view)はどうなってる?

メタセコは基本図形作る時にMove、Scale、Segmentって設定できるべ。
0485デフォルトの名無しさん2009/07/30(木) 15:31:39
>>484
カメラの設定はこうなってます(サンプルプログラムのままです)
Matrix view = Matrix.CreateLookAt(
new Vector3(300,100,300), //カメラ位置
new Vector3(0, 0, 0), //カメラ注視点
new Vector3(0, 1, 0) //カメラ上方向
);

メタセコの基本図形を作るときに詳細設定でサイズをできるだけ大きくしても
なぜかファイルサイズが変わりません。やっぱりやり方が間違ってますか?
0486デフォルトの名無しさん2009/07/30(木) 15:34:31
画像ファイルじゃないんだからファイルサイズはそんなに変わらんよ。
しかし300って遠すぎるだろw
試しに 0, 10, 10とかでやってみ
0487デフォルトの名無しさん2009/07/30(木) 15:40:08
>>486
0488デフォルトの名無しさん2009/07/30(木) 15:41:30
>>486
表示されました!
やっぱり大きさが違いすぎたんですね
(テクスチャは解決してませんが・・・)

どうやったらサイズを大きく出来るか教えてもらえますか?
0489デフォルトの名無しさん2009/07/30(木) 15:43:43
テクスチャもxで指定してあってビルド時にエラー出てないならそのまま出ると思うよ。
effect.TextureEnabledとかeffect.Textureは設定済みだから無くていい
0490デフォルトの名無しさん2009/07/30(木) 15:49:59
普通にスケールで大きくしてもいいし
メタセコでx出力するとき倍率指定あるからそれいじってもいいし。
詳しくはメタセコのヘルプ見ればいい
0491デフォルトの名無しさん2009/07/30(木) 15:51:35
>>489
>>490
わかりました
やってみます
0492デフォルトの名無しさん2009/07/30(木) 16:07:41
メタセコではxファイルを読めませんが、
既存のxファイルの図形の大きさを知ることって出来ますか?
0493デフォルトの名無しさん2009/07/30(木) 16:14:50
大きさのせいじゃなくてファークリップじゃないかな?
0494デフォルトの名無しさん2009/07/30(木) 16:23:06
そうなんですか
ファークリップの確認ってどうやってできますか?
0495デフォルトの名無しさん2009/07/30(木) 16:26:17
ファークリップはprojectionの最後の引数だべ。
xファイルはテキストなんだからテキストエディタで開いてMeshのとこみりゃ
だいたいわかるべ
0496デフォルトの名無しさん2009/07/30(木) 16:27:26
projectionつーか、そこに設定してるであろうMatrix.CreatePerspectiveFieldOfView()の引数
0497デフォルトの名無しさん2009/07/30(木) 16:27:27
>>478
> たぶん使ってません

え?

>>478=>>480じゃないのかな?

>>480
> foreach (BasicEffect effect in mesh.Effects)

でめちゃめちゃ使ってるようだが。
でもちょっと、その件はおいといて。


テクスチャを描こうとしてxファイルに
MeshTextureCoords {(以下略)
のデータが無いとき、そういうエラーが出てた気がする。

自分の場合はBlenderを使っていて、
UVの設定をしてない時、xファイルにそのデータが不足してた。
0498デフォルトの名無しさん2009/07/30(木) 16:46:35
>>495 >>496
わかりました確認してみます

>>497
すいません、それのことだったと知りませんでした

MeshTextureCoordsはxファイルを作るときにメタセコで設定するのですか?
0499デフォルトの名無しさん2009/07/30(木) 17:01:41
>>498
> MeshTextureCoordsはxファイルを作るときにメタセコで設定するのですか?

ちょっと気になって調べてみた。
xファイルを作成するときダイアログが出るけど、
その右側のXオプションの枠内、「UVマッピング」にチェックが入っていると、
xファイルにMeshTextureCoordsは作られるみたい。

XNAもXファイルも、3Dモデリングもあんま良く分かってないけど、俺。
0500デフォルトの名無しさん2009/07/30(木) 17:04:48
>>499
あー、そこをチェックすればよかったんですか
本当にありがとうございます。
どこを調べればいいかもわからなくてorz
0501デフォルトの名無しさん2009/07/30(木) 17:05:46
>>500
ま、でも、それで例の問題が解決するとは限らないので悪しからず。
0502デフォルトの名無しさん2009/07/30(木) 17:10:07
しっかり解決できました!
0503デフォルトの名無しさん2009/07/30(木) 17:14:48
あとxからメタセコに持ってくのは
Hyper Mangrove とかBlenderのプラグインでできることもあるよ。
0504デフォルトの名無しさん2009/07/30(木) 17:17:34
そうなんですか
試してみますね
0505デフォルトの名無しさん2009/07/31(金) 18:09:26
質問です。

XNA3.0でアクションゲームを作っているのですが、
Windows環境では問題なく動いており、
Xboxに配置して動作させても、しばらくは正常に動いているのですが、
数分動かしていると、デバッグ起動でもエラーすら吐かず箱の方がフリーズしてしまい、
デバッグの接続も切断されてしまいます。

ゲームとして動作はさせていますが、
ロードのタイミングというワケでもなく、固まるタイミングもまちまちで、
何か特別な処理をしているという感じでもないです。

箱自体が原因かと思い、他のクリエイターズクラブの方の箱で動かして貰っても
同様に固まってしまうため、プログラムの方に原因があると思うのですが、
同じように、Windowsでは正常に動いていたのに、
箱で起動させるとフリーズしてしまったというようなことがあった方いらっしゃいませんでしょうか?
0506デフォルトの名無しさん2009/07/31(金) 18:30:10
>>505
だからなんだというんだ。
バカか、おまえは。
0507デフォルトの名無しさん2009/08/01(土) 00:06:00
CC会員の人の箱を壊すようなことはやめてください!

レビューする気無くなるなあ
0508デフォルトの名無しさん2009/08/01(土) 03:32:49
XNA3.0でCOLLADA使うにはどうしたらいい?
0509デフォルトの名無しさん2009/08/02(日) 12:44:06
>>505
無限にオブジェクト作り続けてるとこない?
たとえば、サウンド関係全部はずして試してみるとかして
絞り込んでいったほうがいいと思う。
05105052009/08/02(日) 21:44:10
>509
自分もサウンド怪しいと思い、
A音がなっているときに再びA音がなるような場合、
なっていたA音を一度停止して、再びならす部分をしていたのですが、
そこをならし終わるようにしたら今のところ起こってません。

考えたら、停止してそのままほっといたら作りっぱなしですね。
アドバイスありがとうございます。
0511デフォルトの名無しさん2009/08/04(火) 18:32:20
>>510
自分も同じ轍を踏まないように確認しておきたいんだけど
一度停止?一時停止?停止?
"鳴らし終わるようにした"っていうのは何をした?
05125052009/08/04(火) 19:56:54
今鳴ってる音を保持しているSoundEffectInstanceのStop();です。
そいでSoundEffectからPlay()でならし、
そのインスタンスをさきほどStopしたSoundEffectInstanceに代入してました。

もう固まることがなくなったのでやっぱしそこが原因だった模様。

怖いので、もうStopで止めずに最後まで鳴らしきってますが、
StopしたあとDisposeしてからPlayで生成したインスタンス入れれば大丈夫なのかな。
0513デフォルトの名無しさん2009/08/05(水) 12:18:18
>>508
昔やってるとこあったよね。3.xに移植してみようか?
0514デフォルトの名無しさん2009/08/06(木) 18:16:00
hoge.spritefontファイルをビットマップに自動的に変換して、
それをSpriteFontクラスだかでテキストを表示できる機能がありますが、
装飾を加えた画像(白抜きとか)を自前で用意して
SpriteFontとして扱うにはどうすればいいのでしょうか?
05155142009/08/10(月) 18:35:08
ちょっとわかりにくいようなので補足。
ttp://sorceryforce.com/xna/tips_frametext.html
これと同じことを実行時ではなくビルド時にやりたいんです。文字画像自体は実行時に
フォントをレンダリングしているのではなく、ビルド時にやっているわけですよね。
またはそれが難しいなら、Photoshopの類で予め文字画像を作っておいて、
それを上記のと同じように使えないだろうか、って話です。
0516デフォルトの名無しさん2009/08/10(月) 18:40:15
画像をフォントとして使うのはこのSpriteFontができる前からやってたし
そういう方法でやればいいんじゃないかとも思うけど、Sprite.DrawStringで書きたいということかな?
文字の情報(大きさとか)はどうやって渡すつもり?
0517デフォルトの名無しさん2009/08/10(月) 18:48:38
ContentProcessor<FontDescription, SpriteFontContent>を自分で実装すればいいはず
0518デフォルトの名無しさん2009/08/10(月) 22:10:00
球と長方形の2つのxファイルを使って
空間を作ろうと思っているんですが
球と長方形の交わっている境界に近づくにつれて
その境界が大きくブレます。(その境界がぐちゃぐちゃになる感じです)
どうしてこうなるのか教えてください
0519デフォルトの名無しさん2009/08/10(月) 22:50:00
追加、平面からの高さが高いほどブレが酷くなります
0520デフォルトの名無しさん2009/08/10(月) 22:51:48
日本語で
0521デフォルトの名無しさん2009/08/11(火) 08:33:37
文面ではわかりにくいので画像を
0522デフォルトの名無しさん2009/08/11(火) 08:38:20
>>513
508じゃないですけど、お願いします。
0523デフォルトの名無しさん2009/08/11(火) 12:22:40
ちょっと探してみたけど、
ttps://collada.org/public_forum/viewtopic.php?f=13&t=651&start=0
とりあえずここのはほとんどそのまま動いたよ。

ttp://xbox360.game-host.org/xna/Collada%20for%20XNA31.zip
一応3.1で動くように(ってほとんどコピーしてプロジェクト作りなおしただけだけど)したの置いておく。
あ、3.0だっけ。まあ何とかなるかな?
0524デフォルトの名無しさん2009/08/11(火) 23:14:30
Content.Load<T>()で読み込んだリソースを明示的に解放するには
Content.Dispose()とContent.Unload()のどっちを呼べばいいんですか?
0525デフォルトの名無しさん2009/08/12(水) 10:00:19
えっ
0526デフォルトの名無しさん2009/08/13(木) 04:31:43
>>524
Unloadはキャッシュの解放。
DisposeはContentManagerそのものの解放。
0527デフォルトの名無しさん2009/08/13(木) 12:15:12
逆だろ
0528デフォルトの名無しさん2009/08/23(日) 17:37:37
BGMを鳴らそうとしたのですが「 "Fly" という名前の Cue を再生しようとしてエラーが発生しました。
Cue の名前は正しいですか?」という例外がでます。
ContentにはFly.wavとそれを書き込んだXNAaudio.xapがあります
ソースは
engine = new AudioEngine("Content\\XNAaudio.xgs");
soundBank = new SoundBank(engine, "Content\\Sound Bank.xsb");
waveBank = new WaveBank(engine, "Content\\Wave Bank.xwb");

//BGMキューの取得
bgm = soundBank.GetCue("Fly");
bgm.Play();
です。どうして例外が起きるか教えてください
0529デフォルトの名無しさん2009/08/23(日) 17:40:47
公式で聞いてください。
0530デフォルトの名無しさん2009/08/23(日) 19:06:33
>>528
そこまで日本語で書かれてわからないとかどうすんだ。
エラーの内容そのまんまだろ。XACT立ち上げて確認しろ。
0531デフォルトの名無しさん2009/08/24(月) 01:40:57
Flyという名のCueは作ったの?
0532デフォルトの名無しさん2009/08/24(月) 12:24:43
初心者質問相談スレッドなんだからちゃんと答えろよ
荒らすな通報するぞ
0533デフォルトの名無しさん2009/08/24(月) 12:26:04
強要は犯罪です
0534デフォルトの名無しさん2009/08/24(月) 13:17:18
きゃ〜けだもの〜
0535デフォルトの名無しさん2009/08/24(月) 14:07:42
うへへへ よいではないか よいではないか
0536デフォルトの名無しさん2009/08/25(火) 00:01:36
>>532
答えるほうも初心者なんだよ
そんなことも判らない初心者か
0537デフォルトの名無しさん2009/08/25(火) 14:25:25
【みんな】【初心者】
0538デフォルトの名無しさん2009/08/27(木) 13:31:45
windowsのみで実行するオンラインのテストをしたいのですが
これもメンバーズクラブに入らないと、通信のチェックとかできないのですか?
xboxのタグ使うと、メンバーじゃないって中断するんですけど。
0539デフォルトの名無しさん2009/08/27(木) 13:35:05
ごめん、探したら在りました。
http://creators.xna.com/ja-jp/XNAGS3.1readme
0540デフォルトの名無しさん2009/08/28(金) 15:13:51
LANならチェックできるよ
1台しかないのならHamachiとかのVPNでつなげば友人とつなぐことはできる
0541デフォルトの名無しさん2009/08/30(日) 00:31:01
// サンプルの表示
public void Draw(Matrix view, Matrix projection, Vector3 camera)
{
// ワールド座標変換行列
Matrix world = Matrix.CreateTranslation(1000, 0, 0) * Matrix.CreateScale(0.1f);
foreach (ModelMesh mesh in model.Meshes)
{
foreach (BasicEffect effect in mesh.Effects)
{
// ライティングを有効
effect.EnableDefaultLighting();

// 変換
effect.World = world;
effect.View = view;
effect.Projection = projection;
}
mesh.Draw();
}
}

Matrix worldで Matrix.CreateScale(0.1f);は値に応じて大きさが変化するんですが
Matrix.CreateTranslation(1000,0,0) はどんな値にしてもオブジェクトの位置が
(0,0,0)から動きません
0542名無しさん@そうだ選挙に行こう2009/08/30(日) 03:39:17
XNAプログラムからHTTPに通信することってできる?
0543名無しさん@そうだ選挙に行こう2009/08/30(日) 09:13:03
できると思えばできる
できないと思えばできない

あれだぞ、くまんばちは自分が飛べると思っているから飛べるんだぞ
どうだ知らなかっただろ
0544名無しさん@そうだ選挙に行こう2009/08/30(日) 11:40:52
くまんばちって誰?
0545名無しさん@そうだ選挙に行こう2009/08/30(日) 12:08:07
>>542
XNAでHTTPはサポートされてません。
そもそもLIVEとシステムリンクしか選択肢がないので、
任意のサーバーにアクセスすることすらできないし。
■ このスレッドは過去ログ倉庫に格納されています