バーチャル3Dクリエイター神部まゆみです(*^-^*)
この記事はunityのStarter Assets Third Person Character Controllerを使ってみたのでそのメモです。
この記事のやり方をやれば、↓VRoidモデルにStarter Assetsを導入してThirdPersonで動かしたりできます。
私が動かした環境はunity 2020.3.40のBuilt in Render Pipeline、UniVRM v0.111.0、VRM0のVRoidモデルです。





starter assetsとは
アセット紹介ページによると、
The Starter Assets are free and light-weight first and third person character base controllers for the latest Unity 6 LTS, using Cinemachine and the Input System packages (required).
スターターアセットは、最新の Unity 6 LTS 用の無料で軽量な一人称視点および三人称視点のキャラクターベースコントローラーで、Cinemachine と Input System パッケージ (必須) を使用しています。
らしいです。
前はStandard Assetっていう似たようなアセットがあったけど、なんか公開終了したっぽい?
同じUnity Technologiesのアセットなので、これがその後継みたいな感じだと思う。たぶん。
ThirdPerson用とFirstPerson用があるけど、今回はThirdPersonでやります。








unity2020.3以外はURPしか対応していないので注意
2025/08/10現在では、unity2020.3系以外はURPしか対応していないようです。


↓の記事でChatGPTに聞いてみたりしたけど、unity運営はどうも複数のレンダーパイプラインを統合していきたいっぽい?らしいですね…。
特にURPを推してる感じっぽいから、今後はURPベースになっていくのかも?わかんないですけど。
2020.3のサポート切れたらURPのみになってしまうのかな…?
ちなみに紛らわしいんだけどURP専用のStarter Assetsもあって、こちらにはTPSもFPSのやつも両方入っているみたいです。




URP向けのセットアップが必要な以外はほぼ同じだけど、使い方は記事を書いたので使いたい人はどうぞ。
standard assetは公開停止になったっぽい?
検索しても出ないので代わりにstarterアセットになった感じかな?






こうなる前にマイアセットに登録していた人は引き続き使えるみたいだけど、アップデートされないので何かあってもサポートはありません。
↓検索すると「Standard Assets ない」とか「Standard Assets 2023」とかで検索されてるっぽいから、なくて探している人は多そう。


Starter Assetsには水や煙とかは入ってないっぽい
Standard Assetには水とか煙とか色々なプレハブが同梱されてたけど、Starter Assetにはシンプルなオブジェクトしか同梱されてないっぽい↓。


↓サジェストに「Standard Assets 水」とか出てくるから探してる人もいるかな?


Standard Assetsは以前使ったけど、簡単にお風呂とか作れて良かったんですけどねw
HDRPで良ければデフォルトの水がかなり良い感じで、リフレクションプローブで反射させるとかなりリアルになります。
↓URPも無料アセットで良い感じのが結構あります。
煙はunity公式の無料パーティクルアセットに入っていたからこれを使うと良いかもしれない。
Unity Particle Pack|unity asset store
Assets/EffectExamples/Smoke & Steam Effects/Prefabs/Steam.prefab にありました。


unity公式アセットとはいえ、無料アセットはボランティアみたいなものだからいつ公開終了になっても文句は言えませんね(~_~;)
まぁ昔買った有料アセットでも、作者さんがメンテナンスできなくなって無料化するパターンは何回か見てきたけど…。
導入方法やサンプルの動かし方など
とりあえずTPSのほうでやります。
マイアセットに登録する
↓にアクセスしてマイアセットに入れる。




私はもう登録したからOpen in unityになってるけどこの青いボタンを押せばOK(無料)。


2025/08/10現在ではunity 2020.3.0以降って書いてあるので対象のバージョンのunityなら動くと思います。
しかしレンダーパイプラインは2020.3.0以外はURPにしか対応してないです。


unityのパッケージマネージャーからインストール
パッケージマネージャーからインストールします。


URPとか書いてあるけどURPじゃないプロジェクトでも使えた。
強制的にURPにされるかと思ったけど、2020.3系はURP以外も対応しているから大丈夫っぽいです。確かURPになると↓にURP用のファイルが設定されてたはず。


ダウンロードしてインポートすればOK。


StarterAssetsフォルダ内にすべてまとまってるので管理しやすいですね。


なんかウィンドウが出てきたけど、とりあえずYesを押します。その後再起動させられました。


This project is using the new input system package but the native platform backends for the new input system are not enabled in the pkayer settings. This means that no input from native devices will come through.
Do you want to enable the backends? Doing so will *RESTART* the editor.
このプロジェクトは新しい入力システム パッケージを使用していますが、新しい入力システムのネイティブ プラットフォーム バックエンドが pkayer 設定で有効になっていません。これは、ネイティブ デバイスからの入力が受信されないことを意味します。
バックエンドを有効にしますか?そうすることで、エディターが 再起動 されます。
サンプルを開いて動かしてみる
サンプルシーンはここにありました。
Assets/StarterAssets/ThirdPersonController/Scenes/Playground.unity


