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

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

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

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

Unity

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

Q&A

解決済

1回答

6744閲覧

Unity 2Dのビリヤードで玉の跳ね返りを作りたいです

suittizihou

総合スコア27

C#

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

Unity

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

0グッド

0クリップ

投稿2018/06/02 16:57

編集2018/06/02 17:02

前提・実現したいこと

2Dのビリヤードゲームを作る。

玉が他の玉に衝突した際、当たった玉に力が継承されて飛び散るようにしたい。

Unityで2Dビリヤードゲームを作ろうとしているのですが、rigidbody2Dとcollider2Dをそれぞれボールに付けて跳ね返りをさせるために

Physics Material 2DのBouncinessを1に設定し摩擦は0で画像の白玉を番号付きの玉に当てたのですが現実のようにそれぞれ飛び散りません、、、

イメージ説明

なんとなく思いついていることなのですが、

白玉が衝突した時に衝突したボールにその時点で白玉が保持しているスピードを番号付きの玉のTranslateに継承すれば白玉のスピードを

うまく受け継いでくれるかな、、、と思ったのですが、やり方がいまいちわからず、、、

###白玉のソースコード

C#

1public class white_ball_move : MonoBehaviour { 2 3 public static float speedY = 0; //publicなのは番号の玉に継承しようとしたなごりです 4 public static float speedX = 0; 5 6 void Start () { 7 8 } 9 10 void Update () { 11 if (Input.GetKeyDown(KeyCode.W)) 12 { 13 speedY = 0.05f; 14 } 15 transform.Translate(speedX, speedY, 0); 16 speedY *= 0.995f; 17 } 18}

試したこと

Frictionに数字を入れても変化なしです

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

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

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

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

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

Bongo

2018/06/02 19:47

自前で運動量を伝達するコードを書いて動きを再現するというのも面白そうですが、Rigidbody2Dを使った時にうまくいかなかったというのも気になりますね。もしかするとRigidbody2D版のコードに修正を加えていった方が近道になるかもしれないので、そちらもご提示いただけると可能性の幅が広がっていいのではないでしょうか。
guest

回答1

0

ベストアンサー

transform.Translateは「指定の場所にオブジェクトを移動させる」命令です。
引数は「位置」を意味するので速度を入れても無意味です。
物理演算も働かないので跳ね返りも起こりません。

rigidbody.AddForce(物理的な力を加える)を使うと上手くいくと思います。

投稿2018/06/04 01:52

sakura_hana

総合スコア11427

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

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

suittizihou

2018/06/05 15:39

本当にありがとうございます、、、!! 一瞬で解決しました、、、w とても初歩的な質問ですみません、、、 精進します!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問