山形大学VR部のemelです。
前回の記事はこちら
今回では、Inspector を使ってのオブジェクト設定及び、前回紹介した「Transform」 「Collider」 「Renderer」 の3つのオブジェクトについて紹介します。
この記事では、その中でも 「Transform」 に焦点を当てたいと思います。
目次
オブジェクトを構成する Component
Inspector に表示されている、Component について説明します。
Component とは、シーン内で行われる処理を行うもののことです。
Component はエディタ上の Inspector で、オブジェクトについている Component を一目で確認することができます。
例をあげると、前回作成した Cube にはデフォルトで 「Transform」 「Cube (Mesh Filter)」 「Box Collider」 「Mesh Renderer」 「Default - Material」 という Component があることが Inspector を見ることで分かります。
これらの Component は内容を変更したり、物理エンジンなどの別の Component を新たに追加したりすることでいろいろなオブジェクトを形成することができます。
オブジェクトを構成する3要素
次に、前回紹介した3要素である、「Transform」 「Renderer」 「Collider」 について詳しく説明したいと思います。
この3つのオブジェクトは簡単にまとめると順に、「位置、角度、大きさ」 「当たり判定」 「描画」 を表現するオブジェクトです。
3要素は Component ともつながりがあり、今回作成した Cube では、Transform は「Transform」 component と、「Collider」 は「Box Collider」 component と、「Renderer」 は「Cube (Mesh File)」 「Mesh Renderer」 「Default - Material」 component と深く関係しています。
他にもいろいろな要素がありますが、前述のとおり、今回は Transform に焦点を当てていきます。
Transform の解説
正確に言うと、「GameObject 内にある transform プロパティの中にある Transform クラスのインスタンス」 ですが、非常にわかりづらいのでここは覚えなくとも大丈夫です。
覚えるべき点はいくつかありますが、「Transform」 は、Seane 内にあるオブジェクトはすべて取得しているものであり、オブジェクトの位置、角度、大きさを管理しているという点を覚えておくと良いです。
他にもオブジェクト同士の親子関係を管理するという点も重要ですが、今回は省略します。
Component では「Position」 「Rotation」 「Scale」 に分かれ、「Vector3」 という3次元におけるx, y, z 方向の数量を管理するインスタンスによってそれぞれが構成されています。
Position
オブジェクトの位置を指定された座標 (Vector3 に準拠する値) に基づいて設定します。
このときの座標はx, y ,z の3方向で示され、Seane の中心、つまり原点を0としています。
このような座標を Unity ではグローバル座標( ワールド座標 ) と呼びます。
Unity には他にローカル座標という座標もありますが、説明は次回以降とします。
いろいろと説明しましたが、はじめは Component 内 Position 欄の x, y, z の値を入力すると初期位置が入力された座標へ移動すると覚えればよいと思います。
Rotation
オブジェクトの向きを Vector3 の値に基づいて設定します。
Component 内の x, y, z の値を入力することでオブジェクトの向きを設定することができます。
この時に入力する値は角度で設定するため、0~360で全角度表現可能です。負の値を入れることもできます。
また、毎時間向きを変更することでパラパラ漫画のように、オブジェクトが回転しているように見せることもできます。
Scale
オブジェクトの大きさを Vector3 の値に基づいて設定します。
Component 内の x, y, z の値を入力することでオブジェクトの大きさを設定することができます。
こちらも入力する値に負の数を入れることができます。
まとめ
いかがでしたでしょうか。今回は Transform に関連する3つのプロパティについて解説しました。
3Dオブジェクトには Cube を含めいろいろ種類があるため、まずはオブジェクトを製作し Transform の値を Inspector などでいじりながら遊んでみると、より挙動がわかりやすいと思います。
次回は Collider について解説予定です。
スマホブラウザで、施設内インドアの経路案内や店舗案内がダイナミックに!
※株式会社インフォマティクスのインドアマップシステムMappedin(マップトイン)公式サイトへ