40日目 的当てゲームを作ろう
今回の学習で制作するのは的当てゲームだ。
的に当てるシンプルなゲームだ。
だが、学習内容は的当てのスクリプトよりも、
3Dマップの生成やテクスチャ、エフェクトによる演出がメインとなる。
今回のゲームは3Dである。
さっそく制作に取り掛かる。
シーンにTerrainを配置する。
TerrainとはUnityに用意されている地形である。
「テライン」と読むらしい。
色々試した感覚から言うと、
地形というよりもキャンバスというのがしっくりくるかもしれない。
これを利用して山や川のテクスチャを貼り付けるだけで、
立派な地形を作ることができる。
さっそく地面に起伏を付ける。
(カクヨムの仕様で掲載できないがここに画像がある
https://1.bp.blogspot.com/-iNyyWmc6xDk/WEwRs7AazkI/AAAAAAAATk8/FLs5BelxZDo5T9ytkSNgR2izapES3jtewCLcB/s1600/terr.gif)
付かない。頭を抱える。
確かに起伏を生成するモードになっているはずだが……。
教材によると青い円が表示されて起伏を作れるとのことだが、
青い円とやらは表示されない。
(カクヨムの仕様で掲載できないがここに画像がある
https://2.bp.blogspot.com/-buO071lCLaQ/WEwRsoV4x4I/AAAAAAAATk0/3Ddg5m6MfG4RiG4VwXGx79h0SpAD62bxwCLcB/s1600/terr2.gif)
拡大してみると、ドットのような青い表示は見つけることができた。
教材を少し先まで見ると、
起伏を作成するブラシの太さや濃さは変更することができるらしい。
ふと思うところがあって、ブラシの設定で太さを変えてみる。
(カクヨムの仕様で掲載できないがここに画像がある
https://3.bp.blogspot.com/-dodMN0mKkes/WEwRtHZrUoI/AAAAAAAATlA/NYZBrXvr6IM6mHx196-qkFKnU-ZPmxDwQCLcB/s1600/terr3.gif)
できた。
初期値が最小設定になっているなら先にそう言ってくれと思った。
何度でもいうが、
手順通りにやってできないとハゲそうになるので本当に止めてほしい。
Terrainの起伏でマップを作る。
今回の制作で使用する草のテクスチャをインポートし、
Terrainに貼り付けた。
(カクヨムの仕様で掲載できないがここに画像がある
https://4.bp.blogspot.com/-flsjn1TyLEg/WEwRtR_OxyI/AAAAAAAATlI/OtIRlryatMkd_MK4Y5wuwqBol8T4hvKjQCLcB/s1600/terr4.gif)
(カクヨムの仕様で掲載できないがここに画像がある
https://1.bp.blogspot.com/-J_tX-aqNgkQ/WEwRtcox7EI/AAAAAAAATlE/-_ZocH_ZHAINTbeO5WXvaHmfTL1NBUk6wCLcB/s1600/terr5.gif)
岩(というか禿げた地面)のテクスチャも貼り付けてみる
簡単だ。
木を生やす。
(カクヨムの仕様で掲載できないがここに画像がある
https://4.bp.blogspot.com/-nPAGH0klQF0/WEwRthjC-TI/AAAAAAAATlM/AKcKzy0KQbkjEluMQfxH89gFhRSGT9QrQCLcB/s1600/terr6_2.gif)
生やしすぎた。
シーンに的を配置する。ゲームの画面はこのようになる。
(カクヨムの仕様で掲載できないがここに画像がある
https://2.bp.blogspot.com/-9aZacFB6_oY/WEwTjoquQ7I/AAAAAAAATlk/DKjTmQNc8OMzfoWMM7gll3j13wsdNwCjwCLcB/s1600/%25E7%2584%25A1%25E9%25A1%258C2_2.png)
大量に生やした木はほとんど無駄だが、
細かいことを気にしてはいけない。
的に当てるためのイガグリを配置し、
イガグリを飛ばすスクリプトを書く。
(カクヨムの仕様で掲載できないがここに画像がある
https://4.bp.blogspot.com/-lcCOYktZUxg/WEwRtnaPgUI/AAAAAAAATlQ/UaQK_qeNFiAcGy2UDz6nNbwAjUgrnGHnwCLcB/s1600/terr7.gif)
ちゃんと飛んだ。
次は演出である。
パーティクルというものを利用したエフェクトを作成する。
(カクヨムの仕様で掲載できないがここに画像がある
https://1.bp.blogspot.com/-4x32dmUN9ZU/WEwRtsXjpbI/AAAAAAAATlU/OT4gLb4Mn78eJH5JXzYR1pTxk9pXhx1UQCLcB/s1600/terr8.gif)
これを放射状に飛ばしたり、色を変えたり、
重力に逆らって飛ばすことで煙や炎を表現したりできるらしい。
この粒子の大きさなども様々に設定できるようだ。
とりあえず的にイガグリが当たったら弾けるような演出にする。
(カクヨムの仕様で掲載できないがここに画像がある
https://2.bp.blogspot.com/-M_vbvDJpxnY/WEwRuFl9X9I/AAAAAAAATlY/9u7F1hkfmQcuPLq1f1Wbv-pTfDQURtx8wCLcB/s1600/terr9.gif)
パーティクルの表示時間などを微調整した。
オブジェクト同士が衝突した際にパーティクルによる演出を行う。
実際に当たった時はこのようになる。
(カクヨムの仕様で掲載できないがここに画像がある
https://1.bp.blogspot.com/-9807HUY2crM/WEwRs2f0sOI/AAAAAAAATk4/BgIhxe5V0ZQGgoXmEuQ0R_OVQeMn01SiACLcB/s1600/terr10.gif)
あとはクリックした場所にイガグリが飛ぶようにするという最後の項目だけだが、
ここで問題が発生した。
ちゃんと飛ばなくなった。
「指定した方向へオブジェクトを飛ばす」
という処理から、
「タップしたスクリーン座標からシーン内の座標へ向かうベクトルの力を加える」
という処理に教材通り変更したらおかしくなった。
自分のスペルミスを疑い、
教材のスクリプトを利用してみても駄目である。
問題の所在はスクリプトではない部分にあるのかもしれない。
その後も色々試してみたが、どうも原因がつかめない。
幸い、今回の学習部分の肝であるTerrainとパーティクルの操作は学べているので、
後ろ髪を引かれるが、思い切ってこの章の制作を打ち切ることにした。
原因は引き続き調査するが、
この部分だけにこだわっていたずらに時間を浪費するのは無駄だと判断。
次の章の学習へ進むことにした。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます