1 名前:名前は開発中のものです。 [2008/07/26(土) 14:40:23 ID:c7wBa1iE] 前スレ 【Xbox360】 XNA Game Studio その6 【C#】 pc11.2ch.net/test/read.cgi/gamedev/1210637248/ XNA Creators Club Online creators.xna.com/ XNA Game Studio 2.0 ドキュメント (日本語) msdn.microsoft.com/ja-jp/library/bb200104.aspx
234 名前:名前は開発中のものです。 mailto:sage [2008/08/26(火) 02:53:32 ID:n8f43Qka] Content.Load<Model>として読み込んだXファイルを MeshPartsごとに、DrawIndexedPrimitivesを使用して描画しています。 3Dモデルを構成している各MeshPartsのうち、特定のテクスチャを 使用しているMeshPartsのテクスチャを差し替えて描画したい (キャラの服の部分のテクスチャを変えたい)のですが、 各MeshPartsが使用しているテクスチャ名を知る手段って無いですか?
235 名前:名前は開発中のものです。 mailto:sage [2008/08/26(火) 03:43:55 ID:JBi1Vxxu] >>234 やったことないんで分からんがエフェクトのパラメータの中とかにないかな。 レンダリングのあたりのコード出してくれればもう少し適切な事いえるかも。 やり方ってMeshPartsのパラメタ使ってModelMesh.VertexBuffer/IndexBufferをレンダリングするってこと? DrawIndexedPrimitivesの直前でテクスチャ指定してやればそのテクスチャでレンダリングできるような気もするな、それなら。 Model使うの一瞬であきらめちゃったので頓珍漢な事言ってたらごめん。
236 名前:名前は開発中のものです。 mailto:sage [2008/08/26(火) 09:41:10 ID:I4UCFyRW] >>235 わからん奴が憶測で口出すなボケ
237 名前:234 mailto:sage [2008/08/26(火) 11:57:30 ID:n8f43Qka] レンダリングあたりのソースはこうなっています。 effect.Begin(SaveStateMode.None);//シェーダを開始する graphics.GraphicsDevice.Indices = mesh.IndexBuffer;//インデックスバッファをセットする foreach (ModelMeshPart meshPart in mesh.MeshParts) {//メッシュパーツの数だけ繰り返す //バーテックスをセット graphics.GraphicsDevice.Vertices[0].SetSource( mesh.VertexBuffer, meshPart.StreamOffset, meshPart.VertexStride ); graphics.GraphicsDevice.VertexDeclaration = meshPart.VertexDeclaration;//バーテックス宣言をセットする if (num == 0) { texture.SetValue(texBody); //服のセットの場合、服のテクスチャをセットする } else if (num == 1) { texture.SetValue(texFace); //顔のセットの場合は、顔のテクスチャをセットする } for (int i = 0; i < effect.CurrentTechnique.Passes.Count; i++) { effect.CurrentTechnique.Passes[i].Begin(); graphics.GraphicsDevice.DrawIndexedPrimitives( PrimitiveType.TriangleList, meshPart.BaseVertex,0, meshPart.NumVertices, meshPart.StartIndex, meshPart.PrimitiveCount ); effect.CurrentTechnique.Passes[i].End(); } num++; } effect.End();
238 名前:名前は開発中のものです。 mailto:sage [2008/08/26(火) 12:03:55 ID:n8f43Qka] 現在は、 1番目のデータセットが服、2番目のデータセットが顔 と、あらかじめ判っているので、変数numの値で決めうちして、 テクスチャを切り替えていますが、これを、 「1番目のデータセットは服用だから、別の服用テクスチャに差し替える」 とかいう処理を行えるようにしたいと思っています。
239 名前:名前は開発中のものです。 mailto:sage [2008/08/26(火) 12:05:38 ID:n8f43Qka] まずはエフェクトのパラメータについて調べてみます。
240 名前:名前は開発中のものです。 mailto:sage [2008/08/26(火) 14:51:45 ID:JBi1Vxxu] 調べてみたけど(BasicEffectの場合) meshpart.Effect.Parameters[0].GetValueTexture2D(); でテクスチャそのものは取得できるけどこれだと名前はわからないんだね; Nameがすっからかんだよ・・・この仕様はねえなw MeshやModelにはちゃんと名前ついてるのにね。 仕様見てテクスチャは取得できることは予想ついてたんだけどこれは予想外だった、 スマソ; そうするとMeshPartsのPrimitiveCountとかわかりやすいパラメータ見て切り分けるくらいしか 思いつきませんな;;; >>236 (笑)
241 名前:名前は開発中のものです。 mailto:sage [2008/08/27(水) 10:02:37 ID:nSNWgejO] Gamefest行く? 今までのセミナーを聞いた雑感、日本チームはセミナーでしかマトモナ情報出さないんだよね。(´・ω・`) 後からネット配信されるだろうけど、俺は木曜行けそう。
242 名前:名前は開発中のものです。 mailto:sage [2008/08/27(水) 12:10:05 ID:+eBBtNxp] 今週の夏休みがつぶれたから、代わりに来週休めそうだな、、、 行ってみるかなあ、、、自宅から遠いんだよな、会社からはすぐだが。 >実績の達人によるパネルディスカッション - 理想の実績教えます なんじゃこりゃw
243 名前:名前は開発中のものです。 mailto:sage [2008/08/27(水) 22:11:44 ID:G/e9Tge0] アイマスの話とか、キモイのが多そうだ
244 名前:名前は開発中のものです。 mailto:sage [2008/08/28(木) 02:17:32 ID:iEswIk5v] 最近XNA始めたんだが面白いな。 まだサンプルを参考にするくらいのことしかできんがw 今までCでしかゲーム作ったことないからなぁ。 年内までにそこそこ動いているものでも出したいぜ・・・
245 名前:名前は開発中のものです。 mailto:sage [2008/08/28(木) 17:10:15 ID:jsOOz6GO] XNAヘルプいわく、AudioCategory.SetVolumeの値って0.0f〜2.0fが-96〜+6dBに 割り当てられてるらしいが、いじってるとなんかどうも嘘くさい気がする。 ボリュームを1.0f(±0dB)に設定して元の音とXACT通じて出力された音を聴き比べると 明らかに後者の方が小さな音になるんだが、もしや俺のプログラムの組み方が悪いのかな?
246 名前:名前は開発中のものです。 mailto:sage [2008/08/30(土) 18:00:05 ID:M8JAPEds] アニメーション関連についての質問です。 ボーン無しのアニメーション付きxファイルを使ってモデルを表示して、アニメーションを再生させたいのですが、 色んなサイトを見た結果どこもボーン付きしか書いてありませんでした・・・ XNA Animation Component Libraryのdllを使わせてもらっているのですが、参考になるようなサイトをご存知の方いますか?
247 名前:名前は開発中のものです。 mailto:sage [2008/08/31(日) 10:12:19 ID:7CZZtq9F] >>226 >その方法はXBOX等では出来ないわけで XNAでやらせないだけだろ
248 名前:名前は開発中のものです。 mailto:sage [2008/08/31(日) 10:29:51 ID:SKauwNZ6] いやどう考えてもXboxにTextOutはないw
249 名前:名前は開発中のものです。 mailto:sage [2008/08/31(日) 12:09:57 ID:cgSlxymI] 大体TextOutなんてゲームグラフィック用には恐ろしく非効率だし、そもそもWin32のAPIだし。 XNAでやらせないだけといえば間違いはないかもしれないが、問題はなぜやらせないかだw そのためにちゃんとSpriteFontが用意してあるわけでな。まあ使い勝手の問題はあるが、嫌なら似たような仕組みを自分で作れば良い。 どちらかというとそんなことより画像データが非圧縮なことのほうが数段問題だと思うぞ? (それですら自力でコンテンツパイプライン作ってやれば解決できるのだがね;)
250 名前:名前は開発中のものです。 mailto:sage [2008/08/31(日) 15:37:50 ID:cgSlxymI] >>246 www.codeplex.com/animationcomponents >What are the features of the library? - Skinned and unskinned animation - Models with multiple meshes 普通に対応してるのだけど、ほぼ同じやり方でできたりしない? スキンのサンプル見た限りそう見えるんだけど‥ …できなかったから聞いてるのか…? つかこういうものもあったんだね…自分でアニメ対応作っちゃったよ;;
251 名前:名前は開発中のものです。 mailto:sage [2008/08/31(日) 20:33:19 ID:C6NTQqfh] VS2008対応マダー?
252 名前:名前は開発中のものです。 mailto:sage [2008/09/01(月) 00:12:23 ID:myBRlSz6] >>251 予定通りに3.0からでしょ?
253 名前:名前は開発中のものです。 mailto:sage [2008/09/01(月) 09:01:30 ID:ZFi1RUi0] >>251 3.0CTP使っとけば?
254 名前:名前は開発中のものです。 mailto:sage [2008/09/01(月) 11:32:02 ID:fhLFDpft] >>245 元の音は何で聞いた音? XACTで聞く限り変わらないように思うけど。
255 名前:名前は開発中のものです。 mailto:sage [2008/09/01(月) 22:56:31 ID:wIOiPkpk] >>249 使い勝手が悪いって言ってんだよアホタレ
256 名前:名前は開発中のものです。 mailto:sage [2008/09/02(火) 00:19:42 ID:yJAN36ji] >>255 なぜそういう使い勝手になっているのかという理由をよく考えろと書いているんだが? (DirectX上の話において)わざわざWin32使うことだってさほど「簡単」とは思えないぞ? すでに誰かがやったサンプルがなかったらあんたにできるのか?w
257 名前:名前は開発中のものです。 mailto:sage [2008/09/02(火) 00:32:38 ID:HPxG/FFu] >>256 いいか 「なぜ」なんてことはどうでもいいんだ 「簡単」に出来ないことが問題なんだ
258 名前:名前は開発中のものです。 mailto:sage [2008/09/02(火) 00:42:36 ID:yJAN36ji] 理由がある以上仕方ないんじゃね?どう考えてもベクトルフォントのレンダラ実装するのは バカらしい話だろうし、マルチプラットフォームである以上Win32使わせるわけにはいかないだろうし。 となると俺が作ってもSpriteFontみたいな仕組みだろうなあ。そんなに嫌ならもっと簡単な仕組み作ってよ。 ないものねだりならともかくさ。…というか、そんなに面倒くさいか?SpriteFont?
259 名前:名前は開発中のものです。 mailto:sage [2008/09/02(火) 00:48:04 ID:HPxG/FFu] 簡単が売りなのに簡単な解決法が用意できないなら ネイティブでよかったんじゃねーのかって話になるわな スプライトフォントが「最善」だとしてもさ
260 名前:名前は開発中のものです。 mailto:sage [2008/09/02(火) 00:57:00 ID:HPxG/FFu] まあ文字出力なんて瑣末な事じゃなくて 全体を見てメリットデメリットを考えて使えば良いだけの話だけどね 頭でっかちな対応は閉口するわ
261 名前:名前は開発中のものです。 mailto:sage [2008/09/02(火) 00:57:23 ID:yJAN36ji] ネイティブコードでない最大の理由はプログラマの利便性ではないと思うが? 「簡単に」ということを主張しすぎたM$も悪いが、ちゃんとしたもの作るとなれば せめてあのくらいのものが使えないとなると無理だと思うぞ。
262 名前:名前は開発中のものです。 mailto:sage [2008/09/02(火) 02:53:10 ID:m23QvXa7] vipが規制されてたんで初めてこの板に来たんだが・・・ このスレ見てたらXNAのフレームワーキングの様子追いかけてみようかなと思った。
263 名前:名前は開発中のものです。 mailto:sage [2008/09/02(火) 18:24:18 ID:b5zILLAX] 3.0正式版マダー?
264 名前:名前は開発中のものです。 mailto:sage [2008/09/02(火) 19:11:37 ID:b2f1Qmol] Gamefest Japan 2008 まで引っ張るのか? と思ったが、出てないのは日本だけじゃないしな。 まあ3.0の紹介もやるみたいだし、あさってには動向わかるかもな。
265 名前:名前は開発中のものです。 mailto:sage [2008/09/02(火) 19:34:50 ID:52QX3MjP] リリースは10月か11月ぐらいじゃね? だいぶ前から「クリスマスシーズン」って明言されてるし。
266 名前:名前は開発中のものです。 mailto:sage [2008/09/02(火) 20:24:00 ID:mnRYIN7x] そうそう、2008年末だから、最悪12月・・・いや、最悪来年になっても おかしくないと思ってる。
267 名前:名前は開発中のものです。 mailto:sage [2008/09/02(火) 22:42:00 ID:voNM3UrC] クリスマスシーズン?初めて聞いた
268 名前:名前は開発中のものです。 mailto:sage [2008/09/03(水) 01:12:52 ID:auG70CLg] ホリデーシーズンって言い方してたかな。 日本だとクリスマスシーズンって言ったほうがわかりやすい。
269 名前:名前は開発中のものです。 mailto:sage [2008/09/03(水) 18:57:17 ID:54gbh5i5] まあ文字コードの時点で 7bitASCII以外ゴタゴタなんだから 日本に生まれたハンデとでも思えばいい。
270 名前:名前は開発中のものです。 mailto:sage [2008/09/04(木) 12:13:20 ID:97Z0+wuN] 年末ゆーてました しかしツクールほとんどできてんだな…
271 名前:名前は開発中のものです。 mailto:sage [2008/09/04(木) 13:27:07 ID:x87MQMn/] つーかゲームで文字使うときって画像貼り付けじゃん? そりゃ延々テキストばっかりのゲームは違うだろうが
272 名前:名前は開発中のものです。 [2008/09/04(木) 14:47:39 ID:THlL7uOw BE:4223423-PLT(12003)] エンターブレイン、ツクール最新作「アクションゲームツクール」を発表、XBOX360/XNAにも対応 news4xbox.blogspot.com/2008/09/xbox360xna.html
273 名前:名前は開発中のものです。 mailto:sage [2008/09/04(木) 15:48:53 ID:9XOEBo5n] 漢字ROMをグラボに搭載するべき
274 名前:名前は開発中のものです。 mailto:sage [2008/09/04(木) 17:01:25 ID:97Z0+wuN] 懐かしいなおいw
275 名前:名前は開発中のものです。 mailto:sage [2008/09/04(木) 18:41:29 ID:86C4RQ5u] PC8801に漢字ROM乗っけたジジイが来ましたよw
276 名前:名前は開発中のものです。 mailto:sage [2008/09/04(木) 18:45:09 ID:t1TcAH7Y] >>272 RPGツクールだけじゃないのか
277 名前:名前は開発中のものです。 mailto:sage [2008/09/04(木) 19:27:22 ID:MkYFJBT5] マルチ乙
278 名前:246 mailto:sage [2008/09/04(木) 22:03:19 ID:6TTdRe9H] >>250 遅くなりましたが、同じやり方で出来ました。 色々勘違いして考えてたみたいですorz ありがとうございました。
279 名前:名前は開発中のものです。 mailto:sage [2008/09/05(金) 01:06:45 ID:SXb3O++L] そも2なんでJAVAやらないの?
280 名前:名前は開発中のものです。 mailto:sage [2008/09/05(金) 02:47:28 ID:nSgnSkIv] とりあえず3.0はベータが出るらしい。これは360対応みたいだね、11月くらいか。
281 名前:名前は開発中のものです。 mailto:sage [2008/09/05(金) 12:41:51 ID:yXbyBrxu] マイクロソフト イベント・セミナー用 秘密保持契約書 私は、マイクロソフトが開催する下記のイベント(「本イベント」)に参加するに あたり、以下の条項に合意します。 □本イベントでの録音・録画は禁止されていること。 □本イベントで提供される非公開の情報を秘密として取り扱わねばならず、 第三者に開示・再頒布することは禁止されていること。 □本イベントで提供される全ての情報は、現時点におけるマイクロソフトの 見解に基づき、参照用に提供されるものであって、マイクロソフトはその 内容について一切保証をしないこと。 私の所属する会社(組織)とマイクロソフトとの間において包括的な秘密保持契約が既に締結され ている場合には、私は、秘密情報を当該秘密保持契約に従って秘密として取り扱うことといたしま す。 イベント名; Gamefest Japan 2008
282 名前:名前は開発中のものです。 [2008/09/05(金) 15:40:04 ID:YQhI21jh] >>279
283 名前:名前は開発中のものです。 mailto:sage [2008/09/06(土) 11:14:55 ID:RN/NLKzH] ひにけにさんカッコイイとかも言っちゃだめですか?
284 名前:名前は開発中のものです。 mailto:sage [2008/09/06(土) 13:24:40 ID:3KPwdvOU] だれも>>281 がNDAの用紙を持って帰ってる事にツッコマないの?
285 名前:名前は開発中のものです。 mailto:sage [2008/09/06(土) 13:32:10 ID:n0CNyRzh] >>284 てっきり>>281 ってマイクロソフトの中の人かと思ってたけど・・・
286 名前:名前は開発中のものです。 mailto:sage [2008/09/06(土) 13:48:09 ID:3KPwdvOU] あれ? 今俺の方が被害妄想溢れる変人になった? …すいません。 オンラインセミナーで配信開始まで謹慎してます。
287 名前:名前は開発中のものです。 mailto:sage [2008/09/06(土) 18:03:23 ID:s3O3LLaq] 3Dの衝突判定で良い資料とかありますか? メッシュ交差(D3DXIntersectに近いもの)とか出来る方法を知りたいんですが。
288 名前:名前は開発中のものです。 mailto:sage [2008/09/06(土) 18:46:21 ID:cINWh/ue] 高いけど ゲームプログラミングのためのリアルタイム衝突判定 とかはどうだろう?
289 名前:名前は開発中のものです。 mailto:sage [2008/09/06(土) 19:41:40 ID:YBJ7NcWE] >>287 ttp://www.mokehehe.com/assari/index.php?%BE%D7%C6%CD%C8%BD%C4%EA ここに衝突判定がかなりまとめてある。ただ数学の知識がある程度必要かと。 上の本もそうだけど。(最低限高校の数学のベクトルはきちんとわかってないとだめかな
290 名前:287 mailto:sage [2008/09/06(土) 19:50:23 ID:s3O3LLaq] あ。すみません。尋ね方が間違ってました。ごめんなさい。 例えばXファイルやFBXファイルなどを読み込んで表示されているメッシュデータの 頂点情報を取得する方法(メソッド)を知りたいんですけど、なかなか見つからなくて。 DirectXでいうところのGetVertexBufferやGetIndexBufferに相当する命令など その方法だけでも御存知でしたら是非とも教えてください。(できればそれを使って頂点を取得するところまで・・・) あとは内積など使って自前で何とかやってみますので。 ちなみにリアルタイム衝突判定の本は持ってます。 数学的な知識が乏しいので頭抱えながら読んでますが、なかなか良い本ですよね。
291 名前:名前は開発中のものです。 mailto:sage [2008/09/06(土) 19:59:31 ID:QDwVBf13] ModelMeshのプロパティから取れるよ
292 名前:名前は開発中のものです。 mailto:sage [2008/09/07(日) 00:09:12 ID:PpqaCwmD] >>287 この手のプロパティ探すのはデバッガで適当なところで止めてウォッチで 探すと結構見つかったりするw
293 名前:287 mailto:sage [2008/09/07(日) 02:04:54 ID:rzqNupIt] 見つかりました。これで簡単な3Dアクションとか作れそうです。 有難うございました。
294 名前:名前は開発中のものです。 mailto:sage [2008/09/07(日) 14:13:12 ID:aizM6A7M] XNA2.0で、Contentフォルダの中にModelsフォルダのようなサブフォルダを作って その中にxファイルなどを入れた時の、Content.Load<Model>("アセット名")のアセット名の指定方法がわかりません。 ソリューションエクスプローラにも Contentフォルダの中にModelsフォルダがあり、その中に asteroid1.x が表示されています。 asteroid.tga は Contentフォルダに作った Texture フォルダに入っています。 参考書では、 Content.Load<Model>(@"Content\Models\asteroid1"); のように書けばよいと書いてありますが、うまくいきません。 参考書のXNAのバージョンが1.0なので、XNA2.0では指定の方法が変わったのでしょうか? もし方法が変わっているのであれば、指定の方法を教えてもらえないでしょうか。よろしくお願いします。
295 名前:名前は開発中のものです。 mailto:sage [2008/09/07(日) 14:23:06 ID:TzkL+YXR] Game1のコンストラクタを見ると謎が解ける
296 名前:名前は開発中のものです。 mailto:sage [2008/09/07(日) 14:23:16 ID:mVAepQRD] どの参考書か気になる。
297 名前:名前は開発中のものです。 mailto:sage [2008/09/07(日) 14:28:57 ID:aizM6A7M] >>295 ありがとうございます。コンストラクタをみたら、もしかしてContentを書く必要がなかったのか? と思い @"Models\asteroid1" にしたら見事実行できました。 >>296 Microsoft XNA UNLEASHED グラフィックスとゲーム開発 って本です。
298 名前:名前は開発中のものです。 mailto:sage [2008/09/07(日) 14:32:40 ID:PpqaCwmD] モデルはともかくテクスチャの位置って指定できたっけ? 試してないけどテクスチャの置き場所ってオブジェクトと同じかルートに置くか どちらかしかできなさそうだけど・・・(うろ覚えなんでアレだけどどっちかで できたと思う。 <こうなってないとモデルのローダーがテクスチャのアセット名を知ることができないからね。
299 名前:名前は開発中のものです。 mailto:sage [2008/09/07(日) 14:34:11 ID:PpqaCwmD] しくった攣ってきます
300 名前:名前は開発中のものです。 mailto:sage [2008/09/07(日) 14:41:32 ID:TzkL+YXR] Spacewarサンプルくらいは目を通そうよ
301 名前:名前は開発中のものです。 mailto:sage [2008/09/07(日) 20:05:27 ID:aizM6A7M] XACTのサウンドバンクの中にある、Track1-Play Wave のなかに新しいサウンドを入れることができません。 新しくTrack2を追加して、PlayWaveを作ってもサウンドを入れられないので困っています。 Play Waveの中に新しいサウンドを入れる方法を教えてもらえませんか?
302 名前:名前は開発中のものです。 mailto:sage [2008/09/07(日) 20:18:36 ID:aizM6A7M] すみません、解決しました。板を汚してしまい申し訳ありません。
303 名前:名前は開発中のものです。 mailto:sage [2008/09/07(日) 21:08:01 ID:4tvreS7i] そういう時はどうやったから解決しましたと詳細を書け
304 名前:名前は開発中のものです。 mailto:sage [2008/09/07(日) 21:15:32 ID:aizM6A7M] >>303 書き込もうとは思ったんですけど、あまりにも単純な思い込みだったので・・・ Play waveにサウンドファイルを入れるときは、Wave Bankからドラッグする でできました。 Play waveはSoundBankのウィンドウにあるので、SoundBankからドラッグするという思い込みでした。
305 名前:名前は開発中のものです。 mailto:sage [2008/09/08(月) 09:31:40 ID:z2ijIUFy] www.xnagamefest.com/presentations08.htm ブログでここへのリンクを貼らないのは、台場のヤツをUpする 意志が有るからなのだろうか?
306 名前:名前は開発中のものです。 mailto:sage [2008/09/08(月) 23:17:58 ID:RDJcxjWR] すみません。質問です。 RenderTarget2Dに描画し、GetTexture()を使用してTexture2Dを取得し、 それを拡大してもLinearが適応されず、 ドットがそのまま拡大されたままになるのですが どうにかしてLinearを適用することはできないでしょうか?
307 名前:名前は開発中のものです。 mailto:sage [2008/09/09(火) 00:22:55 ID:Ap3wGlXH] >>306 サンプラーステート
308 名前:名前は開発中のものです。 mailto:sage [2008/09/11(木) 23:07:27 ID:lChUvucA] メタセコとRokDeBone2で3Dモデルを作ろうと想っているのですが 他にお勧めとかありますか? あと煙とか光などのエフェクトのポリゴンでの作り方とか どこかよいサイトとかありますでしょうか?
309 名前:名前は開発中のものです。 mailto:sage [2008/09/12(金) 00:40:39 ID:mrw+6Aqa] まず作ってみろハゲ
310 名前:名前は開発中のものです。 mailto:sage [2008/09/12(金) 01:46:16 ID:/DnvBme1] >>308 慣れるまで大変だけどModtoolの方がお勧めだなあ。 特にエフェクトに拘りたいなら実際に見ながらシェーダのコーディングと モデリング同時にできる強みがあるし。 >エフェクト ポリゴンでの作りかたって・・モデリングに拘るより テクスチャの作り方とシェーダの書き方のほうがずっと重要とおもう。 とかそういう話じゃない?違うの?あってればポイントスプライトで ttp://memeplex.blog.shinobi.jp/Entry/24/ あたり参照。てかこれはシェーダは書いてないね。大抵はこのくらいのことで十分かなーと。 もちろんポリゴンでモデル作ってそれうまく使うのもアリなんだけど、 このやり方のほうが軽いし、お勧めかと。 ・・・自分のゲームでは3Dのオブジェクト使ってシェーダ書いちゃってるけどね; 正直テクスチャ作るのめんどくさくて(ぇ どちらにせよリアリティのある動きをさせるには粒子の動きをそれっぽくプログラミング できるかどうかが重要な気がする。衝突とかカオスあたりでも勉強してくれw
311 名前:名前は開発中のものです。 mailto:sage [2008/09/12(金) 02:33:24 ID:hALoCs47] バーチャロン1の煙みたいなので十分じゃねーの? んなもんに悩んでるヒマあったらゲーム内容本体に時間かければ
312 名前:名前は開発中のものです。 mailto:sage [2008/09/12(金) 14:12:31 ID:d1LeBLo9] >>311 むしろそれはすっげえ無駄に時間かかってると思うぞw?
313 名前:名前は開発中のものです。 mailto:sage [2008/09/12(金) 23:55:54 ID:qw7vnyZM] >>312 あのメッシュの煙とか爆発な・・・。うん、無駄に時間がかかるな、今なら。
314 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 00:06:50 ID:zGCrBkot] サンプルコードのDrawメソッドの中によく見かける foreach(ModelMesh mesh in this.model.Meshes) //modelはModelクラス { mesh.Draw(); } ですが、foreachを消して、単純に ModelMesh mesh = this.model.Meshes[0];
315 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 00:09:32 ID:zGCrBkot] すみません、間違えて書き込みしてしまいました。 続きですが、単純に ModelMesh mesh = this.model.Meshes[0]; mesh.Draw(); としても問題なく描画することができました。 一回meshにmodel.Meshesを格納してDrawを呼び出すだけで描画することができるのに わざわざforeachを使うのはなぜなんでしょうか。理由がわかる方がいたら教えてほしいです。
316 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 00:31:43 ID:yyl4Eyub] foreachの方が自然な英文に近くてすっと頭に入ってくるからじゃない?
317 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 01:33:59 ID:QMSIAOYs] いやモデルの中にメッシュが複数ある場合は315のコードだとすべてレンダリングされない。 逆に言えば315の使ったモデルはメッシュが1つしか含まれていなかったってこと。 さらに言えばメッシュが1つも含まれていなければ・・・あとはわかるな?
318 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 02:21:03 ID:zGCrBkot] なるほど。少しだけわかったような気がします。 これは私の予想ですが、モデリングしたときに、人間がボールを持っているモデルを作った場合は (ボールと人間は別のプリミティブ?から作ったとして)モデルの中に二つのメッシュがあり、 ボールを二つ持っていたら三つのメッシュがある ということになる ということでしょうか。 もし間違っていたら ぜんぜん違う など忌憚ない意見をいただけるとありがたいです。
319 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 04:15:08 ID:QMSIAOYs] >>318 俺最近標準のモデル扱ってないのでわからんけど試してみれば。たぶんあってそうだけども。 その手のことも試してみるのは技術向上につながるかと。 ちなみに「あとはわかるな?」のところがどうなるかわかる?
320 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 04:30:47 ID:zGCrBkot] これも予想ですが、Meshes[ ]の添え字を大きくしたときに、エラーが出たので メッシュが無かったとしたら同じように、エラーがでる と思います。 今、メタセコイアで二つプリミティブをつくり、xファイルで書き出したものを描画してみたのですが、 二つのプリミティブで一つのメッシュと判断されたようで、ModelMesh mesh = this.model.Messhes[0];mesh.Draw(); で描画されてしまいました。 ひとつのxファイルに複数のメッシュを使い、それをModelMeshで複数のメッシュと認識させるには特殊な書き出し型とかがあるのかもしれません。 これから色々調べていきます。
321 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 14:09:08 ID:QMSIAOYs] >>320 あたり〜 >二つのプリミティブで一つのメッシュと判断されたようで 書き出し方とかで変わってくるのかな?xsiからfbx書き出したら2メッシュだった。 けど1メッシュだと(SkinnedMeshとして扱えば別だけど)それぞれをバラして動かせない気がするし、 ちょっと3Dツール側の使い方(特にアニメ関係)を勉強したほうがいいかも。 ま、それでも用が足りるならかまわないとも思うけど。 一応 ttp://www2.uploda.org/uporg1667760.zip.html 2メッシュになってるファイルの例ね。
322 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 14:56:37 ID:IK2DSqnj] test
323 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 14:58:16 ID:zGCrBkot] >>321 なるほど、やはりツール側の問題のようですね。 上げていただいたファイルをロードし、Meshesの添え字をいじってみたところ、予想通りの動きをしてくれました。 XSIでfbx形式の書き出しだったらうまくいくとのことなので、そちらを利用しようと思います。 参考になるファイルまで上げていただき、ありがとうございました。 このファイルを利用し、気になるところを調べていきます。
324 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 14:58:44 ID:IK2DSqnj] ああ書き込めたか メタセコの場合材質でメッシュ別々にならない? xfileは元々マテリアルで分けてるみたいだし drawsubsetがマテリアルごとに描くってことだし
325 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 15:05:34 ID:IK2DSqnj] あと>317 >・・・あとはわかるな? がわかってない気がする 構文を理解したほうがいい気がする
326 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 15:34:06 ID:zGCrBkot] 今、材質パネルで赤と青の材質をつくり、それを二つの球それぞれに当ててみました。 Xファイルで書き出してXNAに読み込ませたのですが、ひとつのメッシュという扱いになりました。
327 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 15:59:49 ID:QMSIAOYs] >325 俺の書いた意図は理解してくれたみたいだけど、構文を理解したほうがいいってのは 確実ですな。 ちなみになぜメッシュの数こだわってる? 標準機能つかってるかぎりまともにアニメはできないからアニメ用のライブラリを 利用するか、1からアニメ関係を実装するかしかないから注意ね。 後者のつもりで、かつ標準Modelを使う場合はこのあたりに拘る必要もあると思うけど、 そうでなければ適当にサンプルどおりでかまわないかなとも思うんだがw ま、いろいろ試して勉強する意味はあるとは思うけどね。
328 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 16:33:20 ID:zGCrBkot] 中心が球になっていて、その周りは盾のように囲まれたモデルで、 球(コアのようなもの)だけに当り判定があり、被弾したかどうかを判別できたら楽しいだろうと思いまして。 ModelMeshのBoundingSphereという、当り判定に使えるものをネットで見かけて、 それがメッシュ単位で判定するものだったもので、モデルのメッシュを指定することができれば・・・というわけです。 アニメーションについては、アニメ用のライブラリを利用するつもりです。
329 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 16:41:25 ID:QMSIAOYs] >>328 ありものを使いたいのもわかるけどそのケースなら距離公式使って当たり判定しても 結果は同じだし、楽だし、応用も利かない?
330 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 16:53:35 ID:IK2DSqnj] ああ、わかるわかるw 俺も木のバウンディングボックスで 幹の部分で作りたいのに上のほうで横に広がってる枝も 含んで作成されてやたらでかくなるんだよね xfileでは2個のメッシュで別けてあるんだけど 別個に作成する方法がわからなかったよ だから自前で頂点情報から作ってた、方法あるのかな?
331 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 16:58:02 ID:zGCrBkot] 便利そうなものを見つけたので、使ってみたいという衝動に駆られてしまっていました。 実際のところ、当り判定などはまだまったくわからない状態です。 実力が伴っていないのに、突っ込んだ領域を理解しようとしていたようです。 XNAをもっとうまく使えるようになってから調べるようにします。
332 名前:名前は開発中のものです。 mailto:sage [2008/09/14(日) 16:34:08 ID:ZWyi1WOw] 『XNA 3Dゲーム制作入門』って参考書はマジクソ。
333 名前:名前は開発中のものです。 mailto:sage [2008/09/14(日) 17:47:45 ID:cdO7rxo2] XNA Team Blog : XNA Game Studio 3.0 Beta Release On Its Way! ttp://blogs.msdn.com/xna/archive/2008/09/12/xna-game-studio-3-0-beta-release-on-its-way.aspx We hope that early next week you’ll give the XNA Game Studio 3.0 Beta a download and run it through its paces.
334 名前:名前は開発中のものです。 mailto:sage [2008/09/14(日) 17:48:31 ID:cdO7rxo2] だってさ。