【UnityC#講座】重複なく配置したCubeをひとつずつ消して行くCubeのゲーム(?)【NavMeshAgent】


Unity2019.2.2f1
Windows10

Cube1つずつ/トップ

最近見ているだけで面白いゲームを作りたいと思い考えたのが今回の無数のCubeを一つずつ消していくCubeのゲームです。
いや、ゲームとは言えない代物ですが・・・

縦横の幅やゲットされるCubeの数は設定できます。

■Plan、空のオブジェクトの設置、Navigation Staticの設定

【UnityC#講座】ユニティちゃんをモブキャラのごとくランダム移動させる【NavMeshAgent】

この記事を参考にPlanと空のオブジェクトを出し、Navigation Staticの設定をしてからBakeまでしてください。
Planの位置はXYZ全て0で真ん中に来るようにし、Scaleは大きめに設定してください。
空のオブジェクトの名前はSetCubにしました。

■Cubeの設置

Cubeは捕食する側とされる側の2つ出します。
名前はPlayerとTargetにしました。

Hierarchy > Create > 3D Object > Cube

色を変えたい場合はMaterialをそれぞれにアタッチします。

Project > Create > Material

TargetにはTagを設定します。
Inspectorの左上のTagからAdd Tagを選びます。

Cube1つずつ/Tagタグ設置

そしてTags & LayersのTagsの右下の+ボタンを押してTargetのTagを作ります。
出来たら戻ってまたInspectorの左上から設定しましょう。

Cube1つずつ/Tagタグ設置2

できたらTargetオブジェクトをHierarchyからドラッグ&ドロップしてProjectビューに持ってきてPrefab化します。

スポンサーリンク

■SetCubeのスクリプトを書く

SetCubeオブジェクトにTagetオブジェクトを重複なしで配置するスクリプトを設置します。
名前はオブジェクトと同じくSetCubeにしました。

Project > C# Script

SetCubeオブジェクトにアタッチしたらInspectorにPrefabのTargetオブジェクトをアタッチします。
そこから縦横の範囲、縦のCubeの数を設定することもできます。

Cube1つずつ/SetCube/TargetPrefab

横、縦のfor文でTargetオブジェクトを配置していきます。
Listで置かれた位置の数値を消すことで重複をなくします。

■Playerのスクリプトを書く

次はPlayerオブジェクトにそれを動かすスクリプトを設置します。
名前はPlayerにしました。

このスクリプトではOnTriggerEnterを使っているのでPlayerのBoxColliderコンポーネントのIsTriggerにチェックを入れてください。

Cube1つずつ/BoxCollider/IsTrigger

さてこれで完成ですが無事動いてくれたでしょうか?
というか見てて面白いでしょうか?(笑)

今回はこれで終わります。
お疲れさまでした。

■関連記事

【UnityC#講座】ユニティちゃんをモブキャラのごとくランダム移動させる【NavMeshAgent】

【UnityC#講座】列挙型(enum)で行動を分ける【NavMeshAgent】

スポンサーリンク

目次に戻る