HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
0405
のほほんズ障害物作成6解決


のほほんズ

リンク

2006/4/5(Wed) 15:33:02|NO.237

質問がとても多くてごめんなさい
回答してくださっている方本当にありがとうございます
3Dのタンクゲームを作っているのですが
障害物の置きかたがわかりません
addbox命令で箱を作成して障害物にしようと思ったら
タンク本体が箱を通り抜けます
どうやったら通り抜けないようになるのでしょうか
わかる方は教えてください
よろしくお願いします



この記事に返信する


cbird

リンク

2006/4/5(Wed) 18:47:29|NO.239

Xファイルで読み込んだモデルや、モデルを作る命令でつくったモデルは3Dの画像にすぎ
ません。なので、めりこみもしますし、重なりもします。

なので、物同士がぶつかっているか(当たり判定)を調べて、処理(たとえば1フレ前の
位置に戻すとか、動かなくするとか)を行います。

HGIMGには将来「より高度なコリジョン(当たり判定)システム」が搭載される予定がありま
すが現在は搭載されていません。現状で使えるものはヘルプを「コリジョン」でしらべると
でてくると思います。又、独自に当たり判定を行うことも当然ながら可能です(3Dの判定
は難しいですが・・・)

当たり判定について参考ページ
http://ja.wikipedia.org/wiki/%E5%BD%93%E3%81%9F%E3%82%8A%E5%88%A4%E5%AE%9A



のほほんズ

リンク

2006/4/6(Thu) 13:57:52|NO.263

ご回答ありがとうございます
当たり判定についていろいろ調べて試してみましたが
結果はいまいちでした
そのまま通り抜けてしまったりとか
障害物に突っ込むと
回転したりします
もしよろしければ
当たり判定についての
サンプルスクプリトが公開されているホームページの紹介や
サンプルスクプリトの投稿をしてくだされば助かります
よろしくお願いします。



Yuki

リンク

2006/4/6(Thu) 15:42:46|NO.265

「当たり判定」と名前をつけて仰々しく呼ぶ人もいますが、状況に応じて処理内容はまったく変わります。
実現方法も人それぞれで、如何様にもつくれます。
紙に絵を描いて落ち着いて考えれば出来ると思います。
たとえばこう

;地面と衝突して跳ね返る線の例
; 位置x, 位置y, 速度x, 速度y px = 0.0: py = 0.0: vx = 0.5: vy = 5.0 *l_Main await 5 px += vx: py += vy: vy -= 0.1 if py<0 & vy<0: vy = -vy; ここが当たり判定、跳ね返り line px, py goto *l_Main

本来、自分でじっくり作りあげる気があるなら掲示板で質問するような問題ではないと思いますよ。



K

リンク

2006/4/7(Fri) 22:05:18|NO.298

聞きたい事を、はっきりさせてくだい。

衝突判定が分からないのか、衝突してからの動かし方が聞きたいのか
両方が聞きたいなら、判定ならどんな判定(四角形同士とか)動きなら
衝突時に止まるだけとか、面に沿って動くとか

後、いきなり3Dじゃ無く、2Dで考えて見る事をしてみてください
そうすれば本当に知りたい所が見えてくると思うので・・・

とりあえず、考え方としては

衝突したかどうかだけでは思った動きは出来ない
衝突前と衝突した時の位置関係と障害物との位置関係を見てどこに動かせば
障害物に当たったような動きになるか考える

障害物に対して、この面にこの方向から当たり自分はこの方向を向いていたら
xには動けるけどyには動けない

こんな感じで条件分けをして、動きを決める



通りすがり

リンク

2006/4/7(Fri) 22:59:09|NO.300

一度HGIMGのマニュアルをよく読んだほうがいいですよ。オブジェクトやコリジョンの概念を理解した上で取り組めばとっつき易いですし。
やれば出来る事なのに、サンプルスクリプト見せて下さいってのは少しえげつないです。近道せずに基礎からやることが大事ですよ。



のほほんズ

リンク

2006/4/8(Sat) 11:47:03|NO.309

わかりましたもう少し考えて見ます
ご回答ありがとうございました。



ONION software Copyright 1997-2023(c) All rights reserved.