【初心者】スレを立てる ..
[2ch|▼Menu]
302:名前は開発中のものです。
08/06/22 00:46:33 Nh8dlMcG
すいません、質問です。

勉強の為、C++で2Dのシューティングゲームを作っています。
自機や敵などのアニメーションを作ってみたいのですが、
何か一般的な手法とかありますでしょうか?

303:名前は開発中のものです。
08/06/22 00:54:26 i0gJBqIP
楽な手は無い。
爆発するアニメのコマを一つずつ用意して適当な時間間隔ですり替えていく。
ちょっとプログラミング技術を要する。

304:302
08/06/22 02:26:24 Nh8dlMcG
>>303さん
レスありがとうございます。

その手法はなんとなくイメージできたので試してみたいと思います。
実際にプログラムで処理するとしたら、
アニメのコマの範囲や、切り替えの間隔をを管理するようなテーブルみたいなのが必要そうですね。

とりあえず現状は試しでソースにテーブルを直接書いてみる事にしますが、
キャラクタやらアニメーションのパターンやらが増えてきたら、
ソースに直接手書きで作成とかだと効率悪いような気がしました。

アニメーション管理に使えそうなツールとかあるのかな?
その辺も探してみようかと思います。

ありがとうございました。

305:名前は開発中のものです。
08/06/22 11:08:20 g06tuC8K
>304
やり方なんて幾通りもあるが、その方法で別に問題ないと思う。

アニメ管理ツールみたいなのは見たことがある。
企業だと確実に有るだろうな。


306:名前は開発中のものです。
08/06/22 11:33:19 GKAOzkXe
>>304
絵描きとプログラマが別人だとツール無しじゃやっとれんかもね。
俺は複数人での製作経験無いけど。
勉強も兼ねてるんならツール一式も自前で作ってみたらどうだろう。

307:名前は開発中のものです。
08/06/22 18:39:39 8b6P9lU/
簡単なシューティングゲームを作りました。
で、いままですっかり忘れていたんですが、メニュー画面ってどうやって実現しましょう

void main(){
  /*画面とかデバイスの初期化とか*/
  int select;
  while(true){
    select = menu(); //メニュー画面
    switch(select){
      ....
    }
  }
}

で、selectに応じてゲームを始めたり、オプション画面を出したり?

308:名前は開発中のものです。
08/06/22 19:01:36 PrpfkLMi
ほかの状態遷移はどうやってんの?
それと同じで良いと思うんだが・・・。

309:名前は開発中のものです。
08/06/22 19:11:44 8b6P9lU/
やべぇ、キャラセレ画面も考えてなかった

>>308
ゲームそのものはゲームクラスをインスタンス化して、
そのメソッドをmain関数内のループから呼び出してます

310:名前は開発中のものです。
08/06/22 19:20:28 PrpfkLMi
もしかして状態遷移考えて作ってなかったってこと?


311:名前は開発中のものです。
08/06/22 19:22:40 g06tuC8K
正直、>307で何がしたいのか見えてこないんだが。

while(1)
{
  if    (フラグ==タイトル   ) タイトル画面( );
  else if (フラグ==キャラセレ ) キャラセレ画面( );
  else if (フラグ==ゲーム本編) ゲーム本編( );
}

これでいいんじゃない?

312:名前は開発中のものです。
08/06/22 20:25:34 iT3uPeFi
関数のポインタ使うか
"デザインパターン"でググるといいかも

313:名前は開発中のものです。
08/06/23 00:11:11 T4uoidjV
class Scene{
void draw()
void move();
}

class Title : public Scene{
...いろいろ
}

class CharaSelect : public Scene{
...いろいろ
}

こんな感じで
currScene = new Title():
シーンごとに作るのがswitch使わなくてスマートになるんじゃないの?

314:名前は開発中のものです。
08/06/23 00:45:50 mDDnsWDd
>>313
それでどうやってswitch使わなくて済むかよくわからないのですが
while(1){
switch(scene){
case TITLE: currScene = new Title(); break;
case CHARA_SELECT: currScene = new CharaSelect(); break;
....
}
currScene->move();
currScene->draw();
}
自部のがちょうどこんな感じになってるんですがいい方法あるんですかね?

315:名前は開発中のものです。
08/06/23 00:59:18 fMSgUVEh
Scene* move()

p=move()
if(p!=NULL){
  delete currScene;
  currScene=p;
}


我ながら汚すぎて噴いた

316:名前は開発中のものです。
08/06/23 01:03:30 jZlgp0tw
>>314
状態が多くないならそれでいいと思うけど
自分はこんな感じ

class Scene{
virtual void draw() = 0;
virtual void move() = 0;
}
enum SCENE{ TITLE, SELECT, SCENEMAX };
SCENE now_int;
*Scene now;
*Scene scene[SCENEMAX] = { &title, &select};

while(1){
now = scene[now_int];
now->move();
now->draw();
}

317:名前は開発中のものです。
08/06/23 01:07:53 fMSgUVEh
now_intは誰が書き換えるん?

318:名前は開発中のものです。
08/06/23 01:15:36 T4uoidjV
こんなんはどう?

class Scene{
virtual void draw() = 0;
virtual void move() = 0;
virtual Scene sceneChange() = 0;
}

Scene * next;
if( ( next = currScene->sceneChange() ) != NULL )
{
  currScene = next;
}

だめかw

319:名前は開発中のものです。
08/06/23 01:25:34 jZlgp0tw
>>317
titleとかの状態のクラスが

320:名前は開発中のものです。
08/06/23 01:32:04 uo+1ccfk
適当に書いてみた

int SceneManager::receiveMessage(Message* pMsg, int param1, int param2, int param3, int param4)
{
  switch (pMsg->getType()) {
    case MSG_CHANGESCENE:
      assert(SCENE_ID_MIN <= param1 && param1 <= SCENE_ID_MAX);

      m_pNextScene = m_allScenes[param1];
      break;
  }

  return SUCCESS;
}

int SceneManager::execScene()
{
  if (m_pNextScene != NULL) {
    Scene* current = m_pCurrentScene;
    Scene* next = m_pNextScene;

    current->onExit();
    next->onEnter();

    m_pCurrentScene = next;
    m_pNextScene = NULL;
  }

  return m_pCurrentScene->execute(this);
}


321:名前は開発中のものです。
08/06/23 09:12:21 cIfICiuE
// あのね、僕の場合はね、シーンを総括するシナリオクラス作ったの。
// STLのlist(線形リスト)でSceneを管理するんだよ。
// (案外、スタックでもいいような気がするなー)
// (*1)Scenario::start()でシナリオが開始されて、
// (*2)登録されたScene::start()を呼び出すの。
// あ、Scene::start()っていうのは、そのシーンを開始するメソッドね。
// それでね、Sceneの中で次のシーンが決まったら、
// (*3)Scenario::addScene()で、次のシーンを登録して、
// 今実行中のシーンはただちに終わればいいの。
// (*4)登録されたシーンが全部無くなったらゲーム終了ね。

