はじめまして、フリーランスのますみです!
『一人一人が自立・共存・革新している「クリエイターエコノミー」を創る。』というビジョンに向けて活動しています。
この記事では、Unityというゲーム開発エンジンを使って、キーボードでボールを動かしていきます。
【このコースの全体像】
1. Unity入門編 〜インストールしてみよう〜
2. Unity基礎編 〜ボールを動かしてみよう〜
3. Unity発展編 〜星集めゲームを作ろう〜
コンテンツ
1. 地面とボールのオブジェクトを生成
プロジェクトの生成をした後は、以下のような画面になります。
まずは、以下のようにHierarchy > Create > 3D Object > Plane
を選択して、地面のオブジェクトを生成しましょう。
以下のようにPlane
オブジェクトが生成されたことを確認できると思います。
次に、Hierarchy > Create > 3D Object > Sphere
を選択して、ボールのオブジェクトを生成します。
以下のようにボールオブジェクトが生成されたら、成功です!
2. 重力の追加
次に、重力を追加していきましょう!
重力が追加されたか確認するために、あらかじめボールオブジェクトを上に持ち上げておきます。
Sphere
(ボールオブジェクト)を選択して、緑の上矢印をクリックしながら、上へ動かします。
上に持ち上がったら、実行ボタンをクリックしてみましょう。
すると、以下のように何も起きないことがわかると思います。
そのため、Sphere
オブジェクトを選択して、Add Component > Rigidbody
コンポーネントを追加しましょう。
Component(コンポーネント)とは:Unityでは、各オブジェクトに要素を付加していきます。この要素をコンポーネントと言います。
Rigidbody(リジッドボディ)とは:重力などの物理演算に関わる要素。コンポーネントの一つ。
Rigidbody
が追加できたら、再び実行して、重力が追加されたかを確認します。
重力が無事追加されて、ボールが落ちるところが確認できたら、重力追加成功です!
3. move_by_arrowの追加
続いて、「矢印キーで球を動かせる」ようにmove_by_arrow.cs
というスクリプトを作成していきます。
Sphere
オブジェクトを選択して、Add Component > New script
を検索し、move_by_arrow
という名前を入力して、Create and Add
をクリックして、スクリプトコンポーネントを作成します。
以下のように、Assets
とInspector
にそれぞれスクリプトが追加されていることが確認できると思います。
確認できたら、スクリプトをダブルクリップして、開きましょう。
すると、以下のようにスクリプト編集画面が表示されると思います。
以下のようにスクリプトを編集して、実行してみましょう。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class move_by_arrow : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Input.GetKey(KeyCode.RightArrow)) {
transform.Translate(new Vector3(3f, 0, 0));
}
}
}
以下のようにBuild successful
と表示されたら、Unityを実行することができます。
Code EditorからUnityへ切り替え、実行してみましょう。
右矢印キーを押すと、とても早く移動したことがわかると思います。
そのため、コードを以下のように変えて、スピードを遅くしてみましょう。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class move_by_arrow : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Input.GetKey(KeyCode.RightArrow)) {
transform.Translate(new Vector3(0.1f, 0, 0));
}
}
}
同様にして、右向き矢印キーだけではなく、他のキーも動かせるようにしましょう。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class move_by_arrow : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Input.GetKey(KeyCode.RightArrow)) {
transform.Translate(new Vector3(0.1f, 0, 0));
}
if (Input.GetKey(KeyCode.LeftArrow))
{
transform.Translate(new Vector3(-0.1f, 0, 0));
}
if (Input.GetKey(KeyCode.UpArrow))
{
transform.Translate(new Vector3(0, 0, 0.1f));
}
if (Input.GetKey(KeyCode.DownArrow))
{
transform.Translate(new Vector3(0, 0, -0.1f));
}
}
}
Unityで実行して、矢印キーで動かせるか確認しましょう。
次のコースでは、Unity発展編 〜星集めゲームを作ろう〜
に取り組んでいきます。
【このコースの全体像】
1. Unity入門編 〜インストールしてみよう〜
2. Unity基礎編 〜ボールを動かしてみよう〜
3. Unity発展編 〜星集めゲームを作ろう〜
最後に
最後まで読んでくださり、ありがとうございました!
いかがだったでしょうか?
この記事を通して、少しでもあなたの学びに役立てば幸いです!
おまけ
エンジニアの仲間(データサイエンティストも含む)を増やしたいため、公式LINEを始めました🎉
「一緒に仕事をしてくれる方」「友だちとして仲良くしてくれる方」は、友だち追加をしていただけますと嬉しいです!(仲良くなった人たちを集めて、「ボードゲーム会」や「ハッカソン」や「もくもく会」もやりたいなと考えています😆)
とはいえ、みなさんにもメリットがないと申し訳ないので、特典を用意しました!
友だち追加後に、アンケートに回答してくれた方へ「エンジニア図鑑(職種20選)」のPDFをお送りします◎