【みんな】XNA 質問・相談スレッド1【初心者】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/09/23(日) 23:43:41XNA はマネージ実行環境を完備する。
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/
ということで立ててみた。
0263デフォルトの名無しさん
2009/02/20(金) 22:00:320264デフォルトの名無しさん
2009/02/20(金) 22:01:190265デフォルトの名無しさん
2009/02/20(金) 22:03:27WindowsFormsHostの中で使えるけど不便なのでSlimDX使った方がいい
普通のアンマネージDirectXやManagedDirectXやSlimDXなら
D3DImage使えばWindowsFormsHost使わずにサーフェスをそのままImageSourceとして表示できる
XNAはCOMのポインタ取れないから無理
0266デフォルトの名無しさん
2009/02/21(土) 08:10:08XNAはどこにあるんでしょうか?
0267デフォルトの名無しさん
2009/02/21(土) 09:21:22エッピ
0268デフォルトの名無しさん
2009/02/21(土) 09:26:31誰が最初にはじめたとか関係ない
ここに来るやつの程度が低いから仕返しあってる
0269デフォルトの名無しさん
2009/02/21(土) 09:27:010270デフォルトの名無しさん
2009/02/21(土) 09:41:04WAVEファイルだけだとファイルがでか過ぎてもうどうしようもなくないですか?
0271デフォルトの名無しさん
2009/02/21(土) 10:55:070272デフォルトの名無しさん
2009/02/21(土) 11:18:13ttp://creators.xna.com/en-US/education/catalog/
>>270
mp3とwmaが使えますよ。
0273デフォルトの名無しさん
2009/02/21(土) 11:57:410274デフォルトの名無しさん
2009/02/21(土) 12:07:03Meshesの中にあるEffectsというのはどういう種類が順番で入ってるんでしょうか?
Effectsはモデリングソフトで言うマテリアルの事なんですか?
この例を見ると一つづつ取り出して行列変換しているように見えるんですが。
なぜmeshに行列を掛けて一度で終わらせられないんですか?
Matrix[] transforms = new Matrix[myModel.Bones.Count];
myModel.CopyAbsoluteBoneTransformsTo(transforms);
foreach (ModelMesh mesh in myModel.Meshes) {
foreach (BasicEffect effect in mesh.Effects) {
effect.World = transforms[mesh.ParentBone.Index]
* Matrix.CreateRotationX(modelRotation)
* Matrix.CreateTranslation(modelPosition);
}
mesh.Draw();
}
0275デフォルトの名無しさん
2009/02/21(土) 12:15:540276デフォルトの名無しさん
2009/02/21(土) 12:23:550277デフォルトの名無しさん
2009/02/21(土) 12:34:20もっと行列のことからXNAの仕組みをヘルプの法律文書のようなのではなくわかりやすく一から入門者用に解説してるサイト教えてください
適当にやるのに限界を感じました
0278デフォルトの名無しさん
2009/02/21(土) 12:41:41普通にDirect3Dの勉強した方が早い
0279デフォルトの名無しさん
2009/02/21(土) 12:41:51mesh.Effectsって書いてあるけど・・・
>>277
そのチュートリアルってどこのやつですか?
それが入門者用のやつのような気がするんですが・・・
0280デフォルトの名無しさん
2009/02/21(土) 12:44:38そこが分からんっていうならプログラムの前に勉強することがあるんじゃない?
0281デフォルトの名無しさん
2009/02/21(土) 13:00:42いやC++でDirectXは使えるんですが
C#でどれがどう対応しててどういう名前に代わってるかとかがまったくマッチしなくて詰まってます
0282デフォルトの名無しさん
2009/02/21(土) 13:04:230283デフォルトの名無しさん
2009/02/21(土) 16:34:44XML内でsizeタグを2つ作るんですか
0284デフォルトの名無しさん
2009/02/21(土) 16:56:27無駄だから大きい方を縮小して描画した方がいい
0285デフォルトの名無しさん
2009/02/21(土) 17:13:36SpriteBatch.DrawStringでどうやって縮小描画する気か知らんけど
0286284
2009/02/21(土) 17:22:01縮小はscale引数があるだろ
0287デフォルトの名無しさん
2009/02/21(土) 17:37:43ありがとうございます。拡大は荒くなるからだめなんですよね
あと、キーの押された判定は使いたいボタン全部stateでPressedかどうか判定していくんですか?
なんかすごい長くなるきがするんですが、それに最初にヒットしたキーと最後とだと時間差ができませんか?
0288デフォルトの名無しさん
2009/02/21(土) 17:51:27全クラスのDrawの中を自動で判別してZ深度の順で書き込んでくれるんでしょうか?
0289デフォルトの名無しさん
2009/02/21(土) 17:54:030290デフォルトの名無しさん
2009/02/21(土) 17:57:540291デフォルトの名無しさん
2009/02/21(土) 18:17:330292デフォルトの名無しさん
2009/02/21(土) 18:24:170293デフォルトの名無しさん
2009/02/22(日) 11:09:380294デフォルトの名無しさん
2009/02/22(日) 12:05:030295デフォルトの名無しさん
2009/02/22(日) 13:00:040296デフォルトの名無しさん
2009/02/22(日) 14:51:22GameComponentのUpdateとDrawの更新順序が同じとは限らないのに
0297デフォルトの名無しさん
2009/02/22(日) 15:34:070298デフォルトの名無しさん
2009/02/26(木) 23:20:46見えないはずの裏のオブジェクトの一部が中が透けてみえているんですが
これはどうなってるんでしょうか
0299デフォルトの名無しさん
2009/02/26(木) 23:48:55色は書き込まれないけどZバッファには書き込まれるために
その後に書いたものでその物体より後ろにある部分は描画されない
完全に透明であればアルファテストをすることである程度回避できるが
半透明の場合はZソートして書き込むしかない
0300デフォルトの名無しさん
2009/02/27(金) 00:19:13法線もチェックして全ての面が外側に向いているのも確認したんですが
FBXファイルの中を理解して修正するしかないんでしょうか
この場合でもZソートというものをして奥にあるものから描画すれば大丈夫なんでしょうか?
透明なオブジェクトはないんです
0301デフォルトの名無しさん
2009/02/27(金) 00:30:49変換行列があってる事を確認した方がいいんじゃないかと。
0302デフォルトの名無しさん
2009/02/27(金) 00:47:120303デフォルトの名無しさん
2009/02/27(金) 10:40:560304デフォルトの名無しさん
2009/02/27(金) 11:19:48厄介なことに再現できなくなりました
graphics.GraphicsDevice.Clear(Color.Blue);
を
graphics.GraphicsDevice.Clear(ClearOptions.Target | ClearOptions.DepthBuffer, Color.CornflowerBlue, 0, 0);
に置き換えたら透けなくなったんです
が、そのあとまた
graphics.GraphicsDevice.Clear(Color.Blue);
にもどしたても透けないんです。クリーンもやりました
バグの可能性ありますか?
0305デフォルトの名無しさん
2009/02/27(金) 11:31:540306デフォルトの名無しさん
2009/02/27(金) 11:39:32ぐるぐる回したり移動させて確認はしてるんです
0307デフォルトの名無しさん
2009/02/27(金) 17:05:220308デフォルトの名無しさん
2009/02/27(金) 17:43:450309デフォルトの名無しさん
2009/02/27(金) 18:21:04どうすればいちいち聞かなくても調べられるようになるんですか?
本を買ってしまったら負けだと思ってるんですが、
XNAがなんなのかを理解するには本を買わないとダメな仕組みになってるんでしょうか?
収入に繋がる絶対的な確信がない限り経費は出せないと思うんですが、皆さんはどうやって習得したんですか?
0310デフォルトの名無しさん
2009/02/27(金) 19:18:00それ以外の専門書は絶対に読んだ方がいいものがあるので
「本を買ってしまったら負け」と思ってる時点で負けてる
将来の投資としてお金が使えない人は技術者としてダメだと思う
0311デフォルトの名無しさん
2009/02/27(金) 19:37:12力抜けよ
0312デフォルトの名無しさん
2009/02/27(金) 21:49:15そうでした、SpriteBatchはコメントアウトしてたんですが
また入れたら透けるようになってしまいました。
前面に文字を入れたくてDrawの中で2Dと3D描画一緒に使ってるんですがまずいですか?
どうすればいいんでしょうか
0313デフォルトの名無しさん
2009/02/28(土) 00:08:58http://blogs.msdn.com/ito/archive/2007/03/13/spritebatch-part2.aspx
0314デフォルトの名無しさん
2009/02/28(土) 00:47:29自分で調べたり、なんとかコードを書くクセをつけないと
ゲームプログラム組めるようにならないぞ。
書籍とか技術資料に経費かけるのに勝ちも負けもないよ。
みんなそうやって技術を身に着けてる。
0315デフォルトの名無しさん
2009/03/01(日) 13:14:150316デフォルトの名無しさん
2009/03/01(日) 13:42:310317デフォルトの名無しさん
2009/03/01(日) 14:04:060318デフォルトの名無しさん
2009/03/01(日) 15:10:190319デフォルトの名無しさん
2009/03/01(日) 20:24:39なんとかスルーするクセをつけないと
一生馬鹿のために貴重な時間を無駄にし続けるぞ。
0320デフォルトの名無しさん
2009/03/01(日) 20:50:570321デフォルトの名無しさん
2009/03/01(日) 22:00:17実際に就職したい会社の採用ページを見れば分かると思います。
0322デフォルトの名無しさん
2009/03/11(水) 00:17:54これと
XNAゲームプログラミング Xbox 360とWindowsのクロスプラットフォーム開発 赤坂 玲音
これだと
Microsoft XNAガイドブック Microsoft Xna Game Studio Express Creator's Guide
どっちが役に立つ?重視するのはXNAのテクニックやノウハウ
0323デフォルトの名無しさん
2009/03/11(水) 00:21:08XNAゲームプログラミング Xbox 360とWindowsのクロスプラットフォーム開発
この本、コンテンツパイプラインの拡張とかについては書いてあるんだろうか・・・
近くの本屋においてなかったんだよなぁ・・・
0324デフォルトの名無しさん
2009/03/11(水) 00:50:27目からうろこ
0325デフォルトの名無しさん
2009/03/11(水) 00:58:30codezineの記事や過去に買った本の内容から、説明下手教え下手な人のイメージが拭えない…
買うなら他の買う…
0326デフォルトの名無しさん
2009/03/11(水) 09:24:340327デフォルトの名無しさん
2009/03/11(水) 21:15:030328デフォルトの名無しさん
2009/03/12(木) 03:47:26もし3Dの基本的なことから勉強したいなら、むしろXNA以外の3D関連の本買った方がいいんじゃないかなあ。
ちなみに俺が一番3D関連で役に立った本は、ロボット工学の本だ・・・
ロボット工学と言いつつ、ほとんど順動力学と逆動力学の事しか書いてなかったのだが・・・w
0329デフォルトの名無しさん
2009/03/12(木) 03:58:440330デフォルトの名無しさん
2009/03/12(木) 10:19:42Xna 2.0 Game Programming Recipes
(今ならXna3.0のも出てる)
0331デフォルトの名無しさん
2009/03/12(木) 14:41:280332デフォルトの名無しさん
2009/03/12(木) 15:30:38ほとんど無いけど。
自作かサードパーティ製の話かな?
0333デフォルトの名無しさん
2009/03/12(木) 17:53:54ハァ?クラスライブラリは普通に参照して動くだろ。
何のための.NETなんだよ。
サードパーティ製とかアホか。知ったか乙。
0334デフォルトの名無しさん
2009/03/12(木) 18:05:36mscorlib.dllからして違う
0335デフォルトの名無しさん
2009/03/12(木) 21:59:45現状、全てのソフトがマケプレで公開されてるしレビューとかはどうなっちゃったの?
0336デフォルトの名無しさん
2009/03/12(木) 22:13:10情弱にも限度ってものがあるぞ・・・
0337デフォルトの名無しさん
2009/03/13(金) 14:21:000338デフォルトの名無しさん
2009/03/15(日) 10:35:58自分で作ったクラスライブラリ以外のライブラリはサードパーティ製
ソースで提供されてるものとは違うんだよ?
0339デフォルトの名無しさん
2009/03/16(月) 02:47:06その中のUpdateにボタンを押した時のコードを追加したのですが、
プロジェクトを実行しても、そのコード、Update自体が実行されませんでした。
どうすれば追加したクラスのUpdateが呼ばれるようになるんですか?
0340デフォルトの名無しさん
2009/03/16(月) 03:53:050341デフォルトの名無しさん
2009/03/16(月) 03:57:29という程度の問題ではないよな。
0342デフォルトの名無しさん
2009/03/16(月) 04:18:50newしたあと自分でUpdate呼び出すんですか?
Updateは勝手に呼ばれるんじゃないんですか?
だとしたらもしかして、Initializeも自分で呼ばないとですか?
0343デフォルトの名無しさん
2009/03/16(月) 04:29:24Game派生クラスのComponents.Addを呼んでやらないといけない気がする。
0344デフォルトの名無しさん
2009/03/16(月) 05:45:550345デフォルトの名無しさん
2009/03/16(月) 05:54:59どういう場面でGemeCompornentの派生が必要なんでしょうか
追加クラスのUpdateと、元のクラスのUpdateの呼ばれる順番はどうやってきまるんでしょうか
0346デフォルトの名無しさん
2009/03/16(月) 10:15:59Updateの順序はUpdateOrder
0347デフォルトの名無しさん
2009/03/17(火) 04:30:10自分の実行順位は変えられないですか?
必ずメインのあとに追加の奴来るんです
0348デフォルトの名無しさん
2009/03/17(火) 10:26:360349デフォルトの名無しさん
2009/03/26(木) 23:08:05グラボのスペック不足て実行できない><
0350デフォルトの名無しさん
2009/03/27(金) 10:34:28http://www.riemers.net/eng/Tutorials/XNA/Csharp/ShortTuts/Reference_device.php
0351デフォルトの名無しさん
2009/03/28(土) 14:56:310352デフォルトの名無しさん
2009/03/30(月) 18:15:48まさかM$が本気で同人ソフトの開発環境で商売になると思ってるはずもないし
仮にXNAが3Dゲーム開発業界で採用されるようになっても、ユーザーが満足しないだろそんなもん・・
0353デフォルトの名無しさん
2009/03/30(月) 18:18:020354デフォルトの名無しさん
2009/03/30(月) 19:06:45x,yの2階層ループで作成させる時うまく書けないんですがこれ絶対ひと筆書きにできないとDrawUserPrimitivesをxかyごとに
繰り返さないとだめですよね?
0355デフォルトの名無しさん
2009/03/30(月) 20:18:290356デフォルトの名無しさん
2009/03/31(火) 00:42:19時計回りに描画するかどうかで分かれると書いてあるのを見たんですがTriangleStripにそんな状態なくないですか?
0357デフォルトの名無しさん
2009/03/31(火) 01:25:200358デフォルトの名無しさん
2009/03/31(火) 02:06:52もし本当にオブジェクトの面の表裏が意図したのと逆になってるなら
単に頂点の位置指定が全部反時計回りになってるんじゃね?
もしくはカリングの指定が逆になってるんじゃね?
もしTriangleStrip使ってて、一枚おきに裏表が逆になってるなら、それは仕様だ
どうやっても頂点指定が時計回りと反時計回りの交互になるから、カリング使うのやめれ
GraphicsDevice.RenderState.CullMode でも調べてみ
0359デフォルトの名無しさん
2009/03/31(火) 02:29:380360デフォルトの名無しさん
2009/03/31(火) 03:06:13CullClockwiseFaceがデフォルトって書いてあるけど、描画前に再設定するように書いたらターゲットは元に戻った
けど、他のFBXから取り込んでるオブジェクトの描画じゃなくて動作が逆になった。不明すぎる
そもそもTriangleStripが内部でどっち回転で作り上げてるのかあたりが納得いかない
奇数どうし偶数どうしを繋いでるのはわかるけどそれだと交互に裏表になるはずなのになってないし。仕様だと交互になるの??
あとはなんとか出来そう、ありがと
0361デフォルトの名無しさん
2009/03/31(火) 04:30:23PrimitiveType で TriangleStrip が指定されてれば、
自動的に偶数面の裏表が逆にレンダリングされてるらしいよ
もっとも、これで実行速度が速くなるのかは疑問だけど・・・
TriangleStripって、使うとこでは使ってるのだろうか
0362デフォルトの名無しさん
2009/03/31(火) 14:11:43今はそうでもないんじゃない?
■ このスレッドは過去ログ倉庫に格納されています