見出し画像

Unityやってみる14: 島を歩き回り、下から上空の物体を攻撃する

 こんにちは、Unity素人おじさんです。ただしプログラミング歴は結構長いです。

 前回、「爆発エフェクトを自動で消滅させる」手段を、ご紹介させていただきました。わかってしまえば簡単、なんだけどそこに至るまでに苦労するのがUnityですね。

 で、今回は「風」をテーマにするか、「ウォークスルー」にするかで迷っていたのですけど、先にウォークスルーを実現した方がいいと考えました。理由①まだ風の使い方がピンときていない、②島をウォークスルーしながら爆発エフェクトを発生させた方が、木々への影響を確認しやすい、③ウォークスルーはアセットを利用したらあっさり実現出来ちゃった。

 そう、アセットストアで提供されている無料アセットを使うことで、実現したいゲームシーンをテンポよく開発していけるのが、Unityのいい所ですね。

 ということで、今回のテーマは「ウォークスルー」。

 でね。色々検索して調べてたんですけど、ざっくり次のようなことがわかってきました。

・ウォークスルーを実現するためのアセットは、大別すると「First Person Character Controller」、「Third Person Character Controller」の2種類がある。「First」は一人称(主観)視点、「Third」は三人称(客観)視点。

・視点「First」と「Third」の両方を簡単に実現できる無料アセットとして、Unity公式が提供していた「Standard Assets 2018.4」というのがあって便利なのですが、現在は新規利用登録は出来なくなっています。※私は数年前にお試しした時に偶然利用申請していたためたまたま利用可能です。

・視点「First」「Third」を使う場合、デフォルトで設置されている「Main Camera」は削除しておかないと、エラーが発生して実行できないようです。

・視点「First」「Third」は、自作することも可能で多くの解説サイトがありますが、最初はやはり、無料アセットを利用した方がいいですね。

・視点「Third」のアセットとして、公式が提供しているものが発見できました。客観視点をやりたい場合はこれを使うといいかも。今回私がやりたいのは主観視点なので、これは使いません。

・視点「First」用にも、Unity公式アセットはありましたが「URP(Unity Render Pipline)」となっていますね。私はまだURPはよくわかってなくて使っていませんので、今回はこれはパスしておきます。視点の操作はレンダリングとは無関係っぽい気がしますので、もしかしたら使えるかも知れません。

・で、今回使わせていただくことにしたのが、こちら。無料で、しかも私の使っているバージョンにも適合しているようです。ウォークスルーだけでなく、銃撃戦も可能です(笑。


 以上で方針は決定。ここまでの調査に、Bing AIに質問したりしながら3時間ほどかかっています。まあでも結構効率よく習得できている気はします。AI様さまです。

 ではEasy FPSをインポートしましょう。と、そこでこんな警告っぽいものが。「アセット中のスクリプトが、古いAPIを参照していますので、更新しておきましょうか?」、と言っているようです。一番左のボタンを押すと、表示されているスクリプトと、今後ひっかかりそうなスクリプトを更新してくれるようです。真ん中のボタンを押すと、表示されているスクリプトだけ更新してくれるようです。
 よくわかりませんが、Unityの心構えとして、「やれるならやっておけ」、というのが正解っぽいので、一番左を選択します。えいっ!(笑。

 インポート後、プロジェクトパネルの「Easy FPS」配下のプレハブを確認すると、「Player」という名前の、飲み薬のカプセルのようなものが見つかりました。たぶんこれをシーンに配置すればいいのでしょう。

 けれど、もしドキュメントがあったら、形だけでも眺めておこうと思い、各フォルダ内を探してみます。結果、最上位階層の直下に、「Documentation.odt」という、ファイルが見つかりました。Microsoft Wordで見れるっぽいですね。開いてみましょう。

 ぎゃあああ、英語だああ。これに限らず提供されているアセットのドキュメントはほぼほぼ英語。これも英語の勉強と思って、がんばって理解しましょう。
 操作方法は、「WSADで移動、Rでリロード、Qで近接攻撃、Cでしゃがむ、左クリックで射撃、右クリックで照準を合わせる、スクロールホイールで武器を変更する」、だそうです。チャットAIさんに、翻訳をお願いしました💦
 

 ざっと全体を見てみましたが、どうもプレハブ「Player」の中身について解説しているようで、プレハブそのまま使う分には、理解する必要はないようです。よかったです(笑。

 ということで、何も考えずにプレハブをシーンビューの適当な位置に、ドラッグ&ドロップ。このまま実行するとどうなるでしょう? やってみましょう。

 一応開始はできましたが、視点が「Main Camera」の位置になって、ちょっとおかしな画像になっていますね。たぶんカメラが競合しているんでしょう。「Main Camera」を削除して、実行しなおしてみましょう。

 成功です! 無料アセットのスカイボックス(空)が美しいです!


 見上げると……、ありました! 隊長! モンスターの巣を発見しました!


 撃て撃てー! 攻撃するとMouseDownイベントが発生するようで、モンスターが落下してきます(笑。


 落下すると爆発! 大迫力です。こうなると、ゴジラとかを置いて、見上げてみたくなりますね。


「さて、このあとどうやってここに風を巻き起こそうか」と、一本の木を見つめながら考える私。スクショではわかりませんが、左の海に向かって、ずるずると滑り落ちています(笑。

 というわけで「モンスター島のウォークスルー」は大成功でした。間近に木が見えるようになったので、次回は「周囲に風を巻き起こすボタン」なんかを追加してみて、木の様子を観察し、「風」の機能を理解してみたいと思います。

次回はこちら:

この記事が気に入ったらサポートをしてみませんか?