【Xbox360】 XNA Game ..
[2ch|▼Menu]
622:名前は開発中のものです。
08/02/28 00:21:43 /rY3e8Lf
360の実機で動かすと、描画命令の発行が重すぎてせっかくの高性能GPUが完全に遊んでしまうのが勿体なさすぎです。
15000ポリゴンのモデルを80くらい個出しても60fpsで動くのに、テクスチャ付きのただの6ポリゴンの箱を100個くらい出すだけで処理落ちしてしまうのは辛い・・・。

できることならコンソール機のプログラミングでの常套手段である、GPUへの描画命令発行を別スレッドで動かす仕組みをライブラリ内で隠蔽できないでしょうか。
発行した描画命令を内部でキャッシングしておいて次のフレームの頭で別スレッド動作させる、みたいな感じで。
描画命令発行を別スレッドに追い出すことでゲームロジックに使えるCPU時間が圧倒的に増えるでしょうから、相対的にCPU性能の低い360で動かすにはぜひとも欲しい機能です。

もし描画のマルチスレッド化が難しいのであれば、せめて描画命令の発行自体がもう少し軽くなるとありがたいです。
ちゃんと計測したわけではないので単なる憶測で申し訳ないですが、たとえ同じシェーダー・同じパラメータであってもすべての命令がキャッシングされずに無条件に全て送り直されているかのような挙動に見え、
ちょっと発行バッチ数が増えただけで簡単に処理落ちが発生するのでゲームが作りにくくて困ります。

高性能なはずのXBOX360でのゲームプログラミングなのに、『21世紀にもなって「ショットを撃つと処理落ちするから発射数を半分にして威力を2倍にするか……」』みたいな調整が必要になってしまうのはいかがなものかと。
ライブラリレベルでの高速化はみんなが恩恵を受けられるので、もし何かチューニングの余地があるのであれば、ぜひ考慮していただきたいです。


623:名前は開発中のものです。
08/02/28 21:41:12 Onhii9oo
というメールをMSに送った、
っていう話ですか?

624:名前は開発中のものです。
08/02/28 22:11:02 Kfd7v7e6
少人数のゲーム制作って考えると作り込んだモデルより
幾何学的でアブストラクトな表現は都合がいいと思うけど
>>622のレス読むとそういう表現は難しそうだね

625:名前は開発中のものです。
08/02/28 23:47:44 7jyXioPU
次世代機のCPUはPowerPCからX86に戻るかもしれない。x86なら競争が激しいから性能も価格もこなれている。もうMacが見捨てられて次はゲーム機かな

626:名前は開発中のものです。
08/02/29 01:21:41 79yrB4s/
XBOX360版XNAでIMM32のような機能はありますか?

627:名前は開発中のものです。
08/02/29 11:12:33 cyHkH63n
619みたいな要望なんだけれど、俺はWPF用のデザインテンプレートを
どうにか流用できないかな、と考えてた。
ぜんぜん詳しくないのでフレームワークにそういう機能がいいのか、
コンテンツエクスポーターで変換した方がいいのかは判らないが。

まあつまり俺がいいたい一番の問題はExpressionシリーズ、もう少し安くならない?
てことなんだがw

628:名前は開発中のものです。
08/02/29 13:30:49 5SO5wm1v
win、360で通信対戦昨日をつけたいのですが、
参考になるサイトありましたらおしえてください。


629:名前は開発中のものです。
08/02/29 13:49:35 KKyqcPHE
付属のドキュメント(英語)と、
URLリンク(creators.xna.com)
ここにあるサンプル。

630:名前は開発中のものです。
08/02/29 13:50:23 KKyqcPHE
って通信一般のことかな?

631:名前は開発中のものです。
08/02/29 14:00:06 5SO5wm1v
>>630
TCP/IP通信のようなことをやりたいのです
とりあえず教えていただいたサイトをみてみます
ありがとう

632:628
08/02/29 16:19:52 5SO5wm1v
PeerToPeerSample、ClientServerSample共にダウンロードして
確認してみました。共にLiveに接続するところから始まり
ゴールド会員のメールアドレスでサインインしたのですが、
base.Update(gameTime);でエラーを吐きます。内容が、

The current profile does not have an XNA Creators Club membership,
which is required to sign in to the Live service.
To continue, purchase a membership from Xbox Live Marketplace,
or switch to a local gamer profile.

とのことで、XNA Creators Clubのメンバーシップを購入していないと
ひょっとしてつながらないのですが?ゴールドなら
とりあえずセッションは開けるかと思ったのですが・・・。

633:名前は開発中のものです。
08/02/29 16:29:38 KKyqcPHE
無理
通信はCC非会員は、WindowsでLAN内だけ。
Live使う場合は360、WindowsともにCC会員必須。

634:名前は開発中のものです。
08/02/29 16:30:42 KKyqcPHE
LAN内ってSystemLinkね、念のため

635:名前は開発中のものです。
08/02/29 16:38:02 5SO5wm1v
ありがとう。よくわかりました。

636:名前は開発中のものです。
08/02/29 17:56:37 rwW9Blwo
単純にオンライン対戦可能なオセロとかトランプとか作りたいんだが
もしかして1人動作確認は無理?
360とPCで対戦できる様にしとけば、360vs360でも動く事が期待でき
るとか、そんな都合がいい話は多分ないよね?

637:名前は開発中のものです。
08/02/29 18:08:29 sIYszjWf
いや、それでいいはず。
でも実際にやってみないとなんとも言えないけど、
サンプルで特別なことやってるようにも見えないし。
PC3台に360を1台でSystemLinkまでは確認できてるが、
まともにゲームの体裁整えてないと他人とつないで試すわけにもいかんしなあ。

