【Unity】カメラを WASDキー で動かせるようにする

Uncategorized
477 words

PCゲームのFPSや、1人称視点、3人称視点のゲームで 自キャラを操作するときのアレです。

アセット であったので試しに入れてみました。

アセットのバージョンが古いので少し修正が必要ですが、アセットだけでカメラ操作が出来るのは魅力的です。

目標

  • マウスで向きを変える
  • スペースキーでジャンプ
  • W、A、S、Dキーで歩く
  • シフトキーでダッシュ

環境

  • Windows 10 Home 20H2
  • Unity 2020.2.0f1

導入

Standard Assets

アセットを導入します。

「ウィンドウ > アセットストア」を選択して、アセットストアを開きます。

ウィンドウ > アセットストア

Standard Assets」を検索して「Add to My Assets」でダウンロードします。

Add to My Assets

Unity に戻り「ウィンドウ > パッケージマネージャー」を選択して、パッケージマネージャーを開きます。

ウィンドウ > パッケージマネージャー

左上のパッケージ項目を「マイアセット」に変更して、

マイアセットに変更

左のリストから「Standard Assets (for Unity 2018.4)」を選択して、右下の「インポート」ボタンを押します。

Standard Assets (for Unity 2018.4)

リストに表示されない場合は、更新ボタンを押すとリストに表示されます。

全てインポートします。

インポート

修正

今回のアセットはバージョンが古いので、ソースコードの修正が必要です。

エラーメッセージ

1
Assets\\Standard Assets\\Utility\\SimpleActivatorMenu.cs(11,16): error CS0619: 'GUIText' is obsolete: 'GUIText has been removed. Use UI.Text instead.'

コンソールのエラー行をダブルクリックして、ソースコードを開きます。

エラー行をダブルクリック

SimpleActivatorMenu.cs の GUIText が古くて使えないみたいです。

GUIText が古くて使えない

2箇所修正をすると、エラーが無くなります。

  1. usingステートメントに「using UnityEngine.UI;」を追加。
  2. GUIText を「Text」に変更。

GUIText を Text に変更

実装

エラーが無くなったので Standard Assets が使えるようになりました。

カメラの競合を防ぐために「Main Camera」を削除します。

Main Camera を削除

アセットフォルダ内の「Standard Assets > Characters > FirstPersonCharacter > Prefabs」 にある「FPSController」を Scene にドラッグすれば完成です。

FPSController を Scene にドラッグ

参考

https://www.ame-name.com/archives/370

https://connect.unity.com/p/standard-assets-guitexture-and-guitext-are-obsolete