// ところで、これだけの長文読むより、プログラムを読む方が簡単に思えてくるだろ

list<Scene*> Scenario::scenelist;

void Scenario::start() // (*1)
{
while ( scenelist.size() > 0 ) { // (*4)
Scene* s = scenelist.front();
(*s)->start(this); // (*2)

scenelist.pop_front();
}
}

void Scenario::addScene(Scene* scene) // (*3)
{
scenelist.push_back(scene);
}


322:名前は開発中のものです。
08/06/23 22:43:25 SqRC+pBQ
個人的にはswitchやif文羅列が健全だと思うよ

そういえば関数ポインタや多態は最適化が効かないから
速度的に不利って話どうなの?

323:名前は開発中のものです。
08/06/23 23:23:03 0j4G1ygb
最適化する必要無いほど早い。

324:名前は開発中のものです。
08/06/23 23:36:23 /qtuGijz
>>個人的にはswitchやif文羅列が健全だと思うよ
いわれてきづいたけど、小規模のシーン管理だとswitchとかifのほうがいいとおもた
RPGぐらい画面遷移が複雑だとクラスのほうがいいかもしれんけど

>>速度的に不利って話どうなの?
とりあえずクラス自体がわりと重いっぽい、いろいろ調べたら早くする方法が書いてあって
それ全部使えば矩形の当たり判定なら数千個までいけると思う


325:名前は開発中のものです。
08/06/24 19:19:07 YG9wxXVw
関数ポインタ利用して関数並べて実行させるのとswitch/caseって分岐が少ないと殆ど速度に差が無いみたいだな

326:名前は開発中のものです。
08/06/24 20:37:20 qocbnAno
今時関数ポインタ程度で重いって(笑)

327:名前は開発中のものです。
08/06/24 23:07:53 nk5lzdPA
それを言い出すと、いまどき配列走査くらいで、
いまどきnewくらいで……と富豪厨化する
ていうか、それが俺


328:名前は開発中のものです。
08/06/24 23:12:47 vNDV7jMM
javaのスレッドをnewするのはコスト高いぞ。

329:名前は開発中のものです。
08/06/25 03:01:35 c0GyxKOT
どう実装されているかも分からないヴァーチャルマシンのコストを決めつけてかかる328は、
たぶん学歴が低い。

330:名前は開発中のものです。
08/06/25 03:23:39 LrDWXSL9
学歴という言葉を出さないでくれ。荒れる。

331:名前は開発中のものです。
08/06/25 20:09:54 /Pf8ls+r
>>329>>328 VMがどう実装されてるか知らないと何故言い切れるんだろう?


332:名前は開発中のものです。
08/06/25 21:18:20 4PLXCLdL
どのVMを利用するか未定であれば、どんな実装なのかも未定だ。
ただ、VMレベルでコストが高いと言っている可能性もあるけどな。

333:名前は開発中のものです。
08/06/25 21:58:19 zW+uiCng
マルチスレッドにするとsynchronized やvolatileを使わざるを得ないから
関数や変数へのアクセスコストが全体的に割高になるという意味でなら納得。


334:素人
08/06/26 00:03:25 FJtaI/dg
ここのみなさんってゲーム会社に入れるくらいスゴいんじゃないかって最近見てて思います。
現実はもっと厳しいものなのでしょうか?

335:名前は開発中のものです。
08/06/26 00:53:43 J+99J/hz
ドラクエみたいにちょこちょこ仲間が着いてくるのを実装したいんですがどうすればいいんでしょう?
考えたのは、入力された上下左右を保存しておいて、一個遅らせながら次のキャラに適応って感じなんですが
うまくいかないです。どういう考え方をすればいいんでしょ?

336:名前は開発中のものです。
08/06/26 00:58:21 7RoWXjdF
考え方はそれで問題ないと思う
実装でミスってるんじゃない?

337:名前は開発中のものです。
08/06/26 01:00:06 J+99J/hz
ありがとうございます
そうですか、もう一遍見直してきます

338:名前は開発中のものです。
08/06/26 04:03:21 08fIa4T9
>334
ゲーム会社であることは、おそらく全く関係が無い。

339:名前は開発中のものです。
08/06/26 10:07:11 TBkGU+/r
>>334
実際業務中にここ来てる奴も居るだろ。
俺含め、普段コンシューマやってて趣味でwindowsプログラム
してる奴とか。

340:名前は開発中のものです。
08/06/26 11:43:02 MvZUxeyN
>>334
すごい人は極一部で語るスレみたいなゴミがほとんど

341:名前は開発中のものです。
08/06/26 14:11:44 LcBDfznV
本職PG(非ゲーム系)が趣味でゲーム製作ってのは多そう。

342:名前は開発中のものです。
08/06/26 20:54:16 UkEztdRQ
ゲーム業界自体がそのゴミだよ。

343:名前は開発中のものです。
08/06/26 23:52:36 i6T6uFP1
>335
>入力された上下左右を保存
入力じゃなく、前のキャラクターの座標の数値を入れたら?

344:名前は開発中のものです。
08/06/26 23:57:28 ICzeg2Oh
後ろのキャラは1歩分昔の自キャラ
つまり、1手前の操作を反映してやればいいんだ

もしくは多間接でATAN使って常に前方キャラと一定距離を保つようにすればいい

345:名前は開発中のものです。
08/06/27 00:01:56 JPbTTp2P
>>341
俺そうだよ。
三流と言うのもおこがましいほどの三流で将来が怖いけど。
会社のPCはプロキシに弾かれて2chにアクセスできないなぁ。

>>335
人によって実装方法は違うと思うけど俺の場合……
・X,Yを格納できるバッファを49個用意して適当に初期化する
・先頭キャラの座標に変化があったときのみ、以下の処理を行う
  ・バッファを1つずつスライドしてバッファ[0]に先頭キャラの座標を入れる
  ・2人目の座標をバッファ[16]と同値にする
  ・3人目の座標をバッファ[32]と同値にする
  ・4人目の座標をバッファ[48]と同値にする

346:名前は開発中のものです。
08/06/27 04:58:56 y+uRaN6T
345みたいな実装を行うと、「キャラの並び替え」を追加したときに
拡張地獄に陥るんだよね。
さらにDQ4的な「障害物があったら避ける」メカニズムは絶望的になる。
浅謀近慮の典型例。

347:名前は開発中のものです。
08/06/28 00:56:37 UNOxry2I
並び替えをしたらバッファも"並び替え"をするに決まってるじゃないかHAHAHA

