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

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

新規登録して質問してみよう
ただいま回答率
85.49%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

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

Unity

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

Q&A

解決済

1回答

3039閲覧

オブジェクトが壁を貫通してしまう

_Beginner

総合スコア103

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

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

Unity

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

0グッド

1クリップ

投稿2018/12/22 14:45

編集2018/12/22 14:55

###聞きたいこと

キューブ型のオブジェクト2つで90度に交わる壁を作ったが、
他のオブジェクトを突進させると貫通してしまう。
スピードの出しすぎでフレームの処理が追いつかず貫通するというわけではない。

他に気をつけるべきところがあるのか?

###詳しく

キューブ型のコライダーがついたオブジェクトA、Bがあります。
大きさはどちらもx = 5, y = 1, z = 1で、
ローテーションはAがx = 0, y = 0, z = 0、Bがx = 0, y = 90, z = 0という状態です。

イメージ

位置関係は画像のように2つのオブジェクトが重なる部分を作っています。
これらのオブジェクトのコンポーネントはCube (Mesh Filter)Mesh RendererCube Colliderの3つだけです。

そこに大きさ1,1,1のキューブ型オブジェクト(Rigidbodyコンポーネント付き)が以下のスクリプトによって上の画像の左奥から壁に向かって移動します。

c#

1float Move_X, Move_Z; 2this.gameObject.GetComponent<Rigidbody>().position += new Vector3(Move_X * 7, 0, Move_Z * 7) * Time.deltaTime;

すると数秒間V字の壁に挟まっていたキューブ型のオブジェクトが壁Aもしくは壁Bを貫通して、貫通しなかった方の壁に辿ってすり抜けていきます。

###稀に起こること

  • 上のやり方と逆で、右手前からV字の壁に向かって移動したとき、壁Aまたは壁Bにつたってすり抜けて左奥へ行ってしまう。
  • 上記の「詳しく」と同じ動作をしたとき、壁を貫通せず後ろに大きく跳ね返り、操作が効かなくなる時がある。

この場合何をすればいいのでしょうか?どなたか回答お願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

rigitbody.positionですが、こちらはスライド型の移動ではなく、ワープのような移動をします。
ですので、間に壁があっても簡単にすり抜けてしまいます。
物理的な移動を再現したいのであれば、rigitbody.Addforceなどを使用してみるといいかと思います。

投稿2018/12/22 16:24

yuuyu

総合スコア1135

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

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

_Beginner

2018/12/23 02:09

Velocityでやってみたらいい感じになりました。ありがとうございます!
_Beginner

2018/12/23 02:10

velocityでやってみたらいい感じに動いてくれました!ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問