(Unity・LEGOワールドで遊ぶ)ボムを投げる

(ボムの作成)

  • 新規に「Sphere」を作成
  • 名前を「Bomb」に変更
  • 大きさは自由
  • 好きな画像を付ける。

  • 「Rigidbody」を追加

 

  • BombオブジェクトをAssetsエリアにドラッグ&ドロップしてPrefab化する。
  • Prefab化したらHierarchyエリアにあるBombオブジェクトは削除する。


(ボムを投げる)

  • 新規にC#スクリプトを作成
  • 名前を「ThrowBomb」に変更
  • 下記のコードを書いてチェック
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ThrowBomb : MonoBehaviour
{
    public GameObject bombPrefab;
    public AudioClip sound;

    void Update()
    {
        if(Input.GetKeyDown(KeyCode.Z))
        {
            GameObject bomb = Instantiate(bombPrefab, transform.position, Quaternion.identity);
            Rigidbody bombRb = bomb.GetComponent<Rigidbody>();
            bombRb.AddForce(transform.forward * 1000);
            AudioSource.PlayClipAtPoint(sound, Camera.main.transform.position);

            Destroy(bomb, 3.0f);
        }
    }
}

(発射ポイントを作る)

  • 新規にCreate Emptyオブジェクトを作成
  • 名前を「ThrowPoint」に変更

 

  • プレーヤーの首の前あたりに配置

 

  • 角度を少し上向きにする(これで放物線を描きながら飛んでいきます)

 

  • 位置と角度が調整できたらプレーヤーと「親子関係」にしましょう。


(設定)

  • スクリプトを「ThrowPoint」オブジェクトに追加
  • BomBプレファブデータを空欄に入れる。
  • Sound(投げた時の効果音)を設定(音は自由)


(実行結果)

  • 設定が完了したらゲームを再生
  • 「Zボタン」を押してBombを投げることができれば成功です。
  • 「飛距離」や「角度」は自由に調整しましょう。