【Unity】blenderのことはよく分からないけど爆速でオブジェクトの上にクルクル回るポインタを作成したい


はじめに

オンラインゲームでよく敵オブジェクトの頭上にクルクル回ってる矢印がありますよね。あれを作ります。

ゴリラはAssetStoreのGorilla Characterから拝借しました。

ゴリラ可愛い。

矢印を作る

四角錐はUnityにはないので自分で作らないといけません。 Blenderで作ります。Blenderは無料で使えていいね。 滑らかな3Dオブジェクト作りたいならSculptrisもおすすめ。

さて、blenderを立ち上げると以下のような画面が立ち上がる。

①立方体にカーソルを合わせて右クリックで選択(オレンジ色の線でほんのり囲まれていればok)

②左に「削除」ボタンがあるので削除実行する。同様にカメラとライトも消す。

③画面の中心を左クリックでカーソル移動、左下の方に「add」あるいは「追加」があるので、クリックしてメッシュ->円錐と選ぶ

④左下に円錐の設定画面が小さくでてくるので、頂点を4、フィルタイプをなし、にします。(下画像)

⑤作成できたら右側のアイコンから、下画像で選択してるアイコンを選び、その中にある新規を選びます。

⑥ディフューズから好きな色に設定します。(下画像)

以上で作成終了です。ファイル->保存 します。
保存できたらUnityの適切なフォルダにドラッグアンドドロップして取り込みます。

このプレハブをゲームシーンの適当な場所に配置して反対向きに回転させれば、、

真っ黒ですね。これはライトの関係で、上から光を当ててるような設定にしてるので全体が影になってしまっています、、

真下に上向きスポットライトを置いて解決したことにします。

これでポインタが完成です! ゴリラの上に移動させましょう。

ポインタを回転させる。

以下のコードをUpdate関数内に書いて、ポインタにアタッチします。

// ワールドのy軸に沿って1秒間に90度回転
transform.Rotate(new Vector3(0, 90, 0) * Time.deltaTime, Space.World);

これで実行すると、最初に貼ったgifのような動作を実現することができます!!

おしまい

長くなってしまったので、ポインタの上に文字を表示する方法などはまた別の機会に載せたいと思います。