Unity Standard Assets


初心者向けにテンプレート的なプレファブを集めたパッケージがアセットストアに用意されている。
登場が古くて更新がUnity2018までの対応で止まっているので、FPS/TPSについては 2020以降対応のStarter Assetsを使うのがよい。
Standard_Assetsには、FPS/TPS以外のサンプルも入っている。



Screen (2D) projection サンプル

FPS 一人称キャラクターコントローラー
TPS 三人称キャラクターコントローラー
TPS ローラーボールコントローラー

カーコントローラー

航空機コントローラー

パーティクルサンプルシーン

カメラリグ(追跡・ズーム・ハンドカメラなど)

TPSシーンを動かしてみる。


2018用を2019で動かしたからか、エラーが出る。

Unity 2019でのStandard Assetsのエラーへの対処方法


using System; using UnityEngine; using UnityEngine.UI; // <= #pragma warning disable 618 namespace UnityStandardAssets.Utility { public class SimpleActivatorMenu : MonoBehaviour { // An incredibly simple menu which, when given references // to gameobjects in the scene public Text camSwitchButton; // <= public GameObject[] objects;
カメラコントロールのマウス移動量による入力がリモートデスクトップでは反応しないので、マウス座標での入力を付加しておく。
private Vector2 PreviousMousePos = new Vector2(0.0f, 0.0f); // To keep previous MousePosition private Vector2 CurrentMousePos = new Vector2(0.0f, 0.0f); // To keep previous MousePosition private bool initial = true; // To keep previous MousePosition private float mouseDeltaPositionX, mouseDeltaPositionY;
// Read the user input var x = CrossPlatformInputManager.GetAxis("Mouse X"); var y = CrossPlatformInputManager.GetAxis("Mouse Y"); CurrentMousePos = Input.mousePosition; if (initial) { PreviousMousePos = CurrentMousePos; initial = false; } mouseDeltaPositionX = (CurrentMousePos.x - PreviousMousePos.x) * 40.0f / Screen.width; mouseDeltaPositionY = (CurrentMousePos.y - PreviousMousePos.y) * 40.0f / Screen.height; PreviousMousePos = CurrentMousePos; // x = 0.0f; // y = 0.0f; if (mouseDeltaPositionX < -1.0f) { mouseDeltaPositionX = -1.0f; } if (mouseDeltaPositionY < -1.0f) { mouseDeltaPositionY = -1.0f; } if (mouseDeltaPositionX > 1.0f) { mouseDeltaPositionX = 1.0f; } if (mouseDeltaPositionY > 1.0f) { mouseDeltaPositionY = 1.0f; } if (x == 0.0f) { x += mouseDeltaPositionX; } if (y == 0.0f) { y += mouseDeltaPositionY; } キャラクターモデルの変更の要領でキャラクターを取り換える。

TPS AIシーンを動かしてみる。



return