348:名前は開発中のものです。
08/06/28 02:56:38 uLeq9+80
FCドラクエの並び替えって瞬間移動じゃなかったか?
>>345の場合、新しく二人目になった人がバッファ16を参照すりゃいいような

>>346
そういや馬車の動きとか独特だった

349:名前は開発中のものです。
08/06/28 11:23:44 uY+gT1X+
隊列で思い出したけど、
弱いキャラ(魔法使い系)を中央に置く隊列って、あんまり見ないよな。

350:名前は開発中のものです。
08/06/28 12:52:55 UNOxry2I
そもそもオープンフィールド系のゲームで隊列云々をシステムに組み込まれてもあまり説得力なくね?
例えば、敵が8体いて、味方が4人(前列2人後列2人)
こういうケースですら「後列にいるから攻撃される可能性が低くなります」ってそれは違うだろう
TRPGやダンジョン系RPGのシステムを何も考えずに適用するから変なことになるんだ

351:名前は開発中のものです。
08/06/28 14:20:27 mxHBnLLH
敵中に孤立した所を三方向から突き入れられたりした日にゃ、
よっぽどの人間でない限りは突き殺されるんでね?
そういった状況を生み出さないために、隊列には意味がある。
でもな、説明されんと隊列の意味なんて分かんね〜よな。

352:名前は開発中のものです。
08/06/28 19:29:34 /wGNqaoZ
激しくスレ違いだけど、ちゃんと軍隊も機能しててそれでいて主人公も
旅をしているRPGってあるんだろうか?

353:名前は開発中のものです。
08/06/28 19:43:05 5mLxNHUh
中東の片田舎で生まれて、
軍隊に入って、
クウェート行ったり、
撤退したり、
米穀人が攻めてきて、
カリブ海の法的に微妙な島の施設に長期に渡って監禁されたり?



つか板違いだからw

354:名前は開発中のものです。
08/06/28 19:44:59 mxHBnLLH
「ちゃんと軍隊が機能してる」をもちょっとkwsk。
どのように機能してるのがちゃんと機能してるとされるのかが分からん。

355:名前は開発中のものです。
08/06/28 19:59:59 4KDS7Fkw
例えばトルコの軍隊は、政治が宗教に流れ始めるとクーデターを起こして
政教分離を保つという役割を持っていたりするが...というわけで、軍なんて
国によってさまざまなんだよな。

356:名前は開発中のものです。
08/06/28 20:02:40 /wGNqaoZ
主人公が倒すべき敵に主人公の祖国が脅威に晒されていて(ドラクエなど)
軍隊が死に物狂いで国を守ってたりするけど、結局少人数の主人公のパーティで
解決してしまうのはガチガチの少年漫画みたいだと思って。

357:名前は開発中のものです。
08/06/28 20:18:02 95DOzYjU
要するに演出面の問題かな?
システムで軍隊まで絡めると、ゲームのジャンルが変わってしまうだろうから。
別に少年マンガでなくとも、指輪物語だって軍隊はそれはそれで戦ってるけど
敵に決定打を与えるのは少数だったり、STAR WARSだってまあそんな感じだし
少人数による解決ってのは古典的英雄譚としての典型だと思う。

358:名前は開発中のものです。
08/06/28 20:20:17 mxHBnLLH
そりゃ無理だろ。RPGは主人公補正の無茶っぷりを楽しむゲームだろ?

359:名前は開発中のものです。
08/06/28 20:39:43 mxHBnLLH
元ネタのTRPGですら、主人公補正を楽しむことがメインのゲームが珍しくはないしな。

360:名前は開発中のものです。
08/06/28 21:14:31 aueJy81E
自分の軍隊を出したら損害もでかいし
そこら辺の適当な奴を勇者とか煽てて
モンスター狩らせて
魔王倒せたらラッキーみたいなー

361:名前は開発中のものです。
08/06/28 21:17:08 ECKeTV2B
主人公一行は王様直轄の特殊部隊だし
各地でそれとなく情報提供してくれるNPCも主人公一行を支援するために隠密作戦行動中の諜報員だ
すべてのお膳立ては軍の組織的支援の賜物


362:名前は開発中のものです。
08/06/28 21:17:15 2Xd2aLuG
>>352
Wizやベイグラ、ソーサリアンみたいに世界を救う話でなく、軍隊が
入れない迷宮に暗殺目的で潜入とか、僻地での小さい事件を淡々と解決
していくものは、それなりに軍隊らしきものがあるようには見えるね。
変り種では7(モールモースの騎兵)みたいに少年主人公達は世界を救えず
その後に軍が対処することになるものもあるけど。

太閤立志伝や大航海時代、ボコスカウォーズ、メタルギア(MSX版とか)も
含めてどこまでをRPGと言うのかはよく分かんないし、あまり考えるのも
スレ違いなのでアレだけど。

363:名前は開発中のものです。
08/06/28 21:18:37 mxHBnLLH
>>357
>ゲームのジャンルが変わってしまうだろうから。

まず9割はSLGになっちまうだろな。
むしろ、卓上で遊ぶSLGをコンピュータ化させたSLGを作る方が話が楽そうだ。

364:名前は開発中のものです。
08/06/28 21:26:23 5mLxNHUh
でおもむろに主人公の居るヘックスの敵カウンター(駒)を摘み上げて盤外に追放するわけですね!

365:名前は開発中のものです。
08/06/28 21:58:04 mxHBnLLH
そろそろ卓ゲー板を紹介した方が良いのかな?

366:名前は開発中のものです。
08/06/28 22:24:39 ECKeTV2B
強力な召喚呪文は近接航空支援とか砲撃支援だし
ルーラはヘリ呼んで緊急脱出だ

お金持ちの国が敵性国家にしかける非対称戦や非正規戦(テロ作戦や暗殺作戦)
みたいなもんだ

367:名前は開発中のものです。
08/06/28 22:43:20 mxHBnLLH
卓ゲー板にこんなスレがある

■ウォーゲーム・シミュレーションゲーム総合63■
スレリンク(cgame板)

368:名前は開発中のものです。
08/06/29 00:40:44 q993c33X
主人公達はがんばってるさ、でもフィン城を奪還したのはミスリルを手に入れた反乱軍達だぜ。
とかあるし、このぐらいのさじ加減がいいんじゃない?

369:名前は開発中のものです。
08/06/29 02:13:00 MunHwh7d
そしてミンウの命懸けの行為は役に立たなかった。

