夜更かし工房

稼げるクリエーターになりたい方へ有益な情報をお届け!

【補足解説付き】Unity公式チュートリアル日本語翻訳【Tutorial Projects - 3D Game Kit - Quick Start】

f:id:nightowlgames0314:20161005154001j:plain

3D Game Kit とは

3D Game Kit は Unity 公式のチュートリアルです。Unity 公式チュートリアルはプロジェクトという単位で区切られています。

チュートリアルの始め方

f:id:nightowlgames0314:20180827215208p:plain
上図はUnityを起動した直後の画面です。Projects タブにはあなたが作成したゲームの一覧が並びます。Learn タブには Unity の公式チュートリアルの一覧が並びます。チュートリアルを学ぶためには Learn タブを選択します。

f:id:nightowlgames0314:20180902162612p:plain

Tutorial Projects を始めるためには、サイドメニューバーのチュートリアル一覧から Tutorial Projects を選択します。 

チュートリアル本編

1.Introduction to Quick Start Guide

このチュートリアルでは、すでに準備が整えられているコンポーネントを使用して、あなたがコードを記述することなく独自の3Dプラットフォームゲームを作成します。また、ゲームの完成例とマニュアルも含まれています。

「3D Game Kit」をダウンロードすると現れる「Start」ボタンをクリックしてインポート作業を開始します。インポート作業が完了すると 3D Game Kit が起動します。

f:id:nightowlgames0314:20180902173334p:plain

インポート作業中に上図のポップアップが表示されます。「品質設定は自動的にUltraに設定されました。Edit > Project Settings > Quality menu でその設定を変更することができます」

f:id:nightowlgames0314:20180902174024p:plain

上図は 3D Game Kit 起動直後の画面です。

f:id:nightowlgames0314:20180902180235p:plain

上図のようにエラー文が表示されることがあります。プロジェクトがインポートされたら、Unity エディタを閉じてプロジェクトを再度開いてください。これにより、パッケージマネージャが初期化され、プロジェクトのエラーがクリアされます。

f:id:nightowlgames0314:20180902180739p:plain

再起動したことによりエラーが解消されました。エラーが表示されていたウィンドウのことを Console ウィンドウと呼びます。邪魔なのでドラッグして Game ウィンドウの横にでも移動しておきましょう。

f:id:nightowlgames0314:20180902180940p:plain

チュートリアルを開始しましょう。

Project ウィンドウの中から Readme と名付けられファイルを見つけて選択すると、画面右側の Inspector ウィンドウに案内が表示されます。

f:id:nightowlgames0314:20180902181245p:plain

Game Kitとは

このゲームキットを使用すると、コードを書くことなく独自の3Dプラットフォームゲームを作成することができます。

フィードバックを得られますか?

下記リンク先のフォーラムであなたが考えていることや質問をしてください。

https://forum.unity.com/threads/3d-game-kit-official-thread.530684/

どうやって使うの?

3D Game kit を構成する利用可能なプレハブとコンポーネントを全て調べることができる詳細なマニュアルを作成しました。このマニュアルは下記リンク先の学習サイトで閲覧可能です。さっそく下記のリンクを開いてみましょう。

3D Game Kit - Unity

f:id:nightowlgames0314:20180902182900p:plain

f:id:nightowlgames0314:20180902183205p:plain

以降は、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 をクリックします。

f:id:nightowlgames0314:20180902193157p:plain

New Scene Name と名付けられた入力欄にシーンの名前を入力して Create をクリックします。名前が思いつかない方は TemplateScene1 とでも入力しておきましょう。

f:id:nightowlgames0314:20180902193700p:plain

地面、エレン、UI、ゲームメニューなどが新しく生成されたシーン上に存在しているはずです。

f:id:nightowlgames0314:20180902193915p:plain

ProBuilder.Edito は今は使わず邪魔なので Console ウィンドウの隣にでもドラッグで移動しておきましょう。

f:id:nightowlgames0314:20180902194026p:plain

Unity エディタ上部にある Play ボタンをクリックするとゲームが再生されます。

f:id:nightowlgames0314:20180902194502p:plain

プレイヤーキャラクターであるエレンを下記のコマンドで動かしてみましょう。

・歩く:キーボードの W, A, S, D あるいは矢印キー

・跳ぶ:スペースキー

・攻撃:左クリック

・カメラ操作:マウス移動

・停止:ESCキー

3.Adding a Moving Platform in 3D Game Kit

シーン内に移動する地面を追加します。 すべての使用可能な機能は Prefabs >  Interactables にあります。

MovingPlatform を追加する手順:プロジェクトウィンドウから Assets > 3DGameKit > Prefabs > Interactables に移動します。

f:id:nightowlgames0314:20180902200221p:plain

