今回から新しく『ユニティちゃんのRPGを作ってみよう』カテゴリを作成しました。
3DRPGを作成する時に必要になりそうな基本的な機能を少しずつ作成し、解説していきたいと思います。
この最初の記事が公開されている時点で既に機能は作成済みなので、以下のような感じのものまでは作成することが出来ます。
現時点では全部で33記事ありますが、お店のシステムを作るのを忘れていたり、ゲームを終了する機能を作っていなかったり、他の機能の追加等もする可能性がありますが、とりあえず33記事で完結という事になります。
そうしないといつまでたってもこのカテゴリを公開出来ないんです。(^_^;)
このカテゴリを始める前の注意点
このカテゴリではユニティちゃんのRPGを作っていきますが、作り方はわたくしの作り方であり、これがベストな作り方というものでもなく、エラーが発生したり、面倒な処理をしている個所もあると思います。
UIのデザインやテキストのサイズ等もゲーム全体で統一されていません。
なので記事を読んだ方がその都度、修正したり、こんなやり方の方が効率いいかも?と試行錯誤して変更してみてください。
「Unityで3DRPGを作ってみたい!」と思う方に大雑把でもこんな感じでも作れますよーというのを記事にしたカテゴリです。
カテゴリの難易度としては少し難しい部類に入るかもしれません。
ユニティちゃんのRPGを作ってみようの概要
ユニティちゃんのRPGを作ってみようカテゴリの記事全般で使用しているキャラクターのユニティちゃん達はUNITY-CHAN OFFICIAL WEB SITEからダウンロード出来ます。
使用するにはライセンスに同意する必要がありますので確認の上で使用してください。
このカテゴリで作成するRPGは3DのRPGで、
等のRPGで使用するであろう基本的な部分を作成していきます。
なるべく細かい部分まで解説を入れるようにしていますが、少なからず難しい部分も出てきますのでその都度理解をしてから先に進んでください。
途中の記事から力尽きてだいぶ省いた説明になっていたり、単純に記事を書き換えた事で元のスクリプトと変わり動作がしなくなっているものもあるかもしれません。
そんな時にはコメント欄に書いて頂けると、わたくしの返信はありませんが、記事には反映させて頂きたいと思います。
コマンド式のRPGという事になっていますが、戦闘はテイルズ系のアクションにしたい!という時は戦闘シーンをアクションに変更するだけで出来ます(決してアクションの方が簡単というわけではありません)。
このカテゴリではUnityの色々な機能を使っているので、他のジャンルのゲームを作る時にも役立ってくれると思います。
使用するUnityバージョンとUnityプロジェクトの作成
今回のカテゴリで使用しているUnityのバージョンはUnity2019.2.10f1~Unity2019.4.4f1になります(大体このぐらいであれば動作しています)。
その他のバージョンで使用した場合はエラーが発生する可能性もありますが、出てくる警告やエラーの内容を見て修正してください。
新しくUnityプロジェクトを作成する
このカテゴリ用に新しいプロジェクトを作成します。
Unity Hubを開き、新規作成ボタンを押します。
新しいウインドウが出るのでテンプレートを3Dにしプロジェクト名に『3DRPG』と入力します(別のプロジェクト名でもかまいません)。
わたくしの場合は既にプロジェクトを作成済みなのでパスは既に存在しますと表示されています。
プロジェクト名を入力したら作成ボタンを押してプロジェクトが作成されるのを待ちます。
ユニティちゃんパッケージをダウンロードし使ってみよう
新しいプロジェクトが出来たので次はゲームで使用するユニティちゃんパッケージをダウンロードしてUnityで使ってみましょう。
UNITY-CHAN OFFICIAL WEB SITEに行き、右上のDATA DOWNLOADを押します。
ユニティちゃんライセンス条項を読み、同意したら「ユニティちゃんライセンスに同意しました」のチェックボックスにチェックを入れ「データをダウンロードする」ボタンを押します。
ユニティちゃん 3Dモデルデータ のDOWNLOADボタンを押しパッケージをダウンロードします(現時点でのVersionは1.2.1)。
ダウンロード先はわかりやすいようにデスクトップ等に保存してください。
Unityでユニティちゃんの3Dモデルデータのパッケージをインポートします。
Assetsエリア内で右クリックからImport Package→Custom Packageを選択します。
UnityChan_1_2_1.unitypackageを選択し開くボタンを押します。
Import Unity Packageウインドウが開くのでImportボタンを押してインポートが終了するのを待ちます。
これでユニティちゃんの3Dモデルやアニメーション、音声等がインポートされます。
パッケージのインポートで出たエラーや警告を消す
パッケージをインポートすると、コンソール画面にエラーや警告が表示されています。
エラーや警告はUnityのバージョン違いによって表示されるので、Unityのバージョンを変更して表示される警告やエラーは内容を見て修正し表示されないようにします。
警告は出ていても動作しますが、エラーが表示されている場合は解消しない限り動作しませんのでこれを修正していきます。
Unityのバージョンによってはエラーや警告が出ない場合もありますので、そういった場合は特に修正しなくても大丈夫です。
Import時の警告については無視します。
AutoBlinkスクリプトの修正
先ほどのコンソールに1つエラーが表示されているのでまずはこれを解消します。
エラーの内容はAutoBlinkスクリプトのPolicyが名前空間System.Securityに存在していないという内容です。
エラー表示が出ている部分をダブルクリックしvisual studioでスクリプトが開きます。
コンソールのエラー表示部分をダブルクリックすると上のようにvisual studioでAutoBlinkスクリプトが開きエラーであると思われる箇所が選択されます。
この箇所でエラーが発生しているのでとりあえずこの行が選択されている状態でCtrl+Kキーを押した後にCtrl+Cキーを押してその行をコメントにし、Ctrl+Sキーで保存します。
するとUnityのコンソールでエラーが出なくなりました。
警告表示は残っていますが、エラー表示が消えたのでUnityを実行する事が出来るようになりました。
後はいくつかの警告を修正していきたいと思います。
SplashScreenスクリプトの修正
SplashScreenスクリプトでは古い記述方法でスクリプトが書かれている為に警告が表示されています。
SplashScreenスクリプトのNextLevelメソッド内を書き換えます。
1 2 3 4 5 6 7 8 9 | using UnityEngine.SceneManagement; void NextLevel () { //Application.LoadLevel(Application.loadedLevel + 1); SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1); } |
上のようにusingディレクティブでUnityEngine.SceneManagement;を指定し、NextLevelメソッドでApplication関係をコメントにし、SceneManagerで書き換えた内容に変更します。
UnityChanControlScriptWithRgidBodyスクリプトの修正
UnityChanControlScriptWithRgidBodyスクリプトでも古い記述が残っている為に警告表示が出ている為これを修正します。
修正する行数は変更前の行数なので多少変化します。
UnityChanControlScriptWithRgidBodyの96、116、124、160、172行目を変更します。
1 2 3 4 5 | //アニメーションのステートがLocomotionの最中のみジャンプできる //if (currentBaseState.nameHash == locoState) { if (currentBaseState.fullPathHash == locoState) { |
currentBaseState.nameHashをcurrentBaseState.fullPathHashに変更します。
IdleChangerスクリプトの修正
IdleChangerスクリプトでも古い記述が残っているので修正します。
59行目と69行目の.nameHashをfullPathHashに変更します。
1 2 3 4 | //if (previousState.nameHash != currentState.nameHash) { if (previousState.fullPathHash != currentState.fullPathHash) { |
これでパッケージをインポートしたことによる警告とエラーが全て消えました。
終わりに
今回はRPGゲーム用のプロジェクトの作成とRPGで使用するキャラクターユニティちゃんのパッケージのインポートを行いました。
次回はユニティちゃんを移動キーを押した時に動かしてみたいと思います。
この作品はユニティちゃんライセンス条項の元に提供されています