【みんな】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/
ということで立ててみた。
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今はそうでもないんじゃない?
0363デフォルトの名無しさん
2009/03/31(火) 14:24:20プリミティブの作られる3種類から選ぶとするとStripかFanしかないと思うんだけど
高さマップのサンプル見るとTriangleListの形で追加していってるけどこれStripの倍の容量になると思うんだけど
深い意味あるのかな。速度を考えるからこそStripを使うべきだと思ったんだけど
でも結局内部でTriangleListに変換されてるから最初から容量は多くなってもTriangleStripではなくTriangleList形式で格納しろとかなんだろうなぁ
計ってみるけど
0364デフォルトの名無しさん
2009/03/31(火) 17:55:17折り返し地点で縮退ポリゴン作ってやれば?
無駄なポリゴン作ることになるけど長い目でみればTriangleStripの方が有利でしょ
0365デフォルトの名無しさん
2009/04/01(水) 16:12:310366デフォルトの名無しさん
2009/04/01(水) 17:06:440367デフォルトの名無しさん
2009/04/01(水) 17:21:18ttp://creators.xna.com/en-US/sample/picking
これと付属(日本語版は別途ダウンロードか)のドキュメントでいいんじゃない?
0368デフォルトの名無しさん
2009/04/01(水) 19:17:050369デフォルトの名無しさん
2009/04/01(水) 19:20:35ひたすら一文づつコピー貼り付けで機械訳にかけてたあほすぎる
0370デフォルトの名無しさん
2009/04/02(木) 01:04:31もしかしてレビュー通ったあとはマケプレから金払うしかプレイできない?
今からでも今あるやつは全部保存しといたほうがいいかな。レビュー期限とか掛ってたりしないよね
0371デフォルトの名無しさん
2009/04/02(木) 10:13:460372デフォルトの名無しさん
2009/04/02(木) 19:22:390373デフォルトの名無しさん
2009/04/02(木) 20:15:09みんなゲ製の方を見てるから
0374デフォルトの名無しさん
2009/04/03(金) 00:32:12わざわざ入れなくても描画できるんですが。VertexBufferを通す理由ってなんですか?
0375デフォルトの名無しさん
2009/04/03(金) 01:50:540376デフォルトの名無しさん
2009/04/03(金) 17:02:54四角形を4つ繋げたときの座標はどうすればいいんですか?
必ず三角形を1セットにして座標を指定してテクスチャを細かく貼っていくしかないんですか?
対応させたい四隅を指定して一枚張り付けるようなことはできませんか?
0377デフォルトの名無しさん
2009/04/03(金) 18:36:12その程度、自力で解決できないなら氏んだほうがいいぞ。
少しはググるなりして調べろ屑。
0378デフォルトの名無しさん
2009/04/04(土) 02:35:100,1で向き上下左右の向きだけを表す約束ごとなのかと思ってた。
知ってる人は当たり前すぎて解説サイトどころかヘルプにすら書いてなかった
思いついたあと納得した。ここは教えてくれなくてありがとう。
0379デフォルトの名無しさん
2009/04/04(土) 22:10:51この解釈だと5点以上のTriangleStripに4点で一枚のテクスチャを張り付けて続けて並べていく時
テクスチャ座標が裏返ってしまいます。どうすればいいんでしょうか?
0380デフォルトの名無しさん
2009/04/04(土) 22:20:100381デフォルトの名無しさん
2009/04/04(土) 22:29:590382デフォルトの名無しさん
2009/04/04(土) 22:34:50反転画像を用意して交互にdrawするか
一枚画像を作成して中間点の座標を入れていくかにするかだが
お勧めはレンダーターゲットをテクスチャにして表裏交互のタイル状の一枚画像をプログラム上で作成しそれを
3番目の方法で渡すのがいいかな
0383デフォルトの名無しさん
2009/04/04(土) 23:14:27いつからか途中から頂点カラーフォーマットでやってる時からなんですが面が真っ黒になってるんです
まだライトまでやってないんですが、ベーシックエフェクトでデフォルトライトにングの設定は変更してないんですが真っ黒なんです。
どういう原因が考えられますか?
BasicEffect effect;
void init(){
mVtDec = new VertexDeclaration(game.GraphicsDevice, VertexPositionTexture.VertexElements);
effect = new BasicEffect(game.GraphicsDevice, null);
effect.VertexColorEnabled = true;
effect.EnableDefaultLighting();
effect.Projection = Matrix.CreatePerspectiveFieldOfView(MathHelper.ToRadians(35.0f), game.aspectRatio, 1.0f, 50000.0f);
}
void Drawground(){
game.GraphicsDevice.VertexDeclaration = mVtDec;
CullMode oldCullMode = game.GraphicsDevice.RenderState.CullMode;
game.GraphicsDevice.RenderState.CullMode = CullMode.CullClockwiseFace;
effect.View = Matrix.CreateLookAt(game.camera.camPos, game.mt.mPos, Vector3.Up);
effect.Begin();
foreach(EffectPass pass in effect.CurrentTechnique.Passes) {
pass.Begin();
int buf = ( vtCountY - 1 ) * vtCountX * 2;
for( int i = 0; i < buf; i += vtCountX*2 ) {
game.GraphicsDevice.DrawUserPrimitives<VertexPositionTexture>( PrimitiveType.TriangleStrip, vpGround, i, primitivesCount );
}
pass.End();
}
effect.End();
game.GraphicsDevice.RenderState.CullMode = oldCullMode;
}
0384デフォルトの名無しさん
2009/04/06(月) 09:57:08ttp://www.riemers.net/eng/recipes30.php
チャプター5-8がまさにそれ
0385デフォルトの名無しさん
2009/04/06(月) 22:50:03まじありがとうございます一時サンプル解析になりそうです
すごいサンプル集です
■ このスレッドは過去ログ倉庫に格納されています