【Xbox360】 XNA Game Studio その7 【C#】
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2008/07/26(土) 14:40:23ID:c7wBa1iE【Xbox360】 XNA Game Studio その6 【C#】
http://pc11.2ch.net/test/read.cgi/gamedev/1210637248/
XNA Creators Club Online
http://creators.xna.com/
XNA Game Studio 2.0 ドキュメント (日本語)
http://msdn.microsoft.com/ja-jp/library/bb200104.aspx
0287名前は開発中のものです。
2008/09/06(土) 18:03:23ID:s3O3LLaqメッシュ交差(D3DXIntersectに近いもの)とか出来る方法を知りたいんですが。
0288名前は開発中のものです。
2008/09/06(土) 18:46:21ID:cINWh/ueゲームプログラミングのためのリアルタイム衝突判定
とかはどうだろう?
0289名前は開発中のものです。
2008/09/06(土) 19:41:40ID:YBJ7NcWEttp://www.mokehehe.com/assari/index.php?%BE%D7%C6%CD%C8%BD%C4%EA
ここに衝突判定がかなりまとめてある。ただ数学の知識がある程度必要かと。
上の本もそうだけど。(最低限高校の数学のベクトルはきちんとわかってないとだめかな
0290287
2008/09/06(土) 19:50:23ID:s3O3LLaq例えばXファイルやFBXファイルなどを読み込んで表示されているメッシュデータの
頂点情報を取得する方法(メソッド)を知りたいんですけど、なかなか見つからなくて。
DirectXでいうところのGetVertexBufferやGetIndexBufferに相当する命令など
その方法だけでも御存知でしたら是非とも教えてください。(できればそれを使って頂点を取得するところまで・・・)
あとは内積など使って自前で何とかやってみますので。
ちなみにリアルタイム衝突判定の本は持ってます。
数学的な知識が乏しいので頭抱えながら読んでますが、なかなか良い本ですよね。
0291名前は開発中のものです。
2008/09/06(土) 19:59:31ID:QDwVBf130292名前は開発中のものです。
2008/09/07(日) 00:09:12ID:PpqaCwmDこの手のプロパティ探すのはデバッガで適当なところで止めてウォッチで
探すと結構見つかったりするw
0293287
2008/09/07(日) 02:04:54ID:rzqNupIt有難うございました。
0294名前は開発中のものです。
2008/09/07(日) 14:13:12ID:aizM6A7Mその中にxファイルなどを入れた時の、Content.Load<Model>("アセット名")のアセット名の指定方法がわかりません。
ソリューションエクスプローラにも Contentフォルダの中にModelsフォルダがあり、その中に asteroid1.x が表示されています。
asteroid.tga は Contentフォルダに作った Texture フォルダに入っています。
参考書では、 Content.Load<Model>(@"Content\Models\asteroid1"); のように書けばよいと書いてありますが、うまくいきません。
参考書のXNAのバージョンが1.0なので、XNA2.0では指定の方法が変わったのでしょうか?
もし方法が変わっているのであれば、指定の方法を教えてもらえないでしょうか。よろしくお願いします。
0295名前は開発中のものです。
2008/09/07(日) 14:23:06ID:TzkL+YXR0296名前は開発中のものです。
2008/09/07(日) 14:23:16ID:mVAepQRD0297名前は開発中のものです。
2008/09/07(日) 14:28:57ID:aizM6A7Mありがとうございます。コンストラクタをみたら、もしかしてContentを書く必要がなかったのか?
と思い @"Models\asteroid1" にしたら見事実行できました。
>>296
Microsoft XNA UNLEASHED グラフィックスとゲーム開発 って本です。
0298名前は開発中のものです。
2008/09/07(日) 14:32:40ID:PpqaCwmD試してないけどテクスチャの置き場所ってオブジェクトと同じかルートに置くか
どちらかしかできなさそうだけど・・・(うろ覚えなんでアレだけどどっちかで
できたと思う。
<こうなってないとモデルのローダーがテクスチャのアセット名を知ることができないからね。
0299名前は開発中のものです。
2008/09/07(日) 14:34:11ID:PpqaCwmD0300名前は開発中のものです。
2008/09/07(日) 14:41:32ID:TzkL+YXR0301名前は開発中のものです。
2008/09/07(日) 20:05:27ID:aizM6A7M新しくTrack2を追加して、PlayWaveを作ってもサウンドを入れられないので困っています。
Play Waveの中に新しいサウンドを入れる方法を教えてもらえませんか?
0302名前は開発中のものです。
2008/09/07(日) 20:18:36ID:aizM6A7M0303名前は開発中のものです。
2008/09/07(日) 21:08:01ID:4tvreS7i0304名前は開発中のものです。
2008/09/07(日) 21:15:32ID:aizM6A7M書き込もうとは思ったんですけど、あまりにも単純な思い込みだったので・・・
Play waveにサウンドファイルを入れるときは、Wave Bankからドラッグする でできました。
Play waveはSoundBankのウィンドウにあるので、SoundBankからドラッグするという思い込みでした。
0305名前は開発中のものです。
2008/09/08(月) 09:31:40ID:z2ijIUFyブログでここへのリンクを貼らないのは、台場のヤツをUpする
意志が有るからなのだろうか?
0306名前は開発中のものです。
2008/09/08(月) 23:17:58ID:RDJcxjWRRenderTarget2Dに描画し、GetTexture()を使用してTexture2Dを取得し、
それを拡大してもLinearが適応されず、
ドットがそのまま拡大されたままになるのですが
どうにかしてLinearを適用することはできないでしょうか?
0307名前は開発中のものです。
2008/09/09(火) 00:22:55ID:Ap3wGlXHサンプラーステート
0308名前は開発中のものです。
2008/09/11(木) 23:07:27ID:lChUvucA他にお勧めとかありますか?
あと煙とか光などのエフェクトのポリゴンでの作り方とか
どこかよいサイトとかありますでしょうか?
0309名前は開発中のものです。
2008/09/12(金) 00:40:39ID:mrw+6Aqa0310名前は開発中のものです。
2008/09/12(金) 01:46:16ID:/DnvBme1慣れるまで大変だけどModtoolの方がお勧めだなあ。
特にエフェクトに拘りたいなら実際に見ながらシェーダのコーディングと
モデリング同時にできる強みがあるし。
>エフェクト
ポリゴンでの作りかたって・・モデリングに拘るより
テクスチャの作り方とシェーダの書き方のほうがずっと重要とおもう。
とかそういう話じゃない?違うの?あってればポイントスプライトで
ttp://memeplex.blog.shinobi.jp/Entry/24/
あたり参照。てかこれはシェーダは書いてないね。大抵はこのくらいのことで十分かなーと。
もちろんポリゴンでモデル作ってそれうまく使うのもアリなんだけど、
このやり方のほうが軽いし、お勧めかと。
・・・自分のゲームでは3Dのオブジェクト使ってシェーダ書いちゃってるけどね;
正直テクスチャ作るのめんどくさくて(ぇ
どちらにせよリアリティのある動きをさせるには粒子の動きをそれっぽくプログラミング
できるかどうかが重要な気がする。衝突とかカオスあたりでも勉強してくれw
0311名前は開発中のものです。
2008/09/12(金) 02:33:24ID:hALoCs47んなもんに悩んでるヒマあったらゲーム内容本体に時間かければ
0312名前は開発中のものです。
2008/09/12(金) 14:12:31ID:d1LeBLo9むしろそれはすっげえ無駄に時間かかってると思うぞw?
0313名前は開発中のものです。
2008/09/12(金) 23:55:54ID:qw7vnyZMあのメッシュの煙とか爆発な・・・。うん、無駄に時間がかかるな、今なら。
0314名前は開発中のものです。
2008/09/13(土) 00:06:50ID:zGCrBkotforeach(ModelMesh mesh in this.model.Meshes) //modelはModelクラス
{
mesh.Draw();
}
ですが、foreachを消して、単純に
ModelMesh mesh = this.model.Meshes[0];
0315名前は開発中のものです。
2008/09/13(土) 00:09:32ID:zGCrBkot続きですが、単純に
ModelMesh mesh = this.model.Meshes[0];
mesh.Draw();
としても問題なく描画することができました。
一回meshにmodel.Meshesを格納してDrawを呼び出すだけで描画することができるのに
わざわざforeachを使うのはなぜなんでしょうか。理由がわかる方がいたら教えてほしいです。
0316名前は開発中のものです。
2008/09/13(土) 00:31:43ID:yyl4Eyub0317名前は開発中のものです。
2008/09/13(土) 01:33:59ID:QMSIAOYs逆に言えば315の使ったモデルはメッシュが1つしか含まれていなかったってこと。
さらに言えばメッシュが1つも含まれていなければ・・・あとはわかるな?
0318名前は開発中のものです。
2008/09/13(土) 02:21:03ID:zGCrBkotこれは私の予想ですが、モデリングしたときに、人間がボールを持っているモデルを作った場合は
(ボールと人間は別のプリミティブ?から作ったとして)モデルの中に二つのメッシュがあり、
ボールを二つ持っていたら三つのメッシュがある
ということになる ということでしょうか。
もし間違っていたら ぜんぜん違う など忌憚ない意見をいただけるとありがたいです。
0319名前は開発中のものです。
2008/09/13(土) 04:15:08ID:QMSIAOYs俺最近標準のモデル扱ってないのでわからんけど試してみれば。たぶんあってそうだけども。
その手のことも試してみるのは技術向上につながるかと。
ちなみに「あとはわかるな?」のところがどうなるかわかる?
0320名前は開発中のものです。
2008/09/13(土) 04:30:47ID:zGCrBkotメッシュが無かったとしたら同じように、エラーがでる と思います。
今、メタセコイアで二つプリミティブをつくり、xファイルで書き出したものを描画してみたのですが、
二つのプリミティブで一つのメッシュと判断されたようで、ModelMesh mesh = this.model.Messhes[0];mesh.Draw();
で描画されてしまいました。
ひとつのxファイルに複数のメッシュを使い、それをModelMeshで複数のメッシュと認識させるには特殊な書き出し型とかがあるのかもしれません。
これから色々調べていきます。
0321名前は開発中のものです。
2008/09/13(土) 14:09:08ID:QMSIAOYsあたり〜
>二つのプリミティブで一つのメッシュと判断されたようで
書き出し方とかで変わってくるのかな?xsiからfbx書き出したら2メッシュだった。
けど1メッシュだと(SkinnedMeshとして扱えば別だけど)それぞれをバラして動かせない気がするし、
ちょっと3Dツール側の使い方(特にアニメ関係)を勉強したほうがいいかも。
ま、それでも用が足りるならかまわないとも思うけど。
一応
ttp://www2.uploda.org/uporg1667760.zip.html
2メッシュになってるファイルの例ね。
0322名前は開発中のものです。
2008/09/13(土) 14:56:37ID:IK2DSqnj0323名前は開発中のものです。
2008/09/13(土) 14:58:16ID:zGCrBkotなるほど、やはりツール側の問題のようですね。
上げていただいたファイルをロードし、Meshesの添え字をいじってみたところ、予想通りの動きをしてくれました。
XSIでfbx形式の書き出しだったらうまくいくとのことなので、そちらを利用しようと思います。
参考になるファイルまで上げていただき、ありがとうございました。
このファイルを利用し、気になるところを調べていきます。
0324名前は開発中のものです。
2008/09/13(土) 14:58:44ID:IK2DSqnjメタセコの場合材質でメッシュ別々にならない?
xfileは元々マテリアルで分けてるみたいだし
drawsubsetがマテリアルごとに描くってことだし
0325名前は開発中のものです。
2008/09/13(土) 15:05:34ID:IK2DSqnj>・・・あとはわかるな?
がわかってない気がする
構文を理解したほうがいい気がする
0326名前は開発中のものです。
2008/09/13(土) 15:34:06ID:zGCrBkotXファイルで書き出してXNAに読み込ませたのですが、ひとつのメッシュという扱いになりました。
0327名前は開発中のものです。
2008/09/13(土) 15:59:49ID:QMSIAOYs俺の書いた意図は理解してくれたみたいだけど、構文を理解したほうがいいってのは
確実ですな。
ちなみになぜメッシュの数こだわってる?
標準機能つかってるかぎりまともにアニメはできないからアニメ用のライブラリを
利用するか、1からアニメ関係を実装するかしかないから注意ね。
後者のつもりで、かつ標準Modelを使う場合はこのあたりに拘る必要もあると思うけど、
そうでなければ適当にサンプルどおりでかまわないかなとも思うんだがw
ま、いろいろ試して勉強する意味はあるとは思うけどね。
0328名前は開発中のものです。
2008/09/13(土) 16:33:20ID:zGCrBkot球(コアのようなもの)だけに当り判定があり、被弾したかどうかを判別できたら楽しいだろうと思いまして。
ModelMeshのBoundingSphereという、当り判定に使えるものをネットで見かけて、
それがメッシュ単位で判定するものだったもので、モデルのメッシュを指定することができれば・・・というわけです。
アニメーションについては、アニメ用のライブラリを利用するつもりです。
0329名前は開発中のものです。
2008/09/13(土) 16:41:25ID:QMSIAOYsありものを使いたいのもわかるけどそのケースなら距離公式使って当たり判定しても
結果は同じだし、楽だし、応用も利かない?
0330名前は開発中のものです。
2008/09/13(土) 16:53:35ID:IK2DSqnj俺も木のバウンディングボックスで
幹の部分で作りたいのに上のほうで横に広がってる枝も
含んで作成されてやたらでかくなるんだよね
xfileでは2個のメッシュで別けてあるんだけど
別個に作成する方法がわからなかったよ
だから自前で頂点情報から作ってた、方法あるのかな?
0331名前は開発中のものです。
2008/09/13(土) 16:58:02ID:zGCrBkot実際のところ、当り判定などはまだまったくわからない状態です。
実力が伴っていないのに、突っ込んだ領域を理解しようとしていたようです。
XNAをもっとうまく使えるようになってから調べるようにします。
0332名前は開発中のものです。
2008/09/14(日) 16:34:08ID:ZWyi1WOw0333名前は開発中のものです。
2008/09/14(日) 17:47:45ID:cdO7rxo2ttp://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.
0334名前は開発中のものです。
2008/09/14(日) 17:48:31ID:cdO7rxo20335名前は開発中のものです。
2008/09/15(月) 13:28:58ID:wUWhu41Hgamdev.org | RPG Demo
ttp://pc11.2ch.net/test/read.cgi/gamedev/1221433586/
0336名前は開発中のものです。
2008/09/15(月) 19:40:12ID:Bw5WzYLsXNAで表示させるとパーツの大きさがぜんぜん違うものになってしまいます。
円錐や円柱など、サイズを調整して置いただけの単純なものなのですが
この状況を解決する方法がわかる方がいたら、解決法を教えていただけないでしょうか。
0337名前は開発中のものです。
2008/09/15(月) 21:00:37ID:xQ3wsXK7まず他のXファイル読み込めるソフトで試してごらんなさいな。出来れば複数。
どれで読んでもおかしいならXファイル出力のバグだゴルァとレポよろ。
行列の処理間違えてる可能性もありそうだけど。でもその状況だけだとなんともいえない。
ちなみに位置や回転はきちんと再現される?
0338名前は開発中のものです。
2008/09/15(月) 21:09:27ID:Bw5WzYLsMODToolで読み込むと正常なので、書き出し方がまずかったのかもしれません。
0339名前は開発中のものです。
2008/09/16(火) 02:05:42ID:BDUNWnQm試してないのでナニだけど現状のあなたのソフトがMODの吐き方に対応してないだけだと思う。M$のサンプルも完璧じゃないよ。
今使ってるファイルの階層構造をよく調べてみよう。よく調べてそれに対応できる変換行列の与え方を研究しよう。
0340名前は開発中のものです。
2008/09/16(火) 02:26:26ID:LAEQ4F/5スケールの変更はうまくいっているので、言われたとおりfbxなども試してみます。
0341名前は開発中のものです。
2008/09/17(水) 12:24:49ID:tmtdUkm3http://creators.xna.com/en-us/3.0beta_mainpage
0342名前は開発中のものです。
2008/09/17(水) 13:18:40ID:YwynwH5fやっぱりまだ無理みたいね。
少なくともアップデート以降かねえ
0343名前は開発中のものです。
2008/09/17(水) 14:18:01ID:FmobWIoz0344名前は開発中のものです。
2008/09/17(水) 14:35:12ID:GhIjHVNxNDAがあるので言えない・・・
GamefestのNDAはいつまで守らないといけないの?
参加登録の際に「NDAに署名いただきます」と書いてあれば問題ないけど、
何も知らないまま、お台場の会場まできたらいきなり「NDAおねがいしまーす」ってのは
有効な契約なのかな?そこで嫌なら嫌で引き返すのはあまりにも…
0345名前は開発中のものです。
2008/09/17(水) 15:08:11ID:UwY17WpT0346名前は開発中のものです。
2008/09/17(水) 15:24:29ID:GhIjHVNx署名はしたんだけど、Webでの参加登録の時点で教えてくれたらなと…
でも弁当は旨かったし、アイスコーヒーは飲み放題だったので、Gamefest全体は
大満足だったな
0347名前は開発中のものです。
2008/09/17(水) 17:35:38ID:KmXXFsD90348名前は開発中のものです。
2008/09/17(水) 20:06:21ID:YwynwH5f0349名前は開発中のものです。
2008/09/18(木) 19:18:02ID:6fciUFnx相変わらずその辺のUSBパッドの対応はナシかしらね。
0350名前は開発中のものです。
2008/09/21(日) 17:54:19ID:4F4Ucm5a0351名前は開発中のものです。
2008/09/21(日) 19:24:46ID:IfY4QEkqSystem.Core.dll系のクラスが360でも使えるようになるのか?
0352名前は開発中のものです。
2008/09/23(火) 01:53:02ID:bN5AHrSG0353名前は開発中のものです。
2008/09/23(火) 01:55:08ID:LQBSJQQs0354名前は開発中のものです。
2008/09/23(火) 02:03:00ID:OmkX34Y60355名前は開発中のものです。
2008/09/23(火) 10:46:07ID:LQBSJQQs更新はPresentで行えますが、
ウィンドウ間で異なるサイズのバックバッファを使いたい場合
どう指定するのでしょうか?
SwapChainに該当するのがよく分からなくて・・・。
0356名前は開発中のものです。
2008/09/23(火) 23:27:47ID:OmkX34Y6デスクトップサイズのバックバッファを作ってそれを部分的に使いまわす(Clear&Blit)
前のスレでXNAの中の人が言っていたが、このやり方のほうが
SwapChainを使うより推奨されるんだとさ。
0357名前は開発中のものです。
2008/09/24(水) 15:38:57ID:2Yri0Yp7シンプルで使いやすいユーザーインターフェース。
コーデック内蔵で様々なファイル形式に対応。
ダウンロード中のaviファイルも再生可能。
FLV対応でフラッシュ動画も簡単再生!!
ダウンロ-ドhttp://www.lineagecojp.com/movie/mov0023.zip
0358名前は開発中のものです。
2008/09/24(水) 15:39:38ID:2Yri0Yp7シンプルで使いやすいユーザーインターフェース。
コーデック内蔵で様々なファイル形式に対応。
ダウンロード中のaviファイルも再生可能。
FLV対応でフラッシュ動画も簡単再生!!
ダウンロ-ドhttp://www.lineagecojp.com/movie/mov0023.zip
0359名前は開発中のものです。
2008/09/24(水) 19:02:32ID:YdRHGXAM支那狗は、ウイルス・トロイ配布に必死で笑える。
0360名前は開発中のものです。
2008/09/25(木) 04:33:59ID:fsu2Yd4N透過処理がよく分かりません。
float4 PixelShader() : COLOR
とかで
色.a = 0.5f;
にして色をreturnしても変わらないのですがどうすればいいのでしょうか?
テクスチャーは使用しています。
0361名前は開発中のものです。
2008/09/25(木) 13:14:38ID:IzKEQnRppassに
AlphaBlendEnable=true;
BlendOp=0;
DestBlend = InvSrcAlpha;
SrcBlend=SrcAlpha;
とか書いてもだめか?
BlendOp以下は混ぜ方によっても変わる。
0362名前は開発中のものです。
2008/09/26(金) 02:18:58ID:gHOMX9pD0363名前は開発中のものです。
2008/09/26(金) 21:05:12ID:zQRpm1Fz0364名前は開発中のものです。
2008/09/27(土) 02:17:13ID:Ym8UNkdMC#で作られた業務用アプリがあります。
Managed DirectXで描画している箇所を XNAに置き換えることは可能でしょうか?
もしくは、XNAでつくったアプリに、ボタンやテキストボックスなどのコンポーネント
を配置することは可能ですか?
>>363
表示している座標を取得するのは難しいと思うので、
ローカル座標系での3Dモデルの頂点座標に、ワールド座標系に変換する行列
(描画するときセットする行列)をかけて、計算で求めるといいかもしれません。
0365名前は開発中のものです。
2008/09/27(土) 02:34:49ID:0q0J6NQGレスありがとうございます。
Meshからローカル座標を取得することは出来るので、そこから変換をかけてみようと思います。
0366名前は開発中のものです。
2008/09/27(土) 04:37:18ID:0q0J6NQGの方法でモデルの頂点座標を取得しました。
立方体なので、8個、もしくは24個の座標が出てくることを期待したのですが
ModToolで作成したXファイルでは48個、メタセコイアで作成したXファイルでは16個の座標がでてきました。
出てきた座標のうち、半分は頂点として使われているとは考えにくい座標でした。(のこりの半分は正しい座標でした)
正しい座標、間違った座標 が交互に配列に格納されていたのですが、原因がわかりません。
配列の取得の方法がまずいのでしょうか。
0367名前は開発中のものです。
2008/09/27(土) 06:58:44ID:6TZR1rmS0368名前は開発中のものです。
2008/09/27(土) 12:08:21ID:0q0J6NQG質問内容は同じでしたが、そちらではXNAではなくManagedDirectXを利用していました。
0369名前は開発中のものです。
2008/09/27(土) 12:20:26ID:6TZR1rmSpublivoid GetData<T> (
T[] data
) where T ValueType
VertexBuffer.GetData ジェネリック メソッド (T[])
型パラメータ
T
頂点バッファのデータの型。
パラメータ
Vector3の配列 ←これが違うのではないの?
頂点バッファのデータの型で受けるんでしょ
たぶんUV値が入ってきてるから変なんでしょ
data
頂点バッファ データのコピー先の配列。
0370名前は開発中のものです。
2008/09/27(土) 13:00:12ID:0q0J6NQG取得できる頂点数は4個になったのですが、やはり違う点がまじっていました。
VertexBufferの配列でも受けてみようと思ったのですが、そちらではビルドできませんでした。
そのモデルは地形として使いたいので、モデルの三角形全てとRayとの衝突地点の割り出しを行いたいと思っているのですが
VertexBufferを利用する以外に何かよい方法などはありますか?
NodeContentを利用する方法が書いてあったのですが、NodeContentにモデルを入れる方法がわからないので
利用することが出来ません。
0371名前は開発中のものです。
2008/09/27(土) 13:11:23ID:6TZR1rmSVertexBuffer.GetData<VertexPositionTexture>(vertex) ; //vertexはVector3の配列
<の>なかはそれであってるの?
0372名前は開発中のものです。
2008/09/27(土) 13:20:10ID:6TZR1rmSttp://www.koders.com/csharp/fid989B69D4A3F74511CB915A6BB278B2326BA9BC92.aspx
57行74行82行目
0373名前は開発中のものです。
2008/09/27(土) 13:41:38ID:6TZR1rmS0374名前は開発中のものです。
2008/09/27(土) 15:42:12ID:0q0J6NQGmesh.IntersectはXNAにはないようです。
これからコードをみて、何を行っているのか調べてみたいと思います。
0375名前は開発中のものです。
2008/09/27(土) 15:52:31ID:0q0J6NQGそれに伴い、配列のデータ型も違ったようです。
VertexColorTexturePosition型の配列にしたところ、予定通りの頂点を得ることが出来ました。
目標である頂点の取得は出来たので、ここから頂点を利用し地形としての判定を取れるように作業をしたいと思います。
ありがとうございました。
0376名前は開発中のものです。
2008/09/27(土) 15:57:26ID:6TZR1rmSここにも書いてあるみたいだし
ttp://sorceryforce.com/xna/tips_modelselectbyscreenposition.html
ためしにmodel4.Meshes[0].(点)
でCTRL+スペースで候補に出てこないですか?
0377名前は開発中のものです。
2008/09/27(土) 16:07:59ID:6TZR1rmSIntersectよりそれのほうがいいかも、
理論知って自前でやってたほうが後々いいですしね
ただ言っときたいのはそのXfileは正しく読めても
他ので作ったのは読めないとかなるんで
海外のに書いてあるけどVertexBufferのタイプを
一頂点の長さ(何があるかで違ってくる)取得して
<>の中を変えるのが正しいやり方だと思います。
0378名前は開発中のものです。
2008/09/27(土) 16:15:56ID:0q0J6NQG計画ではRayとPlaneの交点を出すことができる、Ray.Intersects(Plane)を利用しようと考えています。
Planeは3点あれば三角形が作れるので、モデルから頂点を取り出す必要がありました。
あとは、モデルの三角形を全て呼び出すことが出来れば可能になるのではないかと考えています。
MeshesのIndexBufferを取得することが出来れば、先ほど取得した頂点の配列で判定用のPlaneを作ることができそうなので
その方法をとってみることにします。
0379名前は開発中のものです。
2008/09/28(日) 18:17:48ID:4erl5gXp何が目的か今一よーわからんが、たぶんあんたがやろうとしている事は
まともなパフォーマンス出そうとするとかなり面倒なことする必要があるとおもうで。
正直別の方法考えるべきだとおもう(まあそれでも十分な程度の事なのかもしれんので、
余計なお世話の可能性もあるんだけど;; ものすごくポリゴン数が少ないモデルしか
扱わないとかね。
0380名前は開発中のものです。
2008/09/28(日) 18:53:25ID:z02XW6Pnこれくらいしか思いつかなかったので・・・
ネットなどでも手法などがあまり書いていないので、とりあえずやってみようと思っています。
0381名前は開発中のものです。
2008/09/28(日) 19:00:35ID:YhqPSvhEツッコミ入れるほうがおかしいと思うよ
0382名前は開発中のものです。
2008/09/28(日) 22:31:38ID:4erl5gXpもちいと数学勉強しないとその方法はちょっと辛いとおもう・・・ってのもある。
そんなに難しい数学じゃないから。(高校じゃやらないけど、その応用で済む
地面との当たり判定とかつくりたいなら逆の発想でハイトマップつくってそこから
ポリゴン作って、とかのほうが簡単よ?でないとパフォーマンス出すためにはクラスタ分け
きちんとしないとちょっと厳しいと思う。
もしもオブジェクト同士の衝突を考えているなら・・・よっぽど上手くやらないとまともな
パフォーマンスでない。距離公式使って球や円筒同士の当たり判定のほうが無難。
どちらも不可能ではない、けど簡単ではないって話だけどね。
正直聞いてる内容が自力で解決できないとなるとちょっと無理じゃないかなー。
(ネガティブな発言に見えるかも知れんけど、一応解決策も書いているのでそのつもりで。)
0383名前は開発中のものです。
2008/09/28(日) 22:57:14ID:U0iEQj4gどんなゲーム作ってるのか気になる。
0384名前は開発中のものです。
2008/09/29(月) 02:20:01ID:L8aMU6jsなるほど前に書き込んでる人なのか
[0]でわかったよ
レイでの当たり判定の前にちゃんと絞込みしてないと
確かにきついだろうね
数学は必要だけど具体的にどんな時に使うのか
本とかでは大抵書いてないよね、それが問題だと思うんだよね
0385名前は開発中のものです。
2008/10/04(土) 12:09:00ID:i6gF2OK40386名前は開発中のものです。
2008/10/05(日) 04:05:05ID:tg6+UXrhコントローラーでスプライトを操作して右の方に来たら音が鳴り続けるようにしたいです。
スプライトが右の方にいる限り、音が重なって再生されたりせずに
一本の音が再生され、終了した瞬間にまた最初から繰り返し鳴るようにしたいです。
cue.IsPrepareとかIsPlayingとか試したんですがどうも不正終了するのでよく分かりません。
とりあえず取っ掛かりとして↓のコードを晒しますのでこれをどう変えたらいいか教えてください。
LoadContent内
cue = soundBank.GetCue("testsound");
Update内
if (mySprite.position.X >= 200)
cue.Play();
else
cue.Pause();
0387名前は開発中のものです。
2008/10/05(日) 12:10:08ID:omFPsi9h↑これのxboxControllerSpriteFont.tgaをプロジェクトに追加して
コンテントプロセッサーにSprite Font Textureを指定して
font = Content.Load<SpriteFont>("SpriteFont1");
glyph = Content.Load<SpriteFont>("xboxControllerSpriteFont");
spriteBatch.DrawString(glyph, "%", ...
spriteBatch.DrawString(font, "ボタンを押してください", ...
みたいな感じで使ってるんだけど、通常フォントとボタンイメージを
同一のSpriteFontで扱うようにってできないのかな?
spriteBatch.DrawString(fontAndGlyph, "%ボタンを押してください", ...
って感じで使えると便利なんだけど。
■ このスレッドは過去ログ倉庫に格納されています