(第六回)Unityでゲーム開発 作成編③

(第六回)Unityでゲーム開発 作成編③

目次

はじめに
動く床
階段の作成
次回予告

はじめに

前回はAssetstoreでのダウンロード・インポートのやり方と実際にAssetを使って背景を変えてみました。今回はステージ上のオブジェクトの追加と追加したオブジェクトに動きなどの要素を加えて行きます。

動く床

まずはじめに、今まで玉転がしの終着地点として使っていた、土台部分を動く床として設定し、玉が落ちて更に下のステージにつながるようにしたいと思います。

using UnityEngine;
using System.Collections;

public class MoveGround : MonoBehaviour
{

    private Vector3 initialPosition;

    void Start()
    {

        initialPosition = transform.position;

    }

    void Update()
    {

        transform.position = new Vector3(initialPosition.x, initialPosition.y , initialPosition.z + Mathf.Sin(Time.time) * 2.0f);

    }

}

上記のコードを書いて、床であるGroundオブジェクトに要素追加します。コードの内容としては、startの箇所で現在のGroundの座標を取得し、updateで移動させる位置を記します。今回はZ軸のみ移動させたかったので、Z軸に追加要素を入れてます。sin関数を使うことで、周期的な動きが可能になります。Sin関数に関しては下記の解説がわかりやすかったです。
https://qiita.com/Nekomasu/items/f526b9392fd16f2bd243

実際の動きは下記の画像になります。

床が動くギミックを追加したことで、転がったあとも楽しめるようになりました。ここで落下することにより、更にコースを追加することができるので、続けて作成していきたいと思います。

階段の作成

続いては、坂を転がるだけでは面白くないので、少し変わった形状ということで階段を作成し、転がしてみようと思います。

作成した全体図としては床から落ちた玉を階段で転がした後、坂を滑らしていくコースにしてみました。障害物があまり思い浮かばなかったため、また必要に応じて次回以降追加していきたいと思います。階段を作成してみたところ、落下箇所を一番上の天板に乗った際は玉が止まってしまいましたが、、位置をずらすことで滑ることは確認できました。また、階段は少しだけ作成方法が複雑だったので、下記で手順を紹介したいと思います。

Assetstoreからダウンロードするという方法が一番早いですが、今回は自分で作成してみます。まず、Window→Package Managerをクリック。

この画面が表示されるので、左上のAll Packageをクリックすると、ProBuilderという項目が出てくるため、これをクリックして右上のInstallをクリックします。こうすることでこのツールをUnity内に入れることが出来ました。

次にこのツールの使い方ですが、ツールをダウンロード後ヘッダー部分にToolsという項目が追加されていると思うので、Tools→ProBuilder Windowをクリック。

画面左側の画面が出るので、ここでNew Shapeをクリックします。この画面の右の画面が出てくるので、こちらのプルダウンで作成したいオブジェクトの形を選びます。今回は階段なのでStairを選びました。

少し見にくいですが、青色のオブジェクトが階段になります。オブジェクトの形を選択した時点でSceneビューにオブジェクトが出てくるので、大きさや形の変化を見ながら数字の調整が出来ます。

先ほど説明した画面で、数値の調整が出来ます。Stairは項目数が多いのでいろんな形に出来ます。各要素の説明を下記に記載します。

  • Steps ・・・ 階段の数を調整
  • Buid Sides ・・・ 階段の脇の面の有りなし
  • Curvature ・・・ ここで階段を曲げることが出来ます(0~360まで)
  • Width ・・・ x軸での大きさ
  • Height ・・・ y軸での大きさ
  • Depth ・・・ z軸での大きさ

これらの要素を駆使して階段を作成できます(Curvatureの数値を大きくすると螺旋階段のようなデザインにすることも可能です)

螺旋階段にしたり、階段数の調整ができたりと階段という一つのオブジェクトでも様々な設定が出来る点がとてもおもしろいです。最後に今回作成できたところまでを下記のGIFで紹介します。

階段もスムーズに転がっていて、今回は問題なく予定通りの動きとなりました。

次回予告

次回は更に複雑な要素を盛り込んでいきたいのと、水を表現できる要素があるそうなので、水中での玉の動きがどうなるかなど検証できたらと思っています。