MovingPlatform を左クリックしてシーンビューにドラッグします。

f:id:nightowlgames0314:20180902200319p:plain

Transform Tools を使用して、位置、回転、サイズを調整します。

f:id:nightowlgames0314:20180902200739p:plain

再生ボタンをクリックして、私達が行った変更をテストしましょう。

f:id:nightowlgames0314:20180902201617p:plain

MovingPlatform が動いていません。動かしてみましょう。

シーンビューで MovingPlatform をクリックして選択すると Start ポイントツールと End ポイントツールが現れます。これが MovingPlatform の可動領域です。

f:id:nightowlgames0314:20180902202325p:plain

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 に変更してみましょう。

f:id:nightowlgames0314:20180902204013p:plain

再生ボタンをクリックして、私達が行った変更をテストしましょう。

MovingPlatform が Start ポイントツールを設定した位置から End ポイントツールを設定した位置まで移動したあと、End ポイントツールから Start ポイントツールの位置まで戻ってきて、を繰り返すようになりましたね。

4.Opening a Door with a Command

ゲームコマンドは Unity 内の他のゲームオブジェクトに対してアクションを実行するように指示する信号を送信します。

PressurePad はドアを開けるための装置です。まずはドアを作成しましょう。プロジェクトウィンドウで、Prefabs> Interactables に移動します。DoorSmall を見つけてシーンビューにドラッグします。

f:id:nightowlgames0314:20180902210154p:plain

DoorSmall オブジェクトの Gizmos はとても便利で、DoorSmall オブジェクトの Transform ツールまたは簡単な配置のみを表示するように調整できます。

Hierarchy ウィンドウで DoorSmall ゲームオブジェクトを選択した状態で、Inspector ウィンドウに表示される Simple Transform ( Script ) コンポーネントの名前の左側にある三角形の矢印をクリックすると Simple Transform ( Script ) の Gizmo が閉じて DoorSmall ゲームオブジェクトが見えやすくなります。

f:id:nightowlgames0314:20180902210936p:plain

Gizmo とはゲームオブジェクトの位置や向きを示すアイコンの事です。 Unity の Scene ビューの右上に表示される下図の様な3Dアイコンや、ゲームオブジェクトを選択した時に赤と青と緑の矢印で構成されている3Dアイコンなどが Gizmo です。

f:id:nightowlgames0314:20180902211250p:plain

f:id:nightowlgames0314:20180902211255p:plain

必要に応じて Transform Tools を使用して DoorSmall を配置します。ドアを開けるための装置である PressurePad を追加しましょう。Projcet ウィンドウで Prefabs> Interactables に移動します。PressurePad を見つけてクリックして、シーンビューにドラッグします。Transform Tools を使用して、ドアの近くに置きます。

f:id:nightowlgames0314:20180902212148p:plain

Ellenが PressurePad を踏んだときにドアが開くように、PressurePad と DoorSmall を接続しましょう。Hierarchy ウィンドウで、PressurePad をクリックして選択します。

f:id:nightowlgames0314:20180902212400p:plain

Hierarchy ウィンドウで、DoorSmall をクリックしてドラッグし、PressurePad の Send on Trigger Enter ( Script ) コンポーネントの Interactive Object のスロットにドラッグします。

f:id:nightowlgames0314:20180902212831p:plain

Scene ビューには、PressurePad から DoorSmall への接続を示す白い矢印の線が表示されます。

f:id:nightowlgames0314:20180902213101p:plain

再生ボタンをクリックして、私達が行った変更をテストしましょう。

f:id:nightowlgames0314:20180902213348p:plain

EllenがPressurePad を踏み込んだときにドアが開きます。

5.Enemies in the 3D Game Kit

3D Game Kit には3種類の敵がいます。 それらは Prefabs > Characters > Enemies > [ ..... ] にあります。敵は Chomper、Spitter、Grenadier です。 Chomper は近接攻撃の敵であり、Spitterは遠距離射撃の敵であり、Grenadierは特定の攻撃パターンを持つボス型の敵であり、射撃、近接攻撃、シールドバースト防御が混在している。

f:id:nightowlgames0314:20180902221951p:plain

Ellen が戦うためのシーンに Chomper を置きます。プロジェクトウィンドウで Prefabs > Characters > Enemies > Chomper に移動します。Scene ビューに Chomper をドラッグします。Transform Tools を使用して、好きな場所に Chomper を配置します。

f:id:nightowlgames0314:20180902222349p:plain

Chomper の前に大きなダークブルーの半円が現れます。これは Chomper の検出半径です。 エレンがこのエリアに入ると、彼は追いかけて攻撃します。Hierarchy ウィンドウで Chomper を選択して、彼が見ることができる領域を縮小しましょう。Inspector ウィンドウで、Chomper Behavior コンポーネントに移動します。Player Scanner を開くためには、その横の矢印をクリックします。