638:名前は開発中のものです。
08/02/29 19:11:46 eQkbLnZK
C#をDirectX抜きで使っていたのでよく知らないんですが、
Managed DirectXとXNAには互換性は無いんですよね?

639:名前は開発中のものです。
08/03/01 01:24:32 lpucU8xl
>>629に紹介されてるサイトのサンプルには
SystemLinkのサンプルはないです?


640:名前は開発中のものです。
08/03/01 01:31:48 HuE7K8R1
>>638
互換性がソースコードレベルでの話しならイエス。
ぶっちゃけどちらもDirectXのラッパーだから大して違いはないけど。

641:ハコ太郎
08/03/01 08:42:57 AGjJHtOG
データバインディングはデバッグ窓としては有効だと思うけど
ゲーム内で使うメニューなどはボタンを押した時に処理を入れたい。

642:名前は開発中のものです。
08/03/01 11:11:26 8ym58WA/
zuneがサポートされるみたいだけど、日本で発売されるの?
zune向けにプログラムを書く場合、輸入しないとダメかな?

643:名前は開発中のものです。
08/03/01 13:53:11 7cruTluh
BoundingBoxとBoundingSphereで当たり判定を取ろうと思っていたのですが、
BoundingSphereの方は毎フレーム移動するので、中心の座標を移動させたいです。
ですが、そのようなインタフェースは無いようなので、毎フレーム新しいBoundingSphereを作って
入れ替えてやらなければいけないのかなと思っています。
その時のパフォーマンスを気にしているのですが、オブジェクトではなく構造体なら
毎フレームnewしてもGCの対象にはならず、パフォーマンスへの影響は無い(のか極めて小さい)
という理解で合ってますでしょうか。
気をつけなければいけないのは、オブジェクトの生存期間と数だけ?

644:名前は開発中のものです。
08/03/01 13:58:01 mfMgIQq4
構造体だから気にしなくていい
その前にBoundingSphereのフィールドは普通に書き換えできるぞ
だからってフレームを超えてキャッシュしとく意味はないけど

645:名前は開発中のものです。
08/03/01 14:05:26 7cruTluh
>>644
了解です。
最初に大量に作って使い回し云々は全部オブジェクトの話で、構造体には関係ないんですね。

646:名前は開発中のものです。
08/03/01 14:30:12 iss0MbNP
>>645
C#では構造体をスタック上に作る場合もnewキーワードを使ってて、
そこは混乱しやすいポイントではあるね。

647:ハコ太郎
08/03/01 14:39:31 AGjJHtOG
構造体のnewはメンバを全てNULLか0で初期化するだけだったはず

648:名前は開発中のものです。
08/03/01 17:11:56 E+4DCZor
URLリンク(xna-studio.jp)
花やしき行ってくるけど、誰もいなかったりしないかドキドキする。

649:名前は開発中のものです。
08/03/01 18:13:27 BJdyKXU8
貸し切りでただで乗り放題なんで行って損はないそ゛。

650:名前は開発中のものです。
08/03/01 20:48:19 KNB/+8nD
Manegedの時よりXNAの方が処理スピード早くね?

651:名前は開発中のものです。
08/03/01 21:01:28 BJdyKXU8
今行ってきた。
福引きで俺の後ろの人が本体あたった.....

652:名前は開発中のものです。
08/03/01 21:12:03 7cruTluh
XNA Remote Performance MonitorてのはWindowsでローカルで開発している時は
使えないんですか?
パフォーマンスチューニングするのに良い開発用の↑みたいなツールって無いですかね?

653:名前は開発中のものです。
08/03/01 21:13:55 ViryCY/U
>>651
七回やって全部缶バッジは萎えたwww

654:名前は開発中のものです。
08/03/01 21:39:38 HuE7K8R1
>>650
基本的にMDXよりもヒープの使い方に敏感だし、
算術ライブラリは参照渡しとコードのベタ書き(要は手動のインライン化)が徹底されてるから
使う側から見れば注意することが少なくなってるってのはあるかもね。

>>652
CLRProfiler

意図のわからんイベントだが、花やしきいいなァ・・・。

655:626
08/03/01 23:53:26 w3ZGIR9q
完全にスルーされてるけど、日本語チャットの実装したい人って他に居ないの?

656:名前は開発中のものです。
08/03/01 23:59:06 6CzHQ4+o
いやだって360自体にあるメッセンジャー連携と音声チャット使えばいいし・・・

657:名前は開発中のものです。
08/03/02 00:03:22 zzw5UN3t
日本語で新しい本が出てるね。

URLリンク(www.amazon.co.jp)

658:名前は開発中のものです。
08/03/02 00:03:42 keBEe7WT
>>656
Windowsの場合は?
自分はもうSystem.Windows.Formsで入出力窓作っちゃおうかなあとか思ってるんですが

659:名前は開発中のものです。
08/03/02 00:07:53 fERtkynk
NativeWindow使えばゲームループ中でもどうとでもなるんじゃね?

660:名前は開発中のものです。
08/03/02 00:43:32 l4v/PVfq
>>654
ユーザーの居場所検索、シャウト等メッセンジャーじゃカバーできない機能も沢山あるわけで
>>658
XBOXの人と話せないよね?

661:名前は開発中のものです。
08/03/02 00:53:02 WAxvXIYw
>>658
元が「360でのチャット」という話に対しての返答なのにWindowsを出されてきても

