1 名前:デフォルトの名無しさん [2007/09/23(日) 23:43:41 ] Microsoft XNA はマイクロソフトによって提供された、ゲーム開発のためのツールである。 XNA はマネージ実行環境を完備する。 2004 年 3 月 24 日、カリフォルニア州のサンノゼの Game Developers Conference で発表され、 2006 年 12 月 11 日にリリースされた。 XNA は「 XNA's Not Acronymed」 ( XNA は頭字語ではない)の頭字語である。 XNA デベロッパーセンター www.microsoft.com/japan/msdn/xna/ xna スタジオ xna-studio.jp/ XNA Game Studioメモ www.saturn.dti.ne.jp/~npaka/xna/ ということで立ててみた。
403 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 14:45:06 ] アンチエイリアスを切ってみては?
404 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 15:16:26 ] なんでアンチエイリアスしてるの分かったんですかw エスパーすぎて鳥肌が立ちました。ありがとうございました!!!
405 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 18:37:22 ] sorceryforce.com/xna/tips_collisionsphereandsphere.html このページを参考に、 球と長方形の立体(X形式の3D)とのあたり判定をやってみたかったのですが、 長方形の方の当たり判定が大きすぎてうまくいきません(何もない場所で当たっているという判定になります…)。 そこで調べてみたところBoundingBoxというのを見つけ、 これを使えばいいのかと思い、上のURLのページのSphere2を BoundingBoxに書き換えたら動くのかと思い試したのですが、 BoxはSphereと記述のしかたが違うらしく実行できませんでした。 XNAで初めてプログラミングというものを体験したため、 BoundingBoxをどのように記述したらいいのかわかりません。 BoundingBoxの記述方法、またはそれを説明しているサイトでもかまいませんので、 どなたか教えていただけませんか?
406 名前:デフォルトの名無しさん [2009/05/06(水) 20:55:22 ] XAudio2とOggVorbisでストリーミング再生試してるんだけど、 あきらかにバッファリングが追いついてなくて音がブチブチするのは どうすればいいんだぜ? OnBufferEndコールバックのたびにov_readしちゃだめ?
407 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 21:01:35 ] >BoundingBoxをどのように記述したらいいのかわかりません。 の意味がわからない //宣言 private Model model = null; private BoundingSphere baseBoundingSphere = new BoundingSphere(); // モデルを作成 this.model = this.Content.Load<Model>("Sphere"); // 包括球取得 this.baseBoundingSphere = this.model.Meshes[0].BoundingSphere; だとしたら”Sphere”を”Box”にして判定部分いじれば?
408 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 21:03:40 ] >>406 スレ違い
409 名前:デフォルトの名無しさん [2009/05/06(水) 21:17:04 ] >>408 directxでもそう言われたんだがどこへ行けばいいんだぜ?w
410 名前:405 mailto:sage [2009/05/06(水) 21:36:41 ] >>407 さんの言うように、 自分もSphereをBoxに書き換えるだけでいいと思っていたのでやってはいたのですが、 モデルの作成までは問題はなかったのですが、 包括球取得(Boxなので包括箱?)で this.baseBoundingBox = this.model.Meshes[0].BoundingBox; と書くと、 'Microsoft.Xna.Framework.Graphics.ModelMesh' に 'BoundingBox' の定義が含まれておらず、 型 'Microsoft.Xna.Framework.Graphics.ModelMesh' の最初の引数を受け付ける拡張メソッドが見つかりませんでした。 using ディレクティブまたはアセンブリ参照が不足しています。 というエラーがでてしまい、実行できませんでした。 このため、BoundingBoxはBoundingSphereとは記述の仕方が違うのかと思い、>>405 の質問をさせていただきました。
411 名前:407 mailto:sage [2009/05/06(水) 21:52:04 ] すまんかった、試してないけど BoundingBox.CreateFromSphere( でいいと思う
412 名前:405 mailto:sage [2009/05/06(水) 23:25:46 ] >>411 this.baseBoundingBox = BoundingBox.CreateFromSphere(baseBoundingSphere); と書き換え、 // 各モデル用の包括球半径設定 this.sphere1BoundingSphere.Radius = this.baseBoundingSphere.Radius; this.sphere2BoundingSphere.Radius = this.baseBoundingSphere.Radius; this.box1BoundingBox.Max = this.baseBoundingBox.Max; ←Radiusの代わりにMaxとMinがあったので this.box1BoundingBox.Min = this.baseBoundingBox.Min; 書き換えました // 衝突判定用の球と箱を設定 this.sphere1BoundingSphere.Center = this.sphere1Position + this.baseBoundingSphere.Center; this.sphere2BoundingSphere.Center = this.sphere2Position + this.baseBoundingSphere.Center; this.box1BoundingBox.Max = this.box1Position + this.baseBoundingBox.Max; this.box1BoundingBox.Min = this.box1Position + this.baseBoundingBox.Min; // 球1と箱の衝突判定 this.isCollision = this.sphere1BoundingSphere.Intersects(this.box1BoundingBox); と書き換えた結果、実行は出来たのですが 当たり判定の箱の大きさが長方形に合いませんでした。 koideai.com/up/src/up19910.png koideai.com/up/src/up19911.png koideai.com/up/src/up19912.png このようになってしまいます。 MaxとMinの設定が間違っているのでしょうか?
413 名前:405 mailto:sage [2009/05/06(水) 23:29:50 ] 書き忘れましたが、 this.baseBoundingBox = BoundingBox.CreateFromSphere(baseBoundingSphere); のBoundingBox.CreateFromSphere();の()内も間違っているかもしれません。
414 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 19:58:23 ] >>412 画像消えてて状況がわからん。
415 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 20:57:41 ] 新しい出会いをゲットした状況ってことだろ? 分かってやれよ。
416 名前:405 mailto:sage [2009/05/07(木) 21:10:06 ] ごめんなさい画像消えてしまってたんですね。アップし直しました。 up2.viploader.net/pic/src/viploader1006962.png up2.viploader.net/pic/src/viploader1006966.png up2.viploader.net/pic/src/viploader1006968.png
417 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 21:56:54 ] >>416 BoundingBox.CreateFromSphere(baseBoundingSphere); これだと、baseBoundingSphereの大きさのBoxになっちゃうぞ。 画像の3枚目の赤い枠も球の大きさになってるだろ?
418 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 22:41:12 ] >当たり判定の箱の大きさが長方形に合いませんでした。 また意味がわからない 普通に箱として描いてみれば? あと念のため判定法は玉とは違うのは知ってるよね?
419 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 22:51:47 ] 絵のとおりになるのが正しい結果だと思う。 どうなることを期待しているのか書かないと分からないよ。 (球より1まわり小さいBOXを期待している?)
420 名前:405 mailto:sage [2009/05/07(木) 23:31:52 ] >>417 ()内に書いたものの大きさになる?ってことだったんですか。 たしかに球の大きさの箱になっていたので何故だろうと思ってました。 >>418 Sphereは物体の半径を出して、その半径に合わせて当たり判定の球を作る というものだと考えてました。 X形式の3Dの長方形は横幅が大きすぎるせいで半径が大きいので、 とても大きな当たり判定の球になってしまってました。 >当たり判定の箱の大きさが長方形に合いませんでした。 この書き込みに関してはBounding.CreateFromSphereを間違って認識していたせいです。 baseBoundingSphereの大きさのBoxではなく、 長方形のモデルの大きさのBoxが出来上がるものだと思っていたので、大きさが合わないなと思ってました。 BoundingBoxにはモデルのMaxとMinの座標を入れたら良いようなのですが、 長方形のモデルのMaxとMinの座標をどのように取得して、どこにそれを書けば良いのかがわかりませんでした。 >玉とは判定法が違う this.isCollision = this.sphere1BoundingSphere.Intersects(this.sphere2BoundingSphere); これの()内のsphere2BoundingSphereをbox1BoundingBoxに 書き換えるだけではダメということですか? >>419 真ん中に球を表示していたのでわかりにくくなってしまって申し訳ないです。 up2.viploader.net/pic/src/viploader1007156.png この画像のような当たり判定の箱を作りたかったのです。 真横からの視点なのでわかりにくいのですが、 画面の真ん中を横断しているのは3Dの直方体です。
421 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 00:26:46 ] >>405 の参考にしたサイト一通り見てきたんだが球と球の当たり判定は解説してんのに BoundingBoxの解説は無いんだな。 どーせどこかに書いてあるのに、よく読まないで 質問してるんだと思ってたわw 更新もたまにしかしてないようだし 英語読めるなら海外のサイト見た方が勉強になるぞ。 日本のサイトよりも明らかに情報量多いし。 英語読めなくてもヤフーか何処かで翻訳しながら見たらいいだけだしな。
422 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 21:52:26 ] this.box1BoundingBox.Max = this.box1Position + new Vector3(10, 1, 10); this.box1BoundingBox.Min = this.box1Position + new Vector3(-10, -1, -10); みたいなことしたらそれっぽくならないかな?
423 名前:405 mailto:sage [2009/05/08(金) 22:46:52 ] >>421 Web翻訳しながら海外のサイト見て勉強してみます。 >>422 Vector3の値を直方体にあわせて微調整したら、うまく直方体を覆う当たり判定の箱ができました。 ありがとうございますm(_ _)m そうやったら箱の大きさ調整できるんですね、勉強になりました。 アドバイスくれた皆さんありがとう。 XNAのサイト検索して勉強してきます。
424 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 19:55:04 ] XNA Animation Component Libraryを利用して foreach (ModelMesh mesh in model.Meshes) { foreach (Effect effect in mesh.Effects) { if (effect is BasicPaletteEffect) { BasicPaletteEffect palette = (BasicPaletteEffect)effect; palette.LightingEnabled = true; palette.EmissiveColor = new Vector3(1, 0, 0); } } } のように自己照明を設定しても反映されないのは何が原因だと考えられますか? AmbientLightColorなどの他のパラメータはそのまま表現されているのですが emissiveだけモデル自体のものも渡した値も反映してくれないのでどうしていいものやら…
425 名前:デフォルトの名無しさん mailto:sage [2009/05/19(火) 06:00:15 ] >>424 自己解決しました ライトを切るとemissiveの自己照明の効果が出るようなので emissiveの値を持つ場合 palette.LightingEnabled = false; で誤魔化すことにしました なぜライトと併用できないのかは解りませんでしたが…
426 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 19:34:54 ] XNAを用いて、PC同士で通信したいのですが、 ローカルでも、クラブメンバーにはいらないとだめですか? システムリンクはいらないとネットでみたので、 いろいろ試してるのですが、どれもクラブメンバーにっていわれてエラー落ちで。 メンバーにはいらなくてもいけるのであれば、 サンプルののってるサイトなどありましたら教えてください。
427 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 20:32:40 ] >>426 PCだけでいいならいくらでもサンプルあるだろ。ググれよ、カス。
428 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 20:57:20 ] >>426 CreatorsClubのサンプルは試しましたか?
429 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 00:20:19 ] LAN通信ならメンバーに入らなくてもできるはずだぞ
430 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 00:42:19 ] クラブメンバーじゃなくてLiveIDでは?
431 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 00:45:22 ] LANでかつPCなら通信できますよ ただしこのサービス使うのにゲーマータグが必要 ローカルなタグならネットに出なくても作れる このタグ作成をメンバーと思っているんじゃないかな。
432 名前:デフォルトの名無しさん [2009/07/01(水) 10:07:29 ] PC同士なら.NET使い放題なんだからどうとでもできるだろ 無理にXNAの枠内でやる必要はない
433 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 11:15:15 ] >>426-432 誰か情報をまとめてくれ偉い人
434 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 11:28:08 ] 情報というか話をまとめてくれ ネットワークゲームの選択肢とかチュートリアル、解説
435 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 11:30:20 ] >>433 msdn.microsoft.com/ja-jp/library/bb975801 (XNAGameStudio.30).aspx まとめてみました
436 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 11:30:56 ] >>435 神
437 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 22:27:44 ] XNA3.0を使っています SpriteFontを使った日本語の表示は出来たのですが、 入力された日本語を表示させる、といった処理が出来ません。 具体的には FormのTextBoxに日本語を入力→XNAの画面に入力された日本語を表示 といった感じです。 どんな文字が入力されても対応出来るようにしたいんですが、出来るんでしょうか?
438 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 22:39:49 ] >>437 これ参考にすれば良い。 xna.oiran.org/test.html
439 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 22:53:51 ] アバターに影をつける方法知ってる人いますか?
440 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 16:46:57 ] 3Dゲームを作ろうとしているのですが 上り坂や下り坂を作るには 坂の境界ボックスを回転させる(?)みたいなことをすればよいのでしょうか 現在BoundingBox.MaxとBoundingBox.Minを設定して境界ボックスの大きさを設定しているんですが 境界ボックスを回転させる方法がわかりません よろしければ教えてください お願いします
441 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 17:04:31 ] BoundingBoxはそういうのには使えないと思うよ
442 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 19:22:18 ] そうなんですか ありがとうございます 別の方法を探してみます
443 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 01:01:24 ] >>438 ありがとうございます、参考にしてみます
444 名前:デフォルトの名無しさん [2009/07/03(金) 22:39:01 ] XNA2.0を使っている者です。 プログラミングはド素人で、C#がはじめての言語です。 3Dの練習のため、3DでAI無しのチェスのようなものを作っています。 3Dの駒をマウスカーソルで選択したいのですが、それが出来なくて困っています。 具体的に言いますと、マウスオーバーで駒を選べるようにしたいのですが、 このとき画面平面上を動くマウスカーソルと、3次元空間に配置されている駒 が二次元的に見て接触していることを判定する方法が、わからないのです。 ぼんやりと、駒のXYZ座標ではなく、それが描画された領域が画面平面状の どこを占めているかを算出するのかとは思っているのですが、それが正しいのか、 またどうやるのかが分かりません。 PC向けのゲームではよくマウスで動くカーソルで3Dのオブジェクトを選択している 気がするのですが、一体どうやっているのでしょう? マウスオーバーでなくとも、マウスで直感的に三次元空間内の駒を選択できる 方法でしたらかまいません。 方法をご存知のがいらっしゃいましたら、どうかよろしくご教授お願いします。
445 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 22:44:43 ] >>444 ray(ビーム状の物体)と3Dメッシュの衝突判定する機能があるんで、それ使う。 blogs.wankuma.com/yo/archive/2008/08/08/152237.aspx
446 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 22:45:11 ] >>444 ググればいくらでも必要なサンプルが見つかる。 なにが必要なのか分からんとかいうレベルなら、もっとたくさんサンプルプログラムを眺めて勉強しろ。 必要なサンプルは、Creator's Club Onlineにあるよ、屑が。
447 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 10:33:16 ] 444です。 >>445 ありがとうございます、まさにこれです。感謝の極みです。 >>446 ググッて探したつもりでしたが、>>445 さんが提示したような 分かりやすいサンプルがあるのを見ると、私の探し方がおっしゃるとおり クズだったようです。申しわけありません。 サンプルプログラムを見るという方法も、なぜかすっかり忘れていました。 勉強してきます、ありがとう!
448 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 10:56:45 ] >>447 まあ、>>445 は XNA ray ヒットテスト とかをキーワードに検索してるし、 仕組み知らないと出てこないと思うけど。
449 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 10:25:16 ] ttp://creators.xna.com/en-US/education/catalog/ CCはここね。とりあえずここでサンプル探すとこから始めるといいかも。
450 名前:デフォルトの名無しさん [2009/07/10(金) 20:22:43 ] 日経産業新聞4面「ゲーム制作向け日本語版、MS無償提供」 マイクロソフトは9日、無償のゲーム制作ソフト「XNA Game Studio 3.1」の日本語版の提供を始めることを発表しました。 Xbox360などに向けたゲーム制作するための開発環境を整えられます。個人のゲーム開発者や資金力のないベンチャー開発を後押しし、 Xbox360の魅力を高めます。 完全日本語版来たね。 creators.xna.com/en-US/japan/
451 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 19:00:19 ] XNAってもしかしてゲームをオンライン対応させた場合、 そのゲームでオンライン接続したい全てのプレイヤーが クリエイターーズクラブにくそ高い金払って加入しないといけないのか・・・?
452 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 21:31:41 ] 普通の箱○ゲームと同じで、 マルチプレイするならゴールドメンバーシップは必要だった気が。 クリエイターズクラブ会員にはゴールド会員相当の権利がくっついてるというだけで。
453 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 21:55:54 ] 開発版かコミュニティ版か、箱かPCかで変わってくるが どっちにしろLiveの機能使う開発版なら>>451 の言うとおり 自分でネットにつないでかつPC版なら会員である必要はない
454 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 23:12:55 ] 意味わからん ごちゃごちゃしすぎ
455 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 23:25:25 ] 出来ますん
456 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 23:42:41 ] なにが?
457 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 23:45:00 ] この流れがXNAの失敗を物語っているな。
458 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 09:06:55 ] 開発版 クラブ会員 ゴールドメンバー 360 PC 360 PC インスコ ○ × × × オフゲ × × × ×(インスコしてあるものはクラブ会員期限がきれてもプレイ可能) オンゲ ○ ○ ○ × インディーズ版(コミュニティ版) インスコ × × × × オフゲ × × × × オンゲ × × ○ × クラブ会員料金なくすか、せめて年間3000円程度にしないとね。
459 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 11:29:44 ] そもそも開発版とかインスコとか意味不明なんだが。 開発版はPCにインスコできないのか? だめだなこりゃ。やりたくもない。
460 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 11:44:54 ] 開発版ってのはソースも配布できる状況。 PCは基本的に開発版しかない。
461 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 12:26:28 ] >>458 m9(^Д^)
462 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 12:46:48 ] >>458 のはLiveを使うケースだろ?
463 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 19:43:07 ] 意味わからん ごちゃごちゃしすぎ
464 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:11:02 ] どういうことなの…
465 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:12:54 ] なにが?
466 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:17:47 ] この流れがXNAの失敗を物語っているな。
467 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:30:15 ] お金払えば○○はできて、○○はできないとか大杉 分かってる奴も一言で説明できない だから流行らない バーカ
468 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 10:41:39 ] 基本的にはXbox360かLiveに絡めば金かかる。 それ以外は無料。 無料でネットワークやりたければ、PCで通常の.NET frameworkの範囲で通信すればよろしい。
469 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 01:05:46 ] ネットのサンプルxファイルは出力できるのですが、 メタセコイアで自作したxファイルが出力できません。 DirectXではどちらも読み込めます。 原因が分かる方がいたら教えてください。
470 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 03:16:50 ] 出力できないってLoadは成功してるの? テクスチャ貼ってる?
471 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 03:19:40 ] ビルド時のエラーならテクスチャの指定が振るパスで入ってたりするから って場合がある。テクスチャは個別にContentの下にコピーした上で 直接xファイル編集してドライブとパス名削るとか
472 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 13:05:03 ] >>470 >>471 テクスチャを貼ろうとしたらmesh.Draw()で例外が発生したので 読み込めてないのかもしれません。(メタセコで基本図形を保存しただけなので 図形の問題という事はないとは思ったんですが、ファイルの大きさなどの 問題もあるんですかね?) テクスチャとxファイルは全部contentの下にいれてあります。
473 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 14:18:34 ] 例外ってどんな内容? テクスチャ貼らない場合はうまくいくの? あとテクスチャの横幅は8の倍数? 基本的にビルド時にエラー出るはずなので、実行時の例外はよくわからん。
474 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 14:56:07 ] 「InvalidOperationExceptionはハンドルされませんでした」とでます。 テクスチャを貼らない場合はエラーは出ず実行されますが図形が表示されません。 テクスチャの横幅は8の倍数ではありませんでした。また8の倍数に直しても 同じエラーがでました。 メタセコが悪いんですかね?(サンプルのxファイルは問題ないので)
475 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 14:59:34 ] >>474 BasicEffect使ってる? xファイルの中にTextureCoordみたいな記述は出来てる?
476 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 15:02:37 ] 一応書いとくけど、うちじゃメタセコでx出力したやつ普通にXNAでModelに読んで表示できてるよ
477 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 15:04:52 ] バージョンとかの違いとかですかね?
478 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 15:06:08 ] >>475 たぶん使ってません よければ詳しくお願いします
479 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 15:08:21 ] InvalidOperationExceptionはヘルプ見ると「Effectが null です」ってなってんだけど。 いったいどんなコード書いてんの? サンプルのxは表示できてるって書いてるから、そんなに変なコードじゃなさそうなんだが・・・
480 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 15:14:09 ] 3Dモデルのレンタリングのところです。自分が変えたところは 読み込むファイル名だけなので、大丈夫だと思うのですが foreach (ModelMesh mesh in houseModel.Meshes) { //エフェクト設定 foreach (BasicEffect effect in mesh.Effects) { //ライティング(オン) effect.EnableDefaultLighting(); effect.TextureEnabled = true; effect.Texture = texture; //ワールド座標変換指定 effect.World = world; //ビュー座標変換指定 effect.View = view; //射影変換指定 effect.Projection = projection; } //描画 mesh.Draw(); }
481 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 15:17:46 ] まずテクスチャ無しのやつ解決しようか。 ってたぶんサンプルとスケール違いすぎて小さすぎて見えてないんじゃないかと思うんだけど。
482 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 15:19:54 ] >>481
483 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 15:21:14 ] >>481 そうかなと思いましたが、メタセコのどこでスケールを大きくできますか? 倍率とかいじってみてもファイルサイズがほとんど変わらないです
484 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 15:25:13 ] カメラの位置(view)はどうなってる? メタセコは基本図形作る時にMove、Scale、Segmentって設定できるべ。
485 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 15:31:39 ] >>484 カメラの設定はこうなってます(サンプルプログラムのままです) Matrix view = Matrix.CreateLookAt( new Vector3(300,100,300), //カメラ位置 new Vector3(0, 0, 0), //カメラ注視点 new Vector3(0, 1, 0) //カメラ上方向 ); メタセコの基本図形を作るときに詳細設定でサイズをできるだけ大きくしても なぜかファイルサイズが変わりません。やっぱりやり方が間違ってますか?
486 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 15:34:31 ] 画像ファイルじゃないんだからファイルサイズはそんなに変わらんよ。 しかし300って遠すぎるだろw 試しに 0, 10, 10とかでやってみ
487 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 15:40:08 ] >>486
488 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 15:41:30 ] >>486 表示されました! やっぱり大きさが違いすぎたんですね (テクスチャは解決してませんが・・・) どうやったらサイズを大きく出来るか教えてもらえますか?
489 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 15:43:43 ] テクスチャもxで指定してあってビルド時にエラー出てないならそのまま出ると思うよ。 effect.TextureEnabledとかeffect.Textureは設定済みだから無くていい
490 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 15:49:59 ] 普通にスケールで大きくしてもいいし メタセコでx出力するとき倍率指定あるからそれいじってもいいし。 詳しくはメタセコのヘルプ見ればいい
491 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 15:51:35 ] >>489 >>490 わかりました やってみます
492 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 16:07:41 ] メタセコではxファイルを読めませんが、 既存のxファイルの図形の大きさを知ることって出来ますか?
493 名前:デフォルトの名無しさん [2009/07/30(木) 16:14:50 ] 大きさのせいじゃなくてファークリップじゃないかな?
494 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 16:23:06 ] そうなんですか ファークリップの確認ってどうやってできますか?
495 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 16:26:17 ] ファークリップはprojectionの最後の引数だべ。 xファイルはテキストなんだからテキストエディタで開いてMeshのとこみりゃ だいたいわかるべ
496 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 16:27:26 ] projectionつーか、そこに設定してるであろうMatrix.CreatePerspectiveFieldOfView()の引数
497 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 16:27:27 ] >>478 > たぶん使ってません え? >>478 =>>480 じゃないのかな? >>480 > foreach (BasicEffect effect in mesh.Effects) でめちゃめちゃ使ってるようだが。 でもちょっと、その件はおいといて。 テクスチャを描こうとしてxファイルに MeshTextureCoords {(以下略) のデータが無いとき、そういうエラーが出てた気がする。 自分の場合はBlenderを使っていて、 UVの設定をしてない時、xファイルにそのデータが不足してた。
498 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 16:46:35 ] >>495 >>496 わかりました確認してみます >>497 すいません、それのことだったと知りませんでした MeshTextureCoordsはxファイルを作るときにメタセコで設定するのですか?
499 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 17:01:41 ] >>498 > MeshTextureCoordsはxファイルを作るときにメタセコで設定するのですか? ちょっと気になって調べてみた。 xファイルを作成するときダイアログが出るけど、 その右側のXオプションの枠内、「UVマッピング」にチェックが入っていると、 xファイルにMeshTextureCoordsは作られるみたい。 XNAもXファイルも、3Dモデリングもあんま良く分かってないけど、俺。
500 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 17:04:48 ] >>499 あー、そこをチェックすればよかったんですか 本当にありがとうございます。 どこを調べればいいかもわからなくてorz
501 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 17:05:46 ] >>500 ま、でも、それで例の問題が解決するとは限らないので悪しからず。
502 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 17:10:07 ] しっかり解決できました!
503 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 17:14:48 ] あとxからメタセコに持ってくのは Hyper Mangrove とかBlenderのプラグインでできることもあるよ。