C/C++ゲーム製作総合スレッド Part1 at GAMEDEV
[2ch|▼Menu]
[前50を表示]
250:名前は開発中のものです。
12/06/04 00:48:35.66 suZpr76G
何回も同じような質問するのはまずいだろ

「やろとしたができなかった」とか「やってみたが効果がいまいちだった」とかなら
それを軽く説明してから改めて質問に入るべきじゃね

でなきゃ>>243だよ。相手する意味がないしな

251:名前は開発中のものです。
12/06/04 00:55:06.96 NFm2pd34
銃は発射するだけだろ。弾受け取って兵士が処理すりゃいい。
フルアーマーの奴と、裸の奴もおるだろ。

252:名前は開発中のものです。
12/06/04 01:12:22.83 5kM6hLnq
じゃあ生成したユニットデータに座標を持たせるのと、
マップの座標にユニット番号持たせるのどっちが良いのっと

253:名前は開発中のものです。
12/06/04 02:02:20.06 NFm2pd34
好みだろ

254:名前は開発中のものです。
12/06/04 05:46:34.75 BRzk8XkE
>>252
どっちも持たせる。


255:名前は開発中のものです。
12/06/04 07:59:01.95 weX4F0Ac
>>251
基本的に当たり判定って食らう側がするもんだよね

256:名前は開発中のものです。
12/06/04 08:37:58.08 kLL4aZzx
>>255
どっちでもやる事は一緒。


257:名前は開発中のものです。
12/06/04 08:47:58.63 Em2GMpFA
>>252
処理多くならない?

258:名前は開発中のものです。
12/06/04 08:48:30.58 alVEkGAv
この手の話って、常に正解を教えられて育ってきた人間が、精神病のごとく質問してくるよね。
自分で決めていいことなのに、自分で決められず、
誰かに正解を提示されないと不安で仕方がない心の病気にかかっているヤツ。

259:名前は開発中のものです。
12/06/04 09:49:57.78 TYJ+eYx9
それまで・これからのコーディングやゲームデザインによっても変わってくるしな。
その上で、この手法はこういうデメリットがあるし、
あの手法はああいうデメリットがあるし悩んでる。
っていうのを言えば、こういう方法があんじゃね?
ってことも言えるんだけど。
質問が大雑把過ぎるんだよな、結局。
恐らくデザインやクラス設計がイマイチ固まってないんだろう。

260:名前は開発中のものです。
12/06/04 10:15:50.33 kLL4aZzx
弾が速くて可変フレームレートの場合は、
前回の位置と今の位置との線分で当たり判定が必要だから、
弾を移動させるロジックと同時に判定もさせた方が
楽だと思うに一票。


261:名前は開発中のものです。
12/06/04 13:25:02.85 kY76Nlsr
銃の弾は、弾の移動でやったほうが楽だし
地雷の接触などはキャラが動いた時のほうが楽だし
楽なほうでやったらいいんじゃないかい
もしくは当たりイベントのスレッドをつくって統括するって方法もあるけど

262:名前は開発中のものです。
12/06/04 14:00:18.48 GfSYyx1Y
弾クラスには弾クラスだけで、兵士クラスには兵士クラスだけで
完結するメソッドを持たせて、存在する全ての弾と兵士にアクセスできる
判定クラスがあればいんじゃね?
mediatorパターンというか、トランザクションスクリプトというか
Cライクやり方をお勧めする。

class Judge {
Bullet* all_bullet_array;
Soldier* all_soldier_array;
void judge_all(){
for(...){...};
}
};

263:名前は開発中のものです。
12/06/04 15:48:15.62 nQ9KtldE
FPSなら線分で良さそうに思えるが
毎フレーム接触判定してるもんなのかな

264:名前は開発中のものです。
12/06/04 16:20:02.21 GfSYyx1Y
3Dかどうかもわからんが、彼のレベルからすると
ファミコンマリオぐらいのアクションゲームだと思う。

265:名前は開発中のものです。
12/06/04 20:21:19.07 NFm2pd34
シミュレーションかもしれんぞ

266:名前は開発中のものです。
12/06/04 20:30:56.37 QyF/fiyn
マリオって作るの結構難しいよね
あのジャンプなんだよ

267:名前は開発中のものです。
12/06/04 21:55:13.21 q0NKYXAt
ジャンプ中、亀を蹴って飛び上がれるときと当たって死ぬときが
あるけどどういう判定にしているのかみたいな話題がどっかのスレであったな

