- 1 名前:名前は開発中のものです。 [2007/12/22(土) 17:33:42 ID:spx8/Rc4]
- 前スレ
【XBOX360】 XNA Game Studio その3 【C】 pc11.2ch.net/test/read.cgi/gamedev/1176692259/ XNA Developer Center msdn.microsoft.com/directx/XNA/ XNA Game Studio Express msdn.microsoft.com/directx/xna/gse/ XNAをはじめよう! xna-studio.jp/ ■ゲ製wiki プログラミングガイドなど、基礎技術情報が豊富 www23.atwiki.jp/news4xna/ ■ゲハwiki フリーのライブラリ情報などが豊富 www16.atwiki.jp/xna360
- 691 名前:名前は開発中のものです。 mailto:sage [2008/03/02(日) 22:44:28 ID:keBEe7WT]
- >>689
ありがとうございます。 半透明ではなく透明度ゼロのスプライトの表示ですね。 奥から、地形、アイテム、キャラ、弾丸(←こいつにAdditiveが混ざってる)、エフェクト、メニュー(←こいつが半透明) という表示をしたくて、spriteBatch.Drawの最後の引数の値で管理してます。 AlphaBlend用のSpriteBatch(Aとする)とAdditive用のSpriteBatch(Bとする)をそれぞれ持っておくというのは合ってて、 下記のように呼べばOKでしょうか? ただ、この場合、弾もメニューも他のものもDrawableGameComponentを継承した、○○Managerというのを作って、 そのDrawメソッドの中でそれぞれのオブジェクトのDrawメソッドを呼んでいるのですが、DrawableGameComponentにしちゃうと まとめてGameから呼ばれちゃうので、弾ManagerとメニューManagerはDrawableGameComponentにせずに別管理になるということでしょうか。 //地形、アイテム、キャラ描画 SpriteBatch_A.Begin(Blend); SpriteBatch_A.Draw( 地形とかアイテムとかキャラとか ); SpriteBatch_A.End(); //弾 SpriteBatch_A.Begin(Blend); SpriteBatch_B.Begin(Additive); if ( 弾.blendmode == AlphaBlend ) { SpriteBatch_A.Draw( 弾 ); } else { SpriteBatch_B.Draw( 弾 ); } SpriteBatch_A.End(); SpriteBatch_B.End(); //メニュー SpriteBatch_A.Begin(Blend); SpriteBatch_A.Draw( メニュー ); SpriteBatch_A.End();
- 692 名前:ひげねこ ◆oxtErU/kVM mailto:sage [2008/03/02(日) 23:01:48 ID:Oj9SUC9L]
- >>681
単にC++の構文が使いたいのであれば、Windows限定なら何の問題も無くC++/CLI使えますし、Xbox 360上でも/pureフラグ使えばできますよ。 どちらもサポート外でけど。 あと、名前は忘れましたがC++からC#のコードに変換してくれるソフトがあったりして、実際にそれを使っている人もいましたよ 適当にググってみたらこんなの見つけましたけど ttp://tangiblesoftwaresolutions.com/Product_Details/CPlusPlus_to_CSharp_Converter_Details.htm さあ、話しましょうか? >>682 弘法筆を選ばず、プログラマー言語を選ばずです。 >>688 そういったパラメーター変更のような機能の要望は確かにあります。 現状ではWindowsのみならプロパティグリットは使えますが(WinFormとして使うなら)、要求としてはPC上から Xbox360で動作しているデータの変更したいというのはあります。 >>690 このメッセージは指定した名前のキューが無かったときにでます。この名前はケースセンシティブなので XACTでしていした名前と大文字小文字も一緒にする必要があることに気をつけてください。
- 693 名前:名前は開発中のものです。 mailto:sage [2008/03/02(日) 23:11:28 ID:qhGLCmSg]
- XNAで「フォグ」って、ピクセルフォグしか使えないんでしょうか?
ピクセルフォグはDX9の設定をXNA的な書き方に直しただけで動いたのですが、 どーにもFogVertexModeではフォグカラーで塗りつぶされただけになってしまうので。 子一時間といってたけど・・・ま、次に来たときにでも教えてください>ひげねこさま
- 694 名前:名前は開発中のものです。 mailto:sage [2008/03/02(日) 23:13:15 ID:keBEe7WT]
- >>691
あ、そうじゃなくて、SpriteBatch_IroiroとSpriteBatch_TamaとSpriteBatch_Menuを作って、 SpriteBatch_Iroiro.Begin( blend ); SpriteBatch_Tama.Begin( additive ); SpriteBatch_Menu.Begin( blend ); base.Draw(); //DrawableGameComponentをDraw SpriteBatch_Iroiro.End(); SpriteBatch_Tama.End(); SpriteBatch_Menu.End(); とすれば良いのかな。Endのタイミングで描画でしたよね。
- 695 名前:名前は開発中のものです。 mailto:sage [2008/03/02(日) 23:30:45 ID:Ng8vALwi]
- >弘法筆を選ばず、プログラマー言語を選ばずです。
xna-studio.jp/howto.html ↑にはプログラマーじゃない人でも出来る話なんですけど
- 696 名前:名前は開発中のものです。 mailto:sage [2008/03/02(日) 23:39:09 ID:wif61gOz]
- >>692
そうなんですか。でもキューの名前は合っているはずなのにおかしいな? もう少し調べてみます、ありがとうございました
- 697 名前:名前は開発中のものです。 mailto:sage [2008/03/02(日) 23:50:59 ID:RrXwWPHL]
- >VectorGraphics
欲を言えばアンチエイリアス付きの簡易Flashみたいな。 まあ、System.Drawing の GraphicsやGraphicsPathが使えれば良いかなと。 (自作しようにもTesselation(Triangulation?)で躓いた) ツールで作ったものをポリゴンデータにするっていう具体例が思いつきませぬ。
- 698 名前:名前は開発中のものです。 mailto:sage [2008/03/02(日) 23:54:01 ID:iyg+0+D4]
- >>697
まさにSilverlight Silverlightのサポートの予定はあるの?
- 699 名前:ハコ太郎 mailto:sage [2008/03/02(日) 23:55:06 ID:Lox6KhX3]
- 俺よく調べてないんだがSilverlightってweb側の技術じゃないのか
- 700 名前:ひげねこ ◆oxtErU/kVM mailto:sage [2008/03/03(月) 00:02:55 ID:JIaq5K5i]
- >>693
FogVertexModeにした場合は、頂点シェーダーでFog係数を出力する必要があります。 struct VSOUTPUT { >>695 っていうか、最初の段落で思いっきりプログラミングツールって言ってるんですけど……。
- 701 名前:ハコ太郎 mailto:sage [2008/03/03(月) 00:10:20 ID:ih84mIid]
- そもそも何も知らない主婦にやらせるのが間違いでは?
どうも意識のずれがあるように思うけど
- 702 名前:ひげねこ ◆oxtErU/kVM mailto:sage [2008/03/03(月) 00:11:23 ID:JIaq5K5i]
- 途中で送信してしまいました、すいません
>>693 こんな感じでFOG係数を頂点シェーダーから出力します struct VSOUTPUT { float4 PositionPS : POSITION; float Fog : FOG; }; >>691 もしかして、Addtiveの弾とメニュー以外は、アルファ値が0と1しかないスプライトですか? それだったら、もっと簡単な方法があります。 はう、こちらは朝の7時で非常に眠いです。 このまま書き続けるとヘンなこと書きそうなので寝ます。 日本時間で月曜の夕方くらいに戻ってきます。では
- 703 名前:ハコ太郎 mailto:sage [2008/03/03(月) 00:14:38 ID:ih84mIid]
- お疲れ様でした
- 704 名前:名前は開発中のものです。 mailto:sage [2008/03/03(月) 00:46:07 ID:51SXKyNl]
- xna-studio.jp/howto.html
>しかし、プログラミングを学習するのは難解であり、開発関係の情報は専門に選考している方に >しか理解し難いものです。 >通常はこの段階で一般の方もしくは、これから始めようとされる方、興味を持ってもやはりその >難しさにハードルの高さを感じて断念、敬遠される場合があります。 ここ読むと、プログラミング学習の難解さ、敷居の高さを解消しないとどうにもならないような気がするが。 でも、まさかMSがゆとり学生から氷河期ゲーム廃人までの全員を対象に無料プログラミングスクールを 毎週提供するわけにもいかないしなw その下の段落読むと、プログラミングできない人はとりあえず応援して、アマチュアが作ったゲームを 楽しんでね〜、絵心や音楽のセンスあるやつはできる範囲で協力してXNAを盛り上げましょうね〜みたいな 感じだな。
- 705 名前:693 mailto:sage [2008/03/03(月) 01:03:25 ID:CQVhtOku]
- >>700
ありがとうございます。 ということは、今はBasicEffectに頼り切ってfxファイルなんて使っていないので、あきらめろって言うことですね・・・。了解です。
- 706 名前:名前は開発中のものです。 mailto:sage [2008/03/03(月) 01:15:25 ID:oA5jTKAz]
- >>702
> >>691 > もしかして、Addtiveの弾とメニュー以外は、アルファ値が0と1しかないスプライトですか? > それだったら、もっと簡単な方法があります。 今のところそのつもりです。もしかしたら弾とエフェクトは半透明にするかもですが、 地形とキャラはベタの予定。 // スプライトの描画準備 this.spriteBatch.Begin(); // スプライトを描画する this.spriteBatch.Draw(this.texture, Vector2.Zero, Color.White); とか、Beginの引数を省略とかじゃなくてですか?<簡単な方法
- 707 名前:名前は開発中のものです。 mailto:sage [2008/03/03(月) 01:27:09 ID:LQEfvSeq]
- XNAって文字をスプライト化せずに表示することは不可能なんでしょうか?
今までは画像ファイルで済ましていたんですが、 テキストの多いゲームを作ろうと思っているので、 片っ端から文字をスプライト化するのは避けたいんです ユーザー側で使用フォントを変えれるようにもしたいですし
- 708 名前:名前は開発中のものです。 mailto:sage [2008/03/03(月) 03:55:13 ID:x67FlAoB]
- 過去レスくらい読もうぜ
- 709 名前:名前は開発中のものです。 mailto:sage [2008/03/03(月) 09:56:04 ID:ulYtu6Pm]
- 自前でTrueTypeレンダリングするとか
- 710 名前:名前は開発中のものです。 mailto:sage [2008/03/03(月) 12:56:24 ID:qepHyWRQ]
- 今、XNAフィードバック使えなくない?
IE7にしてから初めてのアクセスなので、自己解決しそうだけど念の為書いておく。
- 711 名前:名前は開発中のものです。 mailto:sage [2008/03/03(月) 16:03:15 ID:F45LgXfd]
- Effect Fileを書くとき入力支援機能があると楽なんだが3.0に搭載してほしい
- 712 名前:名前は開発中のものです。 mailto:sage [2008/03/03(月) 16:55:48 ID:TzOzZLK6]
- OPADSFはレリノマッソサイテスタルムン゜タイテ゜゛からせねふほぉん゜まのちしとはくちしとは
- 713 名前:名前は開発中のものです。 mailto:sage [2008/03/03(月) 17:05:51 ID:S1J4GBTq]
- 日本語でおk
- 714 名前:ひげねこ ◆oxtErU/kVM mailto:sage [2008/03/03(月) 17:18:04 ID:Q5EkCE5+]
- 今日は本当に小一時間だけ(で終わるといいなぁ)出没します。
>>696 あと、考えられるのはストリーミング用のWaveバンクを生成した後にAudioEngine.Updateを一回呼ぶ必要があります。 audioEngine = new AudioEngine(@"Content\Audio\xact.xgs"); streamWaveBank = new WaveBank(audioEngine, @"Content\Audio\Streaming.xwb", 0, 16); soundBank = new SoundBank(audioEngine, @"Content\Audio\Sound Bank.xsb"); audioEngine.Update(); // これを追加 cue = soundBank.GetCue("test"); >>697 例えば、XAMLとかをそのまま正直にランタイムで処理すると時間が掛かるので、GPUフレンドリーなデータ構造に変換したり、 ツール内でベクター使いまくって作ったボタンイメージとかをコンバート時にビットマップに変換してくれたりといった機能ですね
- 715 名前:ひげねこ ◆oxtErU/kVM mailto:sage [2008/03/03(月) 17:34:28 ID:Q5EkCE5+]
- >>706 こんな感じです。
// 抜きスプライトを描画 spriteBatch.Begin(SpriteBlendMode.AlphaBlend, SpriteSortMode.Immediate, SaveStateMode.SaveState); GraphicsDevice.RenderState.DepthBufferEnable = true; GraphicsDevice.RenderState.ReferenceAlpha = 128; spriteBatch.Draw(...) spriteBatch.End(); // 半透明のスプライトを描画 spriteBatch.Begin(SpriteBlendMode.AlphaBlend, SpriteSortMode.Immediate, SaveStateMode.SaveState); GraphicsDevice.RenderState.DepthBufferEnable = true; GraphicsDevice.RenderState.DepthBufferWriteEnable = false; spriteBatch.Draw(...) spriteBatch.End(); // Additveのスプライトを描画 spriteBatch.Begin(SpriteBlendMode.Additive, SpriteSortMode.Immediate, SaveStateMode.SaveState); GraphicsDevice.RenderState.DepthBufferEnable = true; GraphicsDevice.RenderState.DepthBufferWriteEnable = false; spriteBatch.Draw(...) spriteBatch.End(); // メニュー部分を描画 spriteBatch.Begin(); spriteBatch.Draw(...) spriteBatch.End(); 抜きテクスチャを描画する時にZバッファと、Alphaテストを使うのがコツです。こうするとAlpha値が1のものだけが 描画されると同時にZバッファも更新されるのでちゃんとしたdepthを指定すれば順不同に描画しても問題ありません 次にの半透明部分ですが、前の描画でZバッファには情報が入っているので既に描かれているものより手前のピクセルしか描画しません。 Zバッファは参照するけど、更新はしないというのがミソです。続くAddtiveの部分も一緒です。 これで見た目上一番問題のある抜きスプライトとそれ以外のスプライトの前後関係は正しくなります。ただし、半透明同士が重なったとき の前後関係はおかしくなりますが、見た目上の問題は大幅に減るはずです。
- 716 名前:ひげねこ ◆oxtErU/kVM mailto:sage [2008/03/03(月) 17:44:53 ID:Q5EkCE5+]
- >>705
確かにBasicEffectはFogパラメーターを頂点シェーダーで出力していませんが、独自のFogパラメータを持っています。 Fogパラメータを出力するように変更することができますが、Xbox360にはFog関連のレンダーステートが無いので、BasicEffectを 使う場合はそのパラメーターを変更することをお勧めします。 >>707 文面から察するにSpriteFontを使っていないように見えますが、そうであればSpriteFontを使うことで文字列描画できます。 このスプライトフォントには表示につかう文字コードを指定する必要があり、デフォルトでは英文字が追加されています。 それ以外の文字を表示するには以下が参考になります。 ttp://blogs.msdn.com/ito/archive/2008/02/22/simple-japanese-message.aspx ttp://blogs.msdn.com/ito/archive/2007/05/02/content-pipeline-part3.aspx >>711Effect Fileを書くとき入力支援機能があると楽なんだが3.0に搭載してほしい これはインテリセンスが動作して欲しいということでしょうか?確かにあると便利なので要望として出しておきます。
- 717 名前:名前は開発中のものです。 mailto:sage [2008/03/03(月) 18:05:24 ID:S1J4GBTq]
- RenderTargetでColor.Singleのフォーマットが作れないんですけど、
作成できるかチェックする方法ってあるんですか?
- 718 名前:名前は開発中のものです。 mailto:sage [2008/03/03(月) 18:18:16 ID:ST1FZc0o]
- >>714
>例えば、XAMLとかをそのまま正直にランタイムで処理すると時間が掛かるので、GPUフレンドリーなデータ構造に変換したり、 >ツール内でベクター使いまくって作ったボタンイメージとかをコンバート時にビットマップに変換してくれたりといった機能ですね なるほど。 そういったパーツを多関節でつなげたり、 スキニングみたいにトランスフォームしたりでアニメーションさせたいですね。 ってその程度であればスプライトで代用できるんで、拡大縮小で劣化を防ぐ以外にはあまり意味がないような。 そういうのをリアルタイムでやりたいんで、 グラフィックスパスをポリゴン化するようなサンプルが欲しいなぁと。
- 719 名前:名前は開発中のものです。 mailto:sage [2008/03/03(月) 18:51:45 ID:zo2Ibxr1]
- Win2kで動くように…
無理か
- 720 名前:ひげねこ ◆oxtErU/kVM mailto:sage [2008/03/03(月) 19:13:41 ID:Q5EkCE5+]
- >>717
GraphicsAdapterクラスのCheckDeviceFormatを使います。 bool canUse = GraphicsDevice.CreationParameters.Adapter.CheckDeviceFormat( graphics.GraphicsDevice.CreationParameters.DeviceType, GraphicsDevice.DisplayMode.Format, TextureUsage.None, QueryUsages.None, ResourceType.RenderTarget, SurfaceFormat.Single); この戻り値がtrueなら使えることになります。 >>718 Triangulationサンプルということですね。ここら辺の処理は他のグラフィクス処理に比べると地味ですが、あるとなにかと便利なんですよね >>719 Win2Kがサポート外なのはXNAが依存しているものの問題なんで、厳しいですね。 明日は月曜日なので、今日はもう落ちます。ではでは
- 721 名前:名前は開発中のものです。 mailto:sage [2008/03/03(月) 19:48:20 ID:S1J4GBTq]
- >>720
> GraphicsAdapterクラスのCheckDeviceFormatを使います。 ありがとうございます。945GMで無事にfalseが帰ってきましたorz 色々なサンプルを見るだけでも影のハードルは高いっすね・・・。 >>716 > これはインテリセンスが動作して欲しいということでしょうか?確かにあると便利なので要望として出しておきます。 個人的にはシェーダーでリファクタリングが使えるようになって欲しいですね。 同じようなシェーダーを書き換えたり、コピペしたりするときに欲しいなと思います。
- 722 名前:名前は開発中のものです。 mailto:sage [2008/03/03(月) 20:07:26 ID:EdvlV9oX]
- XNAのインストールから会員の入会方法、XBOXで動かすのを具体的に解説してるページってないですか?
- 723 名前:名前は開発中のものです。 mailto:sage [2008/03/03(月) 20:35:22 ID:aH5g85ZF]
- >>712
- 724 名前:696 mailto:sage [2008/03/03(月) 21:12:34 ID:vsU7ZvID]
- >>714
おお、ちゃんと再生できました!! ありがとうございます
- 725 名前:名前は開発中のものです。 mailto:sage [2008/03/03(月) 22:33:54 ID:CwLMLFGc]
- >>722
xna-studio.jp/ スターターのダウンロード ゲームを動くようにする メンバーシップへ参加 スターターのダウンロード パソコンとの接続設定 ゲームを動くようにする Xbox 360 へ展開する ゲームサンプル てあるから読んでみたら?
- 726 名前:名前は開発中のものです。 mailto:sage [2008/03/03(月) 22:54:32 ID:EdvlV9oX]
- その人と一緒にがんばってみます
- 727 名前:名前は開発中のものです。 mailto:sage [2008/03/03(月) 23:59:09 ID:b9qJgCmK]
- スレ違いで恐縮なんですけども、win向けのXNAバイナリがどれもこれも動作しません。
・(問題の環境がVistaなので).Net2.0再頒布可能パッケージインストーラは蹴られる ・DirectX End-User Runtime Web Installerは「最新です」と言われる (DxDiagも正常、AeroGlass環境なのでGPU要件は問題無い、筈) ・Microsoft XNA Framework Redistributable 2.0はインストール済 ・イベントビューアによると何らかのコンポーネントが足らないか壊れている、らしい で、ここからが要望なんですが、もう少しエラーメッセージ周りをどうにかするか (実際に何が欠けているかが解らないので、どれを疑ってよいのか解りません) XNAバイナリを動作させる為の必須コンポーネントのAll-in-oneパッケージのようなもの を用意していただけるとありがたいのですが。
- 728 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 00:47:09 ID:sCnHkz0D]
- おちんちんびろんびろ〜ん
- 729 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 01:03:46 ID:s/9UoCnb]
- それができたら苦労しない
そもそもPCでXNAやること自体間違っとる 箱でやれよ
- 730 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 08:40:03 ID:RsF5/lls]
- >>727
CRT8SP1だったか.NETFX2.0SP1だったかが足りにゃい
- 731 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 09:20:55 ID:s/9UoCnb]
- こんな得体の知れないランタイム要求するなんて
Vista買った初心者は全員XNA挫折だな
- 732 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 10:19:39 ID:j0/ST36S]
- XNA End-User Runtime Web Installerが必要かもな。
・DirectXをチェックしてインストール ・.Net Framework 2.0 SP1をチェックしてインストール ・XNA Framework をチェックしてインストール このぐらい自動でやってもらいたいものだ。
- 733 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 10:44:53 ID:s/9UoCnb]
- 無理だな
できるなら既にやっている もうXNAが出てから何年も経ってるんだぞ
- 734 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 10:50:42 ID:OToBjVMK]
- ベータ含めて1年半だろ
- 735 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 11:30:35 ID:dikiCYmh]
- 3.5入れさせとけ
- 736 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 12:06:08 ID:RsF5/lls]
- >>731
何が知れないのか知らんがCRTは要するにCランタイムでVS2005で 開発されたほぼ全てのアプリに必要。 VS2005SP1で更新されたんだが今いち内部ですら認識されてなさげ つか見てみたがこれXna redistパッケージのバグと言ってもいい気がしてきた。 CRTだけで大丈夫なら同封すべき。NETFX2.0SP1必要ならNotWinFx2Actionの カスタムアクションが間違ってる。とりあえず依存関係抽出してパッケージ 作るぐらいはして下さい>これつくった人 WiX使ってるようだけどこれは詳しくないと火傷するぽ
- 737 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 12:33:49 ID:Q04dOBkw]
- >>575のリンク先の原因と同じかな?
ちゅーかこれXNAに限らずC++/CLIアプリを配布する時に気をつけた方が良いなぁ。
- 738 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 12:45:45 ID:ij7C/RJ0]
- プレイさせるだけでも一苦労だな
- 739 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 12:54:30 ID:NA3DgFZP]
- さっさと>575の「この投稿は参考になりましたか?」の「はい」を押す作業に戻るんだ。
- 740 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 13:02:16 ID:ozuNs0rT]
- 不毛なインストール作業を強いる時点で
ゲームプレイ環境としては失格だな
- 741 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 13:24:57 ID:RsF5/lls]
- >>738 >>740
その辺パッケージで吸収せなならんのにというそれ以前の問題っつーか これつくったやつと通したQA出てこいっつーか…
- 742 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 13:26:36 ID:s/9UoCnb]
- MDXと違って金が入るからC#もXNAもこの先生きのこると思う人も多いかもしれないが
その期待をことごとく裏切るのがM$流 既にGDKなんて出してるくらいだからな 箱の寿命かDX10世代が来るまでの命だろ
- 743 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 13:27:23 ID:AVay9o0V]
- 途中送信しかけた…
>>740 文句は言うのは自由だが、非生産的な文句は誰も得しないからやめれ
- 744 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 13:31:48 ID:dikiCYmh]
- GDKはサードパーティー製品の制限版だぞ
- 745 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 13:42:19 ID:s/9UoCnb]
- >不毛なインストール作業を強いる時点で
>ゲームプレイ環境としては失格 認識を持たせるという意味では生産的な意見だな
- 746 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 14:09:42 ID:ozuNs0rT]
- >>743
どうやら君の1bitの情報量も無い書き込みよりは生産的みたいだよ?
- 747 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 14:11:24 ID:6jZ5YXCn]
- >>745
かえって問題の本質をぼかしているだけだろ
- 748 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 14:35:23 ID:tkXnqvSo]
- この前のイベントが海外への良いアピールになっているといいなぁ
ひげねこ氏も積極的に動いてくれているみたいだし 要望を踏まえた3.0の成長に期待 あとは新機能が追加されてもそれを上手く使わせるサンプルが不足していることだと思う ジオメトリインスタンシングのサンプルなんて複数のサンプルがごちゃごちゃしすぎて分かり難いし スターターキットに至っては(ry
- 749 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 14:38:21 ID:du42uvgl]
- MSの開発ツールってドキュメントはMSDN Libraryに代表されるように非常にしっかりしてるんだが
サンプルが今ひとつな事が多いよな
- 750 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 14:51:11 ID:CujTJOWH]
- 断片的な情報しかないのは仕様です。
- 751 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 15:13:19 ID:0b6eMKRw]
- 翻訳何とかして欲しいなあ。
調べ物は英語でいいけど、パラパラ読みができん
- 752 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 16:28:19 ID:sCnHkz0D]
- おちんちんびろ〜ん
- 753 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 17:04:20 ID:s/9UoCnb]
- 戻らなくなるぞ
- 754 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 17:23:51 ID:sCnHkz0D]
- 皮が伸びて被ったままになっちゃった・・・最初からだけど
つω;) ウッ・・・
- 755 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 22:14:38 ID:/QfDBMTz]
- >>728-729
wwwwwwwwwwwwww箱だとびろ〜んできますか?wwwwwwwwwww
- 756 名前:名前は開発中のものです。 mailto:sage [2008/03/04(火) 23:08:18 ID:mWxzbpcN]
- サンプルの充実と解説の和訳が欲しい
できればサンプルには、それを学ぶことでどのような知識が得られるのか、 落とす前に体系的にわかるようにして欲しい 基礎から応用まで
- 757 名前:名前は開発中のものです。 mailto:sage [2008/03/05(水) 00:02:31 ID:G13W8xfV]
- 2Dで、BoundingBoxとBoundingSphereを使って
矩形同士の衝突判定と、矩形と円の衝突判定をやっています。 ですが、矩形の方を回転させて、斜めになってる状態で判定する必要がでてきました。 そこでちょっと教えて頂きたいのですが、BoundingBoxを回転させる方法はありますでしょうか。 MSDNで探してみたつもりなんですが、そういうメンバは見あたりませんでした。 どうすればBoundingBoxを回転させて衝突判定させられるでしょうか。 それとも、回転する矩形の衝突判定する方法は提供されてなくて、 4点取って自分で衝突判定処理を実装しなければならないのでしょうか。 教えて頂けると助かります。よろしくお願いします。
- 758 名前:名前は開発中のものです。 mailto:sage [2008/03/05(水) 00:18:28 ID:tt2IYbDX]
- >>757
ごめん、俺XNAは全然素人なんで正しい答えは返せないんだけど 元々矩形で当たり判定してるなら中身が回っても矩形的には無視 できるんじゃない? 中央の座標だけ揃えとくとか、そんなんじゃ駄目なんかな?
- 759 名前:名前は開発中のものです。 mailto:sage [2008/03/05(水) 00:35:26 ID:iMklzerV]
- >>758
ええと、言いたいことが伝わってないかもしれません ε=○□=3 と ε=□□=3 とやってたのを、 ε=○◇=3 と ε=□◇=3 とやりたい、ということです。 /\○ ←当たってない / \ \ / \/ と、矩形の傾きで衝突してるか否かが変わってくると思います で、BoundingBoxは原点に近い方の座標と遠い方の座標で値として持つので、 座標を傾けても、矩形の縦横の長さが変わるだけで傾きはないという認識です で、もしBoundingBox自体を回転できなくても、BoundingBoxと傾き角度を引数とかで 渡してやれば衝突判定してくれるメソッドとかXNAで提供されてないかなぁと思いまして
- 760 名前:名前は開発中のものです。 mailto:sage [2008/03/05(水) 00:40:56 ID:dCj5PHbb]
- おまえはBBの意味が分かっていない
- 761 名前:名前は開発中のものです。 mailto:sage [2008/03/05(水) 07:37:59 ID:vf5nbNmt]
- >>759
XNAは知りませんが、普通2DのBBはAABBの一種で、座標軸に平行な矩形です。 回転するBBと円との当たり判定を行いたい場合、円の座標を変換して AABB vs 円にしてから判定を行うとよいでしょう。 数学的に難しくは無いですが多少重いです。
- 762 名前:名前は開発中のものです。 mailto:sage [2008/03/05(水) 07:47:03 ID:vf5nbNmt]
- 訂正。
円の座標ー>矩形と円の座標
- 763 名前:名前は開発中のものです。 mailto:sage [2008/03/05(水) 08:17:04 ID:iMklzerV]
- >>761
あーなるほど、円と矩形回転させてやって、軸に平行な矩形を作って、そちらと判定する訳ですね 矩形同士の衝突の場合も、片方の矩形は軸に平行になるようにして あとは斜めになってる方の矩形の四点が、回転してない矩形に進入してるかどうか、ですかね?
- 764 名前:名前は開発中のものです。 mailto:sage [2008/03/05(水) 10:23:06 ID:PKtFPGkc]
- 759のようにもっと正確に判断したい場合
回転バウンディングボックス(OBB)と球の判定になるんだけれど XNAのライブラリには含まれていないぽい リアルタイム衝突判定本の中に説明とサンプルが含まれているので 自作するか誰かのコードを流用させてもらうのが良いかと
- 765 名前:名前は開発中のものです。 mailto:sage [2008/03/05(水) 12:13:04 ID:wiI7nq2k]
- >回転バウンディングボックス(OBB)と球の判定になるんだけれど
>XNAのライブラリには含まれていないぽい こういう中途半端なところがあるから嫌いだ。 物理エンジン書いたこともないような素人の算術ライブラリなんかのせるな。 自前で用意するからいいが、はっきり言って萎える。 依存箇所全て書き直しか?ふざけるのも大概にしろ。
- 766 名前:名前は開発中のものです。 mailto:sage [2008/03/05(水) 14:20:57 ID:ptj03fcF]
- 日本人がいかに完璧主義かがよく分かるスレだな。
- 767 名前:名前は開発中のものです。 mailto:sage [2008/03/05(水) 14:33:06 ID:Cu5Bc2PE]
- 少なくともこんなくだらないことで騒いでる奴よりは中の人の方が頭いいと思うよ
- 768 名前:名前は開発中のものです。 mailto:sage [2008/03/05(水) 14:35:13 ID:x2y+3/wK]
- 外人マッチョ「XNA初めてか?力抜けよ」
日本人「エ・・・、X、N、Aッー!」
- 769 名前:名前は開発中のものです。 mailto:sage [2008/03/05(水) 15:09:53 ID:mPAG9DMI]
- ttp://xoops.peak.ne.jp/modules/d3pipes/index.php?page=clipping&clipping_id=216
中の人の頭の良さは別次元だからな。 >C# によるリテール版開発は、 Microsoft 自身が XNA 環境では XBOX360 コンテンツに課す要求クオリティレベルをクリアできないだろうと発言しています。 そりゃ端からプロデビューして、C/C++ とインラインアセンブリでunreal engineも会社の経費で使い放題の奴らと 同じ事を考えろなんて無茶言うなよ。('A`)
- 770 名前:名前は開発中のものです。 mailto:sage [2008/03/05(水) 15:16:55 ID:HhOx8svu]
- なんでもやろうとするからいけないんだ。
コンシューマーゲームって本来ハードスペックとの戦いだろ? XNAも同じさ。XNAという仕様の中でいかにおもしろいもの作るかってことだ。 初心に戻って今のXNAでできることをやろうぜ?
- 771 名前:名前は開発中のものです。 mailto:sage [2008/03/05(水) 15:22:22 ID:nSoZ+6/k]
- 何か当たり前の事を書いてる記事だな。あぁ・・・そう・・・としか反応できんわ
- 772 名前:名前は開発中のものです。 mailto:sage [2008/03/05(水) 15:23:52 ID:mPAG9DMI]
- >770
なんだよ。オマエ。 すげーエスパーだな。 俺の自作自演かと思ったぜ。 まーそう言う事だ。
- 773 名前:名前は開発中のものです。 mailto:sage [2008/03/05(水) 19:25:51 ID:JIb0oR1t]
- >>768がじわじわくる
- 774 名前:名前は開発中のものです。 mailto:sage [2008/03/05(水) 22:01:40 ID:iMklzerV]
- >>770
XNAは仕様じゃなくて手段だと思うな
- 775 名前:名前は開発中のものです。 mailto:sage [2008/03/05(水) 23:21:57 ID:gnjL6vbU]
- >>771
2chの1レスを記事とか書いちゃうお前、嫌いじゃないぜ……
- 776 名前:名前は開発中のものです。 mailto:sage [2008/03/06(木) 01:06:36 ID:T3j+VmAd]
- バイリニアフィルタとマルチテクスチャを使った草と土の綺麗な繋ぎ方ってどうやるんですか?
前から気になってはいたんですが、ポリゴンの分割とUVの微調整をしているのだと思っていました DirectX7&8時代に使われた知られざる中級テクニック教えてください
- 777 名前:名前は開発中のものです。 mailto:sage [2008/03/06(木) 11:47:40 ID:jWMG+kMJ]
- もしかしてMicrosoft.Xna.Framework.Game.dllってC++/CLIじゃなくてC#で書かれてる?
そのためにDLL分けてるのかな そうだったからって別にどうでもいいんだけどやっぱりMSとしてはC++/CLIは 橋渡し言語としてしか使わない/使わせない方針なのかなあ
- 778 名前:名前は開発中のものです。 mailto:sage [2008/03/06(木) 14:22:02 ID:L4hyp2ZA]
- むしろマーシャリング上の手抜き以外の理由でC++/CLIを使いたいって人が
意外と多いのが謎だけどな。そんなに新しい言語(C#)覚えるの嫌なのかしら。
- 779 名前:名前は開発中のものです。 mailto:sage [2008/03/06(木) 14:46:26 ID:Xs46mVOD]
- オマエら幸せだな。
人のソースとか読まないし。ボックス化とか聞いた事も無いだろう。 // position += velocity ; // velocity *= frication; position.x += velocity.x; position.y += velocity.y; position.z += velocity.z; velocity.x *= frication; velocity.y *= frication; velocity.z *= frication; こんなのでな、コメントアウトした行の3.8倍のスピードがでるんだぜ。
- 780 名前:名前は開発中のものです。 mailto:sage [2008/03/06(木) 14:50:18 ID:a8Un48/x]
- VertexBufferとIndexBufferってビデオメモリに置いた方が高速なんだよね?
それってどうすればいいの? Meshクラスはビデオメモリに作るようになってるの? でもDrawIndexedPrimitiveってやってるよね?
- 781 名前:名前は開発中のものです。 mailto:sage [2008/03/06(木) 14:56:55 ID:Xs46mVOD]
- これがよさげ、
ttp://creators.xna.com/Headlines/developmentaspx/archive/2007/01/01/Mesh-Instancing.aspx vertices[0].SetFrequencyOfIndexData(instanceTransforms.Length); あたりを気を付けて読むと良いよ。 っていうか >683が既出。 >779 コメントアウトした方に戻すと。 0.26倍まで低下って書いた方がオマエらのレベルに合うな。
- 782 名前:名前は開発中のものです。 mailto:sage [2008/03/06(木) 14:57:02 ID:jWMG+kMJ]
- >>779
それボックス化全く関係ないからw 演算子を実装するメソッド間の受け渡しが発生するから遅くなるだけ
- 783 名前:名前は開発中のものです。 mailto:sage [2008/03/06(木) 15:20:27 ID:L4hyp2ZA]
- >>779
boxing覚えたてか? 上のコードが遅い原因は+=がop_Additionに変換されてVector3のビットコピーがx3発生。 さらにAdd(ref Vector3, ref Vector3, out Vector3)のようなメソッドを呼ぶにしても jitのインライン条件が厳しすぎてやっぱりベタ書きの方が早い。 ってところまで書かないとお前勘違いしてそうだな。 >>780 何もしなけりゃビデオメモリにおかれてるよ。Drawうんたらは多分認識が間違ってる。
- 784 名前:名前は開発中のものです。 mailto:sage [2008/03/06(木) 15:35:09 ID:Xs46mVOD]
- >それボックス化全く関係ないからw
さすがに解るよ。('A`) 俺の書き込みで、ボックス化と全く関係ない事に気付ない奴を連れてこいよ。 おまえらもうちょっと頑張れ。 問題はC#のILコードが糞だって事な事だろ。
- 785 名前:名前は開発中のものです。 mailto:sage [2008/03/06(木) 15:37:58 ID:jWMG+kMJ]
- インライン展開される(ことがある)のはC#をILにコンパイルするときじゃなくて
実行時にネイティブコードにJITコンパイルされるときだぞ それをいうならCLRが糞
- 786 名前:名前は開発中のものです。 mailto:sage [2008/03/06(木) 15:42:21 ID:Xs46mVOD]
- >CLRが糞
すまんかった。 だけど C++/CILにはマクロがある Ok? 折角だから質問していく。 >何もしなけりゃビデオメモリ ってDraw***Primitive系のメソッドでも良いのか? mesh.Draw();が良いのはイメージできる。
- 787 名前:名前は開発中のものです。 mailto:sage [2008/03/06(木) 15:47:37 ID:kWblePHM]
- >>779
つい最近、どっかで仕入れた知識をそのまま披露かw
- 788 名前:名前は開発中のものです。 mailto:sage [2008/03/06(木) 15:49:15 ID:Xs46mVOD]
- >787
そういう事だ。 C#初心者系のスレで、「効率を考える奴がC#をつかうなんてありえないよね」とか言われてきた。
- 789 名前:名前は開発中のものです。 mailto:sage [2008/03/06(木) 15:59:02 ID:L4hyp2ZA]
- >>786
ModelMesh.Drawのことなら中でDrawIndexedPrimitiveが呼ばれてるだけだぞ。 てゆーかなんでジオメトリインスタンシングなんて紹介した? ありゃカーネル<->ユーザーモードの推移を抑えて速度稼ぐものだから >>780の質問のデータの配置云々はあんま関係ねーぞ。 >だけど C++/CILにはマクロがある Ok? それを先に言え。だがプリプロセッサマクロごときの微妙な可読性/記述性を得るために C#からC++/CLIにプロジェクト全体を鞍替えするのか? 残念だが、プロファイラでクリティカルな部分だけ探してベタ書きする方がなんぼかマシだ。
- 790 名前:名前は開発中のものです。 mailto:sage [2008/03/06(木) 16:12:14 ID:Xs46mVOD]
- ビデオメモリとDrawはVertexStream.SetSource()を見て、自己解決した気になってるが、
ビデオメモリに保存する事を狙ってやってるソースを見た気がしない。 ...こりゃ、後から開き直るのがどうこう ってレスがつくんだな。 オマエらそれだけ解ってるのに、なんでC#つかってるんだ? C#厨がマンセーしてると思って、やってきて釣られたようなもんだぜ。 >789 >残念だが、プロファイラでクリティカルな部分だけ探してベタ書きする方がなんぼかマシだ。 フォロー サンキュー。
- 791 名前:名前は開発中のものです。 mailto:sage [2008/03/06(木) 16:50:37 ID:1SbOg85e]
- なんでって、、、Xbox360で動かす手段が事実上これしかないからだ
|

|