触手の動きのアルゴリズム教えてください (325レス)
1-

1
(15): とっつぁん [とっつぁん] 02/05/15 03:44 ID:??? AAS
沙羅曼陀の1面やグラディウスIIの2面にでてくるようなスラッとした動きの触手、
グラディウスIIIの植物面にでてくるのや沙羅曼陀の1面ボスのゴーレムの手みたいに
時機を追いかけているうちに自ら絡まってこんがらかるような動きの触手の
アルゴリズムというか計算方法を教えてください。
2: 02/05/15 03:48 ID:??? AAS
2chスレ:gamedev
双子の兄弟スレ
3
(1): 02/05/15 05:01 ID:??? AAS
>>1
 いや、別にこんがらがるように設計したわけじゃないと思うぞ。単に親細胞上を動く子細胞の角度を限定したから1方向に回されると絡まるだけで。

 三角関数でキャラを円運動させれれば、触手の実装は簡単です。親の運動値を子に渡せばいいだけですから。ちなみに移動速度が速くて角度制限無しの触手を作ると、自機の方向に突っ張った触手が出来あがります。
4: 02/05/15 05:31 ID:??? AAS
なんでここで質問せんのだ?
2chスレ:gamedev
5
(1): [あげ] 02/05/15 06:18 ID:??? AAS
>>1 IKで検索
6: 02/05/15 08:32 ID:??? AAS
>>5
そんな高度なことはやっていない罠
7: 02/05/15 22:44 ID:NnWbsCpI(1) AAS
>>3
ロジックってこんな感じになるの?

触手の一番先端の細胞が自機の方移動します。
その動きを元に、各親へ移動情報を伝えていきます。
一番上の親にきたところで問題発生。遠すぎてその位置へは
移動できないらしい。とりあえず最大限のところまで移動。
今度はその情報を子に伝えていきます。
省1
8: 02/05/15 22:53 ID:??? AAS
グラディウスの触手の細胞は重なりあうのがOKだけど、
重なりあわないようにすると(例えば真珠のネックレス)
結構難しくない?
9
(1): 02/05/15 22:58 ID:??? AAS
全オブジェクト間で重なりチェックして
重なってたら距離が離れる方向に補正してやればいいんじゃネーノ?
10: とっつぁん [とっつぁん] 02/05/15 23:45 ID:??? AAS
わかったようなわからないような・・・馬鹿でごめんなさい。