268:名前は開発中のものです。
12/06/04 22:06:41.15 5kM6hLnq
>>257
射線1マスごとにユニット表総舐めする前者と
行動主を特定するのにマップを総当たりする後者
冗長構成の一貫性さえ保てればイイトコ取りの>>254

好きなのを選ぼう!

269:名前は開発中のものです。
12/06/04 22:40:23.00 l61wSE5A
ユニットスタックの概念がなかったら後者の方が単純でわかりやすいけど、
汎用性とか考えたら前者の方がよいんじゃないかという気がするな。

まぁ今のPCならメモリ不足はあまり心配する必要ないんだし、
前者をベースに後者の「ユニット判定専用マップ」を用意するってのが
いろいろできていいかも。

270:名前は開発中のものです。
12/06/04 23:31:53.31 gSaZzhQ+
リアルテイストの競馬育成ゲームで毎年生まれる馬3万体の
遺伝データをずーっとメモリに持たせたらとんでもないことになった思い出

271:名前は開発中のものです。
12/06/05 07:03:53.84 5hghPcJi
どうなったんです?

272:名前は開発中のものです。
12/06/05 19:54:18.88 X1AjLJeN
正直初心者にはマリオですらアクションゲーは無謀だと思う
まずはWizみたいな探索ゲーを作るべき

273:名前は開発中のものです。
12/06/05 19:57:18.38 AKltwP6Q
おいおいw Wizは難易度高いだろ。
最初はパックマンか倉庫番でいくべし。

274:名前は開発中のものです。
12/06/05 20:14:39.78 X1AjLJeN
そうかな
シーン管理と変数配列構造体辺り出来れば割りとなんとかできそうなんだけど

275:名前は開発中のものです。
12/06/05 20:35:08.86 s+a7RtxR
探索だけなら簡単だな。
1マス未満の移動を出来るようにするとか、戦闘やらイベントを加えると途端に面倒だと思う

276:名前は開発中のものです。
12/06/05 20:57:04.12 rQvv9pU4
宣言用.hと定義用.cpp作って
そこにexternで変数関係ぶち込むと凄い楽できることに気付いた
単純なミニゲームとかなら楽に作れそうだけど何か穴とかあるのかな

277:名前は開発中のものです。
12/06/05 21:12:18.32 s+a7RtxR
単純なミニゲームならそれでいいんじゃね。
規模に比例して、デメリットが大きくなると思うけど。

278:名前は開発中のものです。
12/06/05 23:39:25.37 mjwjZU1k
>>276
関数外のstaticの使い方とか覚えると、さらに世界が広がる
>>277
デメリットって?

279:名前は開発中のものです。
12/06/05 23:46:14.46 mjwjZU1k
>>236
ソースプリーズ
new はVirtualAllocを呼ばないだろ

280:名前は開発中のものです。
12/06/06 00:15:24.25 yfcMlTbU
extern自体あまり使うべきじゃないよな...

281:名前は開発中のものです。
12/06/06 00:31:44.41 s5fJFGX+
>>278
「グローバル変数 弊害」などでぐぐると沢山の資料が出てくるので、そちらを参考にされたい。
名前空間やシングルトンパターンなどの利用で回避できる部分もあるけどね。


あと、プログラミングにおける有名な考え方(哲学)の1つなんだけど。
ざっくり言うと、「オレ専用のモノはオレだけが知っていればいい」という考え方がある。

例えばfor文で使ってる変数iとか、他のところから見て何の価値も無いよね。
単にどうでもいいってだけじゃなく、価値のない情報が溢れかえると肝心の情報が埋没するというデメリットがある。
本当に必要なものだけを選別しないと、それこそ狼少年みたいに重要なことが見過ごされてしまうかもしれない。

ミニゲームのうちは、そういった無価値な情報が多少あっても問題にならない。
でも規模が大きくなると、相対的に不要な情報が増えてくるんだ。

282:名前は開発中のものです。
12/06/06 00:57:04.37 0Qe/6ch0
木の葉を隠すなら森の中

283:名前は開発中のものです。
12/06/06 05:05:34.22 F+8wYuiU
デバイスまとめクラスは
オレオレ名前空間内のstaticなグローバルオブジェクトにしてるな

どの程度正しく作るかって難しいよな

284:名前は開発中のものです。
12/06/06 06:13:10.68 BB9r7cef
>>274
迷路自動作成ロジックはどうする?


285:名前は開発中のものです。
12/06/06 07:30:32.76 B+n3k45G
>>281
例えばだけど、規模が大きくても付けた変数名を絶対に忘れない人が一人で作れば問題ないよな
場合によっちゃそこらへんのツールで重複調べられるしな

