初心者でもできる!?Unityで2DのRPGキャラの作り方‼

こんにちは、内山です!

この記事では、0から操作できるRPG用のキャラ作成方法を解説していきます!
必要なのはPCと初期設定済みのUnityと好奇心だけです!

それでは早速作っていきましょう!

開発環境は2020.3.12f
OS:Windows

 

※記事ではキャラの作成までとなっていますが

私のYouTubeチャンネルで0からARPGを作る方法を解説しているので
興味ある方はこちらも確認してみて下さい!

 

 

Unityで2DRPGのキャラクター作成方法

RPG作成で使用する素材のDL

まずはキャラクターの素材をダウンロードしましょう。
下記サイトの素材を使用させてもらいます!

ぴぽや倉庫

飛空艇2種 収録内容 飛空艇キャラチップ、2種 仕様 PNGファイル基本サイズ32×32pixel4方向歩行3パターンア…

 

とんだ先にRPGキャラ基本セットがあるので、そちらをDLして下さい。

下の方にある、ダウンロード
という青いボタンからダウンロードが可能になっています。

DLしたら解凍して
Unityのプロジェクトに素材をインポートしましょう!

ドラッグ&ドロップで、できます。

インポートできたら、使いたい主人公のキャラチップを選択し
SpriteModeMultipleに切り替えます。
(Inspectorの上の方にあります)

※この時写真と同じように、元絵の方を選択してください。

その後SpriteEditorを選択してください。

SpriteEditorが開いたら、
エディタ上部にあるSliceを押下。

GridBySellSizeに変更し、PixselSize32,32に変更してあげましょう。
この後赤枠のSliceを押下してApplyを押下してください。

 

そうするとあなたが選んだ主人公を、
1枚1枚の絵に切り分けることができました!

この次は今切り分けた絵を使ってアニメーションを作っていこうと思います。

UnityでRPGの主人公アニメーションを作成しよう

アニメーションを作る前に
Playerオブジェクトを作ってしまいましょう!

+を押下し、CreateEmptyを押下して下さい。
オブジェクトが作れたら名前をPlayerに変更しましょう!

F2ボタンやinspectorで変更できます!(MacEnterで変えれます)

 

次に先ほど切り分けた絵をPlayerドラッグ&ドロップ
絵を複数選択する方法はShiftを押しながら選択すれば可能です。

そうするとアニメーションの保存先を
どこにするかウィンドウが開きます。

新しくAssets直下に
Animationsフォルダを作成し、
その中にPlayerフォルダを作成して下さい。

そのPlayerフォルダ内に、
frontという名前でアニメーションを保存しましょう!

 

これと同じ要領でPlayerフォルダ内に
全部のアニメーションを作っていきます!

名前は下記を参考にしてください。

  • left
  • right
  • back

 

アニメーションができたので次は、
プレイヤーにSpriteを設定していきましょう!

PlayをすればPlayerのアニメーションが再生され、
見えるようになりますが
開発中にプレイヤーの位置を、
確認しやすいようにしたいので追加します。

Playerを選択してInspectorを切り替える。
その後登録したい絵をSpriteRendererSpriteドラッグ&ドロップ

次に主人公のサイズを変えていきましょう!

主人公の元絵を選択してください。
その後Inspectorに表示されたPixselPerUnit32にしましょう。

これはどのくらいのピクセル数で表示するか決める設定になっています。
※数値が小さいほど大きくなるので覚えておきましょう。

 

これでアニメーションと
プレイヤーのサイズ調整は終了です!

AnimatorControllerに設定されている
Playerというアニメータコントローラーを、
ダブルクリックしてウィンドウを開いてみて下さい。

そうすると今まで作った、
アニメーションたちがあるはずです!

 

次はPlayerをキーボード入力で動かしつつ
キー入力とアニメーションを連動させていきましょう!

Unityで2Dキャラの移動とアニメーションを実装しよう

まずはScriptesフォルダーを作成して、
その中にPlayerControllerというスクリプトを作成しましょう!

Projectの下にある+ボタンを押すと
フォルダーやスクリプトを作ることができます。

作れたらこのスクリプトをPlayerにアタッチ。
ドラッグ&ドロップでできますね。

アタッチしたらコードを開いてください。
下記コードを書いていきましょう。

 

 

次にPlayerRigidBody2Dを着けて下さい。

