Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

This post is Private. Only a writer or those who know its URL can access this post.

posted at

updated at

Unity基礎編 〜ボールを動かしてみよう〜

はじめに

この記事では、Unityというゲーム開発エンジンを使って、キーボードでボールを動かしていきます

【このコースの全体像】
1. Unity入門編 〜インストールしてみよう〜
2. Unity基礎編 〜ボールを動かしてみよう〜
3. Unity発展編 〜星集めゲームを作ろう〜

コンテンツ

1. 地面とボールのオブジェクトを生成

プロジェクトの生成をした後は、以下のような画面になります。

sc26.png

まずは、以下のようにHierarchy > Create > 3D Object > Planeを選択して、地面のオブジェクトを生成しましょう。

sc27.png

以下のようにPlaneオブジェクトが生成されたことを確認できると思います。

sc28.png

次に、Hierarchy > Create > 3D Object > Sphereを選択して、ボールのオブジェクトを生成します。

sc29.png

以下のようにボールオブジェクトが生成されたら、成功です!

sc30_pre.png

2. 重力の追加

次に、重力を追加していきましょう!
重力が追加されたか確認するために、あらかじめボールオブジェクトを上に持ち上げておきます。
Sphere(ボールオブジェクト)を選択して、緑の上矢印をクリックしながら、上へ動かします。

sc30.png

上に持ち上がったら、実行ボタンをクリックしてみましょう。

sc31.png

すると、以下のように何も起きないことがわかると思います。

sc32.png

そのため、Sphereオブジェクトを選択して、Add Component > Rigidbodyコンポーネントを追加しましょう。

Component(コンポーネント)とは:Unityでは、各オブジェクトに要素を付加していきます。この要素をコンポーネントと言います。

Rigidbody(リジッドボディ)とは:重力などの物理演算に関わる要素。コンポーネントの一つ。

sc33.png

Rigidbodyが追加できたら、再び実行して、重力が追加されたかを確認します。

sc34.png

重力が無事追加されて、ボールが落ちるところが確認できたら、重力追加成功です!

3. move_by_arrowの追加

続いて、「矢印キーで球を動かせる」ようにmove_by_arrow.csというスクリプトを作成していきます。

Sphereオブジェクトを選択して、Add Component > New scriptを検索し、move_by_arrowという名前を入力して、Create and Addをクリックして、スクリプトコンポーネントを作成します。

sc36.png

以下のように、AssetsInspectorにそれぞれスクリプトが追加されていることが確認できると思います。
確認できたら、スクリプトをダブルクリップして、開きましょう。

sc37.png

すると、以下のようにスクリプト編集画面が表示されると思います。

sc39.png

以下のようにスクリプトを編集して、実行してみましょう。

move_by_arrow.cs
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));
        }
    }
}

sc40.png

以下のようにBuild successfulと表示されたら、Unityを実行することができます。

sc41.png

Code EditorからUnityへ切り替え、実行してみましょう。

sc42.png

右矢印キーを押すと、とても早く移動したことがわかると思います。

そのため、コードを以下のように変えて、スピードを遅くしてみましょう。

move_by_arrow.cs
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));
        }
    }
}

sc43.png

同様にして、右向き矢印キーだけではなく、他のキーも動かせるようにしましょう。

move_by_arrow.cs
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));
        }
    }
}

sc44.png

Unityで実行して、矢印キーで動かせるか確認しましょう。

arrow.gif

おわりに

次のコースでは、Unity発展編 〜星集めゲームを作ろう〜に取り組んでいきます。

【このコースの全体像】
1. Unity入門編 〜インストールしてみよう〜
2. Unity基礎編 〜ボールを動かしてみよう〜
3. Unity発展編 〜星集めゲームを作ろう〜

UD-Platformとは

この記事は、UD-Platformというチームで作っています。
UD-Platformとは、「ユニバーサル・デザインによる、みんなのためのクリエイティブ工房」です。

世の中には、視覚優位や聴覚優位な人がいるように、「一人一人の学びやすい環境」があります。
そのため、多種多様な人たちにとってプログラミングなどのものづくりをしやすいコンテンツを作っています。
具体的には、Web記事・動画・印刷用テキストなどでコンテンツを作成しています。

UD-Platformのサイトは、こちらになります。

UD-Platform
ユニバーサル・デザインによる、みんなのためのクリエイティブ工房。


First_View.png

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
Help us understand the problem. What are the problem?