f:id:nightowlgames0314:20180902222730p:plain

Detection Radius の値を 3 に設定してChomper の検出範囲を縮小します。Detection Angle を 180° にスライドさせて、Chomperが正面しか見ることができないようにしましょう。今 Chomperは、彼の前方の近くにあるものだけを見ることができます。

f:id:nightowlgames0314:20180902223343p:plain

このGizmoをシーンビューから隠すためには、Chomper Behavior の名前の左側にある矢印をクリックしてコンポーネントを折りたたんでください。

プレイを押して、Chomper の近くを走ります。

f:id:nightowlgames0314:20180902223647p:plain

Chomper は Ellen を検出しますが、その場でのみ動作します。 私たちは Chomper に地上を移動できる場所を伝える必要があります。NavMeshSurface コンポーネントを追加することでこれを行います。

Hierarchy ウィンドウで Plane をクリック。

f:id:nightowlgames0314:20180902223842p:plain

Inspector ウィンドウで Add Component をクリックして NavMeshSurface を検索します。

f:id:nightowlgames0314:20180902223953p:plain

キーボードで Enter キーを押すか、スクリプトをクリックしてコンポーネントを Plane に追加します。NavMeshSurface コンポーネントの設定をしましょう。Agent Type をChomper に設定します(これはすべての敵タイプに使用されます)。Include Layers を Nothing に設定します。Include Layers で Enviroment と Vegetation を選択し直します。

f:id:nightowlgames0314:20180902224821p:plain

NavMeshSurface コンポーネントの下部にある「Bake」をクリックします。明るい青色の表面が地面の上に現れます。 これは敵が移動可能な場所を告げるものです。Play を押して、Chomper の前で走ってみましょう。Chomper があなたの後ろを走り、攻撃します!マウスの左クリックを使用してあなたの杖で攻撃してください!

f:id:nightowlgames0314:20180902225257p:plain

Chomper は1打で死にます。 これを増やすには、Hierarchy ウィンドウで、Chomper を選択します。Inspector ウィンドウ Damageable ( Script ) コンポーネントの設定をします。Max Hit Points の値を増やすことで、Chomper 死ぬために必要な殴打数を増やすことができます。 エレンの杖で殴るたびに Hit Points を 1 減らします。

f:id:nightowlgames0314:20180902230029p:plain

6.Damaging with Objects in 3D Game Kit

接触ダメージを使って Damageable コンポーネントを持つゲームオブジェクトにダメージを与えることができます。box と Chomper を使用して、Damageable コンポーネントがどのように機能するかを説明します。Project ウィンドウで Prefabs > Interactablesに移動します。DestructibleBox プレハブを見つけてクリックし、Scene ビューにドラッグします。Transform Tools を使用して DestructibleBox を Chomper の上に配置します。

f:id:nightowlgames0314:20180902231023p:plain

再生ボタンをクリックして、私達が行った変更をテストしましょう。
DestructibleBox は落ちて Chomper に着陸し、そこにとどまり、何も起こりません。

Chomper にあまり近づかないでください、彼はEllenを追いかけるでしょう。 必要に応じて、検出半径を常に0に減らすこともできます。

f:id:nightowlgames0314:20180902231434p:plain

私たちは Chomper に当たったときにボックスにダメージを与える必要があります。
Hierarchy ウィンドウで DestructibleBox の横の矢印をクリックして子を公開します。DestructibleBox の子を選択します。

f:id:nightowlgames0314:20180902231642p:plain

Inspector に移動します。Inspector の一番下までスクロールし、Add Component をクリックします。Box Collider を検索します。キーボードでEnterキーを押すか、Box Collider コンポーネントをクリックして DestructibleBox に追加します。Box Colliderコンポーネントの Trigger box のチェックボックスをオンにします。

f:id:nightowlgames0314:20180902232055p:plain

Add Component をクリックします。Contact Damager を検索します。キーボードでEnterキーを押すか、Contact Damager をクリックしてコンポーネントとして追加します。Contact Damager コンポーネントの Amount を 3 に設定します。ダメージ量は、Chomper の Max Hit Points と同じでなければならないことに注意してください。 さっき 3 に変更しましたよね。Chomper の Damageable コンポーネントの Max Hit Points を確認してください。Damaged Layers を Enemy に設定します。

再生ボタンをクリックして、私達が行った変更をテストしましょう。

f:id:nightowlgames0314:20180902233105p:plain

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 を選択します。

再生ボタンをクリックして、私達が行った変更をテストしましょう。

f:id:nightowlgames0314:20180902234148p:plain

