壁の側面を歩くには・・・

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
icon01
記事: 25
登録日時: 13年前

壁の側面を歩くには・・・

#1

投稿記事 by icon01 » 12年前

Unityの質問をここでしても良いか尋ねたものですが。

結論から言うと、地球防衛軍のアリや蜘蛛ように、キャラがいろんなオブジェクトのいろんな面を走り回るプログラムを書きたいのです。
{クーラクエストというゲームをご存知でしたらそちらのほうが完成形のイメージに近いです}

で、重力の方向をオブジェクトの端に来た時に変更してみたりしても、滑り落ちてしまったり、あらぬ方向に飛んで行ったりでうまくいきません。

レイを何十本も飛ばして細かく判定する・・・みたいなことを書いているサイトがあった気がしましたが(リンク先はわかりません)、

どう考えても重くなるし、Unityなら楽できるんじゃね?みたいな淡い希望を抱いているのですが。

どうか、皆さんの意見をお聞かせください。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: 壁の側面を歩くには・・・

#2

投稿記事 by softya(ソフト屋) » 12年前

元からある重力を使わなければ良い気もします。
当たっている壁に引っ張られると言うコードを書いてみたらどうでしょうか?
※ unityに詳しくないので面倒ならごめんなさい。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ISLe
記事: 2650
登録日時: 14年前
連絡を取る:

Re: 壁の側面を歩くには・・・

#3

投稿記事 by ISLe » 12年前

重力方向にレイを飛ばして、交差する平面の角度を元に、重力を分解する必要があります。
Unityは使ったことがないですが、物理エンジン使って楽できそうな気がしなくもないですが。

いちおう壁に沿って動くというサンプルプログラムは、2Dのならウチのブログで公開してます。
元は3Dのプログラムから持ってきたコードなので2軸計算すれば3Dにも応用できます。
壁に沿って転がる玉: ISLeのビデオゲーム工房

icon01
記事: 25
登録日時: 13年前

Re: 壁の側面を歩くには・・・

#4

投稿記事 by icon01 » 12年前

またまた返信が遅くなってしまいましたが、お二人とも回答ありがとうございます。

参考にさせていただきます。

閉鎖

“C言語何でも質問掲示板” へ戻る