【補足解説付き】Unity公式チュートリアル日本語翻訳【Tutorial Projects - 3D Game Kit - Quick Start】
3D Game Kit とは
3D Game Kit は Unity 公式のチュートリアルです。Unity 公式チュートリアルはプロジェクトという単位で区切られています。
チュートリアルの始め方
上図はUnityを起動した直後の画面です。Projects タブにはあなたが作成したゲームの一覧が並びます。Learn タブには Unity の公式チュートリアルの一覧が並びます。チュートリアルを学ぶためには Learn タブを選択します。
Tutorial Projects を始めるためには、サイドメニューバーのチュートリアル一覧から Tutorial Projects を選択します。
チュートリアル本編
1.Introduction to Quick Start Guide
このチュートリアルでは、すでに準備が整えられているコンポーネントを使用して、あなたがコードを記述することなく独自の3Dプラットフォームゲームを作成します。また、ゲームの完成例とマニュアルも含まれています。
「3D Game Kit」をダウンロードすると現れる「Start」ボタンをクリックしてインポート作業を開始します。インポート作業が完了すると 3D Game Kit が起動します。
インポート作業中に上図のポップアップが表示されます。「品質設定は自動的にUltraに設定されました。Edit > Project Settings > Quality menu でその設定を変更することができます」
上図は 3D Game Kit 起動直後の画面です。
上図のようにエラー文が表示されることがあります。プロジェクトがインポートされたら、Unity エディタを閉じてプロジェクトを再度開いてください。これにより、パッケージマネージャが初期化され、プロジェクトのエラーがクリアされます。
再起動したことによりエラーが解消されました。エラーが表示されていたウィンドウのことを Console ウィンドウと呼びます。邪魔なのでドラッグして Game ウィンドウの横にでも移動しておきましょう。
チュートリアルを開始しましょう。
Project ウィンドウの中から Readme と名付けられファイルを見つけて選択すると、画面右側の Inspector ウィンドウに案内が表示されます。
Game Kitとは
このゲームキットを使用すると、コードを書くことなく独自の3Dプラットフォームゲームを作成することができます。
フィードバックを得られますか?
下記リンク先のフォーラムであなたが考えていることや質問をしてください。
https://forum.unity.com/threads/3d-game-kit-official-thread.530684/
どうやって使うの?
3D Game kit を構成する利用可能なプレハブとコンポーネントを全て調べることができる詳細なマニュアルを作成しました。このマニュアルは下記リンク先の学習サイトで閲覧可能です。さっそく下記のリンクを開いてみましょう。
以降は、Quick Start で紹介されている手順に沿って解説します。ただし Quick Start の項目内にある「1.Introduction to Quick Start Guide」は 3D Game kit のダウンロード方法についての説明で既に済んでいるため無視します。
2.Making a New Scene
新しいシーンを作成することから始めましょう。本来であればシーンを作成した際には、まだ何も存在していないシーンが生成されます。 ですが今回は Unity 公式が必要なものを予め設定済みのシーンを作成するツールを用意してくれています。そのツールで作成されたシーンには最初から、地面と、その地面の上を走り回って攻撃ができるエレン(Ellen)という名前のヒーローが、存在しています。
メニューバーの Kit Tools > Create New Scene をクリックします。
New Scene Name と名付けられた入力欄にシーンの名前を入力して Create をクリックします。名前が思いつかない方は TemplateScene1 とでも入力しておきましょう。
地面、エレン、UI、ゲームメニューなどが新しく生成されたシーン上に存在しているはずです。
ProBuilder.Edito は今は使わず邪魔なので Console ウィンドウの隣にでもドラッグで移動しておきましょう。
Unity エディタ上部にある Play ボタンをクリックするとゲームが再生されます。
プレイヤーキャラクターであるエレンを下記のコマンドで動かしてみましょう。
・歩く:キーボードの W, A, S, D あるいは矢印キー
・跳ぶ:スペースキー
・攻撃:左クリック
・カメラ操作:マウス移動
・停止:ESCキー
3.Adding a Moving Platform in 3D Game Kit
シーン内に移動する地面を追加します。 すべての使用可能な機能は Prefabs > Interactables にあります。
MovingPlatform を追加する手順:プロジェクトウィンドウから Assets > 3DGameKit > Prefabs > Interactables に移動します。
MovingPlatform を左クリックしてシーンビューにドラッグします。
Transform Tools を使用して、位置、回転、サイズを調整します。
再生ボタンをクリックして、私達が行った変更をテストしましょう。
MovingPlatform が動いていません。動かしてみましょう。
シーンビューで MovingPlatform をクリックして選択すると Start ポイントツールと End ポイントツールが現れます。これが MovingPlatform の可動領域です。
MovingPlatform を選択しているときには、画面右側の Inspector ウィンドウには MovingPlatform の情報が表示されています。MovingPlatform ゲームオブジェクトには Simple Translator ( Script ) コンポーネントが追加されています。Simple Translator ( Script ) コンポーネントの Preview Position の値をスライダーで変更してみましょう。MovingPlatform がどのような動きをするのかを事前に確認することができます。
Simple Translator ( Script ) コンポーネントの Activate にチェックを入れると MovingPlatform が動き出します。
再生ボタンをクリックして、私達が行った変更をテストしましょう。
MovingPlatform は確かに移動しましたが End ポイントツールを設定した位置に到達すると停止してしまいます。
シーンビューで MovingPlatform をクリックして選択し、Simple Translator ( Script ) コンポーネントの Loop Type の値を Ping Pong に変更してみましょう。
再生ボタンをクリックして、私達が行った変更をテストしましょう。
MovingPlatform が Start ポイントツールを設定した位置から End ポイントツールを設定した位置まで移動したあと、End ポイントツールから Start ポイントツールの位置まで戻ってきて、を繰り返すようになりましたね。
4.Opening a Door with a Command
ゲームコマンドは Unity 内の他のゲームオブジェクトに対してアクションを実行するように指示する信号を送信します。
PressurePad はドアを開けるための装置です。まずはドアを作成しましょう。プロジェクトウィンドウで、Prefabs> Interactables に移動します。DoorSmall を見つけてシーンビューにドラッグします。
DoorSmall オブジェクトの Gizmos はとても便利で、DoorSmall オブジェクトの Transform ツールまたは簡単な配置のみを表示するように調整できます。
Hierarchy ウィンドウで DoorSmall ゲームオブジェクトを選択した状態で、Inspector ウィンドウに表示される Simple Transform ( Script ) コンポーネントの名前の左側にある三角形の矢印をクリックすると Simple Transform ( Script ) の Gizmo が閉じて DoorSmall ゲームオブジェクトが見えやすくなります。
Gizmo とはゲームオブジェクトの位置や向きを示すアイコンの事です。 Unity の Scene ビューの右上に表示される下図の様な3Dアイコンや、ゲームオブジェクトを選択した時に赤と青と緑の矢印で構成されている3Dアイコンなどが Gizmo です。
必要に応じて Transform Tools を使用して DoorSmall を配置します。ドアを開けるための装置である PressurePad を追加しましょう。Projcet ウィンドウで Prefabs> Interactables に移動します。PressurePad を見つけてクリックして、シーンビューにドラッグします。Transform Tools を使用して、ドアの近くに置きます。
Ellenが PressurePad を踏んだときにドアが開くように、PressurePad と DoorSmall を接続しましょう。Hierarchy ウィンドウで、PressurePad をクリックして選択します。
Hierarchy ウィンドウで、DoorSmall をクリックしてドラッグし、PressurePad の Send on Trigger Enter ( Script ) コンポーネントの Interactive Object のスロットにドラッグします。
Scene ビューには、PressurePad から DoorSmall への接続を示す白い矢印の線が表示されます。
再生ボタンをクリックして、私達が行った変更をテストしましょう。
EllenがPressurePad を踏み込んだときにドアが開きます。
5.Enemies in the 3D Game Kit
3D Game Kit には3種類の敵がいます。 それらは Prefabs > Characters > Enemies > [ ..... ] にあります。敵は Chomper、Spitter、Grenadier です。 Chomper は近接攻撃の敵であり、Spitterは遠距離射撃の敵であり、Grenadierは特定の攻撃パターンを持つボス型の敵であり、射撃、近接攻撃、シールドバースト防御が混在している。
Ellen が戦うためのシーンに Chomper を置きます。プロジェクトウィンドウで Prefabs > Characters > Enemies > Chomper に移動します。Scene ビューに Chomper をドラッグします。Transform Tools を使用して、好きな場所に Chomper を配置します。
Chomper の前に大きなダークブルーの半円が現れます。これは Chomper の検出半径です。 エレンがこのエリアに入ると、彼は追いかけて攻撃します。Hierarchy ウィンドウで Chomper を選択して、彼が見ることができる領域を縮小しましょう。Inspector ウィンドウで、Chomper Behavior コンポーネントに移動します。Player Scanner を開くためには、その横の矢印をクリックします。
Detection Radius の値を 3 に設定してChomper の検出範囲を縮小します。Detection Angle を 180° にスライドさせて、Chomperが正面しか見ることができないようにしましょう。今 Chomperは、彼の前方の近くにあるものだけを見ることができます。
このGizmoをシーンビューから隠すためには、Chomper Behavior の名前の左側にある矢印をクリックしてコンポーネントを折りたたんでください。
プレイを押して、Chomper の近くを走ります。
Chomper は Ellen を検出しますが、その場でのみ動作します。 私たちは Chomper に地上を移動できる場所を伝える必要があります。NavMeshSurface コンポーネントを追加することでこれを行います。
Hierarchy ウィンドウで Plane をクリック。
Inspector ウィンドウで Add Component をクリックして NavMeshSurface を検索します。
キーボードで Enter キーを押すか、スクリプトをクリックしてコンポーネントを Plane に追加します。NavMeshSurface コンポーネントの設定をしましょう。Agent Type をChomper に設定します(これはすべての敵タイプに使用されます)。Include Layers を Nothing に設定します。Include Layers で Enviroment と Vegetation を選択し直します。
NavMeshSurface コンポーネントの下部にある「Bake」をクリックします。明るい青色の表面が地面の上に現れます。 これは敵が移動可能な場所を告げるものです。Play を押して、Chomper の前で走ってみましょう。Chomper があなたの後ろを走り、攻撃します!マウスの左クリックを使用してあなたの杖で攻撃してください!
Chomper は1打で死にます。 これを増やすには、Hierarchy ウィンドウで、Chomper を選択します。Inspector ウィンドウ Damageable ( Script ) コンポーネントの設定をします。Max Hit Points の値を増やすことで、Chomper 死ぬために必要な殴打数を増やすことができます。 エレンの杖で殴るたびに Hit Points を 1 減らします。
6.Damaging with Objects in 3D Game Kit
接触ダメージを使って Damageable コンポーネントを持つゲームオブジェクトにダメージを与えることができます。box と Chomper を使用して、Damageable コンポーネントがどのように機能するかを説明します。Project ウィンドウで Prefabs > Interactablesに移動します。DestructibleBox プレハブを見つけてクリックし、Scene ビューにドラッグします。Transform Tools を使用して DestructibleBox を Chomper の上に配置します。
再生ボタンをクリックして、私達が行った変更をテストしましょう。
DestructibleBox は落ちて Chomper に着陸し、そこにとどまり、何も起こりません。
Chomper にあまり近づかないでください、彼はEllenを追いかけるでしょう。 必要に応じて、検出半径を常に0に減らすこともできます。
私たちは Chomper に当たったときにボックスにダメージを与える必要があります。
Hierarchy ウィンドウで DestructibleBox の横の矢印をクリックして子を公開します。DestructibleBox の子を選択します。
Inspector に移動します。Inspector の一番下までスクロールし、Add Component をクリックします。Box Collider を検索します。キーボードでEnterキーを押すか、Box Collider コンポーネントをクリックして DestructibleBox に追加します。Box Colliderコンポーネントの Trigger box のチェックボックスをオンにします。
Add Component をクリックします。Contact Damager を検索します。キーボードでEnterキーを押すか、Contact Damager をクリックしてコンポーネントとして追加します。Contact Damager コンポーネントの Amount を 3 に設定します。ダメージ量は、Chomper の Max Hit Points と同じでなければならないことに注意してください。 さっき 3 に変更しましたよね。Chomper の Damageable コンポーネントの Max Hit Points を確認してください。Damaged Layers を Enemy に設定します。
再生ボタンをクリックして、私達が行った変更をテストしましょう。
DestructibleBox は Chomper にぶつかり、くるくると回転しながら跳ね返りましたね。Chomper を殺すのに十分なダメージをうまく与えることはできましたが、この演出は良くありません。 私たちは Chomper に当たったときに DestructibleBox を壊すことができます。DestructibleBox はすでに Contact Damager を持っているので、DestructibleBox に影響を与えるように適応させましょう。
Hierarchy で、Chomperを見つけて選択して Inspector に移動する。Inspector の一番下にスクロールして、Add Component をクリックして Contact Damager を探す。キーボードでEnterキーを押すか、Contact Damager をクリックして Chomper に追加します。
Contact Damager コンポーネントの Amount の値を 1 に設定します。Damaged Layer の値は、ドロップダウンで Enemy を選択します。
再生ボタンをクリックして、私達が行った変更をテストしましょう。
DestructibleBox は Chomper に落ち、壊れ、消滅し、Chomper はすべてのヒットポイントを失います。
7.Decorating in 3D Game Kit
3D Game Kit では、サンプルゲームの作成に使用したすべての環境オブジェクトを提供します。これらは Prefabs > Environment > [...] で見つけることができます。それらはさまざまなタイプのアセットのフォルダに分割されます。 フォルダを移動してシーンを構築してください。あなたはどのような世界を創造しますか?
これから草や岩を地面に追加していきますが、敵があなたが追加した新しい表面を歩くことができるか、オブジェクト(大きな植物のような)を避ける必要があるか、を知るためには、NavMeshを下記の手順で再構築する必要があります。
Hierarchy で Plane を選択して Inspector に移動する。NavMeshSurface で Bake をクリックします。
あなたのシーンをさらに飾るために、Rock Painter と Vegetation Painter を作成しました。 これらのツールを使用すると、さまざまなサイズと回転で植生や岩石を配置することができます。これらのツールを使用するには、Hierarchy 内で VegetationPainter を見つけて矢印をクリックして子を展開します。
GroundCover をクリック。Scene ビューで地面にマウスを乗せてください。左クリックで芝生かリリーを置いてください。
きっとあなたの Scene ビューには上図のようなリリーではなく芝生が配置されたはずです。配置するオブジェクトのタイプを変更してみましょう。Inspector に移動します。
Instance Painte コンポーネントには、各プレハブの画像があります。
白い強調表示されたボックスをクリックして、ペイントするプレハブを選択します。
選択したプレハブはグレーになります。ペインタの操作マニュアルは Instance Painter コンポーネントの上部にあります。いくつかの操作があります。
左クリック = ペイント
Ctrl(Cmd)+ 左クリック = 削除
Alt +スクロール = ブラシサイズを大きくする
スペース = 位置と回転をランダム化する
ペイントしたオブジェクトは、親の子として保存されます。 例えば Hierarchy に移動して GroundCover を展開する。
ペイントからのそのタイプのすべてのオブジェクトは、子としてここに格納されます。 これらをクリックすると、個別に編集して配置することもできます。このプロセスは、VegetationSmall、VegetationMedium & VegetationLarge でも同じです。
岩石のペインティングも同じ方法で行われます。Hierarchy 内で RockPainter を見つけます。矢印をクリックして子を展開し、RocksSmall をクリック。マウスを目的の領域に置いて岩石を置き、クリックして配置します。
8.Teleporting the Player in 3D Game Kit
3D Game Kit にはテレポートシステムがあります。 Ellenを他のレベルまたはシーン内の別の場所にテレポートできます。シーン内に Teleporter を作成しましょう。Project ウィンドウで、Prefabs > Environmen > Structures に移動して GateWayHugeTeleporter を探します。名前が示すように、このゲートウェイは巨大です。Scale Tool と Translate Tools を使用してそれを配置し、エレンのサイズにスケールします。Hierarchy で GatewayHugeTeleporter を選択して子供を展開します。TeleportPlane を選択し Inspector に移動し Add Component をクリックします。BoxCollider を検索して
キーボードでEnterキーを押すか、BoxCollider をクリックしてコンポーネントをTeleportPlane に追加します。BoxCollider の Is Trigger にチェックをいれます。
Add Component をクリックし Teleporter を検索します。キーボードでEnterキーを押すか、Teleporter をクリックして TeleportPlane に追加してください。
Teleporter コンポーネントで Layers を Player に変更します。Hierarchy で Checkpoints を見つけます。Checkpoints の横にある矢印をクリックして子を展開します。
Hierarchy 内で TeleporterPlane が選択されている状態で Checkpoint(子)を Teleporter コンポーネントの Destination Transform フィールドにドラッグします。Hierarchy で、エレンを見つけて子を展開して RespawnParticles を探します。
Hierarchy で GateWayHugeTeleporter の子である TeleportPlane が選択されている状態で RespawnParticles を Teleporter の Enter Effect にドラッグします。RespawnParticles を Teleporter の Exit Effecy にもドラッグします。プレイを押して、テレポーターに走ってテストします。
テレポーターを歩いているとき、Ellenは最初に生まれた場所に移動し、青い粒子が彼女を取り囲みます。
9.Having Fun with 3D Game Kit
3D Game Kit 内のほとんどのオブジェクトは、PressurePad の設定で表示されるイベントシステムで再生されます。 Scene > GamePlay > [ Level1 / Level2 ]の既存のシーンを調べて、Level1 と Level2 がコマンドシステムを使用して他のオブジェクトをどのように設定されているかを確認します。 すべてのコンポーネントとそのパラメータの詳細については、「コンポーネントのドキュメント」を参照してください。