プレイヤーが接触したオブジェクトをプレイヤーの向いている方向に飛ばすためには、プレイヤーの向きを取得し、その向きに力を加えることで実現できます。具体的なコードは以下のようになります
void OnCollisionEnter(Collision collision)
{
// プレイヤーと衝突した場合
if (collision.gameObject.tag == "Player")
{
// プレイヤーの向きを取得
Vector3 playerDirection = collision.gameObject.transform.forward;
// プレイヤーの向きに力を加える
GetComponent<Rigidbody>().AddForce(playerDirection * forceMagnitude);
}
}
このコードでは、`OnCollisionEnter`関数を使用してプレイヤーとの衝突を検出し、衝突したオブジェクトにプレイヤーの向き(`transform.forward`)に力を加えています。`forceMagnitude`は力の大きさで、これはあらかじめ適切な値に設定しておく必要があります。
この方法であれば、プレイヤーがどの方向を向いていても、接触したオブジェクトはその方向に飛んでいくはずです。ただし、このコードは基本的なものであり、具体的なゲームの状況や要件によっては調整が必要かもしれません。例えば、力の大きさや、飛ばす方向(水平方向だけ、または上下方向も含む)などを調整することが考えられます。また、オブジェクトが飛ぶ速度や距離も力の大きさやオブジェクトの質量によって変わるため、これらのパラメータも適切に設定する必要があります。具体的な値はテストプレイしながら調整してみてください。
【ゲームエンジン】Unityなんでも質問スレpart11
レス数が900を超えています。1000を超えると表示できなくなるよ。
933名前は開発中のものです。
2023/10/31(火) 18:49:45.92ID:d8ooapVaレス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★2 [ぐれ★]
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★3 [ぐれ★]
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★4 [ぐれ★]
- 【速報】高市総理が官邸入り [Hitzeschleier★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 【震度6強】政府 危機管理センターに官邸対策室を設置 [ぐれ★]
- 地震 ★2
- 俺氏「副鼻腔炎になりました」ネトウヨ「貴様!それは中国語だな!!」俺氏「は?」 [805596214]
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- 【速報】高市早苗、起床 [779938112]
- 巨大地震 [957955821]
- 00:00:00.000