662:名前は開発中のものです。
08/03/02 00:55:04 keBEe7WT
>>661
ああいや、360の話は分かった、じゃあWindowsの場合はどうするのが良いんだろうって意味で書いただけで
>>656のレスにケチつけてる訳じゃないよ

663:名前は開発中のものです。
08/03/02 01:00:41 l4v/PVfq
>>661
360でチャットしたい人いるかなんて話はしてない
360でIMM32相当のAPIがあれば、WindowsPCとゲーム内チャットができるようにしたいという話

664:名前は開発中のものです。
08/03/02 01:05:55 jGKSdtCZ
>>657
\7,350は趣味で買うには高いよな。経費で買えるならいいけど。

665:名前は開発中のものです。
08/03/02 01:06:32 fERtkynk
>IMM32相当のAPI
確か「そんなものは無い」って話を聞いたことあるが・・・。
伊藤さんてるみー。

666:名前は開発中のものです。
08/03/02 01:32:38 o9Cw/3Oh
>>658
じゃあ作れ

667:名前は開発中のものです。
08/03/02 02:02:02 OS2eoImf
擦れ違いかもしらんが花やしきの様子書いておくか。
入りは意外にもかなりの盛況で作品台にもほぼ絶え間なく人が並んでいた。
客層もゲオタ以外の家族連れ、カップルと普段の客層と代わり映え無いほど。

出品作品をプレイすると福引きが出来て、ハズレはバッチだが当たりは
360本体で、俺の目の前だけでも3台用意されてた。
(もし俺の前に出ていたらそれ以上あったろう)
かなり太っ腹な対応で狙い目だったと思われ。

作品は作品台に並んでるのでもいかにも専門学校生が作ったレベルや
技術はあるが作り込みが全く未完成なのばかりでなんとか間に合わせた感が
強い。
MSKKが今後どれだけ掘り起こせるかに懸かってるだろう。
(期待してないが)

あと何で会場が花やしきなのかというとバンナム傘下の施設だから。
確実な利益のある新商品のプロモでもないのに偉く金かけてたな。
URLリンク(www.hanayashiki.net)

668:名前は開発中のものです。
08/03/02 02:11:22 l4v/PVfq


669:名前は開発中のものです。
08/03/02 10:32:35 8ZJ0iEdC
URLリンク(d.hatena.ne.jp)


670:名前は開発中のものです。
08/03/02 12:33:42 keBEe7WT
Gameクラスの中で、publicなメンバとしてSpriteBatchを宣言し、
GameクラスのDrawメソッドの中の単一のBeginとEndの中で、すべての描画したいオブジェクトのRenderメソッドを呼び、
GameのSpriteBatchを使って描画しています
このBeginはBegin( SpriteBlendMode.AlphaBlend, SpriteSortMode.BackToFront, SaveStateMode.SaveState );
という形で呼んでいるのですが、描画したいオブジェクトの中にSpriteBlendMode.Additiveで描画したいものがあります。
そのオブジェクトの中のRenderメソッドで、下記のようにしてみたのですが、うまくいきません。

this.game.spriteBatch.End();
this.game.spriteBatch.Begin( blendMode ); //blendModeで描画する
this.game.spriteBatch.Draw( texture, position, bounds, Color.White, rad, origin, 1.0f, SpriteEffects.None, depth );
this.game.spriteBatch.End();
this.game.spriteBatch.Begin( SpriteBlendMode.AlphaBlend, SpriteSortMode.BackToFront, SaveStateMode.SaveState );

上記コードを呼ばず、単にthis.game.spriteBatch.Drawを呼んで描画しているオブジェクトが
表示されなかったりします。
SpriteBlendMode.AlphaBlendとSpriteBlendMode.Additiveを使い分けるにはどういう風に実装するのが良いでしょうか。
GameクラスにSpriteBlendMode.Additive用のSpriteBatchと、SpriteBlendMode.AlphaBlend用のSpriteBatchを両方別々に持たせて
描画するオブジェクトの中で呼び分けようかなぁとか考えているんですが、あまりスマートじゃない気がします…。

671:名前は開発中のものです。
08/03/02 17:19:42 YDJ5z10X
XNA最大の問題点はパッドが実質非対応な点

672:名前は開発中のものです。
08/03/02 18:13:07 l4v/PVfq
>>671
何しにきたの?

673:名前は開発中のものです。
08/03/02 18:36:54 DkxH8Qas
URLリンク(www.famitsu.com)
アマチュアクリエーターのアイデアと想像力が結実した“XNA Game Studio Japan 2008 Spring Contest”の授賞式が開催

674:名前は開発中のものです。
08/03/02 19:02:50 oAhqdNLL
週末にちょろっと触ってみたんだが、
GameComponentをGameクラスのコンストラクタ時に登録しないと
GameComponentのInitializeを呼んでくれないんだけど、そういうモンなの?
気分的にはGameクラスのInitializeの中でアプリケーションの初期化終了後に登録したい感じだが

675:名前は開発中のものです。
08/03/02 19:42:00 +DPdH8iN
会場でもらった紙に書いてあったアドレス

XNAデベロッパーセンター
URLリンク(www.microsoft.com)

さあ、XNAをはじめよう!
URLリンク(xna-studio.jp)

XNA Game Studioフォーラム
URLリンク(forums.microsoft.com)

XNAで作るマインスイーパー
URLリンク(www.microsoft.com)

XNA GSE HELPの基礎
URLリンク(go.microsoft.com)

できるプログラミングXNA Game Studio Express
URLリンク(go.microsoft.com)

XNAビデオチュートリアル(英語)
URLリンク(go.microsoft.com)

Visual Studio Express Edition学習用資料集
URLリンク(www.microsoft.com)