286:名前は開発中のものです。
12/06/06 07:45:33.71 LQ8HTB51
グローバル変数名は頭に「g_」を付けましょう。


287:名前は開発中のものです。
12/06/06 09:05:26.97 mjTHO3b4
>>285
ホントに「例えば」だな。クラス設計が分からない時、
やたらグローバルな変数を宣言してたが見事に破綻したよ。

288:名前は開発中のものです。
12/06/06 09:28:51.13 yfcMlTbU
>>285
「人によってはなんとかなることもあるから開発効率落としてみてもいいだろ。俺もそのなんとかなる人の一人かもしれないし」
こういうこと?

289:名前は開発中のものです。
12/06/06 10:15:18.79 WiOpGBsA
名前空間+グローバル変数は結構使いやすい。

.hと.cppをめんどくても分けるのは
相互参照でコンパイル通らないC++の都合だね。

290:名前は開発中のものです。
12/06/06 12:11:44.97 Ez398/8e
なんだかんだで「変数はクラスに入れとけ」となるのはわかるんだが
じゃあそのクラスのインスタンスはグローバル的に参照したらダメなんかね?

たとえばジャンルがRPGだとして、キャラクターデータを

// common.h(各cppでincludeする)
namespace Sample {
 // パーティーデータを宣言
 MyCharacterData Party;
};

// main.cpp
#include "common.h"
int main( int argc, char ** argv, char ** env ) {
 // 起動時に初期化
 Party.init();
 :
}

・・・といった作りにするのはどうなんだろ

291:名前は開発中のものです。
12/06/06 13:28:41.38 s5fJFGX+
グローバル変数のデメリットと言われるものは複数ある。
そのうちの幾つかは解消されるけど、残りは解消されないと言った感じ。

例えば、意図しない変数名のバッティングは回避されるだろう。
でも、複数の箇所から操作される可能性はそのままだ。

292:名前は開発中のものです。
12/06/06 13:31:53.21 mJCSqxTc
グローバル変数のメリットは複数の箇所から操作出来る事なのでは……。

293:名前は開発中のものです。
12/06/06 13:50:04.63 s5fJFGX+
>>292
それがグローバル変数の「特徴」だな。 メリットにもなりうるし、デメリットにもなりうる。

どうしても複数の箇所から操作しなければならない変数だけ、ピンポイントでグローバルにするのはマジ有効。
何でもかんでもグローバルにするのは、あまり好ましくないと言われる。

熟練者が使えば凄く有効に使えるけど、
俺のような初心者は、最初から「グローバル変数は絶対に使わない」と決めてしまった方が楽w
他にもgoto文なんかがそうだね。


ちなみに自分は、C++のconst変数(いわゆる定数)のみ、
きちんと名前空間で整理した上で、まさに>276の方法でグローバル化することがある。

もちろん、ビルド時間や不要な情報が増えるというデメリットは超デカいけど、
一箇所にまとまるというメリットも、それなりに大きい。

294:名前は開発中のものです。
12/06/06 13:54:50.07 mJCSqxTc
そうなんだ。
俺はどうでもいい一時変数以外は全部グローバルでやっちゃってるよ。

別んとこで確保したローカル変数をまた別んとこで利用する、なんてやりかたやってたらバグの温床になりそうで。

295:名前は開発中のものです。
12/06/06 14:03:27.96 s5fJFGX+
>>294
呼び出し元(例えばmain関数)で変数を宣言して、複数の関数に引数で渡すというのは、
ありとあらゆるプログラム(C/C++以外の言語でも!)で使われる書き方だ。

だからもし、そこに面倒臭さとか一種の恐怖感を感じるなら、
無理矢理にでも改善したほうが良いかもしれない。

その上でグローバルを使うなら、ご自由に。

296:名前は開発中のものです。
12/06/06 14:39:35.53 9xH4E1Ru
>>294
さすがにそれは言語に対する理解が足りてないだろ。

「グローバル変数は絶対使ってはいけない」みたいなことを言う人達はおかしいとは思うけどね。
グローバル変数はどうしても必要なときにだけ使った方がいいぞ。

297:名前は開発中のものです。
12/06/06 15:00:33.42 mjTHO3b4
逆にグローバルが最適ってどんなケースだろ?
サブクラス化でメッセージ受け取ったときのための、
ウインドウハンドルを記憶させたstlのmapくらい。
とりあえず俺が使ってるのはそれくらい。
dxutなんかも、使い出したらグローバル変数は使いそうだなぁ。

