🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Unity3D

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

Unity

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

Q&A

2回答

3300閲覧

Unity3D x軸だけのRigidbodyの停止の方法がわかりません

niwa2019

総合スコア12

Unity3D

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

Unity

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

0グッド

0クリップ

投稿2021/01/05 01:12

rigidbodyで移動中のオブジェクトをスクリプトで停止する場合ですが

たとえば、放物線を描いて、球が、空中を移動している際

rb.velocity = Vector3.zero;

これを実行すると、空中で停止して、垂直に落下し始めます。
x軸、y軸、両方の速度がゼロになるからです。

これを、x軸方向の速度だけをゼロにしたいです。
y軸方向の速度は、変化させたくありません。

この場合、どのようにコードを書いたらいいのでしょうか?

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

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

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

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

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

guest

回答2

0

hogefugapiyoさんの方法でもいけます。がもう一つの方法を提示しておきます。
<もう一つの方法↓>
rigidbodyのコンポーネントにFreezePositionとFreezeRotationというフラグがあります。
今回はFreezePositionのXをフリーズした後即解除すれば大丈夫です。
書式↓

C#

1Rigidbody rigid = GetComponent<Rigidbody>(); 2//X軸の物理による移動をフリーズ↓ 3rigid.constraints = RigidbodyConstraints.FreezePositionX; 4//全てのフリーズを解除↓(特定のフリーズを解除することはできないようです) 5rigid.constraints = RigidbodyConstraints.None;

投稿2021/01/05 04:20

negitam-31

総合スコア44

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

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

Bongo

2021/01/05 12:13

RigidbodyConstraintsはビットフィールドになっているようですので、ちょっと直感的ではないかもしれませんが rigid.constraints &= ~RigidbodyConstraints.FreezePositionX; みたいな形で特定の項目だけ解除できそうですね。
negitam-31

2021/01/06 04:15

条件の反転(?)みたいなやつでしたっけ?ありがとうございます!
guest

0

そのままX軸の速度だけ0にしたらどうでしょう?

cs

1var currentVelocity = rb.velocity; // 現在の速度を取る 2currentVelocity.x = 0; // X軸速度だけ打ち消す 3rb.velocity = currentVelocity; // 再代入

投稿2021/01/05 01:16

hogefugapiyo

総合スコア3302

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問