こんにちは、ユニブレです!
この記事では、0から操作できるRPG用のキャラ作成方法を解説していきます!
必要なのはPCと初期設定済みのUnityと好奇心だけです!
それでは早速作っていきましょう!
開発環境は2020.3.12f
OS:Windows
※記事ではキャラの作成までとなっていますが
最初から最後まで作りきる講座もございます!
下記記事にて紹介しているので、
興味ある方は一度目を通してみて下さい!
Unityで2DRPGのキャラクター作成方法
RPG作成で使用する素材のDL
まずはキャラクターの素材をダウンロードしましょう。
下記サイトの素材を使用させてもらいます!
とんだ先にRPGキャラ基本セットがあるので、そちらをDLして下さい。
下の方にある、ダウンロード
という青いボタンからダウンロードが可能になっています。
DLしたら解凍して
Unityのプロジェクトに素材をインポートしましょう!
ドラッグ&ドロップで、できます。
インポートできたら、使いたい主人公のキャラチップを選択し
SpriteModeをMultipleに切り替えます。
(Inspectorの上の方にあります)
※この時写真と同じように、元絵の方を選択してください。
その後SpriteEditorを選択してください。
SpriteEditorが開いたら、
エディタ上部にあるSliceを押下。
GridBySellSizeに変更し、PixselSizeを32,32に変更してあげましょう。
この後赤枠のSliceを押下してApplyを押下してください。
そうするとあなたが選んだ主人公を、
1枚1枚の絵に切り分けることができました!
この次は今切り分けた絵を使ってアニメーションを作っていこうと思います。
UnityでRPGの主人公アニメーションを作成しよう
アニメーションを作る前に
Playerオブジェクトを作ってしまいましょう!
+を押下し、CreateEmptyを押下して下さい。
オブジェクトが作れたら名前をPlayerに変更しましょう!
F2ボタンやinspectorで変更できます!(MacはEnterで変えれます)
次に先ほど切り分けた絵をPlayerにドラッグ&ドロップ。
絵を複数選択する方法はShiftを押しながら選択すれば可能です。
そうするとアニメーションの保存先を
どこにするかウィンドウが開きます。
新しくAssets直下に
Animationsフォルダを作成し、
その中にPlayerフォルダを作成して下さい。
そのPlayerフォルダ内に、
frontという名前でアニメーションを保存しましょう!
これと同じ要領でPlayerフォルダ内に
全部のアニメーションを作っていきます!
名前は下記を参考にしてください。
- left
- right
- back
アニメーションができたので次は、
プレイヤーにSpriteを設定していきましょう!
PlayをすればPlayerのアニメーションが再生され、
見えるようになりますが
開発中にプレイヤーの位置を、
確認しやすいようにしたいので追加します。
Playerを選択してInspectorを切り替える。
その後登録したい絵をSpriteRendererのSpriteにドラッグ&ドロップ。
次に主人公のサイズを変えていきましょう!
主人公の元絵を選択してください。
その後Inspectorに表示されたPixselPerUnitを32にしましょう。
これはどのくらいのピクセル数で表示するか決める設定になっています。
※数値が小さいほど大きくなるので覚えておきましょう。
これでアニメーションと
プレイヤーのサイズ調整は終了です!
AnimatorのControllerに設定されている
Playerというアニメータコントローラーを、
ダブルクリックしてウィンドウを開いてみて下さい。
そうすると今まで作った、
アニメーションたちがあるはずです!
次はPlayerをキーボード入力で動かしつつ
キー入力とアニメーションを連動させていきましょう!
Unityで2Dキャラの移動とアニメーションを実装しよう
まずはScriptesフォルダーを作成して、
その中にPlayerControllerというスクリプトを作成しましょう!
Projectの下にある+ボタンを押すと
フォルダーやスクリプトを作ることができます。
作れたらこのスクリプトをPlayerにアタッチ。
ドラッグ&ドロップでできますね。
アタッチしたらコードを開いてください。
下記コードを書いていきましょう。
次にPlayerにRigidBody2Dを着けて下さい。
これは物理特性を付与するコンポーネントで
重力や摩擦などの特性をゲームオブジェクトに付与したり
collider同士の衝突を検知したりすることができます。
今回重力はいらないのでRigidBody2Dの
GravityScaleは0に設定しましょう。
ここまで終了したら、
今付けたRigidBody2DをPlayerのrbに入れて下さい。
ついでにAnimatorも。(スクリプトで作成した変数にコンポーネントを格納しています)
※コンポーネントはゲームオブジェクトを構成する部品みたいなものです。
下記はコンポーネントの一部。
- RigidBody:物理特性を扱うコンポーネント
- Animator:アニメーションコントローラーを参照するコンポーネント(使うアニメーションを決める)
- Transform:位置情報や回転、大きさを扱うコンポーネント
では次にアニメーション遷移の設定をしていきます!
まずはPlayerコントローラー内の
アニメーションをすべて削除しましょう。
Shift押しながらですべて選択でき、Deleteで削除できます。
次にAnimatorウィンドウ内で
右クリックしCreateState→From New Blend Treeを選択して
ブレンドツリーを作成しましょう!
作成後、ノードをダブルクリックしてブレンドツリー内に入ってください。
その後左上にあるパラメーターを選択して
float型のパラメーターを二つ作成していきます!
名前はX,Yとしてください。
スクリーンショット撮影時、Xのみ作ってある状態です。
次にブレンドツリーの設定を変更していきましょう。
ブレンドツリーのノードを選択して、
Inspectorを見て下さい。
BlendTypeを二つ目のやつに変更しましょう。
Typeの変更ができたら
ParametersをX,Yに設定します。
(ちなみにスクリプトでは、
キー入力次第でX,Yの数値を切り替えるようにしています)
その後Motionの+を押下して
AddMotion~を選択して下さい!
下記のスクリーンショットを参考に
各アニメーションをモーションに登録していきましょう。
X,Yの数値に合わせてアニメーションを切り替える設定になっています!
これでplayを押してみるとプレイヤーを動かしつつ
アニメーションの連動ができているはずです。
ここまでで、
しっかりとしたRPG用キャラクターが
Unityで作れました。
ただカメラが追跡してくれないので
満足に動くことができない状態です。
なので最後にカメラがPlayerを追跡するように
していきましょう!
Unityで2Dキャラのカメラ追従を実装しよう
画面上部のWindows→Package Managerを選択して
Package Managerを開いてください。
Package Managerを開いたら
- Unity Registryに変更する
- ciと検索バーに打ち込む
- 出てきたCinemachineを選択
- installボタンを押下
画面上部のCinemachineから一番上のやつを選択してください。
作成されたCMVcam1をMainCamera配下※にし、
Follow対象にPlayerを設定しましょう。
※ドラッグ&ドロップでできます。
これでカメラがPlayerを追跡するはずです。
追跡自体はUnityの機能を使えば簡単に実装できましたね!
この記事では、
キャラの作り方までを開設するのでここまでとなっております!
2DのARPGを0から作りたい方は、
ぜひこちらをご覧になってください!
Unityをより効率的に学びたい人向けに
Unityの日本語情報が比較的多いと言われてはいますが
日本語では体系的にまとまっている情報が非常に少なく、
私がUnityを学んだときは
時間的なコストが非常にかかってしまいました。
そこでこれからUnityを学習する人は
より少ない時間で、より多くの知識を習得できるように
私が学習した知識を共有するYouTubeチャンネルを開設しました!
詳しくは下記よりご覧になってください。
このチャンネルでは、短い時間でゲーム開発に必要な知識を習得できるジャンルごとの解説講座を公開しています! 丁寧な解説を心がけているので、ゲーム開発に挫折することなくゲームを作りきる成功体験を[…]