Unity

外部テキストファイルを読み込む

外部で用意したテキストファイルを読み込むスクリプトを実装

1.読み込むファイルをResourcesフォルダ以下に格納
Resourcesフォルダ以下にあるアセット(ファイル)はResourcesクラスからアクセスすることができる

2.読み込むオブジェクトに以下のスクリプトをアタッチ

これを活用すればアイテムマスタ等のデータ管理に使えるようになる…?

ゲーム起動時にロゴマークを表示した後、タイトル画面へ遷移させる処理

ゲーム起動時によくある、ロゴマークを表示して音声を再生した後、フェードアウトしてタイトル画面へ遷移する処理を実装

1.画面を作成する
 uGUIで下から背景用のpanel(Background)、ロゴ画像用RawImage(Logo)、フェードアウト用のPanel(FadePanel)を重ねて配置する
00014

 この時、フェードアウト用のPanel(FadePanel)のアルファ値を0にして透明状態にしておく
00015

2.空のオブジェクト(LogoControl)を作成し、以下のスクリプトをアタッチする

 このスクリプトのPanelにはフェードアウト用のPanel(FadePanel)を指定する

3.LogoControlにAudioSourceコンポーネントを追加し、再生する音声を指定する
00016

実行すると、2秒後に音声が再生、5秒後にフェードアウトが始まってタイトル画面用の別シーンへ遷移するという、ゲーム起動時によくあるような画面遷移ができる
00017

CharacterControllerを使った移動(Animator追加)

CharacterControllerを使った移動にモーションを付けてみた

Animatorに立ち、歩き、走り状態のアニメーションを設定して、キャラクターのオブジェクトにアタッチしておく
そしてCharacerBaseにアタッチしたスクリプトを以下に変更

00013

これでアクションゲームのプレイヤーのような挙動ができるようになったはず

CharacterControllerを使った移動

キーボードやコントローラーで入力した方向にオブジェクトを移動させる
で実装したオブジェクトの移動をCharacterControllerを使って移動できるようにする

まず空オブジェクト(CharacerBase)を作成して、その子オブジェクトに表示するキャラクターのオブジェクトと、ここで作成したカメラオブジェクトを配置する(positionも統一させる)
CharacerBaseにCharacterControllerを追加して、コライダーをキャラクターのサイズに調整する
00011

CharacerBaseに以下のスクリプトをアタッチする

00012

移動はできるようになったものの、移動時のアニメーションがついていないのでちょっと違和感
スクリプトにアニメーション関連を実装すればそれっぽくなるはず

オブジェクトを中心にしたカメラの回転処理

対象のオブジェクトを中心にしてカメラを回転させる処理を実装する

まず対象のオブジェクトの子オブジェクトに空オブジェクトを作成し、位置を対象と同じにする。
更にその子オブジェクトにメインカメラを配置する。
空オブジェクトに以下のスクリプトをアタッチする

カメラではなく、カメラの親オブジェクトを回転させる事で、対象のオブジェクトの周りを回転できるようにしている
水平軸の回転はワールド軸にして、y軸を中心に回転させることがポイント

00010