新規トピックを開始

Web playerで壁や天井のコライダーをすり抜けず衝突し止まる方法

Web playerでは壁や天井にコライダーを設定していてもそのまますり抜けてしまいますが、衝突して止まるようにする方法はありますでしょうか。
プレイヤーはコライダーで囲まれた閉じた空間の中だけを移動できるようにし、その外へは移動できないようにしたいです。


なるほど、コライダーにぶつかったらその先へ進めぬようプレイヤーの位置を移動させるということですね。

今用意している空間は壁が円形であったり複雑な形状も含むので、最低限床と天井だけにするか検討してみます。

ご回答ありがとうございます!


1人 これを「好き」

ご質問ありがとうございます。


残念ながら、Web Playerでプレイヤーの移動範囲を制限する方法は提供しておりませんので、Playmakerで実装する必要があります。


プレイヤーをPlaymakerで移動させる方法(Web Playerのみ)

GetMainCameraアクションでCameraのGameObjectを取得し、SetPositionで移動先の座標を指定。


簡単な例:立方体の空間の場合

CameraのX,Y,Z座標をEvery Frameで取得し、各座標が範囲外になった場合に上限または下限値に設定する。


複雑な空間の場合、CameraのGameObjectにコライダになるGameObjectを追従させて空間を囲むコライダとの接触判定を行って制御する実装も考えられますが、実装は複雑になります。











1人 これを「好き」
ログイン または 登録 コメント投稿のため