自分の座標 X Y
触手の各オブジェクトの座標 SX(i) SY (i)
触手オブジェクトの数 i
iは仮に10個だとして10個目が付け根で位置固定として自分を追いかけてくるような
サンプルプログラムきぼん。N88BASICで。
11: 02/05/16 00:11 ID:??? AAS
自分で考えろ。N88BASICで。
12: 02/05/16 02:14 ID:??? AAS
>>1
ふーん。ナルホド。
今、適当に考えてみた(だけ)では、
ホーミングミサイルの、迂回しながら追尾
&親子リンク
&各ノードの座標値(親からの相対座標)を、触手のノードサイズでクランプ
でいけないかな?いけるような気がする。(多分)
13
(1): 02/05/16 20:29 ID:??? AAS
>>9
いいんじゃネーノ?ってずいぶん軽く言うね。(ワラ
全オブジェチェックは当然だけど、1パスじゃ無理な状態もあるね。
14: 02/05/16 21:18 ID:??? AAS
>>13
たぶん、
とりあえずで基本的な考え方を軽〜く書いただけだろう。
自分で実装するなら真面目に考えるけどなー。
15
(6): 02/05/17 00:46 ID:??? AAS
>>1
それは自分で考えたほうがいいよ。
出来た時には「俺ってすげぇ」とか思う(錯覚)よ。
俺が学校でVB習ったときに、
グラディウスのオプションやレーザーの動きを自分で考えてみたんだけど、
出来たときはそう思った。

どうでもいいけど、
省3
16: ヒント [sag] 02/05/17 09:50 ID:??? AAS
双方向リストにすると触手をいくらでも追加できて良いよ。
17
(2): 02/05/18 00:29 ID:??? AAS
>15
ハァ? レバーを入っているときだけ循環バッファに書き込むか、
レバーが入っていなくても書き込むかの違いだけだろ?
18
(4): 02/05/18 07:12 ID:jMqxBjRg(1) AAS
単純な循環バッファ(って言うのか?)だけで処理する分身なんて
この板みてる奴なら誰でも作れると思われ。
>>15にはぜひ自分で考えた触手の動きを発表してもらいたいものだ。
いやオプやレーザーでも可。きっと微笑ましいものに違いない。

それはそうとグラのオプはコンシューマー機用のは単純な循環バッファ処理のようだが
アケ版はシリーズすべて異なる妙なアルゴリズムなんだよね。
以前別板のスレでずいぶん議論が盛り上がっていた。
19: 02/05/18 08:26 ID:??? AAS
グラディウスのオプションって何種類か無かったっけ?
感性で引っ張られる奴とか、親機をトレースするのとか、くるくる回るのとか
20: 02/05/18 08:33 ID:??? AAS
>>17 >>18
まぁまぁ落ち着いて。
>俺が学校でVB習ったときに、
この文章見た時点でレベルなんて想像できるでしょうに。
21
(1): 02/05/18 14:32 ID:??? AAS
学校で教わる前にできてろよ。そんなもん。
つーかVB教えるような学校通うな。
つーかプログラミング学校で習うな。
22: 02/05/18 14:38 ID:??? AAS
>>18
> それはそうとグラのオプはコンシューマー機用のは単純な循環バッファ処理のようだが
> アケ版はシリーズすべて異なる妙なアルゴリズムなんだよね。
> 以前別板のスレでずいぶん議論が盛り上がっていた。

後から追加された追尾型以外のは別として、
グラII以降は普通のルーチンになったように記憶しているんだけど…。
詳細希望。できればそのスレも。
23: 02/05/18 17:18 ID:nLBOy5nA(1) AAS
いくつか節をもうけてフックの法則を適用
3dにも使えるし動きもリアルだと思います。
24: 02/05/18 17:47 ID:??? AAS
流石にサラマンダとライフフォースのオプションの動きは全く同じだろうな。
25: 02/05/18 21:16 ID:??? AAS
触手とオプションじゃ全然ロジック違うよね。
26: 02/05/18 21:54 ID:pBCFD8TQ(1) AAS
サラマンダの微妙にギクシャクしたオプションの動き方に萌え
27
(1): 02/05/18 21:54 ID:??? AAS
無理矢理こじつけるなら
オプションは単方向にデータが流れるだけだが
触手は双方向にデータが流れる(というかフィードバック)
ぐらいかな。

だめだ、全然違うなw
28: 02/05/18 22:29 ID:??? AAS
節足動物をシミュレートする
29: 02/05/18 22:30 ID:??? AAS
どうせなら軟体動物のシミュレートよろしく
30
(1): 02/05/18 22:34 ID:??? AAS
>>27
別に無理してこじつけなくても両者に共通する部分は多いと思う。
ただ、どちらも種類が多すぎるから、全然かぶらないのもあるけど。

オプションの場合、自機の軌跡をそっくりたどるけど
それを触手に見せたいときは、触手の付け根と内挿すれば良い。
後は先端をそれっぽく動かせば、昔、何処かで見たような触手になる。
たこの足や、鞭のように根っこに意思がある(?)ものは根っこの方から
省11
31
(4): 02/05/18 22:57 ID:??? AAS
だからって単発質問スレを認めるわけにはいかんだろ!?
削除依頼出して、適当なスレで続きを議論してくれよ
それとも、触手の話題だけで1000レス行くとでも思ってる?

普段は単発質問スレの教えてクンがいると荒らしてしまうのに、
ちょっとでも知ってる事があると知ったかぶって議論したくなるのは
キミたちの悪いところだぞ。仮面紳士めが!。
32: 30 02/05/18 23:06 ID:??? AAS
プログラム遊びの題材としては
触手って簡単で結構面白いと思うんだけど…。
世知辛い世の中だねぇ…。
33
(1): 02/05/18 23:25 ID:??? AAS
>>31
これだけ実のある話がでてきているスレで
その手の話をするのは本末転倒だろ。
この板に山程あるクソスレにくらべたら
よっぽどマシな話が出てきてるじゃねーか。
何も議論できない風紀仕切りたがりは逝ってよし。
これだけネタになればスレとしては十分存在するに値する。
省1
34: 02/05/18 23:46 ID:??? AAS
も、もしかして、1000レス行く事がスレッドの目的なのか?
35
(2): 31 02/05/19 01:27 ID:??? AAS
>>33
事実、実のある話が出てきているのは素直に認めよう。
この板の下らないスレよりはよっぽどマシだと思うよ。

だけどな、実のあるスレになったのは結果論であって、
単発質問スレを立てたことは非難されても仕方ないだろ?
第一、スレを立てた>>1はどこへ行ったよ?

これを認めてしまうと、「実のあるスレになるかも」といって
省3
36: 02/05/19 03:15 ID:??? AAS
>>35
だからよう…
こういう風に関係ない議論する時点でスレ本来の議論にゴミが入るわけよ。
まず、実のある話をしてる最中にこういう風紀的なことをすると水をさして
実のある話をしていた人間が去り、
再びクソスレ化が進むということをよっっく理解してくれ。

単発スレが立ったら、ボコボコに叩いていいと思う。
省5
37: 02/05/19 03:18 ID:??? AAS
>>31 板を腐らせてるのはおまえだ。
38
(1): 31 02/05/19 03:23 ID:??? AAS
AA省
39: 02/05/19 03:25 ID:??? AAS
>>38 惚れますた!
40: 02/05/19 03:54 ID:??? AAS
 触手が最初にゲームに登場したのはいつなんだろうね。やっぱグラディウス?(これ以前が思い浮かばん)
 印象が強いのはファンタジーゾーンのクラブンガーかなぁ。触手腕をぶんぶん振りまわして体操していたのがなつかすぃ。

 丸(1キャラ)型から角(多角度)型に進化して、そして今、触手はどこへ…。
41: 02/05/19 04:45 ID:??? AAS
>触手はどこへ…

エロゲー、エロアニメで見たYo
42: [age] 02/05/19 04:51 ID:??? AAS
3Dで軟体触手(そんな表現があるのか知らんが)かと。
43
(1): 02/05/19 04:53 ID:??? AAS
>>32-41
自治厨の煽りに見事に釣られてしまったようだな。
ヤツの思う壺だろ?
このスレを殺したのは、釣られてしまった君達自身で
あることも忘れるな!
44: 02/05/19 05:09 ID:??? AAS
>>43
かちゅだとそのリンクの張り方は見づらいのでやめてケロ。
45
(1): [sageとっつあん] 02/05/19 10:49 ID:??? AAS
>>35
>第一、スレを立てた>>1はどこへ行ったよ?

名無しで参加しておりますが。
46: 02/05/19 10:53 ID:??? AAS
>>45 ケツ出しな
47: [age] 02/05/19 15:18 ID:??? AAS
触手の進化系はこのゲームのヘビの動きに集約されています。
外部リンク[htm]:www.axysoft.com
48: 02/05/19 17:35 ID:??? AAS
これってよくあるonekeyゲームを3Dにしたものかな
解説斜め読みしたところ3dとかサウンドにしか触れていない
ただのバッファリング?
49: 02/05/19 18:19 ID:??? AAS
普通の蛇ゲームだった。正にオプション型じゃん
50: 02/05/19 20:02 ID:??? AAS
こういうレトロゲームを無駄に3D化系って意外とインパクトあるな。
前にこの板のどっかで見たブロック崩しもだけど。
51: 02/05/19 20:19 ID:??? AAS
たけしの挑戦状3D よろしく!
52: 02/05/20 01:11 ID:??? AAS
 とりあえず

 触手系…親から子へ移動値を継承
 蛇系…親から子へ座標値を継承

てok?
53
(1): 15 02/05/20 01:31 ID:??? AAS
みんなひどいこと言うな…。VB房をいじめないで下さい。

>>17
循環バッファ?わかんない。
ただ自分で考えたときは15に書いたような違いになったの。

>>18
>>>15にはぜひ自分で考えた触手の動きを発表してもらいたいものだ。

作ったこと無い。
省11
54
(1): 15 02/05/20 02:40 ID:??? AAS
53の訂正
× 学生には理解できない
○ うちの大学の学生には理解できない

情報処理系の大学でない上に、学生のやる気もあまりないんで。
55
(2): 02/05/20 12:20 ID:??? AAS
>>53
>循環バッファ

バッファに値をぽこぽこ追加していくと、いつかバッファの容量が足りなくなるけど、
そのときに頭に戻って重ね書きしてしまう構造のバッファのことを
循環しているから「循環バッファ」と呼んでるんだと思うよ。
こうすればいくらでもデータが追加できる。
ただし、あんまり古いデータは重ね書きされて消えてしまっている。
56: 02/05/20 16:26 ID:??? AAS
>>54
大学なんてそんなもん。
情報処理系でもプログラム書ける人間が1割いればいいほうなんじゃん?
57
(1): 15 02/05/20 23:27 ID:??? AAS
オプションのソースが見つかった。
今見ると自分でも何だかわかんない。

>>55
循環バッファってこういうやつかな?

If u = 0 Then
e(3) = d(2)
d(2) = c(1)
省4
58
(1): 55 02/05/21 00:09 ID:??? AAS
>>57 == 15
機能としてはそれで良いはず。

ただ >>18 が循環バッファといったのはこれとは違う実装のことだと思います。
あなたがやったのは、バッファにデータを追加したときに、全バッファないのデータを
1つスライドさせていると思うのですが、
>>18 が言ったのは、多分、データを1つ追加するときに、記録する位置が1つずつ移動していく
タイプのもののことだと思います。こうして移動していくと、記録位置が
省13
59
(1): 02/05/21 00:38 ID:??? AAS
ふつーはリングバッファって呼ぶな
60
(1): 02/05/21 00:40 ID:??? AAS
おれはリングバッファって呼んでるけど?
61: 15 02/05/21 01:01 ID:??? AAS
>>58
詳しい解説ありがとうございます。
どこかで聞いたような話だと思って、最近買った
『プログラムはなぜ動くのか』矢沢久雄著
を読んでみたら…

>>59
>>60
省1
62
(1): 02/05/21 03:37 ID:XHSDIsJI(1) AAS
int xytbl[100][2];

毎ループ、データをずらすかポインタをインクリメントするかして
新しい座標をセットして、個々のパーツが参照するのは
4個か5個おきのデータ、、、ていうような処理でいいんでしょか。
無駄な領域を多く取りすぎるので、もっといい方法知ってる人
教えてくれ。
63: 02/05/21 04:24 ID:??? AAS
日本語をしゃべれ
64: 02/05/21 08:50 ID:??? AAS
まずそれで上手くいくかどうかやってみれ!
65: 02/05/21 12:10 ID:nBRpKvSA(1) AAS
触手の話から「オプションから勉強し直そう」スレになっとるがな。
66: 02/05/21 13:17 ID:??? AAS
オプションがバッファにして持ってる座標値を、
それぞれ角度に変えたら、触手になるかな?
67
(2): 02/05/21 15:44 ID:??? AAS
>>62
俺もそんなようなのしか思いつかないけど
グラディウスの場合、自機がスピードアップ(ダウン)すると
オプションの間隔が広がる(狭まる)でしょ?
その時にスピードアップ前に5個おきに参照していたのがスピードアップ後は
6個おきに参照とかなるじゃないですか。すると自機から遠いオプションは
スピードチェンジ時よりも古い座標を参照する事になってしまうんですな。
省2
68: 02/05/21 16:11 ID:??? AAS
初代グラは単純なリングバッファとはかなり違う処理じゃないかな?
スピードは一定で上下スクロールの無い場所でも
オプションが自機の軌跡をきっちりたどっているわけではないみたいだから。
69: 02/05/21 16:51 ID:??? AAS
>>67
自機がスピードアップしたら
単位時間あたりの移動値もふえるわけだから
参照間隔そのままでも
移動値が増えればオプションの間隔は広がるよ。
70
(1): 02/05/21 17:33 ID:??? AAS
そーいや,オプション4個目ってスピードによって反対方向へ行ったりするね…
71:   02/05/21 23:32 ID:??? AAS
>>67
スピードアップした時に間隔が広がるのは、69が言うような理由のせいであって、
意図的にそうしたわけじゃないって開発者が言っていた。

>>70
開発者の話では、OPが自機を最短距離で追うようなプログラムになっているのが原因だそうだ。
つまり、自機が下のほうにあって、OPの4つ目が上のほうにあるような状況のとき、
画面の上と下は繋がっているから、OPの4つ目にとっては上に動いたほうが、最短距離で移動できる。
72
(2):   02/05/22 02:02 ID:??? AAS
FC版ファンタジーゾーンのグラブンガーの腕
AC版サラマンダのゴーレムの触手
ACグラ2の2面の触手
SFC版グラ3植物面のボスの茎(って言うのか?あの部分は)

これらはプログラムに共通している部分があるような気がする。
どれも動きがカクカクしているから。
何かパーツ毎に計算しているというより、
省6
73
(1): 02/05/22 02:50 ID:??? AAS
dakara sono kyokusen no keisanhouhou wo oshietekure to iu sureddo da
74
(1): 02/05/22 03:32 ID:??? AAS
>>72
FANTASY ZONE 4面
外部リンク[htm]:isweb16.infoseek.co.jp

新声社「GAMEST」 1990年分のグラIII 関連記事
外部リンク[htm]:www.geocities.jp

レビュー第2回(グラディウスII)
外部リンク[html]:www.ne.jp
省5
75
(1): 02/05/22 03:40 ID:??? AAS
>>74
ジェミニウィング?
76: 02/05/22 03:44 ID:??? AAS
>>72
 上のは画面写真があるWebね。

|これらはプログラムに共通している部分があるような気がする。
|どれも動きがカクカクしているから。
|何かパーツ毎に計算しているというより、
|触手が通る曲線を計算しておいて、その上にパーツをのっけている感じ。

 いや、当時のハード(FC版)から考えて、そんな計算コストが掛かる方法はとっていないはず。当時はシューティングで小数点を扱ったリアルタイム演算は鬼門だったから、三角関数のテーブル作って256方向(64かも)の座標計算だと思われ。
省3
77: 02/05/22 03:54 ID:??? AAS
>>75
 (・∀・)ビンゴ!!
 即答できるキミは絶対若くないハァハァ。

画像リンク[jpg]:www1.kcn.ne.jp
外部リンク[html]:www2s.biglobe.ne.jp
画面写真はミツカラズ。
78
(1): サインとかコサインとか 02/05/22 04:13 ID:??? AAS
だめだこりゃ
三角関数って何だろうと思って調べてみたけど、ワケワカラン。
俺は触手を語れるレベルじゃなかった。
79: [a] 02/05/22 11:16 ID:??? AAS
>>78それ、やばすぎ。(´・ω・`)ショボー
最初はゲームで波とか円運動させる為のものぐらいに覚えとけば良いんじゃない?
使い方を理解してからサイン・コサインとはなんぞや?を学んでも遅くないぞ。
#あくまでもゲーム製作においては、だが。
80: 02/05/22 11:41 ID:??? AAS
線形代数をやっておくとゲームに役立つ
81: FFマニア [あげ] 02/05/22 12:16 ID:??? AAS
外部リンク:teens2.wao.ne.jp
1-
あと 244 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.019s