うん普通に動きましたね。
紫色になってしまう場合はプロジェクトを新規で作り直したほうが良いかも?
JU TPSっていうアセットを動かしているプロジェクトでStarter Assetsをインポートしてサンプルシーンを開いたら紫色になってしまってました。unity 2020.3.19だからいけるかと思ったけど…。


その後新規でプロジェクトを作ってStarter Assetsをインポートしたら正常に開けたので、ダメなら新規で作ったほうが良いかもしれない。
あとはunityのバージョンが2020.3.x系じゃないとURPにしか対応してないっぽいのでダメかも。
unity 2022.3.22でやったら紫色になったけど、レンダーパイプラインをURPにしたらいけた
2020.3.x系以外はURPにしか対応してないみたいだから紫色になってしまうっぽい。


しかしStarter Assets用のURP設定ファイルが追加されていたので、プロジェクト設定で↓を指定してレンダーパイプラインをURPに変えたらちゃんと表示されました。
このファイルは2020.3.40でやった時はなかったような気がする。


しかしレンダーパイプラインの変更には著しい時間がかかる場合があるとかいう警告が出たけど、気にせず続行を押せばOK。


ちなみにそんなに時間はかかりませんでしたw
Built in Render Pipelineに戻したい場合はNoneに戻せばOK。
これでちゃんと表示されましたね。


ビルドしてみる。Thinkpad X230でも動いた
サンプルシーンを追加してビルドします。


ビルドしたやつを10年くらい前のGPUなしThinkpad X230(第三世代Core i5)で動かしてみたけど、特に問題なく動かせました。