…ってのはともかく。
基本的に、RPGにおける軍隊ってのは推理小説における警察みたいなものかと。
特撮物における自衛隊とかね。
主人公達が精鋭部隊であるにしても、それがメインであるならむしろSLG(含SRPG)に向いた素材だと思うし。
(そういや、軍の作戦行動が出てくるRPGって言われてパッと出てくるのはFF2とかFF4序盤、FF5のビッグブリッジ前後、FF6のレジスタンスまわり、FF7の過去話、FF8の両方の主人公とかFFばっかだなぁ…それ以外にも勿論あるはずだけど)

370:名前は開発中のものです。
08/06/29 02:55:27 U4gZ+hUl
軍隊行動というと、エメラルドドラゴンとか、ヴェインドリームとか、
ヴェインドリームIIとか、アルシャークとか、とにかく、今は無き
グローディア系の記憶が多いな。あと、西風の狂詩曲とか。
軍隊を描けるライターって、意外と貴重なのかもな。

371:名前は開発中のものです。
08/06/29 08:42:13 o2ccU7kP
D&Dからウォーシミュレーションへの先祖返りについて議論するスレはここですか?

372:名前は開発中のものです。
08/06/29 09:09:59 DZgd6AkJ
その軍隊の中に主人公がらみのキャラクターをおくと、軍隊の存在感が上がると思うよ

まぁ最近はそんなのないけど。

373:名前は開発中のものです。
08/06/29 15:30:35 q993c33X
DirectXの3Dで、
武器の着脱等部分的なポリゴンの入換と座標管理や、
アニメーションの管理など解説してるサイトはないでしょうか?



374:名前は開発中のものです。
08/06/29 16:03:18 VJmjeOZb
レミュオールみたいなゲーム作りたいんだがNスクリだとどうやるんですか
一応普通のノベルなら作れるんですが

あとそれ以外にも作り方があったら知りたいんですが

375:名前は開発中のものです。
08/06/29 21:05:31 GLV8FDV4
レミュオールやガストゲーは自分で1から作った方が楽だな。
せいぜい吉里吉里使ってkagいじりまくる位すれば良いじゃない。

376:名前は開発中のものです。
08/06/29 21:21:37 GLyeoiY/
あそこまで複雑だとHSPなり何なり覚えたほうが結果的には楽だと思うな
pygameとかRuby/SDLとかでも良いかも

377:名前は開発中のものです。
08/06/29 22:16:29 iKbwl08w
HSPやるくらいならCやってくれ。変な癖ついてあとから大変だぞ

378:名前は開発中のものです。
08/06/29 22:16:54 IHYBRD67
>>373
D3DXのアニメーションコントローラ使ってるなら
D3DXFRAMEとか D3DXLoadMeshHierarchyFromXとかで
ぐぐると幸せになれると思うよ
書籍ならGame Codingとかいうやつ。あと逆引きDirectXとか。
数年前はこのあたりの解説記事とか参考書ほとんどなかったから
思考錯誤が必要だったけど今は楽チンみたいね

再生中のスケルトンの各ボーンの位置姿勢はD3DXFRAMEの木に
入ってる。普通にアニメーション入りワンスキンモデルのXファイルを読んで
再生するコードが出来上がってるなら、あとは再生中にほしいボーン、
(例えば掌から伸ばした武器ハンドラ)、のD3DXFRAMEから行列を
ひっぱってくる。各D3DXFRAMEに入ってるのは親ボーン基準の
座標系だから、ルートから順に辿って姿勢を乗算してけば所望の
姿勢行列がゲットできる

379:名前は開発中のものです。
08/06/29 23:43:21 q993c33X
>>378
あーそうか。装備する場所のボーンを仕込んどいて、対応する行列を取得すればいいのか
どうもスキンメッシュの外部から武器のメッシュをスキンメッシュ内にぶち込む方法ばかり考えてた。頭かたいorz
ありがとうございました。ワクテクしてきた!!



380:名前は開発中のものです。
08/06/30 05:22:11 WUpWsVvz
global list<cToken> listToken;

{  cToken *tk = new cToken;
  listToken.push_back(*tk);
}

{  list<cToken>::iterator it = listToken.begin();

  delete(*it);
}
の最後deleteで
type `struct std::_List_iterator<cToken>' argument given to `delete', expected pointer
ってエラーが出るんですけどどうすりゃいいんでしょうか
newで確保した分を解放したいだけで、特殊な処理はありません

元々は構造体で同じエラーが出て、「deleteはデストラクタ呼ぶ」って記述から、
デストラクタ導入するためクラスにしてみたんですが変わらないんです
デストラクタには何も記述してません

381:名前は開発中のものです。
08/06/30 05:46:27 MAN7mmN8
>>380
global list<cToken> listToken; // cToken クラスの配列(not cToken* の配列)

{  cToken *tk = new cToken; // (A) cToken* はポインタ型
  listToken.push_back(*tk); //(B) *tkを引数としたコピーコンストラクタを起動し、
                   // 新たに生成したcTokenをlistTokenに追加
// この時点で cToken クラスの実体は2つ。
// (1) (A)でnewしたcToken
// (2) (B)でコピーコンストラクタで生成されたcToken
}
// tkをdeleteしていない…? メモリリークしてますね、きっと。


{  list<cToken>::iterator it = listToken.begin(); //itはイテレータ

  delete(*it); //参照外しした *it は、cTokenクラス扱い

// cToken クラスは cToken* (ポインタ型)とは違うので、delete は イヤン
}
// …みたいな感じー。

382:名前は開発中のものです。
08/06/30 05:51:08 eTwd6t11
そりゃエラーメッセージにもある通り
delete(it);
にするべきだろうよ。

383:名前は開発中のものです。
08/06/30 05:54:40 MAN7mmN8
>>382はウソつきなので気にしないように…

384:名前は開発中のものです。
08/06/30 06:25:05 eTwd6t11
…ああ、すまん、とんでもない早とちりだ。
>>383が言うように気にしないでくれ…

385:名前は開発中のものです。
08/06/30 07:23:04 aLJAk26B
FLASHってゲーム製作にどうですか?
ビットマップの精細なアニメーション加えた作品作りたいんだけど迷ってます。

386:名前は開発中のものです。
08/06/30 08:57:38 WUpWsVvz
>>381-384
ありがとうございました
コピーコンストラクタ知りませんでしたorz
最初のスコープでdelete入れても正常に動作したのでずばりそこだったようです

ということで後のスコープは削除してlistToken.Clear()にします

387:名前は開発中のものです。
08/07/01 08:38:41 +zv2kccG
>>385
シンプルなゲームならいいんじゃね?
でも複雑なflashゲームは嫌い

388:名前は開発中のものです。
08/07/01 09:56:55 qHGY+7bY
誰も好みの話は聞いてないだろうに
FlashはAS3になって言語的にしっかりしてきたので
複雑なゲームにも向くようになったと思う
特にスキン可能なコンポーネントはRPGとかSLGとかに最適
でも激しいアクションゲームにはイマイチ速度が足りない
あと精細なアニメーションってどんなんだ

