Unity でモブプロしました
4/20 に Unity でモブプロしミニゲームを作りました。この記事で記載するのは「02_Dase」というチームの記録になります。いろいろと困難もあったため、そういったことを含めて記録します。
どういったゲームをつくる?
メイドイン ○ リオにあるゲームを移植することにしました。ゲームの概要は以下のとおり。
- 人の口から食べ物が入る
- 食べ物は口から胃など移動させていく
- プレイヤーは食べ物をおしりから出すよう人を回転させる
書いてて思いましたがこのゲームは説明が難しいですね。「結局どんなゲームやねん」って思っている方は、以下に GIF アニメがあるのでご確認いただければ幸いです。
モブプロ開始!
10 時 30 分。モブプロのチーム早速行き詰まります。素材がねえ。ギミックがカンタンなクセに素材がねえ。これまでの勉強会では素材なども準備された状態から学習を初めていましたが、なにもない状態で初めて有り難みを痛感することに。とりあえずは素材を探して加工するところからスタートしました。
- 素材 その1 顔
- 素材 その2 身体
上記の素材を作る前は食べ物を通過する部分を白で塗りたくってました。そんなことをすると Unity の Collider を手動で設定していかないとダメなので慌てて修正しています。
回転操作で揉める・・・
物理演算のアプローチで悲劇 (´;ω;`)
素材の顔と身体を1つのグループにして回すような操作を施すわけですが、なぜか物理演算的なアプローチを取ることに・・・。「localEulerAngles」や「Quaternion.Euler」などを使って回転操作を作るわけです。
でもそんなに慣れていなかったせいか、回転速度などを制御できませんでした。意図しない豪速での動作で食べ物が抜けたりするなどのトラブルが発生。午後の3時に完全に行き詰まります。お菓子食いてぇ・・・。
シンプルな発想で乗り越える
これムリだな~って思っていろんな人にバトンタッチしていくことに。本来は 15 分ごとに順番に交代しながらですが、緊急事態なのでいろいろな人が入れ替わり立ち替わりで操作します。モブプロ的にはどうなのよって思うかもしれませんが、このライブ感は何かエモい雰囲気があります。
物理演算の処理を抜本的にやめる
結局どうなったのかというと「transform.Rotate」を使うことで解決できました。大量にあった物理演算関連の処理がたった1行に置き換わり問題解決。ボクたちは難しく考えすぎてたんだぁ・・・。
最後の最後で操作感がおかしい
タップすると自動的に回転方向が変わるような操作となり、ほぼゲームとして出来上がってきました。が!なぜかタップしても回転方向が変わらないことがある・・・。やっぱりこれムリだな~って思って佇んでいたところ、基本的なところが間違っていたわけです。
操作部分の処理を通常の「FixedUpdate」から「Update」に
タップを検知する部分が「FixedUpdate」に記述されていました。これだと操作が検知されないことがあるわけで・・・。タップ操作の処理を「Update」に移して問題解決。
完成したゲーム
食ったモノを出す!そんな「出せ」っていうミニゲームです。
なぜオニギリが回転しないのかって?それはオニギリを親にして「Main Camera」を子にしたヤツがいたからです。まあ、でも時間が限られているのでそういう実装もしょうがないかなと。モブプロなんで修正できる人が修正すればイイんですが、これまでの経緯を見てもらえれば、そんな余裕は一切ナシ!!
振り返り
- 素材を準備するということを考えてなかったため苦労した
- ヘンに物理演算を使ってみようというところから悲劇が始まった
- 操作関連を FixedUpdate に書くという基本的なことを忘れていた
- そんなこんなでイロイロとあったが無事にできてよかった
- みんなよくガンバった!