初心者目線で知識0から始めるUnity開発第二弾。 前回で環境構築とおおよその作業流れをまとめたので、
今回はアセットストアの活用~キャラクターに動きを付ける編 !
アセットストアとは?
Unity の アセットストア は成長する無料および商用アセットのライブラリの入り口であり、それらアセットは Unity Technologies およびコミュニティのメンバーにより作成されています。バラエティに富んだアセットが利用可能であり、テクスチャ、モデル、アニメーション、およびプロジェクト全体のサンプル、チュートリアル、およびエディター拡張ツールまですべてをカバーしています。アセットは、Unity エディター内蔵のシンプルなインターフェースからアクセスしてダウンロードし、プロジェクトに直接インポートすることができます。
UNITY|DOCUMENTATION
要は既に出来上がっている素材(画像や動きなど)を持ってこれちゃう素晴らしい機能です!
で、今回は2Dゲーを作るために、Tap and Flyってのを使っていきたいと思います。インストールを行うと、一通り必要な画像と音声データが用意されてるので、後は画面上で設定を行いコードを追加してカスタマイズしていきます。
起動&インポートしてみる
先ずは新規プロジェクト(2D)でUNITYを立ち上げて、【Ctrl+9】を入力します。
するとこんな感じで立ち上がるので検索の所にTap and Flyと入力します。
ダウンロードボタン押下後、完了するとインポートボタンになるので再度押下します。すると下記の小ウィンドウが出てくるので右下のインポートでプロジェクトに取り込みが行えます。
インポートが完了するとプロジェクト内に可愛いヒヨコが登場します。
ヒヨコに翼を授ける
ここまでで実際に素材をダウンロードする所までは出来ました。が、挙動や当たり判定などは勿論自分でやらなきゃいけない。
取り合えず飛べないヒヨコにレッドブルを与えて動きを付けてみよう!
てことでまず画像左の様にfly01~fly03までを選択してSceneにドラッグアンドドロップします。
すると画像右の様に名前を付けて保存ウィンドウが出るのでそのまま保存。
たったこれだけで3つ放り込んだドット絵が繋がり、アニメ化してくれちゃいます。
でもこのままだと豆粒サイズが過ぎるので、Unity画面右側のInspectorで調整を行います。
調整するのは今放り込んで作られたplayer_fly_f01と最初からあるMain Cameraの2つ。
サイズ調整完了後、画面中央上部の再生ボタンを押すと翼を得たヒヨコが嬉しそうに空を舞います。
ヒヨコの翼をもぐ
翼を得たばかりのヒヨコですが、ゲームにする為には重力が必要なので致し方ありません。心を鬼にしてもぎとります。
Hierarchyでplayer_fly_f01を選択し、Inspector最下部のAdd Componentを押下します。
選択肢が色々出てくるので、Physics 2D→Rigidbody 2Dを選んでコンポーネントを追加します。
Rigidbody 2Dが無事Inspectorに出てきたらMass(自重)、Gravity Scale(重力レベル)の数値をいじります。
これでヒヨコに重力が架せられたのでいざ再生ボタンで確認!
再び翼を授ける
勝手に与えられて奪われて散々な目に遭っているヒヨコですが、ただ落ちてくだけでは当然ゲームにならないので、
スペースキー操作で浮力を得る挙動を追加して再び翼を授けます。
Projectタブすぐ下のCreateからC# Scriptを選択します。
InspectorにOpenてボタンがあるので、押すとVisual Studioが起動しコードの編集画面が開きます。
開いたら下記コードを張り付けて保存!
using UnityEngine;
using System.Collections;
public class Player : MonoBehaviour {
// 変数の定義と初期化
public float flap = 550f;
public float scroll = 10f;
Rigidbody2D rb2d;
// Updateの前に1回だけ呼ばれるメソッド
void Start() {
// Rigidbody2Dをキャッシュする
rb2d = GetComponent<Rigidbody2D>();
}
// シーン中にフレーム毎に呼ばれるメソッド
void Update() {
// xの正方向にscrollスピードで移動
rb2d.velocity = new Vector2(scroll, rb2d.velocity.y);
// スペースキーが押されたら
if (Input.GetKeyDown(KeyCode.Space)) {
// 落下速度をリセット
rb2d.velocity = Vector2.zero;
// (0,1)方向に瞬間的に力を加えて跳ねさせる
rb2d.AddForce(Vector2.up * flap, ForceMode2D.Impulse);
}
}
}
↓こちらを参考にさせて頂きました。
Visual Studio側で保存すればUnity側にも勝手に反映されます。
次に今作成したスクリプトをさっき名前を変えたHierarchyのPlayerフォルダにドラッグアンドドロップしてやります。
するとPlayerのInspectorにスクリプトが追加され、ヒヨコにスクリプトの動き(右に移動していく&スペースで浮上)が吹き込まれ、スペースの力を借りれば再び空を舞う事が出来るようになりました。
次回予告
これで一通りヒヨコをいじめ倒したので、次はステージ作りを行っていきます(ᵔᴥᵔ)
コメント