389:名前は開発中のものです。
08/07/01 10:01:10 SWCY/+7Q
>>388う〜ん、キャラとかは決まってるけど時間かかるでなー。
二年後のスペックにあわせた製作をするとして例えばKOF並のドットアニメは
可能ですか?
シンボル化してぐにゃぐにゃ動かすより違うドットに素早く切り替えるタイプの
アニメーションをさせたいんですよ。

390:名前は開発中のものです。
08/07/01 10:03:09 SWCY/+7Q
>>388重スマソ。加えて言うならFLASH独特の奥行き感や空間感が良いと思って
作ろうとしたわけです。素人でも扱い容易いしね。ジャンルはPSテイルズに似た感じに
なると思う

391:名前は開発中のものです。
08/07/01 10:41:00 qHGY+7bY
RPG?なら描画速度は問題ないと思う
でもFlashのビットマップは基本的に24/32bitカラーだからそれなりにメモリを消費する
(もちろん画像に使用したメモリの破棄は可能)
KOF 並のグラフィックがどんだけメモリ食うか知らないので何とも言えないけど
ビットマップでアニメやるんならメモリ量の見積りして、できれば実際にテストした方がいい

392:名前は開発中のものです。
08/07/01 11:30:10 qHGY+7bY
>>390 追記。
試しに800x600の画像を200枚くらい読み込んで30fpsでアニメさせてみたけど
メモリも使い放題だしcpu使用率は10%切ってるし何の問題もなかった
ハードウェアアクセラレーションがきくかどうか注意しながら作ればまず問題ないかと

393:名前は開発中のものです。
08/07/01 12:15:39 NE5YmOrR
おっし。有難う!
目途は十分立ってきたな、、、。
最後に聞きたい。俺絵のほうは基本フォトショやペインターと線画を利用して
描いてるんだが
ドットグラフィックスやアニメーションはどのソフト使ったらいいかわからんですわ。
コレおススメってのありますか?

394:名前は開発中のものです。
08/07/01 12:27:35 4yeJJVNT
EDGE一択

395:名前は開発中のものです。
08/07/01 13:05:29 Dd4Cgnk3
GraphicsGaleはどうよ?

396:名前は開発中のものです。
08/07/01 15:15:59 A40v5POy
俺もEDGEが良いと思う

397:名前は開発中のものです。
08/07/01 22:16:10 OiqPU4De
親切にどうも有難う〜。参考になるよー

398:名前は開発中のものです。
08/07/01 23:51:06 4tWHI+8S
>>392
ちょっと信じがたいテスト結果に感じるが、俺の常識が古臭いのかな。

・200枚の画像が全て異なるリソース
・完全に他の画像に隠れてしまう画像が1枚も無く、200枚全てがどこかに表示されている
・透過部分が網目状になっていて非描画部分を矩形でトリミングできない
といった条件で計測する必要があると思う。してたのならスマン。

399:名前は開発中のものです。
08/07/02 00:49:59 NIDaEbG7
>>398
200枚同時じゃなくて200枚を200フレームに分けて表示しただけ
時間のある時にもちっとハードル高めにして調べてみるよ

400:名前は開発中のものです。
08/07/02 01:00:32 WW0sd5rK
経路探索および障害物回避について質問です。
マップは3Dですが3Dの経路探索は難しすぎてよくわからないので
Doubleの値をInt値にして、2D情報(X座標、Y座標)だけで計算しています。
現在A*で経路探索を行っています。
プレイヤーとNPCを同条件にしたいため、障害物情報は持っていません。
まずマップ探索として、ランダムに移動させて障害物にぶつかったら登録していき、
次からはぶつからないようにするという処理を行います
ここまではいいのですが、マップ探索が終わった後が問題となっています。
まず第一の問題点が最短距離なので、障害物に沿って移動する感じなので不自然です。
最短距離じゃなくていいのでなめらかな移動で毎回微妙に違う経路にしたいです。
そして第二の問題点が一番の悩みどころなのですが、
前進しながら方向転換しているため、ノードに到達してから次の経路へ方向転換すると、
指定ノードへいつまでも到達できない(ぐるぐる指定ノード周辺を回ることになる)ので
指定ノードへ一定距離内に入ったら到達という判定にして次のノードへ移動します。
これならきちんと移動できるのですが、
このせいで経路計算も障害物登録がきちんとできていてもぶつかって抜け出せなくなりはまってしまいます。
経路問題って結構同じところで詰まるんじゃね?と思って必死にぐぐったのですが、
A*の経路計算くらいしか載ってませんでした。
何か妙案ありませんでしょうか?

401:名前は開発中のものです。
08/07/02 01:58:37 gdApJWkY
古き良き時代の3DダンジョンRPGって、
開けた場所があんまないよなぁ

開けた場所にぽつぽつと障害物があるパターン?
普通は通行可能な部分がアリの巣のように存在すると思うんだけど

402:名前は開発中のものです。
08/07/02 02:00:05 SrFG0cUP
>>400
イメージ的にミサイルの移動?

403:名前は開発中のものです。
08/07/02 02:39:02 WW0sd5rK
>>402
そですね。そこまで速いイメージではないので、どちらかというと船に近いです。
舵一杯回してもノードの周辺をぐるぐるまわっちゃうみたいな。

404:名前は開発中のものです。
08/07/02 03:22:51 x6MWa9l+
毎回微妙に違う経路にするのは、例えば左右どっちを経由しても最終的には同じになるような分岐だとして、
マップ内に見えないマーカーのようなものを埋め込んで置いてはどうだろう。
で、マーカーはランダムに右または左を指して、NPCはそのマーカーにしたがう、と。
もしくはランダムにバーチャルウォールのようなものを発生させるとか。
何にしても、正直にプレイヤーとNPCのマップを同一にしなくてもいいんじゃないかな?

405:名前は開発中のものです。
08/07/02 03:27:29 tVVMl90s
障害物に近いノードのコストを上げてやればいいんじゃね

406:名前は開発中のものです。
08/07/02 03:59:16 1JjhbBAN
>>400
第一の問題に関しては

>プレイヤーとNPCを同条件にしたい
>障害物情報は持っていません

やっぱこの拘束条件がちょっと厳しすぎる気がするなぁ
AI用の補助情報を事前に用意してあげるのは定石と思う
>>404の言うようにマーカーやパスを用意したりとか

手で作るのが面倒なら自動生成で多少は労力を削れる。
壁面(というか壁線)を母点集合とするボロノイ図を作れば
ボロノイ境界線を理想パスの雛形とすることができる
壁線とボロノイ境界線をそれぞれ太らせカプセル状にして
壁線カプセルに引力を、ボロノイ境界線カプセルに斥力を
設定しておくとか色々やりようはある