メモリ16GBに増設したりSSDにしたりはしてるけど、古いノートでもこのくらいは動きそうですね。
GPUがないと動かないとなると、配布する場合にプレイしてくれる見込みユーザーが確実に減るので、スペック低くても動くならそのほうが良いですね。
できればスマホでも動くのが理想かな(;^_^A
VRoidモデルにThird Person Controllerを設定して動かしてみる
サンプルのモデルを見たけど、これらのコンポーネントがあれば動くっぽい。


- Animator
- Character Controller
- Third Person Controller
- Basic Rigid Body Push
- Starter Assets Inputs
- Player Input
こういうのだいたいThird Person Controllerだけ入れれば自動で他のコンポーネントも追加してくれるかな?
VRoidモデルを読み込む
VRoid Studioでエクスポートしておく必要があるけど、詳しいやり方はこちらの記事に書いてあります。
VRoidモデルをインポートするにはuniVRMが必要だけど、uniVRMにもバージョンがあるので今使ってるunityバージョンをサポートしてるバージョンを選ぶ。
まぁバージョンが違っても動いたりはするだろうけど、レンダーパイプラインをURPにする場合はUniVRM v0.112.0 以降の、VRM1.0用のやつをダウンロードします(後述)。

今回はBuilt in Render Pipelineでやるので、unity 2020.3.40、uniVRM v0.111.0、VRoid StudioでエクスポートしたVRM0モデルでやります。
UniVRMは v0.112.0 からは2021.3以降しかサポートしなくなったみたいなので、


2020.3.x系でやるなら v0.111.0までのバージョンでやったほうが良いと思います。
uniVRMを入れてVRoidモデルをAssetフォルダに放り込めばセットアップされるので、シーンに配置すればOK。


2024/07/18追記:レンダーパイプラインをURPで使う場合、VRM1.0じゃないとダメっぽい
↓こちらの記事に書いたけど、レンダーパイプラインをURPにする場合はVRM1.0にしないとダメっぽい。
デフォルトのMToon(VRoidのシェーダー)だとURPに対応してないので、UniVRMでURP向けに変換しないといけない。
UniVRM v0.112.0 からURP向けのMToonが利用可能になったっぽいので、URPでStarter Assetsを使いたい場合は unity2021.3以降、UniVRM v0.112.0以降を使った方がいいかな?


一応v0.111.0にもURP向けのMToonが含まれている?っぽいことが書いてあるけど、試してないので分かりません(;^_^A


追記おわり。
設定する
VRoidモデルのインスペクターメニューでコンポーネントを追加をクリック。


Thirdと入れればThird Person Controllerが出る。


これ一つ追加したらCharacter ControllerとPlayer Inputも追加されてた。
VRoidモデルはデフォルトでanimatorは設定されてたので、あとは
- Basic Rigid Body Push
- Starter Assets Inputs
を追加すればOKかな。
コンポーネントを追加で検索して入れればOK。


カメラを三つコピペしてVRoidモデルに持ってくる
面倒なのでサンプルプレイヤーからコピペしますw
PlayerCameraRootはただの空オブジェクトみたいだけど。
MainCamera,PlayerFollowCamera,PlayerCameraRootの三つをコピーして、VRoidモデルの位置に調整する。


ギズモがうざい場合はここで小さくできます。


コピペしたやつの参照を書き換えておく。


あとここもか。


各コンポーネントを設定
各コンポーネントを設定します。
モデルのレイヤーをDefault以外にする ※これやらないと無限ジャンプする
レイヤーは最初Defaultになっているのだけど、そのままだとスペースキーでジャンプしたら無限ジャンプしてしまった。


とりあえずDefault以外のレイヤー、今回はIgnore Raycastにします。
これ以前触った時とレイヤー名が変わっていたので、アセットのアップデートで変わるかもしれません。


一応プレイヤーなので、タグもPlayerにしておく。
しなくてもとりあえず動くけど、今後接触判定とか作る時のために設定しておいた方が良い。
子オブジェクトには適用しないでこのオブジェクトにのみ適用します。


レイヤーは新規で作って設定したほうが良いのかもしれないけど、とりあえず動かすだけならIgnore Raycastで不都合なかったのでそのまま行きます。
何か不具合あっても責任取れないんで何かあったら各自対応してくださいw
Character Controller
これはサンプルプレイヤーのやつを「コンポーネントをコピー」でまんま持ってきた。
モデルによって高さなどは調整してください。


Player InputのActions
Player InputのActionsのところを設定。
StarterAssetsとか書いてあるやつを選ぶ。


Third Person ControllerのAudio ClipとGround Layer
なくてもいいけど、Third Person Controllerの「Landing Audio Clip」のところにPalyer_Landを設定。
これは歩く音かな?


あとGround LayerをDefaultにする。なぜDefaultかというと床のレイヤーがDefaultだから。


これやらない浮きますw
Animator
Animator ControllerのところにStarterAssetsThirdPersonを設定する。


これで無事動いた!


Standard Assetの時はデフォルトで走っていた気がするけど、デフォルトだと歩きになってますね。
Shiftキー押しながら移動で走る
Shiftキーを押しながら移動すると走ります。
Starter Assets InputsのSprintにチェックを入れるとデフォルトで走る
ここにチェックを入れるとデフォルトで走ります。


カメラの位置を変えてみる
これトランスフォームで位置を変えようとしてもダメっぽい。
強制的に位置が戻されてしまう。
PlayerFollowCameraのCinemachineVirtualCameraで、CinemachineCameraOffsetを追加したらいけた
add extensionのところね。


オフセットの値をいじるとカメラの位置を変えられる。


このくらいのほうがTPSっぽいかな。いやゲームによるか?(;^_^A
最近バイオハザードとかやってたからカメラ近めのイメージがあるのかもしれないw


Add Extensionのところには結構色々あるから、他にも設定いじれそう。
USBコントローラーで動かす方法
最近のUSBコントローラーはXInput対応なので、接続すれば普通に動かせると思うけど。
一応コントローラーの設定方法などは↓こちらで解説してます。
古いDirectInputのコントローラーだと正常に動かないみたいなのでコントローラー買ったほうがいいかも(^_^;)2500円くらいで買えて安いし。
普及率を考えるととりあえずXInputで動作確認できればほとんどのユーザーは動かせるっぽいです。
Starter Assetsは左スティックで移動、右スティックで視点変更、L2でダッシュ、Aでジャンプなど基本的な動作はデフォルトで割り当てられていますが、攻撃とかはそもそも設定されてないっぽいので自分で実装しないとダメかも。
追記:ゲームっぽくしていく方法とか
Unityアセットストアには無料有料問わず様々なアセットがあるけど、ゲームの舞台を用意するとゲームっぽくなると思います。
手間と時間はかかるけど、blenderとかで自分で作ってみるのも良いかもしれないですね。




まぁ一個一個オブジェクトを作っていけば、RPGツクールのマップチップ感覚で配置できると思いますw
あと村人を配置したりイベントを作って、ストーリー性をもたせていくと面白くなるかもしれません。
まぁTPSゲームってだいたいミッションがたくさんあるお使いみたいなのが多いですねw
TPS系の有料アセットなど
Starter AssetsをベースにTPSゲームを作っていくのも良いけど、セール時を狙えば色々な機能が含まれたTPSゲーム制作系アセットが数千円くらいで買えるのでこういうの使うのもアリです。
↓この二つは一緒のバンドルで合わせて3800円くらいで買えたのでオトクでしたねw
ゲーム制作なんてやることが無限にあるため、注力する部分を絞ってやっていくのが良いかもしれません。
追記終わり。
おわりに
案外簡単に動かせてよかった。
やっぱり好きなモデルを動かせるとテンション上がるかもw
なんか簡単なゲームを作りたくなってくるな…。
もうちょっといじってみようと思います(*^-^*)
追記:Starter Assetsで銃のエイムもできるようにいじってみました。