- 429 名前:名前は開発中のものです。 [2023/09/02(土) 19:48:40.07 ID:2IVnHYdi.net]
- 質問です
rigidbodyにフィジックスマテリアルをつけてボールを作っているのですが、入射角と反射角を一致させたいです。 reflectを使えば、方向ベクトルを反転させてくれるようです。 コードを書いてみたのですが反転しません、壁に沿って移動するような感じですが、どこが悪いでしょうか? rigidbodyはdynamicでgravity0に設定しています。 Rigidbody2D rb; Vector2 result; Vector2 angle = new Vector2(1,1); void Start() { rb = GetComponent<Rigidbody2D>(); rb.AddForce(angle * 300,ForceMode2D.Force); } void Update() { //スピード制限 rb.velocity = Vector2.ClampMagnitude(rb.velocity , 2); } private void OnCollisionEnter2D(Collision2D collision) { result = Vector2.Reflect(rb.velocity.normalized , collision.contacts[0].normal); rb.velocity = result; }
|

|