これは物理特性を付与するコンポーネントで
重力や摩擦などの特性をゲームオブジェクトに付与したり
collider同士の衝突を検知したりすることができます。

今回重力はいらないのでRigidBody2D
GravityScale0に設定しましょう。

ここまで終了したら、
今付けたRigidBody2DPlayerrbに入れて下さい。
ついでにAnimatorも。(スクリプトで作成した変数にコンポーネントを格納しています

※コンポーネントはゲームオブジェクトを構成する部品みたいなものです。
下記はコンポーネントの一部。

  • RigidBody:物理特性を扱うコンポーネント
  • Animator:アニメーションコントローラーを参照するコンポーネント(使うアニメーションを決める)
  • Transform:位置情報や回転、大きさを扱うコンポーネント

 

では次にアニメーション遷移の設定をしていきます!

まずはPlayerコントローラー内の
アニメーションをすべて削除しましょう。

Shift押しながらですべて選択でき、Deleteで削除できます。

 

次にAnimatorウィンドウ内で
右クリックしCreateStateFrom New Blend Treeを選択して
ブレンドツリーを作成しましょう!

作成後、ノードをダブルクリックしてブレンドツリー内に入ってください。

 

その後左上にあるパラメーターを選択して
float型のパラメーターを二つ作成していきます!

名前はX,Yとしてください。
スクリーンショット撮影時、Xのみ作ってある状態です。

 

次にブレンドツリーの設定を変更していきましょう。

ブレンドツリーのノードを選択して、
Inspectorを見て下さい。

BlendTypeを二つ目のやつに変更しましょう。

 

Typeの変更ができたら
ParametersX,Yに設定します。
ちなみにスクリプトでは、
キー入力次第でX,Yの数値を切り替えるようにしています

その後Motion+を押下して
AddMotion~を選択して下さい!

 

下記のスクリーンショットを参考に
各アニメーションをモーションに登録していきましょう。
X,Yの数値に合わせてアニメーションを切り替える設定になっています!

これでplayを押してみるとプレイヤーを動かしつつ
アニメーションの連動ができているはずです。

ここまでで、
しっかりとしたRPG用キャラクターが
Unityで作れました。

 

ただカメラが追跡してくれないので
満足に動くことができない状態です。

なので最後にカメラがPlayerを追跡するように
していきましょう!

Unityで2Dキャラのカメラ追従を実装しよう

画面上部のWindowsPackage Managerを選択して
Package Managerを開いてください。

 

Package Managerを開いたら

  1. Unity Registryに変更する
  2. ciと検索バーに打ち込む
  3. 出てきたCinemachineを選択
  4. installボタンを押下

画面上部のCinemachineから一番上のやつを選択してください。

 

作成されたCMVcam1MainCamera配下※にし、
Follow対象にPlayerを設定しましょう。

ドラッグ&ドロップでできます。

 

これでカメラがPlayerを追跡するはずです。
追跡自体はUnityの機能を使えば簡単に実装できましたね!

 

この記事では、
キャラの作り方までを開設するのでここまでとなっております!

 

YouTubeの動画ではこれに引き続き、

  • 攻撃モーションの作成
  • 敵の作成
  • 会話ダイアログ
  • フィールドの作成
  • カメラの追跡範囲制限

なども解説しています!

2DのARPGを0から作りたい方は、
ぜひご覧になってください!

YouTube

 

Unityをより効率的に学びたい人向けに

Unityの日本語情報が比較的多いと言われてはいますが
日本語では体系的にまとまっている情報が非常に少なく、

私がUnityを学んだときは
時間的なコストが非常にかかってしまいました。

 

そこでこれからUnityを学習する人は

より少ない時間で、より多くの知識を習得できるように
私が学習した知識を共有するYouTubeチャンネルを開設しました!

 

詳しくは下記よりご覧になってください。

損をしないUnity学習方法

皆さん、こんにちは!内山です! 私自身、面白いゲームを作りたいと思いゲーム開発を始めました。 しかしいざ始めてみると挫折の連続でした・・ 公式解説のわかりにく[…]

>挫折せずにゲームを作りきる成功体験を!

挫折せずにゲームを作りきる成功体験を!

ゲームを作りきる成功体験をあなたにしてほしいためYouTubeで具体的なゲームジャンルの作り方を解説するチャンネルを作りました