マイクラのように移動できるキー操作については、【Unity C#】マインクラフトのようなプレーヤー操作 でご紹介しました。
このプロジェクトをもとに、クリックでオブジェクトを破壊できるしくみを作ってみましょう。
※この章は、マインクラフトのようなプレーヤー操作 を終えてからご参照ください。
関連記事:
Rayに当たったオブジェクトを削除
何度かクリックすれば壊れる
壊せるものと壊せないものを分ける
プレーヤーの視野調整
まずは適当に、Cubeオブジェクトをつくり、プレーヤーの近くに配置します。
vThirdPersonCamera_LITEの設定をおこないます。
CullingLayerは、Cubeオブジェクトのレイヤーを同じにしてください。
MouseSensitivityを30に上げて、カメラの旋回を早くしています。
マウスの動きとカメラの動き、ズレが出ないように、DefaultDistanceを0にしました。
プレイしてみるとわかるのですが、カメラとプレーヤーの位置が同じになったため、ずいぶん視野がせまくなっています。
もう一度vThirdPersonCamera_LITEを選び、FOVの設定をしましょう。
ゲームビューを確認しながら、FOVを適度に調整してください。
OnMouseDownメソッド
スクリプトを書いていきましょう。
ClickDelete.csをつくり、すべてのCubeオブジェクトにアタッチします。
スクリプトはこのように書きました。
1 2 3 4 5 6 7 8 9 10 11 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ClickDelete : MonoBehaviour { void OnMouseDown() { Destroy(this.gameObject); } } |
プレイしてみましょう。
短いコードですが、MineCraftのように、クリックで壊せるようになります。