手打ち疲れたお⊂(・ω・`)⊃

676:名前は開発中のものです。
08/03/02 19:44:48 D87i6yt5
おつかれ

677:名前は開発中のものです。
08/03/02 19:47:33 YgJJfq7J
スクショで見る限りかなりレベル高いよな
実際どーだったの

678:ひげねこ ◆oxtErU/kVM
08/03/02 20:14:42 75eB5Z/y
寝る前にまた小一時間程お邪魔します。

前々回のまとめは>>598

前回のまとめ

新たに出した要望
1 コンパイラーエラーの強化
Windows上でもコンパイルしたときにXbox360でコンパイルできないものをエラーとする機能が欲しい
2 簡易GUIサンプル

聞いてきたもの
 XACTでABCBCのような形で再生させたい。

このABCBCというのが、イントロから入ってその後指定した部分からループというのであれば現状でもできます。
WAVファイル自体ににはループ情報を追加することができ、XACTはこのループに対応しています。

実際のやり方ですが、Sound ForgeやフリーのWAVファイル編集ツール(私が試したのはWavosaur)を使って
ループしたい部分、この場合はイントロが終わった部分から曲の最後まで選択した後に、ループ範囲の設定をします。
SoundForgeではLoop Region、Wavosaur上ではメニューのTool/Loop/Create Loop Pointsを選択します。

このループ情報を追加したWAVファイルをXACT上でWaveバンク内に読み込むとLoopと書かれている欄にYと表示されます。
そして、ゲーム中に再生するとイントロから始まり、ループ指定した場所をループし続けます(ループカウントの変更も可)

オーディオプログラマの人に聞いたら、このループ設定は多くのWAVファイル編集ツールでサポートされているとのことでした。

WAVOSAUR
URLリンク(www.wavosaur.com)


679:ハコ太郎
08/03/02 20:20:17 Lox6KhX3
へー出来たんだ
出張サポートセンターみたいな人だな

680:ひげねこ ◆oxtErU/kVM
08/03/02 20:24:15 75eB5Z/y
>>609
VectorGraphics
これはリアルタイムで処理するものでしょうか?それともツールで作ったものをポリゴンデータに落とし込む方法のどちらが良いのでしょうか?
個人的には後者の方が好きなんですが……

GUI要望
 サンプルGUI
 編集ツール(主に配置)
 WPFとかSliverLightとか(コンパイルする)
 WTLのような扱いでも可(サンプルGUIと一緒?)
 VectorGraphicsのサポート

>>621
えっと、現在のSpriteBatchやBasicEffectの機能を使うのであればDX7上で動いて欲しいということでしょぅか?

>>622
返事が長くなるのでちょっと待ってください

その間に、こちらから質問

1 コンテントを用意する時の苦労や困っていることがあったら教えてください
2 皆さんが使っているコンテント(3Dモデルや、テクスチャとか)を作るのに使っているツールはどんなの使っています?

681:名前は開発中のものです。
08/03/02 20:37:36 JDxaaE78
とりあえずしょぼいC#でなくC++で書かせろと
話はそれからだ

682:名前は開発中のものです。
08/03/02 20:40:58 zkaFSkJm
そもそも、XNAの登場に合わせて、なぜ都合よくおまえらや昨日のコンテストに参加した連中が
C#ができるのか教えてくれ

683:ひげねこ ◆oxtErU/kVM
08/03/02 20:50:53 75eB5Z/y
>>622

もう少し詳しい情報をいただけないでしょうか?100と言うのは実際のゲーム中にだしたとき(他の処理も入っているとき)なのか
単体でパフォーマンステストしたときに遅くなったということでしょうか?
もし、よろしければメル欄のアドレス宛てにプロジェクトファイルを送っていただけないでしょうか?こちらの検証させてもらいます。

Xbox 360上でのパフォーマンスについてですが以下のMesh Instancing Sampleが参考になると思います。
URLリンク(creators.xna.com)

このサンプルはメッシュインスタンスのサンプルコード以外にも、24頂点、12の三角形トライアングルのモデルデータを描画するときに
単に描画を複数回読んだだけのもの(DrawNoInstancingOrStateBatching)と、レンダーステートをバッチしたときのコード(DrawNoInstancing)が含まれます。

このサンプルをXbox 360上でリリース設定、デバッガなしの状態(Ctrl+F5)で起動させると、それぞれのパフォーマンス差が判ります。
DrawNoInstancingOrStateBatchingでは約430個、DrawNoInstancing時には1660個、そしてインスタンスありの場合は5100個のモデルが描画できます。

いきなりモデルインスタンスをするのは敷居が高いですが、ステートの設定回数を抑えたDrawNoInstancingはシェーダープログラムの変更なしで
できる最適化です。DrawNoInstancingOrStateBatchingは一つ一つのモデル描画時にモデル、ビュー、そしてプロジェクション行列、
VertexDeclaration、VertexBuffer、そしてIndexBufferを設定し直し、更EffectBegin、PassBeginと贅沢にステート設定をしています。

このコードを表示するモデルが1つのエフェクトしか使っていないので、最初に一回だけ共通するステートを設定して、EffectBegin、PassBeginを行った後に
それぞれのモデルに対してはモデル行列の設定して、CommitChangesを呼んでからDrawIndexPrimitiveをひとつのモデルに対して一回呼び出すようにしたのが
DrawNoInstancingOrStateBatchingです。これだけで、その最適化をしていないものに比べて4倍の数のモデル数を出すことができます。

つづく






684:ひげねこ ◆oxtErU/kVM
08/03/02 21:16:04 75eB5Z/y
現状、こちらで把握しているなかでボトルネックとなっているのはマネージサイドによるメモリメモリアクセスです。

例えば、簡単なパーティクル表示で、ひとつのパーティクルは単純なテクスチャなしの四角形(2つの三角形ポリゴン、頂点にはVector3とColor)を表示したとします。
パーティクルの動きはあらかじめ設定された速度で動き画面端に届いたら移動量を反転するというものです。このプログラムを5000個のパーティクルを表示したときに
それぞれに掛かった時間を計測すると

パーティクルの移動処理に1ms
マネージメモリに頂点を書き出す部分が4ms
そして、SetDataを呼んでDrawPrimitiveを呼び出すのに掛かった時間が0.14ms程度です。

ここから、頂点データのコピーに掛かる時間をメモリ帯域と、ユーザーメモリからカーネルメモリへの変更コストを差し引くと、マネージサイドとネイティブサイドの
オーバーヘッドは非常に小さくなります。ですから、このオーバーヘッド部分を隠すためにマルチスレッド化しても効果が期待できないというのが現状です

次にレンダーステートのキャッシングについてですが、レンダーステートがGraphicsDeviceのみによって変更されるのなら問題は無いのですが、
レンダーステートはそれ以外にもネイティブサイド内のEffectによっても変更されます。Effectによるステート変更をマネージサイドのGraphicsDeviceと
辻褄を合わせるためにはせっかくネイティブサイドで動いているEffect実装部分をマネージサイドで実装しないといけません。そうなると、
今度はマネードサイドのEffect実装コードがボトルネックになり、ステートキャッシングによる最適化を相殺どころか逆に遅くなってしまいます。

更に続く

685:ひげねこ ◆oxtErU/kVM
08/03/02 21:26:39 75eB5Z/y
そういうことで、DirectXと同じようにレンダーステートの変更数をアプリ側で極力少なくしてもらうしかないというのが現状です。

以下のブログがレンダーステートの管理方法について参考になると思います。
URLリンク(blogs.msdn.com)
URLリンク(blogs.msdn.com)

ライブラリレベルでできるレンダーステートの最適化はDX10の様に複数のステートをまとめておき、API呼び出し一回で
ガーっと変更することでしょうか?現状でもEffectを使って複数のステートを管理するという方法も役に立つと思います。

パフォーマンスに関しては、こちらの方で単体テストはしていますが、実際にゲームを走らしているときの問題とかを測定するのは
難しいので、実際にゲームを作っていてパフォーマンス問題があった場合は気軽に連絡していただけるとありがたいです。

686:ひげねこ ◆oxtErU/kVM
08/03/02 21:47:02 V3NWxRwr
>IMMについて
ゲーム内に統合して使える形でのIMMはサポートしていません。
ただ、日本語版Xbox 360上ではチャットパッドがでた時にダッシュボード所で日本語入力ができるようになっているので
Guide.ShowComposeMessageを使えば単発のメッセージなら相手に送ることができます。
Windows上にあるダッシュボードではまだIMMに対応していなかったと思われます。少なくとも英語版Windows上では動作しませんでした。

ですから、現状ではボイスチャットを使って欲しいです。そして、IMMのサポートについては既に要望が来ています。

>クロスプラットフォームネットワークについて
XNAフレームワークはクロスプラットフォーム上でのネットワーク接続に対応しています。
ですから、Windows、Xbox360間で動作しているのなら、Windows同士、Xbox360間でも問題なく動きます、動かなかったらバグなので報告よろしくです

>>641
>データバインディングはデバッグ窓としては有効だと思うけど
デバッグ時に有効ってどういうことですか?
ちなみに私の言っているデータバインディングとはWPFのようにある程度の実行処理自体もデータで持っておいて
プログラムしなくても、例にあるアイテムショップ内でアイテム選択を変更する度に勝手に他の表示部分も変えてくれるような
機能のことです。確かExpressionの初期のチュートリアルがそんなのでした。


687:ハコ太郎
08/03/02 21:51:55 Lox6KhX3
私が考えていたものは
別途フォームを開くかゲーム内でメニューを開くかして
データをリアルタイムに変更できるようなものです。
GEMSにそんなのが載ってたので。

688:ハコ太郎
08/03/02 21:55:25 Lox6KhX3
プロパティグリッドのようなもので
キャラクタのステータスを変更したりするのには便利かなと思いました。

689:ひげねこ ◆oxtErU/kVM
08/03/02 22:20:08 V3NWxRwr
>>670
これは推測ですが、やろうとしているのは半透明のスプライトをソートして表示したいわけですよね?
もしそうだとしたら、AdditiveBlendにして描画する前後ではソートが正しく行われなくなります。
例えばカメラの手前から奥に向かってA,B,X,D,Eという順の位置関係でXをAdditiveBlenにしたいとします。
そのときに描画を呼び出す順番がA,B,X,D,Eの場合に問題になります。

なぜなら、ここでの正しい描画順序はE,D,X,B,Aとなるからです。
SpriteBatchのソートはBegin/Endをまたいだソートはしません。ですから、Xを描画する時にBegin/Endを入れると、描画順は

0 Begin(Blend)
1 Draw A
2 Draw B
3 End --> B, Aとソートされ描画される
4 Begi(Additive)
5 Draw X
6 End -> Xが描画される
7 Begin(Blend)
8 Draw C
9 Draw D
10 End --> D, Cとソートされ描画される

この問題の解決方法はゲームによって色々と変わってきます。例えば横スクロールする2Dのゲームで奥行きを表現したいのであれば
手前、中央、奥といった奥行きを複数のレイヤーのようにして分けておきます。そして描画の時には、奥のレイヤーから順に描画します。
この時にレイヤー内ではBlend、Addtiveの順に描画すると描画問題は目立たなくなります。

690:名前は開発中のものです。
08/03/02 22:43:18 wif61gOz
BGMのストリーミング再生を行おうとしたところPlayCue()の部分でエラーが出てしまいました。
XACT上での設定はここを見て行いました
URLリンク(blogs.msdn.com)

エラー内容↓
InvalidOperationExceptionはハンドルされませんでした。
An error occurred trying to play the cue named "TestBGM". Is the cue name correct?

ストリーミング再生を行う場合はWaveBankのコンストラクタが違うということはわかったのですが
設定が上手くいっていないのでしょうか?それともそれ以外に設定が必要なのでしょうか?

691:名前は開発中のものです。
08/03/02 22:44:28 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
08/03/02 23:01:48 Oj9SUC9L
>>681
単にC++の構文が使いたいのであれば、Windows限定なら何の問題も無くC++/CLI使えますし、Xbox 360上でも/pureフラグ使えばできますよ。
どちらもサポート外でけど。

あと、名前は忘れましたがC++からC#のコードに変換してくれるソフトがあったりして、実際にそれを使っている人もいましたよ

適当にググってみたらこんなの見つけましたけど
URLリンク(tangiblesoftwaresolutions.com)

さあ、話しましょうか?

>>682
弘法筆を選ばず、プログラマー言語を選ばずです。

>>688
そういったパラメーター変更のような機能の要望は確かにあります。
現状ではWindowsのみならプロパティグリットは使えますが(WinFormとして使うなら)、要求としてはPC上から
Xbox360で動作しているデータの変更したいというのはあります。

>>690
このメッセージは指定した名前のキューが無かったときにでます。この名前はケースセンシティブなので
XACTでしていした名前と大文字小文字も一緒にする必要があることに気をつけてください。

693:名前は開発中のものです。
08/03/02 23:11:28 qhGLCmSg
XNAで「フォグ」って、ピクセルフォグしか使えないんでしょうか?
ピクセルフォグはDX9の設定をXNA的な書き方に直しただけで動いたのですが、
どーにもFogVertexModeではフォグカラーで塗りつぶされただけになってしまうので。


子一時間といってたけど・・・ま、次に来たときにでも教えてください>ひげねこさま



694:名前は開発中のものです。
08/03/02 23:13:15 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:名前は開発中のものです。
08/03/02 23:30:45 Ng8vALwi
>弘法筆を選ばず、プログラマー言語を選ばずです。
URLリンク(xna-studio.jp)
↑にはプログラマーじゃない人でも出来る話なんですけど

696:名前は開発中のものです。
08/03/02 23:39:09 wif61gOz
>>692
そうなんですか。でもキューの名前は合っているはずなのにおかしいな?
もう少し調べてみます、ありがとうございました

697:名前は開発中のものです。
08/03/02 23:50:59 RrXwWPHL
>VectorGraphics

欲を言えばアンチエイリアス付きの簡易Flashみたいな。
まあ、System.Drawing の GraphicsやGraphicsPathが使えれば良いかなと。
(自作しようにもTesselation(Triangulation?)で躓いた)

ツールで作ったものをポリゴンデータにするっていう具体例が思いつきませぬ。

698:名前は開発中のものです。
08/03/02 23:54:01 iyg+0+D4
>>697
まさにSilverlight
Silverlightのサポートの予定はあるの?

699:ハコ太郎
08/03/02 23:55:06 Lox6KhX3
俺よく調べてないんだがSilverlightってweb側の技術じゃないのか

700:ひげねこ ◆oxtErU/kVM
08/03/03 00:02:55 JIaq5K5i
>>693
FogVertexModeにした場合は、頂点シェーダーでFog係数を出力する必要があります。

struct VSOUTPUT
{




>>695
っていうか、最初の段落で思いっきりプログラミングツールって言ってるんですけど……。












701:ハコ太郎
08/03/03 00:10:20 ih84mIid
そもそも何も知らない主婦にやらせるのが間違いでは?
どうも意識のずれがあるように思うけど

702:ひげねこ ◆oxtErU/kVM
08/03/03 00:11:23 JIaq5K5i
途中で送信してしまいました、すいません

>>693
こんな感じでFOG係数を頂点シェーダーから出力します
struct VSOUTPUT
{
float4 PositionPS : POSITION;
float Fog : FOG;
};

>>691
もしかして、Addtiveの弾とメニュー以外は、アルファ値が0と1しかないスプライトですか?
それだったら、もっと簡単な方法があります。


はう、こちらは朝の7時で非常に眠いです。
このまま書き続けるとヘンなこと書きそうなので寝ます。
日本時間で月曜の夕方くらいに戻ってきます。では


703:ハコ太郎
08/03/03 00:14:38 ih84mIid
お疲れ様でした

704:名前は開発中のものです。
08/03/03 00:46:07 51SXKyNl
URLリンク(xna-studio.jp)

>しかし、プログラミングを学習するのは難解であり、開発関係の情報は専門に選考している方に
>しか理解し難いものです。
>通常はこの段階で一般の方もしくは、これから始めようとされる方、興味を持ってもやはりその
>難しさにハードルの高さを感じて断念、敬遠される場合があります。


ここ読むと、プログラミング学習の難解さ、敷居の高さを解消しないとどうにもならないような気がするが。
でも、まさかMSがゆとり学生から氷河期ゲーム廃人までの全員を対象に無料プログラミングスクールを
毎週提供するわけにもいかないしなw

その下の段落読むと、プログラミングできない人はとりあえず応援して、アマチュアが作ったゲームを
楽しんでね〜、絵心や音楽のセンスあるやつはできる範囲で協力してXNAを盛り上げましょうね〜みたいな
感じだな。

705:693
08/03/03 01:03:25 CQVhtOku
>>700
 ありがとうございます。
 ということは、今はBasicEffectに頼り切ってfxファイルなんて使っていないので、あきらめろって言うことですね・・・。了解です。


706:名前は開発中のものです。
08/03/03 01:15:25 oA5jTKAz
>>702
> >>691
> もしかして、Addtiveの弾とメニュー以外は、アルファ値が0と1しかないスプライトですか?
> それだったら、もっと簡単な方法があります。

今のところそのつもりです。もしかしたら弾とエフェクトは半透明にするかもですが、
地形とキャラはベタの予定。

// スプライトの描画準備
this.spriteBatch.Begin();
// スプライトを描画する
this.spriteBatch.Draw(this.texture, Vector2.Zero, Color.White);

とか、Beginの引数を省略とかじゃなくてですか?<簡単な方法


707:名前は開発中のものです。
08/03/03 01:27:09 LQEfvSeq
XNAって文字をスプライト化せずに表示することは不可能なんでしょうか?
今までは画像ファイルで済ましていたんですが、
テキストの多いゲームを作ろうと思っているので、
片っ端から文字をスプライト化するのは避けたいんです
ユーザー側で使用フォントを変えれるようにもしたいですし


708:名前は開発中のものです。
08/03/03 03:55:13 x67FlAoB
過去レスくらい読もうぜ

709:名前は開発中のものです。
08/03/03 09:56:04 ulYtu6Pm
自前でTrueTypeレンダリングするとか

710:名前は開発中のものです。
08/03/03 12:56:24 qepHyWRQ
今、XNAフィードバック使えなくない?

IE7にしてから初めてのアクセスなので、自己解決しそうだけど念の為書いておく。

711:名前は開発中のものです。
08/03/03 16:03:15 F45LgXfd
Effect Fileを書くとき入力支援機能があると楽なんだが3.0に搭載してほしい

712:名前は開発中のものです。
08/03/03 16:55:48 TzOzZLK6
OPADSFはレリノマッソサイテスタルムン゜タイテ゜゛からせねふほぉん゜まのちしとはくちしとは

713:名前は開発中のものです。
08/03/03 17:05:51 S1J4GBTq
日本語でおk

714:ひげねこ ◆oxtErU/kVM
08/03/03 17:18:04 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
08/03/03 17:34:28 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
08/03/03 17:44:53 Q5EkCE5+
>>705
確かにBasicEffectはFogパラメーターを頂点シェーダーで出力していませんが、独自のFogパラメータを持っています。
Fogパラメータを出力するように変更することができますが、Xbox360にはFog関連のレンダーステートが無いので、BasicEffectを
使う場合はそのパラメーターを変更することをお勧めします。

>>707
文面から察するにSpriteFontを使っていないように見えますが、そうであればSpriteFontを使うことで文字列描画できます。
このスプライトフォントには表示につかう文字コードを指定する必要があり、デフォルトでは英文字が追加されています。
それ以外の文字を表示するには以下が参考になります。
URLリンク(blogs.msdn.com)
URLリンク(blogs.msdn.com)

>>711Effect Fileを書くとき入力支援機能があると楽なんだが3.0に搭載してほしい
これはインテリセンスが動作して欲しいということでしょうか?確かにあると便利なので要望として出しておきます。

717:名前は開発中のものです。
08/03/03 18:05:24 S1J4GBTq
RenderTargetでColor.Singleのフォーマットが作れないんですけど、
作成できるかチェックする方法ってあるんですか?

718:名前は開発中のものです。
08/03/03 18:18:16 ST1FZc0o
>>714
>例えば、XAMLとかをそのまま正直にランタイムで処理すると時間が掛かるので、GPUフレンドリーなデータ構造に変換したり、
>ツール内でベクター使いまくって作ったボタンイメージとかをコンバート時にビットマップに変換してくれたりといった機能ですね

なるほど。

そういったパーツを多関節でつなげたり、
スキニングみたいにトランスフォームしたりでアニメーションさせたいですね。
ってその程度であればスプライトで代用できるんで、拡大縮小で劣化を防ぐ以外にはあまり意味がないような。

そういうのをリアルタイムでやりたいんで、
グラフィックスパスをポリゴン化するようなサンプルが欲しいなぁと。

719:名前は開発中のものです。
08/03/03 18:51:45 zo2Ibxr1
Win2kで動くように…
無理か

720:ひげねこ ◆oxtErU/kVM
08/03/03 19:13:41 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:名前は開発中のものです。
08/03/03 19:48:20 S1J4GBTq
>>720
> GraphicsAdapterクラスのCheckDeviceFormatを使います。
ありがとうございます。945GMで無事にfalseが帰ってきましたorz
色々なサンプルを見るだけでも影のハードルは高いっすね・・・。

>>716
> これはインテリセンスが動作して欲しいということでしょうか?確かにあると便利なので要望として出しておきます。
個人的にはシェーダーでリファクタリングが使えるようになって欲しいですね。
同じようなシェーダーを書き換えたり、コピペしたりするときに欲しいなと思います。


722:名前は開発中のものです。
08/03/03 20:07:26 EdvlV9oX
XNAのインストールから会員の入会方法、XBOXで動かすのを具体的に解説してるページってないですか?

723:名前は開発中のものです。
08/03/03 20:35:22 aH5g85ZF
>>712

724:696
08/03/03 21:12:34 vsU7ZvID
>>714
おお、ちゃんと再生できました!!
ありがとうございます

725:名前は開発中のものです。
08/03/03 22:33:54 CwLMLFGc
>>722
URLリンク(xna-studio.jp)
スターターのダウンロード
ゲームを動くようにする
メンバーシップへ参加
スターターのダウンロード
パソコンとの接続設定
ゲームを動くようにする
Xbox 360 へ展開する
ゲームサンプル

てあるから読んでみたら?

726:名前は開発中のものです。
08/03/03 22:54:32 EdvlV9oX
その人と一緒にがんばってみます

727:名前は開発中のものです。
08/03/03 23:59:09 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:名前は開発中のものです。
08/03/04 00:47:09 sCnHkz0D
おちんちんびろんびろ〜ん

729:名前は開発中のものです。
08/03/04 01:03:46 s/9UoCnb
それができたら苦労しない
そもそもPCでXNAやること自体間違っとる
箱でやれよ

730:名前は開発中のものです。
08/03/04 08:40:03 RsF5/lls
>>727
CRT8SP1だったか.NETFX2.0SP1だったかが足りにゃい

731:名前は開発中のものです。
08/03/04 09:20:55 s/9UoCnb
こんな得体の知れないランタイム要求するなんて
Vista買った初心者は全員XNA挫折だな

732:名前は開発中のものです。
08/03/04 10:19:39 j0/ST36S
XNA End-User Runtime Web Installerが必要かもな。
・DirectXをチェックしてインストール
・.Net Framework 2.0 SP1をチェックしてインストール
・XNA Framework をチェックしてインストール
このぐらい自動でやってもらいたいものだ。


733:名前は開発中のものです。
08/03/04 10:44:53 s/9UoCnb
無理だな
できるなら既にやっている
もうXNAが出てから何年も経ってるんだぞ

734:名前は開発中のものです。
08/03/04 10:50:42 OToBjVMK
ベータ含めて1年半だろ

735:名前は開発中のものです。
08/03/04 11:30:35 dikiCYmh
3.5入れさせとけ

736:名前は開発中のものです。
08/03/04 12:06:08 RsF5/lls
>>731
何が知れないのか知らんがCRTは要するにCランタイムでVS2005で
開発されたほぼ全てのアプリに必要。

VS2005SP1で更新されたんだが今いち内部ですら認識されてなさげ

つか見てみたがこれXna redistパッケージのバグと言ってもいい気がしてきた。

CRTだけで大丈夫なら同封すべき。NETFX2.0SP1必要ならNotWinFx2Actionの
カスタムアクションが間違ってる。とりあえず依存関係抽出してパッケージ
作るぐらいはして下さい>これつくった人

WiX使ってるようだけどこれは詳しくないと火傷するぽ


737:名前は開発中のものです。
08/03/04 12:33:49 Q04dOBkw
>>575のリンク先の原因と同じかな?
ちゅーかこれXNAに限らずC++/CLIアプリを配布する時に気をつけた方が良いなぁ。

738:名前は開発中のものです。
08/03/04 12:45:45 ij7C/RJ0
プレイさせるだけでも一苦労だな

739:名前は開発中のものです。
08/03/04 12:54:30 NA3DgFZP
さっさと>575の「この投稿は参考になりましたか?」の「はい」を押す作業に戻るんだ。

740:名前は開発中のものです。
08/03/04 13:02:16 ozuNs0rT
不毛なインストール作業を強いる時点で
ゲームプレイ環境としては失格だな

741:名前は開発中のものです。
08/03/04 13:24:57 RsF5/lls
>>738 >>740
その辺パッケージで吸収せなならんのにというそれ以前の問題っつーか
これつくったやつと通したQA出てこいっつーか…


742:名前は開発中のものです。
08/03/04 13:26:36 s/9UoCnb
MDXと違って金が入るからC#もXNAもこの先生きのこると思う人も多いかもしれないが
その期待をことごとく裏切るのがM$流
既にGDKなんて出してるくらいだからな
箱の寿命かDX10世代が来るまでの命だろ

743:名前は開発中のものです。
08/03/04 13:27:23 AVay9o0V
途中送信しかけた…
>>740
文句は言うのは自由だが、非生産的な文句は誰も得しないからやめれ

744:名前は開発中のものです。
08/03/04 13:31:48 dikiCYmh
GDKはサードパーティー製品の制限版だぞ

745:名前は開発中のものです。
08/03/04 13:42:19 s/9UoCnb
>不毛なインストール作業を強いる時点で
>ゲームプレイ環境としては失格

認識を持たせるという意味では生産的な意見だな

746:名前は開発中のものです。
08/03/04 14:09:42 ozuNs0rT
>>743
どうやら君の1bitの情報量も無い書き込みよりは生産的みたいだよ?

747:名前は開発中のものです。
08/03/04 14:11:24 6jZ5YXCn
>>745
かえって問題の本質をぼかしているだけだろ

748:名前は開発中のものです。
08/03/04 14:35:23 tkXnqvSo
この前のイベントが海外への良いアピールになっているといいなぁ
ひげねこ氏も積極的に動いてくれているみたいだし
要望を踏まえた3.0の成長に期待

あとは新機能が追加されてもそれを上手く使わせるサンプルが不足していることだと思う
ジオメトリインスタンシングのサンプルなんて複数のサンプルがごちゃごちゃしすぎて分かり難いし
スターターキットに至っては(ry


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4655日前に更新/279 KB
担当:undef