マイコン研究会の日記

大阪市立大学マイコン研究会のブログです。

【Unity】3Dゲームを作る その6 ProBuilderを使ってステージを作る

こんばんは、ひたすらレポートに追われていた、zankです。


今回はステージを作っていこと考えています。


やっとゲームらしくなってきた感じですね。


ちなみに今後の予定もある程度決まっていて、

  • その7 フラグ管理とその他ギミックの追加(出来たらカメラも)(6月中旬)
  • その8 シーン追加とタイトル作成 (6月中旬~6月下旬)
  • その9 ゲーム中のシーン変更の仕方 (6月下旬)
  • その10 リザルト画面の設定とbuild(出力)一応ゲームの完成(7月上旬)
  • その11~? 非同期型のネットワークでランキング管理(8月末までに最後まで)

となると思います。(あくまで予定なのでこの通りとは限りません)

ここまで終わればとりあえずゲームが完成します。

後はステージの追加や自分のつけたい要素を追加していくだけです。
(正直ネットワークに関してはなくてもいいと思いますが、やってみたいので入れました。ちなみにランキングはタイムアタックです。)

それでは本題に戻って、ステージを作っていきましょう。



ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ProBuilderを使ってステージの作成
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー


現在のUnity2018.1以降には、なんと簡単にステージを作ったりいじったりするソフトが入っているのです。


それがProBuilderです。


実際に軽く試してみましたが、これが無料で使えるのは革命的だと思うほど恐ろしく便利です。


では実際に使っていきましょう。


まず、左上のWindowタブからPackage Managerをクリックします。

f:id:ocumcr:20180614140921p:plain

次に開いたPackage ManagerのAllからProBuilderを探し、そしてインストールします。
(私は既にインストールしているので、表示されませんが右上にInstallと表示されるはずです)


f:id:ocumcr:20180614141133p:plain


インストールが完了したら、次に左上のToolタブからProBuilderにカーソルを合わせ、ProBuilder Windowを選択します。


f:id:ocumcr:20180614141400p:plain


するとこのような画面が出てくるので、右側の空いているスペースを右クリックしUse Icon Modeをクリックします。


f:id:ocumcr:20180614141736p:plain


すると下図のようなアイコンが並んだ画面になります。

f:id:ocumcr:20180614142229p:plain


今回このアイコンたちの詳しい説明はせず、使うアイコンだけ説明していきます。

なぜ全部説明しないかというと、このアイコン実はこの画面だけではなく、この画面は全体選択時に使えるアイコンで、ほかにも点、線、面があり、すべてのアイコンの数は


なんと127個もあります。


便利なのはいいけど機能が多すぎてわけわからない。


なので、説明せずに次に行きます。


次にf:id:ocumcr:20180614143641p:plainこのアイコンを選択します。


このアイコンはクリックで頂点を作ることができ、その頂点を囲んだ時平面が作り出され、その後高さをマウスの上下で設定します。

つまり、自分の作りたいステージを描いて、その高さを調整します。


f:id:ocumcr:20180614144352p:plain
f:id:ocumcr:20180614144358p:plain



このようにクリックするだけで大雑把ですが自分の作りたいステージが作れてしまいます。


そして大雑把に作ったステージをf:id:ocumcr:20180614185828p:plainを選択して調整していきます。

これは左から全体、点、線、面です。

これを選んだあと自分の調整したいところで、普段のオブジェクトの操作と同様のことをすれば簡単に調整できます。


実際に新しくステージを作って調整した結果がこれです。


f:id:ocumcr:20180614144736p:plain


しかし、この状態だと中はこんな感じになっています。


f:id:ocumcr:20180614145520p:plain


これはどうすれば治るのか

これは非常に簡単に直すことができます。

それはただステージを選択しながらf:id:ocumcr:20180614145916p:plainを押すだけです。

すると画面がこのようになります。


f:id:ocumcr:20180614150244p:plain


なんかすごい真っ暗だけど大丈夫なのか?と思うかもしれませんが、ただ、ライトがなくなっていて暗くなっているだけです。


では次に、ライトを設定していきましょう。


まず、HierarchyのLightを選択してPoint Lightをクリックしてもらうと点光源がシーンに発生します。

これを部屋のいい感じのところに設置します。

f:id:ocumcr:20180614180546p:plain


次にPoint LightのInspectorのModeをBakedにします。

なぜここを変更するかというと開始時や動作中の負荷を減らすためです。

基本的に部屋の明かりなどは変化しないため、始まる前にステージに光を焼き付けておきます。

すると、本来なら絶えず光を調整しているのが一切処理を行わなくてよくなります。

しかしBakedはやる範囲が広ければ広いほど、処理に時間がかかります。

これはもう諦めましょう。

f:id:ocumcr:20180614180237p:plain

後、これは点光源なので光の届かないところには新しく光源を追加してあげる必要があります。

こうしていろいろいじると、こんな感じになります。


f:id:ocumcr:20180614180944p:plain



これはいい感じじゃないでしょうか。


今回のステージの制作はここまでにしたいと思います。



本来はここからカメラの視点変更などの話が入るはずでしたが、結構やばい問題が発生してまして、最悪カメラだけでなくアニメーションなど今までやってきた全部をなしにして、一から作らないといけない可能性が出てきてます。


おそらく視点固定のゲームや視点操作がそれほど重要でないゲームでは、今までのもので大丈夫のはずですが、私の脱出ゲームはそうではないため、非常に困っています。

いろいろ思いつくプログラムは書いてみたのですが、挙動がおかしくなったり、ユニティちゃんがあらぶったり、視点がゲッダン化したりと散々な状態で、ネットにあげられているほかの方のプログラムですらおかしくなるので、これはもしかしてLocomotionが原因なのではないかと思い始めているところです。


なのでカメラの操作は問題が解決し次第記事にさせていただきます。


それまではカメラ固定の脱出ゲームという、探索ゲームにしてはやばい欠陥を持っていますがそれはそれで面白いかも?(そんなわけない)



今回は私の実力不足や理解不足のため問題が起きてしまって申し訳ありません。


次回はギミックのフラグ管理の予定なのでこのようなことは起こらないと思います。


また、もともとカメラでこのようなことを試して全然できないという話をいろいろ書いていたのですが、途中でなぜか記事が全飛びして、一から書き直すという苦行を迫られてしまったため、次回の内容を今回にある程度繰り越しする計画もすべてなくなりました。


なんでこうイライラしてる時に限って問題ばかり起きるのだろうか。



今回はステージの作り方紹介だけになってしまいましたが、いかがだったでしょうか。もし問題などがあったりしたらお知らせください。(もう何もかも間違ってそうな気がしてきた)


それではまた次の記事でお会いしましょう。

ocumcr.hatenablog.com