298:名前は開発中のものです。
12/06/06 15:35:42.70 PskKn+mp
>>294
一時変数ってローカル変数だろ?
確保したローカル変数ってなんぞ

299:名前は開発中のものです。
12/06/06 15:57:44.74 UXlaP3IH
メインループの前に変数宣言しておいて
メインループの中で弄ってるんだけど、
これってクラスのフィールドとメソッドポインタで代用できるよね
お前ら的にはこの方法どうなの?

300:名前は開発中のものです。
12/06/06 16:19:17.31 s5fJFGX+
>>299
簡潔かつ具体的にどうぞ

301:名前は開発中のものです。
12/06/06 19:31:30.78 WiOpGBsA
シングルトンとしてわざわざprivateコンストラクタとか書きたくない場合、
引数でデータを渡すセッターが書きたくない場合かな。
まあ手抜きだね。

経験や設計力の足りない人が、とりあえずグローバル変数で手抜きをしてつくり、
後で修正するのはいいんじゃないかな。

>>299
>>15さんの好きなようにやりなさい。

302:名前は開発中のものです。
12/06/06 20:03:58.82 dE87BNoI
一人で開発してるとどうしても手抜きになるのは仕方かも。
就職してチームで開発するようになればセオリーの
コーディングスタイルを学べるんだけどね。
すでに退職した人が書いたコードのバグを治す立場になれば
グローバル変数の悪どさが身を持って分かるようになる。


303:名前は開発中のものです。
12/06/06 20:08:37.83 K3C+b+6o
クラスごとに読み込み専用とか書き込み可能とかのアクセス制御を簡単に記述できるなら
何処からでも参照可能なデータクラスがあっても悪くないのかもしれないけど