もっと適切な専門用語とかあった気が駿河、ちょっと忘れた

407:名前は開発中のものです。
08/07/02 04:00:53 1JjhbBAN
斥力と引力が逆だ

408:名前は開発中のものです。
08/07/02 19:28:34 Z09W89Oi
迷路で、島があると難しい。無ければ簡単

409:名前は開発中のものです。
08/07/03 10:53:57 ysSgecWy
> 舵一杯回してもノードの周辺をぐるぐるまわっちゃうみたいな。

自動車の自動制御で、(最終的には微小な振動になるわけだが)
単純にセンターラインを目標にハンドルを切ると大きく蛇行してしまう
現象に似てるような気がする。

一旦その状態に入ってしまうと、一旦離れない限り抜け出せない
わけだよね?

410:名前は開発中のものです。
08/07/03 15:18:08 TytOB5Au
実際の船舶なら
>>409式に目標が旋回半径の外に出るまで距離を取る
=直進or目標と逆方向に舵を切る、減速して旋回半径を小さくする
微速or停船状態にしていいならサイドスラスターとか使って回頭(接岸時とか)
こんな感じじゃね

411:名前は開発中のものです。
08/07/03 17:35:29 H+VE3AP7
ホンダとかトヨタの高級車に搭載されてる車線保持システムは
ハンドルをそっと離して車線から逸脱しそうになると
穏やかに進路修正してオーバーシュートもハンチング(蛇行)もなく
収束・安定するよ
たぶん小さなフラつきでも定常的に続くと車酔いしてしまうので
厳禁なんだと思う
PID制御でいう比例ゲインは小さめで積分ゲインは普通めで
微分ゲインは大きめ、みたいになってると思う

軍用の自動操縦システムとかは知らね


412:名前は開発中のものです。
08/07/04 01:08:59 WrH8WZhm
>>411
おまいは何を説明したいんだ?

413:名前は開発中のものです。
08/07/08 10:59:28 ahdD0l77
ツクールはまったく触ったこと無いけど、
システムと言うかツールとしては参考になると思う。

414:名前は開発中のものです。
08/07/08 18:07:59 CMF3WwIj
まあ制御系組まなくても、制御対象弄れるなら予め発振しないパラメータにしてやりゃいいんだけどな

415:名前は開発中のものです。
08/07/08 18:31:59 wuL4K2k3
カルマンフィルタを勉強するとよいぞ。
発振を防ぐには。理論上。

予測が一向に当たらないので俺は家に帰れません。

416:名前は開発中のものです。
08/07/09 18:14:36 A9tgTG2N
3Dのカメラについて質問があります
連ザのようなカメラワークをするには視点と注視点の算出をどのように行えば良いのでしょうか?
自機の写り方(スクリーン上のサイズ)が一定でなかったり相手との高低差がついた場合も上手くいかず
注視点の算出方法も悪い為敵機が常に画面中央にいてあそびがない状態です

現在はカメラと障害物の当たり判定はない単純な平面ステージを考えています

417:名前は開発中のものです。
08/07/09 19:31:08 bM1S9aZo
そのゲームをやったことのない人間にはどんなカメラワークかさっぱりだな

418:名前は開発中のものです。
08/07/09 23:12:56 UvunSMQl
3人称FPSとほとんどおなじ視点
だが単に視点(カメラ)の操作を理解してないだけだと思うから
詳しいサイトとかみるといいぉ

419:名前は開発中のものです。
08/07/09 23:18:29 SF8ehHxO
新ジャンル「3人称FPS」

420:名前は開発中のものです。
08/07/09 23:22:37 CICMZ1r9
ああ、なんか彼がばしゅんばしゅん撃ってはるな。
こら激しいことですな。

みたいな気持ちになる視点とカメラワークなのだろう。

421:名前は開発中のものです。
08/07/09 23:31:08 3FCRJkQL
>>416じゃないけどカメラ解説が詳しいサイトあったら教えて頂きたい

422:名前は開発中のものです。
08/07/10 00:52:38 MjVgJsdw
一人称TPSの方がイマいです!

423:名前は開発中のものです。
08/07/10 09:19:51 0CfNT0De
てか参考になるゲームがあるなら注意深く観察して目コピできるだろ


424:名前は開発中のものです。
08/07/10 10:57:54 f30wTD23
原理が分かってないからコード書けないって話だろ

425:名前は開発中のものです。
08/07/10 11:24:13 Ktfw/g2p
>>416
「敵機が常に画面中央にいてあそびがない状態」になる理由は
>>416が言うとおり単純にカメラが敵機を照準しているから
カメラの照準線が敵(点)と常に交差しているのは一人称視点の場合。
三人称視点では「自機が(スクリーンの)左斜め下、敵機が右斜め上」といった構図だから
カメラの照準線は「自機と敵機を結ぶ直線(軸)」のどこかと交差している感じになる

カメラ制御用の入力情報として、例えば
 ・スクリーン上での自機の位置・大きさ
 ・スクリーン上での敵機の位置
 ・カメラの画角(FoV)
 ・カメラの傾斜角
のような条件を与えられる時、カメラの位置と姿勢は一意に定まる。
これは高校数学レベルの知識でも解ける単純な図形処理の問題。脳トレだな。
簡単のためにカメラ傾斜角ゼロとして上から見下ろしの2D図上に視錐台を描いてみれ

426:名前は開発中のものです。
08/07/10 12:04:03 Ktfw/g2p
脳トレ用の平面図(例)
URLリンク(gamdev3.hp.infoseek.co.jp)

A…カメラ座標 (未知)
B…敵機座標 (既知)
C…自機座標 (既知)
a…(既知)
b…(既知)
c…(未知)
α…(既知)
β…(未知)
γ…(未知)

c が求まればAが求まる。
分離軸法でC原点としてB-Cをx軸とする2D座標系上でやっても構わない

427:名前は開発中のものです。
08/07/10 12:11:37 Ktfw/g2p
書き忘れたが照準線とBAのなす角、照準線とCAのなす角は既知なので
Aが求まればカメラの姿勢も求まる

428:名前は開発中のものです。
08/07/10 13:09:26 Uxpdq7pi
二週間くらい前からVC++を覚えながらDXライブラリでシューティング作ってて敵の出現やら弾の移動制御なんかは全部構造体とてんこもりの配列でやってるんだがやっぱりポインタやらクラスやらを使ったほうがいいのかな?

429:名前は開発中のものです。
08/07/10 13:25:46 ruitQ0sc
>>428
使った方が後々楽になる。あと、STLも忘れずに。