DestructibleBox は Chomper に落ち、壊れ、消滅し、Chomper はすべてのヒットポイントを失います。

7.Decorating in 3D Game Kit

3D Game Kit では、サンプルゲームの作成に使用したすべての環境オブジェクトを提供します。これらは Prefabs > Environment > [...] で見つけることができます。それらはさまざまなタイプのアセットのフォルダに分割されます。 フォルダを移動してシーンを構築してください。あなたはどのような世界を創造しますか?

f:id:nightowlgames0314:20180902234749p:plain

これから草や岩を地面に追加していきますが、敵があなたが追加した新しい表面を歩くことができるか、オブジェクト(大きな植物のような)を避ける必要があるか、を知るためには、NavMeshを下記の手順で再構築する必要があります。

Hierarchy で Plane を選択して Inspector に移動する。NavMeshSurface で Bake をクリックします。

f:id:nightowlgames0314:20180902234937p:plain

あなたのシーンをさらに飾るために、Rock Painter と Vegetation Painter を作成しました。 これらのツールを使用すると、さまざまなサイズと回転で植生や岩石を配置することができます。これらのツールを使用するには、Hierarchy 内で VegetationPainter を見つけて矢印をクリックして子を展開します。

f:id:nightowlgames0314:20180902235720p:plain

GroundCover をクリック。Scene ビューで地面にマウスを乗せてください。左クリックで芝生かリリーを置いてください。

f:id:nightowlgames0314:20180903000625p:plain

きっとあなたの Scene ビューには上図のようなリリーではなく芝生が配置されたはずです。配置するオブジェクトのタイプを変更してみましょう。Inspector に移動します。
Instance Painte コンポーネントには、各プレハブの画像があります。

f:id:nightowlgames0314:20180903000732p:plain

白い強調表示されたボックスをクリックして、ペイントするプレハブを選択します。
選択したプレハブはグレーになります。ペインタの操作マニュアルは Instance Painter コンポーネントの上部にあります。いくつかの操作があります。

左クリック = ペイント

Ctrl(Cmd)+ 左クリック = 削除

Alt +スクロール = ブラシサイズを大きくする

スペース = 位置と回転をランダム化する

ペイントしたオブジェクトは、親の子として保存されます。 例えば Hierarchy に移動して GroundCover を展開する。

f:id:nightowlgames0314:20180903001036p:plain

ペイントからのそのタイプのすべてのオブジェクトは、子としてここに格納されます。 これらをクリックすると、個別に編集して配置することもできます。このプロセスは、VegetationSmall、VegetationMedium & VegetationLarge でも同じです。

f:id:nightowlgames0314:20180903001158p:plain

岩石のペインティングも同じ方法で行われます。Hierarchy 内で RockPainter を見つけます。矢印をクリックして子を展開し、RocksSmall をクリック。マウスを目的の領域に置いて岩石を置き、クリックして配置します。

f:id:nightowlgames0314:20180903001303p:plain

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 にチェックをいれます。

f:id:nightowlgames0314:20180903002420p:plain

Add Component をクリックし Teleporter を検索します。キーボードでEnterキーを押すか、Teleporter をクリックして TeleportPlane に追加してください。

f:id:nightowlgames0314:20180903002552p:plain

Teleporter コンポーネントで Layers を Player に変更します。Hierarchy で Checkpoints を見つけます。Checkpoints の横にある矢印をクリックして子を展開します。

f:id:nightowlgames0314:20180903002738p:plain

Hierarchy 内で TeleporterPlane が選択されている状態で Checkpoint(子)を Teleporter コンポーネントDestination Transform フィールドにドラッグします。Hierarchy で、エレンを見つけて子を展開して RespawnParticles を探します。

f:id:nightowlgames0314:20180903003704p:plain

Hierarchy で GateWayHugeTeleporter の子である TeleportPlane が選択されている状態で RespawnParticles を Teleporter の Enter Effect にドラッグします。RespawnParticles を Teleporter の Exit Effecy にもドラッグします。プレイを押して、テレポーターに走ってテストします。

f:id:nightowlgames0314:20180903004227p:plain

テレポーターを歩いているとき、Ellenは最初に生まれた場所に移動し、青い粒子が彼女を取り囲みます。

9.Having Fun with 3D Game Kit

3D Game Kit 内のほとんどのオブジェクトは、PressurePad の設定で表示されるイベントシステムで再生されます。 Scene > GamePlay > [ Level1 / Level2 ]の既存のシーンを調べて、Level1 と Level2 がコマンドシステムを使用して他のオブジェクトをどのように設定されているかを確認します。 すべてのコンポーネントとそのパラメータの詳細については、「コンポーネントのドキュメント」を参照してください。