WonderPlanet DEVELOPER BLOG

ワンダープラネットの開発者ブログです。モバイルゲーム開発情報を発信。

Unity Standard Assetsの汎用スクリプトについて

今回のエンジニアブログを担当する、廣田です。
今回はUnityのStandard Assetsから汎用的なスクリプトの一部を紹介したいと思います。

まずは準備として、Standard Assetsのスクリプトをインポートします。
メニューから[Assets]→[Import Package]→[Scrpts]を選択します。

ss1

クリックをすると、インポートするパッケージの内容が表示されるので、Importを選択して読み込みます。

ss2

Projectウィンドウ内に、先ほどインポートしたスクリプトが入っていれば、読み込み完了です。

ss3

次にスクリプトの説明で使用する、オブジェクトを用意しましょう。
メニューから[GameObject]→[Create Other]→[Cube]を選択します。

ss4

これでシーンに、Cubeが追加されたと思います。
同じように[Plane]・[Directional light]を選択してオブジェクトを作成します。
Hierarchyウィンドウに各種オブジェクトが追加されていれば作成完了です。

ss5

このままでは、PlaneとCubeが重なっているので、Planeの位置を下げてあげましょう。
HierarchyウィンドウからPlaneを選択します。
すると、Inspectorウィンドウに詳細が表示されます。
次に、InspectorウィンドウのPositionの欄にあるY座標を選択して、0.5ほど数値を下げます。

ss6

これでCubeとPlaneの位置が調整できたと思います。
以上で準備完了です。

インポートしたファイルには、5つのスクリプトがあります。
(バージョンによっては数が違うかもしれません)
今回はActivateTriggerを除くスクリプトを、上から順に簡単に説明していこうと思います。

1.MouseOrbit

カメラにこのスクリプトを追加する事で、指定したターゲットを中心に、カメラをマウスで自由に回転させる事ができるようになります。
試しに、カメラにこのスクリプトを追加してみましょう。

HierarchyウィンドウからMain Cameraを選択します。

次にProjectウィンドウから、MouseOrbitスクリプトをInspectorウィンドウにドラッグ&ドロップします。

ss7_2

スクリプトの追加がうまくいくと、項目が追加されます。

ss8_2

次にカメラのターゲットを設定しましょう。
カメラが選択された状態で、InspectorウィンドウのTargetの欄にHierarchyウィンドウから、Cubeをドラッグ&ドロップします。

ss9_2

Noneになっていたところが、Cubeとなっていれば追加は成功です。
これで準備は完了です、シーンを実行してみましょう。
マウスを操作してカメラがCubeを中心に動けば成功です。

2.SmoothFollow

カメラにこのスクリプトを追加する事で、指定したターゲットをカメラが追従するようになります。
先ほどと同じように、スクリプトの追加・ターゲットの指定をして実行してみましょう。
(先ほどのスクリプトが残っている場合は、スクリプト名の隣のチェックを外すか、
スクリプト名を右クリックして[Remove Conponent]を選択して削除しましょう)
シーンウィンドウでCubeを動かすと、カメラが追従してくれます。

3.SmoothLookAt

カメラにこのスクリプトを追加する事で、指定したターゲットの方向にカメラが向くようになります。
こちらも先ほどと同じように、スクリプトの追加・ターゲットの指定をして実行してみましょう。
シーンウィンドウでCubeを動かすと、カメラの向きがCubeの方向へ向いてくれます。

4.DragRigidbody

オブジェクトにこのスクリプトを追加する事で、マウスドラッグでオブジェクトを動かすことができるようになります。
スクリプトを追加する前に、オブジェクトにRigidbodyコンポーネントを追加します。
Hierarchyウィンドウから、Cubeを選択し、メニューの[Component]→[Physics]→[Rigidbody]を選択します。

ss11

スクリプトの追加がうまくいくと、CubeにRigidbodyの項目が追加されます。
後は前項と同じように、CubeにDragRigidbodyを追加しましょう。
シーンを実行して、Cubeをマウスでドラッグすると動かせるようになります。

このように、標準で入っているUnity汎用スクリプトを利用する事で、色々な事をする事ができます。
この他にもキャラクターコントローラー等の便利なスクリプトも存在するので、調べてみるのも面白いと思います。

さて、今回はUnity Standard Assetsの汎用スクリプトについて、お話しさせていただきました。
次回もUnityのお話をできればいいなと思っています。
それではまた次回!