430:名前は開発中のものです。
08/07/10 14:33:26 Ol5MmN3V
STLを使うためにクラスやらポインタを覚えるつもりでもOK
STLマジ便利だから

431: ◆PSPI/D/D3o
08/07/10 14:51:00 Uxpdq7pi
>>429>>430
ありがとう

やっぱり覚えておいた方がいいのか…大体どんなものかはわかるんだが使い道がわからなくてな…


ところでSTLって何だ?ライブラリ?

432: ◆PSPI/D/D3o
08/07/10 15:23:34 Uxpdq7pi
STLググッてきた
携帯からだからよくわからんが何かを管理するのが楽になるライブラリってことか…

今はfor(…)で検索して存在するなら敵設置時に配列に格納されたパラメータを元に自動で移動処理や攻撃処理する…みたいにしてる

433:名前は開発中のものです。
08/07/10 16:28:32 UTjfRn2c
luaのスレってないのか
そこまでマイナーだと思ってなかったんだが

434:名前は開発中のものです。
08/07/10 17:00:07 Ktfw/g2p
>>433
ム板にちゃんとあるよ

435:名前は開発中のものです。
08/07/10 17:04:56 yCR5kQum
>>432
管理用ライブラリって訳じゃない。
基本的なデータ構造を低コーディングコストで利用できるライブラリ

しかし、Cの素養があるならポインタがわからんってのが理解に苦しむ。
構造体の配列と構造体ポインタの配列の違いぐらいわかってるものだと思うのだが。
つーかわからないと、ヤバイエラー起こしたりしないか?

436:名前は開発中のものです。
08/07/10 17:39:15 cb+eZpqb
>>432
元々java系のプログラマなんじゃないか?とエスパー。
配列管理もいいが、ポインタを使うようになるだけで、Cのソースは
格段にスマートになるから使った方がいい。

437: ◆ZZMmlvk7W2
08/07/10 18:04:41 3bL6xyS4
>>435>>436
4月から初めてプログラミングに触れてHSPでゲーム作り始めた趣味グラマだ。構造体なんか無かったから3次元配列とかで代用してた
6月中旬頃に処理速度に限界を感じて勧めもあったのでC++に乗り換えた
ポインタなんか無かったからある方が違和感を感じる…そのうち治したい
構造体も実のところしっかり理解してるわけじゃない…配列とかを一つにまとめられる大きな配列みたいに考えている

438: ◆PSPI/D/D3o
08/07/10 18:05:57 3bL6xyS4
>>437
酉間違えた

439:名前は開発中のものです。
08/07/10 18:55:38 BaUCAJKg
>>437
大体そんな理解で問題ないと思いますよ。
とりあえず狭い範囲から慣れていくのがいいだろうし…

本文より長い蛇足↓

ポインターはアドレスを格納する変数。
・加減算すると1ごとにポインターの型のサイズだけアドレスの値が変化する。
・関数の引数に使う場合(アドレス渡し)ユーザースタックとか、いろいろと節約できる。
・値渡しがデータをコピーしているのと異なり、アドレス渡しでデータを弄ると元データが弄られる。
くらいかな。

ポインター周りは致命的なバグを生みやすいので、
(すぐ落ちるほうがバグ出しし易くていいと思いますがw)
参照する前に必ず範囲をチェックするくらいの勢いで、
コーディングするのがいいと思います。

「処理が重くなるのでは…」と思う場合は、
マクロでチェックの有無を切り替えられるように…とかなんとかは、
またいずれ気の向いたときに試すといいでしょう。

440: ◆PSPI/D/D3o
08/07/10 19:56:40 3bL6xyS4
>>439
ありがとうございます(・∀・)
ふむ…まだわからない単語が多い…
とりあえずこのまま勉強と開発を同時に進めていくことにする…


441:名前は開発中のものです。
08/07/10 21:09:44 XFyggTcl
無知な私に知恵をおさずけくださいぐらいの低姿勢のほうがいいよ
プログラマって基本そういうことをいわずに内心でためこむタイプが多い
でもわりと行儀いい子とか気に入った子には技術のバーゲンセールをする

442:名前は開発中のものです。
08/07/10 21:20:53 Ktfw/g2p
こうですか!分かりません><




↑これを文末に入れるだけで好感度あげあげ

443:名前は開発中のものです。
08/07/10 21:27:01 RqiVsKdP
ゲームの作り方教えてください!


こうですか!分かりません><

444:名前は開発中のものです。
08/07/10 21:30:21 Th4Nq9b5
別板で「どんだけー」とかしきりに書いてるキモチワルイオッサンがいて、
一度テレビで流れるとこの種のキモい系はいつまでも流行してると思い込むのかと
感慨深く見ていたものだが。

「あげあげ」か。
いつまで言い続けるつもりなのだろう…。

445:名前は開発中のものです。
08/07/10 21:31:31 BaUCAJKg
…………てか、C++って参照渡しでいいんだっけかw

446:名前は開発中のものです。
08/07/10 21:34:26 Th4Nq9b5
>>445
参照渡しの方が、確実に実体がある分、致命的なバグを生みにくいからね。

でもポインタにはポインタの利点がある。
つまり、意図的に無効値を送ることが出来る。

447:名前は開発中のものです。
08/07/10 21:47:24 itBxYwxT
いdsた

448:名前は開発中のものです。
08/07/10 22:37:43 /HYR++PI
>>441
>>444
こういう絡み方する人っているよね


449:名前は開発中のものです。
08/07/10 22:40:23 Ktfw/g2p
>>443
何でも教えるよ

>>444
(´・ω・`)ナジレスっすか

450:名前は開発中のものです。
08/07/10 22:48:32 Ol5MmN3V
>>449
地形(自然や建造物)に適した実用的な動的LODの実装について教えてください!

451:名前は開発中のものです。
08/07/10 22:49:38 WgIomn5J
>448
触らないほうがいいと思いますよ

452:名前は開発中のものです。
08/07/10 23:15:06 Ktfw/g2p
>>450
俺は何にも考えずに何年も前から
URLリンク(www.melax.com)
この人の真似っ子して、その結果に満足してるんだが駄目?

富豪的には
ポリ数多すぎてヌルヌル動きません>< → 貧乏人め!高いグラボ買え

453:名前は開発中のものです。
08/07/10 23:22:20 Ktfw/g2p
地面は単純な格子状のメッシュだと楽でいいよね
Quad-Tree使った典型的なアレ
URLリンク(www.gamasutra.com)

454:名前は開発中のものです。
08/07/11 00:00:14 4p+wuyxM
>>448
>>444はLGPスレの寒いおやじギャグが放置されて機嫌が悪いんだよ
日付変わったら自分突っ込みするから要チェックだ

455:名前は開発中のものです。
08/07/11 00:15:42 lWnFD80q
(´・ω・`)

