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



【Unityアセットストア公式】初購入特別キャンペーン

期間:日本時間 10月31日 17:00時まで
対象:アセットストアで初購入のユーザー限定
詳細:Unityアセットストアで初めてアセットを購入いただく方限定、アセット全品20%OFF


◆◆◆◆


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】

スポンサーリンク

目次に戻る


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください