キャラクターの移動

 アセットの「Standard Assets(Mobile)」の「CameraRelativeSetup」を使って、
三人称視点での移動を体験しましょう。
以下の動画で手順を確認できます。

動画を再生するには、videoタグをサポートしたブラウザが必要です。
※小さな文字が読みにくいので全画面表示を推奨します

アセットのインポート&読み込み

  1. ツールバーのメニュー「Assets」→「Import Package」→「Standard Assets(Mobile)」
    →全てにチェックをが入った状態でImportをクリック
  2. Projectビューから「Standard Assets(Mobile)」→「Control SetUps」
    →「CameraRelativeSetup.unity」でシーンを読み込む

キャラ割り当ての前に

  • 読み込んだシーンを別の名前にして保存しておく。
  • 図のように階層を展開しておく。
  • Tenkai
ページTOP

キャラクターを割り当てる

 白いオブジェクトに自分が動かしたいキャラクターを割り当ててみましょう。
ここでは例として

  1. 「Standard Assets」をインポートする(Mobileではない方)
  2. 「Favorites」のAll Modelsから「Constructor」をドラッグ&ドロップで図の位置の階層に置く
  3. Constructor1
  4. 「Player」のCameraRelativeControl(Script)のコンポーネントをコピーして
    動かしたいキャラ(ここではConstructor)のコンポーネントにペーストする(コピーのやり方はここ)
  5. 「Player」をDeleteキーで削除する
  6. 「CameraPivot」のFollow Transform(Script)の「Target Transform」にConstructorをドロップする
  7. Constructor2
  8. Constructorの立ち位置を床上になるように調整する
  9. ここまで出来たら再生ボタンを押して動作確認をしてみましょう!(あとで動画つける?)

ページTOP

CameraRelativeControlスクリプトを編集

 CameraRelativeControl.jsを編集します。このスクリプトはCameraRelativeControlの階層下の
「Camera」にアタッチされています。スクリプトの開き方は画像を参考にしてください。

Constructor2

もともとセットされている変数を次のコードのように書き直します。

				@script RequireComponent( CharacterController )

				var moveJoystick : Joystick;
				var rotateJoystick : Joystick;

				var cameraPivot : Transform;						// 変換カメラの回転に使用
				var cameraTransform : Transform;					// カメラの実際の変換

				var speed : float = 5;								// 対地速度
				var jumpSpeed : float = 8;
				var inAirMultiplier : float = 0.25; 				// Limiter for ground speed while jumping
				var rotationSpeed : Vector2 = Vector2( 50, 25 );	// 各軸のカメラ回転速度

				private var thisTransform : Transform;

				//プレイヤーの状態をキャッシュする
				private var character : CharacterController;
				var playStatus : PlayerStatus;	//プレイヤーの状態
				playStatus = GetComponent(PlayerStatus);

				var isControllable : boolean = true;
				private var velocity : Vector3;						// Used for continuing momentum while in air(空気中にしばらく継続勢いに使用

				private var canJump = false;

				private var grounded : boolean = false;

				

 今は「PlayerStatus」というスクリプトがないためエラーが発生しますが、
そのスクリプトを作成するとエラーが解消します。
最後に次のリンクから参考としてJavaScriptファイルをダウンロードできます。

DlImage

ページTOP