304:名前は開発中のものです。
12/06/06 20:13:09.98 s5fJFGX+
システム担当が1人しかいないので大して変わらん俺…(´・ω・`)

305:名前は開発中のものです。
12/06/06 20:21:15.36 wItmrJee
そもそも数人で作れるほどの腕を持つ奴はこんなとこ来ないから別にいいよ
しかもなんでバグ前提だよ>>302

306:名前は開発中のものです。
12/06/06 20:22:50.00 z1YH6Ic0
まとめ
グローバル変数は把握出来るようにきちんと整理しておきましょう

307:名前は開発中のものです。
12/06/06 21:31:22.54 fkjdBITD
>>305
バグ0前提のほうがありえないだろw

308:名前は開発中のものです。
12/06/06 21:32:44.31 wItmrJee
一項目を一通り作ったらビルドしないの?
まさか全部作るまでテストしない…?

309:名前は開発中のものです。
12/06/06 21:35:34.97 wItmrJee
なにいってんだ俺は
一通り終わってバグがあったらその都度バグ潰すってことね

310:名前は開発中のものです。
12/06/06 21:56:51.01 s5fJFGX+
>>308-309
そこだけ訂正されても、「お前は何を言ってるんだ」は変わらんぞw

311:名前は開発中のものです。
12/06/06 22:10:00.23 Ez398/8e
というか、グローバル変数をあちこちから直接触るのが危険、はわかるが
(どうせ他人のプログラム読むにはGrep必須じゃね? みたいな揚げ足取りは置いといて)

クラスインスタンスを大域的にアクセス可能にすることにはどういうリスクがあるかな
あちこちで生成・破棄を繰り返したらヤバイとか、
マルチスレッド時変数にロック必須とかは俺にもわかる
他に目立つデメリットってどんなものがあるだろう?


312:名前は開発中のものです。
12/06/06 23:42:28.46 32DOJ83b
グローバルなフラグ処理があちこちで絡み合って、全体の処理が全くわけわからなくなるとかか?

313:名前は開発中のものです。
12/06/07 01:05:23.58 BJcvBZeM
グローバルアクセスじゃなくてもポインタで共有してたら
マルチスレッドでは注意が必要だな。

問題は追尾性じゃないかな。検索使わないで探すとしたら大変だ。

314:名前は開発中のものです。
12/06/07 07:52:16.47 Jv6ss4Bc
管理出来るなら使え、管理出来ない奴は使うな、でいいよね

315:311
12/06/07 08:05:17.72 1pAFbwR/
なるほど・・・改めて言われてみるとそうかもな
引数にしとけば関数一覧見ただけで出入りがわかるもんな
今後参考にする、ありがとう

316:名前は開発中のものです。
12/06/07 08:07:50.47 ABZ9H4yv
端から見て意思の疎通が出来てるのか心配になるやり取りだなw

317:名前は開発中のものです。
12/06/07 13:55:27.92 QQtm5YS7
>>311
直行性の破壊

318:名前は開発中のものです。
12/06/07 14:44:16.39 aJnWGOd5
ゼノギアスみたいに3Dマップに2Dを歩かせたいんだけど、2DキャラにVECTOR座標持たせないとダメなのかな?
それともカメラとマップの動きでなんとかするのかな

319:名前は開発中のものです。
12/06/07 21:30:16.39 BJcvBZeM
やりたいようにやりなさい。

320:名前は開発中のものです。
12/06/07 22:02:16.36 Ukk/kqdB
マジレスしていいのか?

321:名前は開発中のものです。
12/06/07 22:20:38.30 G9hkoO5R
オブジェクト指向の弊害というか、基本的なアルゴリズム力がない人が増えたよな
特に内部の数値と表示部を分けて考えずに直結して考えてる人が多い

322:名前は開発中のものです。
12/06/07 23:49:11.74 vdC1mnp6
アルゴリズム力って何?

323:名前は開発中のものです。
12/06/07 23:54:38.13 p6Iwkliq
まぁ、ゲームというのは基本的に電源を入れ続けている間には停止しないので、
不完全なアルゴリズムであるといえよう

324:名前は開発中のものです。
12/06/08 05:39:14.26 emaLFwiS
>>323
哲学かw


325:名前は開発中のものです。
12/06/08 12:13:59.29 DZv8KWRM
ブログラムを学び始めて一ヶ月、トランプのゲームや簡単なアクションなら楽に作れるようになった
しかし未だにポインタの使い道が分からない

326:名前は開発中のものです。
12/06/08 13:31:45.51 q3HoT9+Z
>>325
心配しなくても、そのうちポインタじゃないと出来ないこと、ポインタの方がスマートに出来ることにブチ当たる。
その時に改めて覚えればいいのよ。

例えば、セーブシステムを実装してみるとかどうかな。

327:名前は開発中のものです。
12/06/08 13:52:13.27 tcFLKDMc
うむセーブできるスロットを3個として
それを読み込んだり上書きしたり
そんなときに

328:名前は開発中のものです。
12/06/08 17:42:03.38 aSm1ZnJU
俺がポインタ使い始めたのは
オブジェクトの配列を使わざるを得なくなったときかな?
上で一応、ポインタ不使用で配列扱う方法あったけど、
当時はそこまで調べきれんかった。
まぁ知っててもポインタ使ってただろうけど。
あとはfactoryパターンなんかポインタあってこそだな。

329:名前は開発中のものです。
12/06/08 18:39:35.31 pbnxpIOe
俺がポインタ使い始めたのは、文字列の多次元配列を使わざるを得なくなったときだった

330:名前は開発中のものです。
12/06/08 19:35:21.69 lRuRBADW
ぼ、僕の初めてはmallocちゃん・・・

331:名前は開発中のものです。
12/06/08 20:05:18.05 SJfmbBy9
俺はライブラリがポインタ返してくる場合を除いて使わないかな
それを除けばSTLコンテナと参照渡しでほとんど済むというか

std::mapに関数ポインタ入れてスイッチ消すとかは価値あると思うんだけど
コンパイル時に型と内容が確定するメリットが捨てがたいんだよな

332:名前は開発中のものです。
12/06/08 20:50:19.69 j/2x2bX+
関数ポインタやストラテジーパターンならタイプセーフだぞ。

333:名前は開発中のものです。
12/06/08 21:13:56.33 m5MO4L1R
セガの人の本で関数内で引数の中身が変わるかどうかわかるように
ポインタと参照を使い分ける話があってそれに従ってるな

334:名前は開発中のものです。
12/06/08 21:30:09.93 zMZgxXcw
RPGツクールやってたせいかポインタ使わなくても処理できる方法が浮かぶから困る
多少コード長くなるかもしれないけど知らん

335:名前は開発中のものです。
12/06/08 21:42:33.38 +harBrKu
>>333
const使って解決するほうが堅牢に思える

336:名前は開発中のものです。
12/06/08 21:44:24.52 z81hpupn
さらにSAL注釈も付けるかな

337:名前は開発中のものです。
12/06/08 21:44:25.54 6tY7hMDQ
RPGツクールとポインタ使わなくても処理できる方法の
関連性がよくわからん

338:名前は開発中のものです。
12/06/08 21:48:46.35 PkeZlA3u
みんなポインタどこで勉強した?

339:名前は開発中のものです。
12/06/08 21:53:09.92 MREanol0
>>338
昔はネットが無いかわりにCマガジンという雑誌があってだな・・・

340:名前は開発中のものです。
12/06/08 22:05:47.44 MREanol0
>>234>>236
今更だが、ちょっと気になったので。
GetProcessHeapとHeapCreateでそれぞれ検索する事をオススメする。
ちなみに、C++のnewがどっちのヒープを使ってるかは分からなかった。
速度では前者、汎用性、拡張性を優先しているなら後者なんだが・・・

341:名前は開発中のものです。
12/06/08 22:25:17.57 2sQEIMbG
>>337

ツクールに限らず、そもそもポインタ使わなくてもゲームは作れるって話でしょう。
あれば便利だがなくてもできなくはないという程度の意味で。

342:名前は開発中のものです。
12/06/08 22:30:05.74 b1Lp2XzC
while(*dst++ = *src++ )
;      

343:名前は開発中のものです。
12/06/08 22:34:51.17 FXgS0hSf
>>340
crt見ればいいよ
昔はheapを確保できればHeapAlloc、できなければVirtualAlloc
VC10だとその辺の記述がごっそりなくなってるからreallocでまとめられたのかもしれない。たぶん
というか本人がよく分かっていないのに他の人にググれっていうのは厳しいだろw

344:名前は開発中のものです。
12/06/08 22:54:45.78 MREanol0
>>343
でも、>>234>>236が何を混同してたのかは理解出来るんでは?
HeapAlloc+HeapCreate(0,0,0)の挙動とnewの挙動を
ごちゃ混ぜにしてた事は理解できたから。
HeapAlloc+GetProcessHeapの方が早いし使い勝手も良いから、
C/C++ではこちらを採用していると考える方が自然かと。拡張性は無いけど。

345:名前は開発中のものです。
12/06/08 23:21:38.88 meBz3r1I
実はnewの挙動をMSがコッソリ変えていたというのが真相だったりしてな

346:名前は開発中のものです。
12/06/08 23:30:02.10 m5MO4L1R
>>335
constもつけるよ
あくまで呼び出した側でわかりやすいという話
一種のおまじないかも

347:名前は開発中のものです。
12/06/09 14:17:30.16 lNgYTjBj
CでIMEの設定変更する方法っていうか関数あったりする?
標準全角入力使われたら予期せぬ動きしまくるしrewindでもクリアできないしマジ困る
あれはバッファの中身どうなってるんだろう・・・

348:名前は開発中のものです。
12/06/09 15:10:15.66 x2dTOO+E
>>347
Cにあるわけない。
WindowsAPI(Win32 API)か何かに投げるんじゃねーのかな。

349:名前は開発中のものです。
12/06/09 16:37:02.46 FTBfxQeH
DirectXのサンプルの中にImeUi.h、ImeUi.cppってのがあったけど
俺は途中で放り投げたから詳細はわからない
要はTSFってのを使うらしい

350:名前は開発中のものです。
12/06/09 18:53:04.60 XUfV5Ps7
"C/C++" IME
とかでぐぐるといろいろあるみたいだな

351:名前は開発中のものです。
12/06/11 08:03:40.59 Vdy0LhS9
ちょっとCからは反れるかも知れないんだけど、3Dのマップモデルってどう表示してる?
1マップを超巨大なモデルを作ってそれをドカッと配置しようかとしてるんだけどまともな方法なのかな?
そしてそれに家とかのモデルを一個ずつ配置するか、それとも地面にセットでくっ付けておくか悩む

352:名前は開発中のものです。
12/06/11 08:26:57.69 pW3epnaG
>>351
地形と家や木などの何度も登場するモデルは分けて読み込んでプログラム側で配置すると良いよ。
ロード時間の短縮、メモリ節約、当たり判定の高速化、描画の高速化のメリットがある。
もちろんこれらの機能は自分で実装しなくてはいけないけどね。

353:名前は開発中のものです。
12/06/11 09:16:10.08 IS7oiAfA
>>351
地形マップは大きいのが一つ。
建物などのオブジェクトは個々のモデルを配置する。
LODで高速化できるので。


354:名前は開発中のものです。
12/06/11 09:50:09.21 67uf8PuE
地形マップの着地判定って手作業で設定して行くの?
それともポリゴンの点から面を取得して〜・・・


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

4352日前に更新/85 KB
担当:undef