質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

1739閲覧

Unityで3Dゲーム作成:壁と接したときの挙動が思うようにいきません。

senkiru

総合スコア24

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2021/10/28 00:29

独学の素人ですが、Unityで3Dアクションゲームを作ろうとしています。

スクリプトを用い、キーボード操作で
3Dマップ上で立方体をコントロールして動かせるようになりました。

問題のトラブルなのですが、
3Dマップ上で壁にぶつかったときに思うように挙動してくれません。

目標は、バイオハザードやダークソウルのように
壁と接した状態で壁に向かって動いても
その場所で綺麗に静止した状態で、
あるいは壁に沿ってスムーズに
前進アニメーションを繰り返す状態にしたいです。

(1)transform.positionのスクリプトで制御するとき
壁に接した状態でさらに壁の方に進むようキー操作すると、
壁に少しめり込む・押し戻されるを非常に細かく繰り返し
ガガガッと動いてしまいます。

(2)Rigidbodyとvelocityのスクリプトで制御するとき
(1)のようなガガガッとはならないのですが
今度は当たり判定に使用しているキューブコライダー、カプセルコライダーが
壁とぴったり接するように回転してしまいます。
壁と接した状態で前進ボタンを押しても、
勝手に回転せずにもともとの角度を維持したままにさせたいです。

素人の質問で恐縮ではございますが
アドバイスいただけるとありがたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

CharacterControllerを使ってみてはどうでしょうか。
過去にCharacterControllerを使用し多際には過去の要求を満たす挙動を苦労せず実現できました。
*他の機能の実装で多少苦労をすることになるとは思います、念のため。

ダークソウルのように壁と接した状態で壁に向かって動いてもその場所で綺麗に静止した状態で、あるいは壁に沿ってスムーズに前進アニメーションを繰り返す状態にしたいです。

また、質問ですが、

今度は当たり判定に使用しているキューブコライダー、カプセルコライダーが壁とぴったり接するように回転してしまいます。

カプセルコライダーの側面は曲面ですが、それが壁にピッタリと接するというのはどういう状況でしょうか。

投稿2021/10/28 00:40

YOshim

総合スコア1085

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

senkiru

2021/10/28 06:17

アドバイスありがとうございます。 キャラクターコントロール調べてみます。 コライダーについては、 動かす立方体の子オブジェクトとして、 キューブコライダーと 追加で一回り大きいカプセルコライダーも付けてみたのですが、 結局キューブコライダーがピッタリ接するまでくるっとまわってしまいました。 まだまだ初心者ですので 何か見落としているかもしれません。 引き続き勉強してみます。
YOshim

2021/10/28 08:39

>動かす立方体の子オブジェクトとして 立方体(親オブジェクト)のコンポーネントとしてコライダーを追加したのではなく子オブジェクトにコライダーを追加したということでしょうか。 試していないので推測となりますが、立方体(親オブジェクト)にキューブコライダではなくカプセルコライダーコンポーネントを追加すれば恐らく壁を沿って移動するのではないかと思いました。
senkiru

2021/10/28 12:18

貴重なご意見ありがとうございました。 まだまだ初心者ですので、 これからも頑張ります。 御礼申し上げます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問