- 1 名前:名前は開発中のものです。 [2009/03/11(水) 17:57:35 ID:teoBVoN1]
- 疑問に思うことがあれば、スレを立てずに、まずはココで質問。
スレッドを立てる前にはローカルルールを読みましょう。 pc11.2ch.net/gamedev/ ※ >>980 を踏んだ人は次スレ立てをお願いします。 【アップローダ・避難所・Wiki】 ゲーム製作技術板公式Wiki gamdev.org/w/ ゲーム製作技術板公式アップローダ gamdev.org/up/ ゲーム製作技術板公式掲示板避難所 bbs.gamdev.org/gamedev/ ゲーム製作技術板予備 yy13.kakiko.com/gamdev/ アップローダー予備 gamdev.hp.infoseek.co.jp/ gamdev.orgが落ちるたびにあげてみるスレ pc11.2ch.net/test/read.cgi/gamedev/1107022166/
- 160 名前:名前は開発中のものです。 mailto:sage [2009/04/04(土) 20:56:52 ID:bJ31mpY2]
- 誤りに対してやめろと言うのはいかがなものか
- 161 名前:名前は開発中のものです。 mailto:sage [2009/04/04(土) 21:50:50 ID:0RtCt67o]
- シナリオ製作でちょっと詰まってるのですが、
シナリオ添削スレみたいなのはあるのでしょうか? 良ければ誘導お願いします。
- 162 名前:名前は開発中のものです。 mailto:sage [2009/04/05(日) 00:49:58 ID:Lnd+z008]
- >>160
さては向こう側の人間か!
- 163 名前:名前は開発中のものです。 mailto:sage [2009/04/06(月) 16:22:00 ID:jaDr3dMp]
- ゲーム(DirectX)の稼動中に
日本語を入力して変数に取り込みたいんですが、(所謂チャット的な物。) immでコレを作れるでしょうか? むしろ、imm以外にコレを作るに向いているものは有るでしょうか?
- 164 名前:名前は開発中のものです。 mailto:sage [2009/04/06(月) 16:45:20 ID:RYr8iyoR]
- immってIMEのつもりで言ってるの?それとも別物?
- 165 名前:名前は開発中のものです。 mailto:sage [2009/04/06(月) 16:47:30 ID:tt9nRsvJ]
- >>164
- 166 名前:名前は開発中のものです。 mailto:sage [2009/04/06(月) 16:48:16 ID:24lgJhmp]
- Input Method Manager
- 167 名前:163 mailto:sage [2009/04/06(月) 18:59:29 ID:XR91wAX5]
- >>164
>immってIMEのつもりで言ってるの?それとも別物? いえ、別物ではなくその IME です。 (IME(Input Method Editor)の管理をしているimm(Input Method Manager)) immはプログラムを稼動させながら、日本語を変数に取り込むのに向いているでしょうか? 別のもっと良い関数などが存在したりするでしょうか?
- 168 名前:名前は開発中のものです。 mailto:sage [2009/04/06(月) 19:26:28 ID:iuX0ppRq]
- どっちかと言うとWinAPIの方の話だな。
てかプログラムに関係なくIME立ち上げられるから、 そのウィンドーメッセージ受け取ったら、位置をそれっぽく指定して、 ゲームでIME受付しているように偽装する。 で、入力確定するとウィンドーメッセージに文字列が入ってくる。 まあ、あくまで自分の実装の場合…だけど。 でもDirectXとの相性はシラネ。 俺はなんか嫌な予感したんで、IME用とDirtecct3Dでウィンドー分けたw
- 169 名前:163 mailto:sage [2009/04/06(月) 20:27:45 ID:XR91wAX5]
- >>168
そういうやり方が有る=つまりimmでできるのですね。 感謝!
- 170 名前:名前は開発中のものです。 mailto:sage [2009/04/06(月) 23:48:50 ID:cxQ8vTIU]
- >>169
普通にIME関係のメッセージ処理すればいいと思うよ 変換中とかちょっと操作しないといけないだろうから 168のいうとおりそれ用のAPI使ったりして
- 171 名前:名前は開発中のものです。 mailto:sage [2009/04/07(火) 13:42:48 ID:RfvbSdKN]
- >>169
DXライブラリのソースコード見ればimm関連の処理の流れ分かるよ
- 172 名前:名前は開発中のものです。 mailto:sage [2009/04/07(火) 20:46:51 ID:2mw+TwCA]
- ゲームパッドがゲーム中に反応しなくなりました
調べてみたらDirectXを最新にするようにとあったので最新にしたら 動くには動いたのですが、方向キーだけがききません。 3Dスティックは正常に動き、他のボタンも動きます。 コンパネのゲームパッドの反応を見ると方向キーも反応できています。 動かしているゲームがツクール2000とxpで試しましたが どちらも方向キーだけがききませんでした。 何かわかる方がいたらご教授お願いします…。
- 173 名前:名前は開発中のものです。 mailto:sage [2009/04/07(火) 20:54:45 ID:0yKRwHSw]
- まずはマイクロソフトのサイトからDirectX10 SDKを探してインストールして試してみてください
- 174 名前:名前は開発中のものです。 mailto:sage [2009/04/07(火) 21:41:28 ID:2mw+TwCA]
- >>173
返信ありがとうございます。 DirectX10 SDKをインストールしてみました。 (青紫の●に黄色の×のアイコン) 途中聞かれた内容はNo〜を選びそのままインストールを済ませました。 その後実行に随分時間がかかりましたが、無事完了したと思います。 ですが現状は変わりませんでした。 ちなみにOSはVistaです。 ELECOM製品のPS2のコントローラを変換するものを通してやってますが ドライバもVista対応のものを入れて再起動もしています…。
- 175 名前:172 mailto:sage [2009/04/07(火) 23:14:35 ID:2mw+TwCA]
- なぜか解決しました!
どうもお騒がせしました!
- 176 名前:名前は開発中のものです。 mailto:sage [2009/04/07(火) 23:47:56 ID:2mmIIsMt]
- 原因はコントローラの接触不良とかじゃね
- 177 名前:名前は開発中のものです。 mailto:sage [2009/04/08(水) 08:06:31 ID:TTYdMFcm]
- >>161
ここかな? サウンドノベル・ビジュアルノベルのシナリオ4 pc11.2ch.net/test/read.cgi/gamedev/1213325353/
- 178 名前:名前は開発中のものです。 mailto:sage [2009/04/08(水) 15:32:13 ID:seQYh4Lz]
- ManagedDirectX+C#で開発中ですが、
戦略シミュレーションのマップデータ(2D)の管理の仕方に困っています。 グラフィックを多用するので、できるだけ処理速度が必要です。 外部読み込みでマネージ配列に情報を格納するという処理を行いたいのですが、 最低上限1000x1000(int)の配列がいくつか必要だと考えています。 プロパティだとかインデクサとかありますが、何が適切でしょうか。 それとも静的配列で格納するべきなのでしょうか。
- 179 名前:名前は開発中のものです。 mailto:sage [2009/04/08(水) 15:51:01 ID:Vxe0fs9Y]
- 「最低上限」という単語にひっかかりを感じるがw
インデクサで表現した方が良いかというのは難しい問題で、作り手が決めるものだしなぁ。 データを圧縮するためにインデクサを利用して、2次元配列的にアクセスしやすいものを作る とか考えているのかな?とかいろいろ考えられすぎて困るw たとえばRLEとかで圧縮したマップチップをインデクサつかって適切に取り出すとか。 で、今でてきている情報だけで判断すると、 マップ表現として1000*1000の配列が必要であったとしても、 それ以外の配列が本当に必要かどうかは検討し直したほうが良いと思う。 なんも考えないで、いくつも静的に確保して、 メモリの問題とかが出てきてから考えればいいとおもうんだ。 作ってる途中の最適化なんてばからしいからやめておけw
- 180 名前:名前は開発中のものです。 mailto:sage [2009/04/08(水) 16:00:06 ID:iI1UgMGD]
- まずはベタで作って遅けりゃ考える
でいんじゃね
- 181 名前:名前は開発中のものです。 mailto:sage [2009/04/08(水) 16:38:53 ID:seQYh4Lz]
- >>179-180
ありがとうございます。 説明不足で申し訳ないです。 > インデクサ すみません。軽はずみに適当な例をあげてしまいました。 本筋とは脈絡のない話ですが、個別の変数名をもった(体力、攻撃…など) パラメータなどを配列化して一元管理しようと思っていたのですが、 これもまた誤用だったのかもしれません。 > マップ表現として1000*1000の配列が必要であったとしても、 > それ以外の配列が本当に必要かどうかは検討し直したほうが良いと思う。 もしかしたら自分は勘違いしていたかもしれません。 その座標固有のフラグや、Aスターアルゴリズムなどの情報を 別途の配列に格納していたのですが、もしかして無駄なメモリを消費していたのでしょうか。 > 遅けりゃ考える 何だか作ってもソースが汚く見えてしまうんです。 もう6回くらい作り直してるんですが、 汚いソースを手直ししたくないという欲望がありまして…orz
- 182 名前:名前は開発中のものです。 mailto:sage [2009/04/08(水) 17:07:23 ID:iI1UgMGD]
- まだよく見えないので適当にエスパーして言うけど
グリッドのクラスを配列化するだけじゃだめなのか?
- 183 名前:名前は開発中のものです。 mailto:sage [2009/04/08(水) 17:24:23 ID:Vxe0fs9Y]
- >>181
>個別の変数名をもった(体力、攻撃…など) >パラメータなどを配列化して一元管理しようと思っていたのですが、 >これもまた誤用だったのかもしれません。 これは普通にクラス化してプロパティとしてアクセスするのが良いのじゃないかな。 インデクサだと嬉しいところってのがあんまり思い浮かばない。 これは設計している上じゃないと思いつかないもんだからなぁw >その座標固有のフラグや、Aスターアルゴリズムなどの情報を >別途の配列に格納していたのですが、もしかして無駄なメモリを消費していたのでしょうか。 マップの地形情報とかは確実に前座標に必要な物だけど、 たとえばその上に乗っかる建物情報(大戦略でいえば都市や空港)は 別のListとか配列とかにすれば良いのじゃないかなぁ。 HashMapとかのほうが今回の目的には合っているかもしれない。 Aスターアルゴリズムの情報をどう持っているかわからんけど、 計算後の最短経路をリストで持つだけなんじゃないの? 計算途中でも配列が必要な場面は無いと思うんだな。 >何だか作ってもソースが汚く見えてしまうんです。 >もう6回くらい作り直してるんですが、 >汚いソースを手直ししたくないという欲望がありまして…orz 完成>>ソースの綺麗さ ってのだけは重要。 どんだけ綺麗に書いても完成しなければクソだ。 アルゴリズムの勉強もすでにやっていると思うから つぎはデータ構造についての勉強をすると良いと思う。 この二つは切っても切れない関係だからね。 そうすれば、自分の思うデータを、どのデータ構造で表現すれば効率が良いかがわかってくると思う。
- 184 名前:名前は開発中のものです。 mailto:sage [2009/04/08(水) 17:27:39 ID:l7yernqc]
- >>181
だいたい1000*1000のマップは上段抜きにやる気がしない。 最初は20*20ぐらいの小さいので作ればいい。 そうすれば、探査アルゴリズムの作るのが楽になる(デバックしやすい) 全体い機能が動く小さなプロトタイプが出来てから大きくすればいい。 >(体力、攻撃…など) これは普通キャラガもつべきデーターでマップには必要ない。 キャラデーターにマップ上のXY,座標をを持てばいい。 >Aスターアルゴリズム で探査尾する場合のマップデータは一時的に一枚持てばすむ。 >座標固有のフラグ これらは、へっくすの種類データの中に埋め込むのがいい。 へっくすの種類で沼地なら移動が遅い、とする。 別途ほしければ、使っていない上位ビットを使う。
- 185 名前:181 mailto:sage [2009/04/08(水) 17:28:16 ID:seQYh4Lz]
- >>182
あ、なるほど! その発想はありませんでした。 そっちの方がいいと思います。 分かりにくい説明でした。
- 186 名前:181 mailto:sage [2009/04/08(水) 17:51:25 ID:seQYh4Lz]
- >>183
ありがとうございます。 > インデクサだと嬉しいところってのがあんまり思い浮かばない。 確かに配列化しても、結局クラス内の配列を指定しているだけなのだと 思う節はありましたが、意外です。 > たとえばその上に乗っかる建物情報(大戦略でいえば都市や空港)は > 別のListとか配列とかにすれば良いのじゃないかなぁ。 > HashMapとかのほうが今回の目的には合っているかもしれない。… 建物などはそう考えていました。 HashMap…ググってみます。 > Aスター 対象との距離(コスト)を各座標に格納していますが、 より距離の短い経路があればそちらを選ぶ必要があると思ったので、 必要ではないでしょうか。 > 完成>>ソースの綺麗さ なるほど。潔癖は良くないですね。 > アルゴリズムの勉強もすでにやっていると思うから > つぎはデータ構造についての勉強をすると良いと思う。 ありがとうございます。アルゴリズムも触り程度しか勉強してませんが、精進します。
- 187 名前:181 mailto:sage [2009/04/08(水) 18:00:49 ID:seQYh4Lz]
- >>184
> 最初は20*20ぐらいの小さいので作ればいい。 > そうすれば、探査アルゴリズムの作るのが楽になる(デバックしやすい) 勿論そうです。 > これは普通キャラガもつべきデーターでマップには必要ない。 > キャラデーターにマップ上のXY,座標をを持てばいい。 すみません。インデクサの用例のため関係ない話題を取り上げてしまいました。 キャラのデータは個別にクラス化しています。 > へっくすの種類 ググってみます。 時間を割いて下さって、ありがとうございます。 あとは何とかググって解決します。
- 188 名前:名前は開発中のものです。 mailto:sage [2009/04/08(水) 18:17:35 ID:Vxe0fs9Y]
- >対象との距離(コスト)を各座標に格納していますが、
>より距離の短い経路があればそちらを選ぶ必要があると思ったので、 >必要ではないでしょうか。 マップチップとコストって等価じゃないの? たとえば、ある地点が山地であったとしても、 キャラクタが飛行タイプであればコスト1、 人間タイプだと4とか、そんな感じだよね。 こんな感じでキャラクタの属性として、移動タイプとか持たせれば マップチップを保持する配列一つだけで、コストマップが作成できると思うんだけど?
- 189 名前:181 mailto:sage [2009/04/08(水) 18:40:48 ID:seQYh4Lz]
- >>188
間違っているかもしれませんが、 ×に辿り着くため○、◎の経路があったとして (□が原点、■が障害物) 原点からの経路によって移動コストが異なる場合、 その先(×以降)を検索する上で誤差が生じると思います。 □◎◎ ○■◎ ○○×… 私の関数では1マスずつ検索して、同一マスに辿り着けば コストの低い方を次のオープンリストに追加するというものなので、 経路によって誤差が生じるのではないかと思ったのですが。
- 190 名前:名前は開発中のものです。 mailto:sage [2009/04/08(水) 19:08:13 ID:Vxe0fs9Y]
- 別に間違ってないと思うよ。
ただ、最初に決めるモンじゃなくて、移動行動ごとに最探索するものでしょ? ノード間(ここではヘクス間)の重みはマップチップと等価でしょ? で、探索はA*でやるから、全てのノードをチェックする可能性が少ないわけだよね? となると、1000*1000の配列は必要ないでしょ?ってこと。
- 191 名前:181 mailto:sage [2009/04/08(水) 19:23:08 ID:seQYh4Lz]
- >>190
確かにそうですね。移動量の矩形の領域だけかもしれません。 それに、ローカルで事足りると思いました。把握しました。
- 192 名前:名前は開発中のものです。 mailto:sage [2009/04/10(金) 04:56:06 ID:q4HGwHB4]
- 3ヶ月くらい前にどっかの博士課程かなんかの人が3dゲーム開発エンジンみたいなのを
たしか経済産業省かなんかのサポート付きで開発した、みたいな記事読んだんだけど (かなりあいまい、詳細違うかも) 分かる人いませんか?
- 193 名前:名前は開発中のものです。 mailto:sage [2009/04/10(金) 16:39:12 ID:p+jWJ3R2]
- >>192
未踏ソフトウェア創造事業 とかでググったらなんかヒットすんじゃないの? これか? ttp://jp.3d-tcpdump.org/
- 194 名前:名前は開発中のものです。 mailto:sage [2009/04/10(金) 16:43:07 ID:p+jWJ3R2]
- >>192
あとこんなのもあったが、ちと古いか・・・ ttp://lamp.sourceforge.jp/
- 195 名前:名前は開発中のものです。 [2009/04/10(金) 20:58:47 ID:IWmoplMV]
- ハローワールドが終わったら次は何を練習していくのが普通なんだ?
- 196 名前:名前は開発中のものです。 mailto:sage [2009/04/10(金) 21:15:25 ID:qGPoIXmj]
- ウィンドウが作れるようになる。
→窓に絵をかけるようになる。 →音を鳴らせるようになる。
- 197 名前:名前は開発中のものです。 mailto:sage [2009/04/10(金) 21:21:30 ID:BzNecVUy]
- 全ての言語でハローワールドを出すまでは終わらせてはいけない
- 198 名前:名前は開発中のものです。 mailto:sage [2009/04/10(金) 21:23:17 ID:cdOEBCsg]
- ウィンドウズならコントロールの配置とウィンドウプロシージャを使いこなすんだな。
MFCはそれを覚えてからの方がより役に立つ。…ゲームでMFCは使わないかな? 俺は使うけど。
- 199 名前:名前は開発中のものです。 mailto:sage [2009/04/10(金) 21:27:20 ID:Y7HGhfIy]
- もうテキトウなDiectX本でも買ってきて、サンプル手コピーして弄々しちゃったら?
- 200 名前:名前は開発中のものです。 mailto:sage [2009/04/10(金) 21:34:18 ID:iRprjuDB]
- >>195
ハローワールドが出せたという事は、 お前は、既にその言語を完全にマスターした達人だから、 さっさと次の言語にとりかかるべき
- 201 名前:名前は開発中のものです。 mailto:sage [2009/04/10(金) 21:37:30 ID:o/eQJnMQ]
- ハローワールドの次は、おはようございます、こんばんわだ。
そして、アイワ世界を救う を100万遍したら、南国の孤島に行きなさい!
- 202 名前:初心者 [2009/04/10(金) 21:49:43 ID:AuUTXtVm]
- 携帯からですがすいません。
携帯でアクションゲームを制作したいのですが、おすすめのツールやアプリなどはありますか? 因みに機種はFOMA800Iです。
- 203 名前:名前は開発中のものです。 mailto:sage [2009/04/10(金) 21:57:48 ID:q4HGwHB4]
- >>194
これだったと思う。 ありがとう
- 204 名前:名前は開発中のものです。 mailto:sage [2009/04/10(金) 22:51:19 ID:cdOEBCsg]
- 初心者がいろんな言語に手を出しても器用貧乏になればまだマシな方。
役立たずになるのがオチだ。
- 205 名前:名前は開発中のものです。 mailto:sage [2009/04/10(金) 23:09:08 ID:wsd3mkuO]
- 選べる事は良いことだ
あれこれ使って見て、使った中で、 自身の性格に似合うものを選べばよい。
- 206 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 00:05:44 ID:+IU6HpLu]
- >>202
とりあえず公式へ www.nttdocomo.co.jp/service/imode/make/content/iappli/ iアプリは505世代までしかやってなかったから、今どうなってるのかは知らん
- 207 名前:初心者 [2009/04/11(土) 10:03:17 ID:2uP0z5Zy]
- ダウロ出来ませんでした…。
まだまだ初心者なのでもうちょっと粘ろうと思いたいです。
- 208 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 12:06:46 ID:9kwp9HM9]
- 最近の馬鹿ってダウロと略すんだ…。
異文化を学んだ。
- 209 名前:名前は開発中のものです。 [2009/04/11(土) 13:55:36 ID:2FSavDqm]
- 3Dのアクションゲームを作ろうと思っているのですが、3Dのマップデータはどのようにして管理するものなのでしょうか?
作ろうとしているゲームは、マリオ64やゼルダの伝説のような感じのものです。 マップの大きさに応じた3次元配列によってマップを表現する、という方法なら思いついたのですが、なんだか泥臭いやり方のような気がして…。 なにかスマートな方法はあるのでしょうか?よろしくお願いします。
- 210 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 14:52:38 ID:KnPcD7P5]
- 別にセルでうめるわけじゃないんだから
どこに何を置くかのデータだけ(できれば外部ファイルで)持てばいいじゃない
- 211 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 15:57:06 ID:Z4tpim7M]
- マップについて一般論として
屋外と室内に分けます。古いものは室内を屋外として使っていた @ポリゴンで作る。小規模 A高さマップで作る。屋外向け BBSPマップで作る。室内向け C独自形式で作る。 このように分類されて、使う用途によって選択される。 また、LODなどによって最適化を行うことで広いマップもできる。 例えば、メタセコイアを使ってポリゴンで作る、高さマップを作る。 BSPはQuakeなどのMODを作る手順で行い、ツールも容易に入手できる 古いPCだと多重の最適化しなければならなかったが、今時のPCだと 無理せずとも、ポリゴンだけでも簡単に作り出せる。 当然ながら、目的によって選び方違ってくるから何をしたいかが重要です。
- 212 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 19:04:09 ID:+g7L3WW6]
- >>211
その説明だと誤解を生じそうだな まるで2から4がポリゴンでないように読み取れる 2以外は3Dなら結果として保持するデータは 3次元配列で同じだし。 1は1個の空間を別々に作って、プログラム上でそれの切り替えでする 3は空間はゲームとは別のツールで予め自動で区切られる、 それをまたプログラムで切り替える 2はグリッド状の地形で高さのみ保持しとく表示部分の絞込みは octreeとかでする 4はいみがわからんw
- 213 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 20:11:28 ID:Z4tpim7M]
- 3次元配列の意味がわからんのだよね
マップの付属装飾品の意味だったなら、ボーンで配置するのだけれど
- 214 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 21:57:29 ID:MW0X47d7]
- マップで思い出したのだが、初代スーパーマリオに出てくる「穴」って、穴自体がオブジェクトとして配置されてるらしいね。
逆に考えてしまいそうなものだけれども。
- 215 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 22:21:26 ID:oi/Z2oTr]
- あのゲームの地面って大地とマグマと穴しかないじゃん
- 216 名前:209 mailto:sage [2009/04/11(土) 23:54:01 ID:2FSavDqm]
- マップデータというのは地形データのことです。
質問の書き方があいまいでした。申し訳ありません。 >>210 アイテム等のオブジェクトはその方針で実装していくつもりです。 地形データはどうやるのが一般的だろう…と思ったので質問させていただきました。 >>211 >>212 ありがとうございます。 とりあえず屋内を作っていこうと思っているので、>>211の@,Bでやっていこうかと思います。 >>213 説明不足で申し訳ありません。 マップの付属品はまた別で、地形データのことです。
- 217 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 23:59:46 ID:+g7L3WW6]
- >>211
BSPはQuakeなどのMODを作る手順で行い、ツールも容易に入手できる ライブラリを使わないでBSP形式を表示するサンプルコード ってどこかにある?
- 218 名前:名前は開発中のものです。 [2009/04/12(日) 16:09:57 ID:PVgcryw9]
- CGIゲームってどこで勉強すればいいですかーー?
需要ないかもなぁ
- 219 名前:名前は開発中のものです。 mailto:sage [2009/04/12(日) 18:35:21 ID:1xOLFXsM]
- BSPに関して、
Quakeのソースコードを読めと言われるでしょう これは内容が難解であるから、素人向け解説は無いと思う。 より簡単な方法が他にもたくさんあるのだから別の方法を調べるのがよいと思われる。
- 220 名前:名前は開発中のものです。 mailto:sage [2009/04/12(日) 19:54:18 ID:vw2uNoL2]
- 原理は難しくないよね、BSP
- 221 名前:名前は開発中のものです。 [2009/04/13(月) 08:19:32 ID:dVdDJEiy]
- なんの役にも立たない上級者気取り
- 222 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 13:42:37 ID:M0gnt9K0]
- >>221
まったくもって正しい指摘だが、ここ2ちゃんだしな
- 223 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 16:48:48 ID:Pt/GtVYW]
- DirectXの「3Dのモーション再生」に関してなのですが、
複数のパーツ(オブジェクト)を組み替えて 1スキンメッシュを作り動かしたいのですが、(いわゆる3Dの着せ替え機能) 無理やり頂点・面・マテリアル情報等を押し込んでも、 管理がシビアになりそうですし、 普通はどう頂点・面情報を管理しているものなのでしょうか? 現状、手に物を持たせてモーション再生する程度までは出来て、 モデルとモーションは別ファイル、 使用中のXファイルのデータ形式はほぼ把握している。と言った状況です。 よろしくお願いします orz
- 224 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 18:03:47 ID:IXZy+dwd]
- 結局なにを聞きたいのかよくわからんが
単純な方法だと まず本体となるXファイルを読み込む これは基本となるボーン構造をもっていて パーツ=メッシュコンテナになるように複数のMeshをもったXファイルにしておく そしてパーツ用のXファイルを別に読み込み 本体の入れ替えたいパーツのメッシュコンテナのアドレスを 新たに読み込んだパーツのメッシュコンテナのアドレスを入れ替える あとは本体のボーンとメッシュコンテナの関連付けを再度行えば良い
- 225 名前:223 mailto:sage [2009/04/13(月) 20:02:40 ID:Pt/GtVYW]
- >>224
メッシュコンテナ・・そういう技法が有るんですね。 ググると色々出てきました。 メッシュコンテナに対してモーションを適用させるコード・・ 頑張って探しまわってみます。 ご助言感謝・・っ
- 226 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 20:44:34 ID:IXZy+dwd]
- >メッシュコンテナに対してモーションを適用させるコード・・
>頑張って探しまわってみます。 そこはSDK付属のスキンメッシュのサンプルの どこで何をやってるのかをきちんと理解していれば コード内に含まれてる作業なんだが
- 227 名前:名前は開発中のものです。 mailto:sage [2009/04/14(火) 00:44:11 ID:6wAdjvVs]
- >>225
基本的には、FrameとMeshContainerという抽象クラス、 およびアニメーションつきXファイルを読み込むためのなんとかHierarchy抽象クラス(名前忘れた)を使えばいい。 詳細は自分で実装する必要があるけど、大抵は決まりきったコードを決め打ちして終了。 それぞれ、 Frameが3Dモデルのボーンに対応。つまり位置や向きオフセット値。FrameはMeshContainerを保持できる。 MeshContainerは3DモデルのObjectに対応。Mesh、マテリアル、テクスチャなどをメンバに持つ文字通りのコンテナクラス。 Hierarchyは、3Dモデルを読み込む際に必要な、FrameとMeshContainerのファクトリメソッドを自前で定義するためのもの。 読み込まれるデータのデータ型はMeshではなく、AnimationRootFrame。こいつはルートのFrameとAnimationControllerを保持する。 なお、あらかじめ3Dモデルに仕込んでおいたアニメーションは、AnimationControllerで一括操作できる。 今回の着せ替えだが、例えば剣を持たせたいとした場合、あらかじめ剣に対応する位置のボーンだけ作っておく。 DirectX上では、ワールド行列〜剣ボーンFrameのオフセット行列までを、左からかけていった行列を取得して使用すれば そこにグラフィックを配置できる。 例えば、 剣ボーン*手ボーン*下腕ボーン*上腕ボーン*肩ボーン*背骨ボーン*ルートボーン*ワールド行列といった感じ。 もちろんFrameが保持するMeshContainerもこの手順で計算した行列を使用する=毎回計算する必要があるので、 普通Frameに計算した行列を保持できるようにしておく。
- 228 名前:名前は開発中のものです。 mailto:sage [2009/04/14(火) 00:59:08 ID:AHQvIfqg]
- まゆ毛ボーン
- 229 名前:223 mailto:sage [2009/04/14(火) 14:04:04 ID:8xQZFmxj]
- >>226
>SDK付属のスキンメッシュのサンプル なるほど・・。書籍やWebサンプルから調べて継ぎ接ぎしてました; SDKのサンプルのコードが 上手く動かない物が幾つか有ったせいで毛嫌いしてましたが; 部分で部分調べて参考にしてみようかと思います。 >>227 ID3DXAllocateHierarchy なのかな。 ご説明ありがとうございます。 大まかにですが、流れは理解できた気がします。 どうも今の描画機能とは全く別物を作らないと・・って事は理解できました。 でも一度実装さえできれば、素材制作とかが相当に楽になりそうですね。 でもその前に、抽象クラス・およびクラスについて しっかり再勉強しないと実装できなさそうなので、実装はいつになるやら。 orz >>228 ≡ ≡ ; ω ; 為になりました。ご助言感謝っ
- 230 名前:名前は開発中のものです。 mailto:sage [2009/04/18(土) 11:49:00 ID:s+M9Sh+Q]
- ゲームのキャラのドットデータとかって、どこかに一覧で公開されてたりしてませんか?
- 231 名前:名前は開発中のものです。 mailto:sage [2009/04/18(土) 12:54:40 ID:i45TuxvD]
- >>230
一覧で公開はされてない。 「ゲームのキャラのドット」が市販ゲームの二次創作なら板違いだし、2ちゃんねるで聞いたところで、 サイト晒しになるので答えは返って来ない。 自作ゲームに使える素材、という意味なら、「ツクール 素材」でググれ。
- 232 名前:名前は開発中のものです。 mailto:sage [2009/04/18(土) 17:26:25 ID:s+M9Sh+Q]
- >>231
なるほど。ありがとう。
- 233 名前:名前は開発中のものです。 mailto:sage [2009/04/18(土) 23:08:35 ID:lIDQOA3e]
- xp+directX 9.0cでゲームっぽいものを作っています。
ロジックが重くて困っています。 というのも、コンソール環境で制作したロジックを ゲーム開発環境本体に持っていくと 処理時間が10倍以上にふくれ上がってしまうのです。 (QueryPerformanceCounterで測定) たとえばコンソールで殆どノータイムのファイルオープン処理が 本番環境だと10ミリ秒かかったりします。 何か考えられる原因などが分かりましたら、教えていただけると助かります。
- 234 名前:名前は開発中のものです。 mailto:sage [2009/04/19(日) 00:04:41 ID:W/HVQAYB]
- まずは両環境のスペックと常時動いているソフトウエアを出せ。
- 235 名前:233 mailto:sage [2009/04/19(日) 02:36:23 ID:OZMPsI83]
- >>234
両環境とも同じパソコンで動かしています。 *スペック CPU:Intel CoreDuo2 E8500 3.16Ghz メモリ:3.00 GB RAM グラフィックカード:GeForce 9500 GT directX 9.0c *常駐ソフトフェア avast(ウィルス対策ソフト) 窓使いの憂鬱 他にも伝えるべき情報がありましたら、教えてください
- 236 名前:233 mailto:sage [2009/04/19(日) 02:39:24 ID:OZMPsI83]
- 書き忘れました。
ドライブ:IntelSSD X25-E Extreme SATA SSD(X25-E) SSDはあまり関係ないと思っているが…。
- 237 名前:名前は開発中のものです。 mailto:sage [2009/04/19(日) 14:23:06 ID:YxCYQRMq]
- 思うだけじゃなくてちょっとでも考えに浮かんだのなら別環境で試せ。
で、デバッグ環境だからじゃないの? 思い切りログ出力したりプロファイルとったりしてない?
- 238 名前:名前は開発中のものです。 mailto:sage [2009/04/19(日) 23:49:33 ID:Fl3oW2m3]
- C言語の質問だけどいいかな?
まぁ簡単な質問なので。 externって値が保存されるってことはメモリ食うから出来ればあまりつかわない方がいい? それともジャンジャン使うべき?
- 239 名前:名前は開発中のものです。 mailto:sage [2009/04/20(月) 00:12:39 ID:kQufoCL7]
- >>238
コンパイラを実行するマシンのメモリを食うって意味か? 実行環境の話なら、同一の実体を複数のソースファイルから参照するってだけだから 使用するメモリが増えることはないと思うんだ。
- 240 名前:名前は開発中のものです。 [2009/04/20(月) 23:54:03 ID:QNsHeDPi]
- >238
ゲーム中ずっと常駐する必要があるんだったらグローバルでもいいんじゃね ただしサイズが大きい(画像データ格納用とか)とか、常に必要なわけじゃなければポインタ変数のグローバル変数にして領域自体は動的確保したほうがいい メモリうんぬんよりグローバル変数使うときはスパゲッティにならないように気をつけて staticにできるならstaticのほうがいい
- 241 名前:225 mailto:sage [2009/04/21(火) 00:02:31 ID:GZPZ4pc8]
- C++・DirectXのメッシュコンテナで「3Dの着せ替え」をしようとしている者です。
あれから >ttp://www.shader.jp/xoops/html/masafumi/directx9/3dtips/d3d16.htm のサンプルを元に、他Webサイトの解説やMSDNを見て周り、 ・フレームの入れ子に、メッシュ情報もバラバラに保管される ・モーションはアニメーションコントローラーで別管理 と、その他大まかなデータの構造、全体の処理の流れは理解したつもりなのですが、 複数のモーション、複数のモデルを管理する場合、 STL(vectorの予定)で管理するのは当たり前でしょうか? また、武器など手に持つモデル単品をメッシュコンテナに読み込んで良いものか 悩んでいるのですが、もしこういう方面の解説が載っているサイトを ご存知でしたら、教えて頂けると幸いです。 微妙な質問ですが、よろしくお願いします orz
- 242 名前:名前は開発中のものです。 mailto:sage [2009/04/21(火) 08:39:58 ID:h92/2fAR]
- 実装なんて好きにすりゃいいじゃん、って思うのは俺だけ?
- 243 名前:名前は開発中のものです。 mailto:sage [2009/04/21(火) 12:35:18 ID:h92/2fAR]
- ADVの見本として、アリスソフトのしまいま、ソフトハウスキャラのウィザーズクライマー体験版をプレイしてみたんだけれど、
ほかに抑えておけっていうメーカーさんってどんなところがありますか?
- 244 名前:名前は開発中のものです。 mailto:sage [2009/04/21(火) 13:10:22 ID:Q9Hh4CWZ]
- エロゲ板で聞けば?
- 245 名前:名前は開発中のものです。 mailto:sage [2009/04/21(火) 13:15:53 ID:ECa4+T1M]
- 逆転裁判体験版
ってまだあったっけ
- 246 名前:名前は開発中のものです。 mailto:sage [2009/04/21(火) 15:10:55 ID:ySLZfUK5]
- >241
一般的なやりかたとかはないから、みんな自分なりに模索しながらやってる vector使うなら内部でどうメモリが確保されてるか把握してたほうがいい 使用している要素以上のメモリが確保されてたり、要素を追加したときにコンテナが確保しているメモリサイズをこえた場合、メモリの再確保が行われてメモリコピーが発生することがあるのは把握してたほうがいい 趣味のゲーム制作は常に学習題材として、いろんなことを試すのもひとつの楽しみ方だったりする
- 247 名前:名前は開発中のものです。 mailto:sage [2009/04/21(火) 15:11:36 ID:ySLZfUK5]
- >241
一般的なやりかたとかはないから、みんな自分なりに模索しながらやってる vector使うなら内部でどうメモリが確保されてるか把握してたほうがいい 使用している要素以上のメモリが確保されてたり、要素を追加したときにコンテナが確保しているメモリサイズをこえた場合、メモリの再確保が行われてメモリコピーが発生することがあるのは把握してたほうがいい 趣味のゲーム制作は常に学習題材として、いろんなことを試すのもひとつの楽しみ方だったりする
- 248 名前:241 mailto:sage [2009/04/21(火) 15:27:24 ID:dynOcA6s]
- >>246
ありがとうございます。 vectorにはそういうクセが有るのですね。 注意するようにしてみます。 といってもメモリの状態の確認方法がまだいまいち解らないので、 デバッガ等、そういう確認機能も学習しないとですね。 ご助言感謝っ
- 249 名前:名前は開発中のものです。 mailto:sage [2009/04/21(火) 19:52:10 ID:bDHju077]
- メモリの状態の確認って、どうやってやるのでしょうか?
・ポインタの配置位置とメモリーサイズから計算する ・タスクマネージャで確認する 他に方法があるならお願いします。
- 250 名前:名前は開発中のものです。 mailto:sage [2009/04/21(火) 20:07:01 ID:bDHju077]
- 追加でつ
・ソースから類推する ・メモリー使用時、取得時、解放時の速度を計測する
- 251 名前:名前は開発中のものです。 [2009/04/21(火) 20:44:53 ID:ySLZfUK5]
- newをオーバーロード(ライド?)して自前new関数の中に計測コードを書いて確認
- 252 名前:238 mailto:sage [2009/04/21(火) 22:02:13 ID:BZmrxDa1]
- 質問したのを忘れてた。
ありがとうございやしたぜ。 ちなみに実行時の話でしたん。
- 253 名前:名前は開発中のものです。 mailto:sage [2009/04/22(水) 18:54:57 ID:j45NZbf1]
- 乙!
- 254 名前:名前は開発中のものです。 mailto:sage [2009/04/23(木) 18:13:24 ID:Jw7hvGmp]
- アケゲを改造したいのですがどういった手順を踏めばよいのでしょうか。
cpuとROMひっこぬいて読込→解析→書き換えであっていますか? 初心者で無知なのは承知ですどなたかお願いします。
- 255 名前:名前は開発中のものです。 mailto:sage [2009/04/23(木) 18:15:49 ID:2ZTdKaAT]
- >ROMひっこぬいて読込→解析→書き換えであっていますか?
あってるといえばあってるけど、まず、ROM引っこ抜くってのがあなたにできる? 普通にMAMEでも触ってるほうがいいと思うんだが。
- 256 名前:名前は開発中のものです。 mailto:sage [2009/04/23(木) 18:30:43 ID:Jw7hvGmp]
- >>255様ご回答ありがとうございます。
ROMのひっこぬきはできました。 ライターもあるので読込めるのですがどのROMをいじればいいのかわからないのです。 6502 27128*2 27c256といった具合に載っているのですが6502を読込んで逆アセとやらで解析書き換えをすればよいのでしょうか? どのromにどんなデータが入っているかは覗くまでわからないのでしょうか?
- 257 名前:名前は開発中のものです。 mailto:sage [2009/04/23(木) 20:06:01 ID:HS2x3syG]
- 板違い。
- 258 名前:名前は開発中のものです。 [2009/04/24(金) 10:19:12 ID:FYDc6f6i]
- DirectSoundで音鳴らそうと思ってるんですが、これって実質WAVEファイルしか再生できないの?
- 259 名前:名前は開発中のものです。 mailto:sage [2009/04/24(金) 14:58:53 ID:1NcBMuLo]
- 自分でデコードするかDirectShowからならmp3でもいける
- 260 名前:名前は開発中のものです。 mailto:sage [2009/04/24(金) 22:49:51 ID:tgj09rNI]
- 面倒臭いからDirectうんこは避けた方がよい
|

|