456:名前は開発中のものです。
08/07/11 00:36:15 jimrBkm5
スキル足りなさ過ぎで仕事振れない新人(つっても中途採用のオッサン)に
それとなくダメさをほのめかしつつ人間関係に軋轢が生じない方法を
質問できるスレあれば教えてくだしあ

457:名前は開発中のものです。
08/07/11 00:48:51 lWnFD80q
>>456
お好みのフェードアウト処理についてしつこく聞く

458:名前は開発中のものです。
08/07/11 00:49:48 lWnFD80q
つか他所でやれ

459:名前は開発中のものです。
08/07/11 00:50:55 lWnFD80q
【ピコピコやって】ゲーム業界人実情吐露スレ【33万】
スレリンク(ghard板)l50

ワナビー募集中

460:名前は開発中のものです。
08/07/11 16:00:31 SFEQPvbI
どなたか教えていただきたい。
三次元空間上の線分ABと任意の点Pの距離を求めたいんだけど、ぐぐってみた所
直線を媒介変数で表現してまずABを通る直線との距離を求める手法が出てきた。
残念ながら媒介変数の概念が文系なおれにはさぱーり。
で、色々自分なりに考えてみたら、標準化したベクトルV1(AB)とベクトル
V2(AP)の外積を求めて得られるV1,V2に対してともに直角なベクトルV1sinθの
長さってABを通る直線とPの距離そのものでは?と言う疑問(希望)が生じたんだけど、
これって間違っているのだろうか?
Pから直線ABにおろした足が線分AB上にくるかどうかはAP・ABとBP・ABでチェックするつもり。
蒙昧な文系野郎に救いの手を差し伸べてやってください。

461:名前は開発中のものです。
08/07/11 16:24:09 r9wDPjvC
θが何かの説明が抜けてる。

462:460
08/07/11 17:12:53 SFEQPvbI
θはベクトルV1とベクトルV2が成す角度だと考えています。外積の説明読む限りでは。


463:名前は開発中のものです。
08/07/11 19:15:53 ccJ9ppKi
ポジションをxyzwと表すように、テクスチャ座標も4つのfloatで表現する必要が出てきたのですが
今使ってるエンジンだと、3つのfloatの場合がuvwとなっています
4つ目には、なんのアルファベットを使えばいいのでしょうか


464:名前は開発中のものです。
08/07/11 19:37:06 Fair37zu
>>460
V1、V2に対して共に垂直となるベクトルを外積を使って求めると、その長さは
|V1×V2| = |V1| |V2| sinθ

ところで線分ABと点Pの距離は |V2| sinθなので

|V2| sinθ= |V1×V2| / |V1|

つまり、V1,V2の外積を求めて得られるベクトルの長さを
ベクトルV1の長さで割ってやると線分ABと点Pの距離は求まるのでは?

>AP・ABとBP・ABでチェックするつもり。

この↑あいまいでようわからん。最終目的は「線分ABと点Pの距離を求める」んじゃないのか
最終的に必要なも求めたいものは何?なにをやろうとしてるの

465:名前は開発中のものです。
08/07/11 19:53:20 440n+1OX
>>463
uvwの次の文字は知らんけど、
OpenGLではテクスチャ座標を(s,t,r,q)で表してるので、それを採用するという手も

466:名前は開発中のものです。
08/07/11 20:06:44 r9wDPjvC
あきらめて、媒介変数使いなさいな。

てか、解説図無しで文字だけで解法を理解する力があるなら、ググって理解できるはずw
逆に言うとググって理解できないら、文字だけで理解させるなんてできないよ。

467:460
08/07/11 20:38:37 SFEQPvbI
>>464
目的はカプセル状のコライダーと任意の点の衝突判定です。
簡単な衝突判定つきの弾性体を実現するための関数群を製作中で、ゲームに使う
目的で、現在カプセル形状のコライダーとの衝突判定を製作中なのです。
>AP・ABとBP・ABでチェックするつもり。
これは点Pから線分ABを含む直線におろした垂線が果たして線分AB上にあるのか
どうかの判定にベクトルAPとABの内積、BPとABの内積の値を見れば判定が出来る
かな、と言う意味です。
>>466
上記の目的なので、最終的に弾性体を構成するパーティクルがカプセルの領域
の内側にあった場合、その表面まで押し戻さなくてはならないので、最初から
ベクトルの長さで距離を測れると、ついでに衝突しない領域までパーティクルを
押し戻すのにベクトルの情報が有用かな、と思って…。
URLリンク(jp.youtube.com)
↑こいつの球体の代わりに任意のカプセルで衝突検知+弾性体の変形をやろうと
しています…。

468:名前は開発中のものです。
08/07/11 21:03:42 O/fkukLR

>>460
URLリンク(gamealgorithms.tar.hu)


469:名前は開発中のものです。
08/07/11 22:02:46 MAH8z4DI
物理エンジンを導入すると速度が遅くなることがありますか?
銃から発射された弾が重力の影響で放物線を描いて落下させたい(わずかな落下)んですが、
この程度のことに物理エンジンを使わずとも落下データを作っておいてそれに基づいて動かせばいいような気もします
機械に余計な負荷をかける必要はないので

470:名前は開発中のものです。
08/07/11 22:46:42 zm3sdudv
>>469
弾丸は常に同じ角度で発射されるの?

471:名前は開発中のものです。
08/07/11 22:48:30 RAHVdx3L
物理エンジンを入れて速度が速くなることは無いだろうな
最近はH/W支援が受けられるから、特定環境ならありえるかもしれんが

472:名前は開発中のものです。
08/07/11 22:55:12 r9wDPjvC
>>467
3次元なんだから点と線分じゃなくて、線分と面じゃないの?

473:名前は開発中のものです。
08/07/11 23:00:14 r9wDPjvC
連投失礼!

>>469
重力加速度だけなら、加減算だけなのでどうって事無い。
配列を使っても、弾を発射する高度と仰俯角が一定でない限り、
なんらかの加減算が必要なので、コストは変わらないと思う。

重力だけでなく空気抵抗を厳密に…とかなら別だがw
速度ごとの空気抵抗を配列に格納しておくのはいいかもね。

474:460
08/07/11 23:19:23 SFEQPvbI
>>472
モデルの頂点単位で計算するので点の方向で。
>>460
リンクあり。でも式のdirとかorgの意味がよーわからんw
k=(↑AB・↑AP)/|↑AB|
と同じことが記述してあると思うのだがあってるよね…汗?
媒介変数、外積ともに実装してみたんだが上手く挙動しない…orz
昼過ぎからずーっとやってるので正直頭が更に働かんようになってもうた…。
うぁー。


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

5334日前に更新/211 KB
担当:undef