次のようにSDユニティちゃんを走り回らせたいの~
Unity公式のSDユニティちゃんモデルとStandard Assetsを使えばすぐ作れるわ!
ユニティちゃん公式ウェブサイトでは、Unityで使える様々なアセットが公開されています。
本記事では、Standard AssetsとSDユニティちゃんモデルを用いて、SDユニティちゃんを自由に走り回れるようにする手順を解説していきます。
※本記事のスクリーンショットはUnity2020のものですが、Unity2021でも動作することを確認済みです。
この作品はユニティちゃんライセンス条項の元に提供されています
- Unity2020.3.5f1
- Unity2021.1.26f1
目次 非表示
Unityプロジェクトの準備
まず、SDユニティちゃんを動かすためのUnityプロジェクトを準備します。
インポートしたいUnityプロジェクトを事前に開いておいてください。
本記事では、空のUnityプロジェクトを新規作成して手順を解説していくこととします。
SDユニティちゃんのインポート
モデルデータのダウンロード
ユニティちゃん公式ウェブサイトから、SDユニティちゃん 3Dモデルデータをダウンロードします。
ダウンロードは、公式ウェブサイトの右上にあるDATA DOWNLOADボタンより行えます。
利用規約に同意し、ダウンロードページから該当する名前のものをダウンロードしてください。
プロジェクトへのインポート
ダウンロードしたunitypackageをUnityエディタのProjectビューにドラッグ&ドロップし、アセットのインポートを行います。
Import Unity Packageウィンドウが開いたら、全選択した状態でそのままImportボタンをクリックしてインポートが終わるまで待ちます。
インポートが成功すると、Assetsディレクトリ配下にUnityChanディレクトリとREADMEファイルが追加されます。
コンパイルエラーの修正
Unity2020では、インポートを行ったあとに以下のようなエラーがコンソール画面に出力されることがあります。
これは、.NET Standard 2.0を使用しているときに発生するコンパイルエラーで、この.NETバージョンではまだSystem.Security.Policy名前空間が存在していないためです。
取れる回避策は次の2つです。
- .NETバージョンを4.xにする
- AutoBlinkforSD.csスクリプトを修正する
.NETバージョンを変更できない等の理由がなければ、一つ目の方法をお勧めします。
方法1 : .NETバージョンを4.xにする
.NETバージョンは、メニューのEdit > Project Settings…からProject Settingsウィンドウを開き、Player > Other Settings > Configuration > Api Compatibility Level*の項目から変更できます。
.NET 4.xを選択してください。(Unity2021.2.0f1以降の環境では.NET Frameworkを選択してください)
選択すると再コンパイルが走るため、終わるまで待機します。
方法2 : AutoBlinkforSD.csスクリプトを修正する
.NET Standard 2.0でコンパイルエラーを回避する方法です。
AutoBlinkforSD.csを開き、8行目の以下コードを削除してください。
修正前
修正後
これでコンパイルエラーが消えれば成功です。
パッチのインポート
ここまでの手順を実施すると、SDユニティちゃんモデルを動かせるようになりますが、カメラを引くと表示がおかしくなることがあります。
これは、アウトラインが正しく描画されていないためです。この場合、ダウンロードページよりユニティちゃんシェーダー (Unity 5.4/5.5β 対応版)パッケージをダウンロードし、先と同様にUnityプロジェクトにインポートします。
これでアウトラインが正しく描画されるようになれば成功です。
Standard Assetsのインポート
SDユニティちゃんが走り回れるようにするために、Standard Assetsをインポートします。
以下ページよりStandard Assets (for Unity 2018.4)をインポートします。
右側のマイアセットに追加するまたはUnityで開くボタンをクリックし、アセットのインポートを実施します。
すると、Package Managerウィンドウが開かれるので、右下のImportボタンをクリックします。
Import Unity Packageウィンドウが開いたら、次の項目のみを選択してImportボタンをクリックします。
- Standard Assets/Characters/ThirdPersonCharacter
- SDユニティちゃんを走らせるためのアニメーションやスクリプト
- Standard Assets/CrossPlatformInput/Scripts
- SDユニティちゃんを操作するためのスクリプト
- Standard Assets/Prototyping
- 床などのオブジェクト類
これで準備完了です。
Standard Assetsをインポートする際は、必ず上記3フォルダのみを選択し、他は選択しないでください。他を選択した場合はコンパイルエラーとなります。もし他もインポートしてしまった場合は、SimpleActivatorMenu.csスクリプトの11行目を次のように書き換えてください。
シーンの準備
必要アセットのインポートが一通り済んだため、シーン上でSDユニティちゃんが走り回れるようにしてみましょう。
シーンの作成
ここでは、空シーンを新規作成する前提で手順を解説します。
Ctrl + Nキーを押下し、Basic (Built-on)を選択し、Createボタンクリックで新規シーンを作成します。
作成した後は、Ctrl + Sキーでシーンを保存しておきましょう。
床を配置する
先にインポートしておいたStandard Assetsの床オブジェクトを配置してみましょう。
以下パスのPrefabをドラッグ&ドロップでシーンに追加します。
SDユニティちゃんの配置
床上にSDユニティちゃんを配置します。
先と同じ要領で以下Prefabをシーンに配置します。
SDユニティちゃん側の設定
シーン準備が出来たら、SDユニティちゃんをキー操作で走り回れるようにしてみましょう。
まず、SDユニティちゃんオブジェクト(SD_unitychan_humanoid)のAnimator > Controllerに、以下パスのAnimatorをアタッチします。
次に、SDユニティちゃんオブジェクトのIdle ChangerとFade Updateスクリプトのチェックを外し無効化します。
これは、ポーズや表情変更のUIを無効化するためです。
Add Componentボタンをクリックし、Third Person User Controlスクリプトを追加します。
すると、以下のように必要なコンポーネントが自動的にアタッチされます。
これらがSDユニティちゃんを操作するために必要なコンポーネント類です。
そして、以下画像のように赤枠のパラメータを設定します。
これでゲーム実行すると、以下のようにSDユニティちゃんを操作できるようになります。
さいごに
本記事では、SDユニティちゃんを操作するサンプルを作る手順を解説しました。
一度動かすことができたら、ここから色々と試せることも増えていくことでしょう。
Standard Assetsには、キャラクター操作のように痒い所に手が届くスクリプトが揃っています。
手っ取り早くプロトタイプを作りたいときに非常におススメのアセットです。
Standard Assetsの使い方については、以下記事もあわせてご覧ください。