Unity1Weekゲームジャム
前回の「積む」に引き続き2回目の参加になります。
今回のテーマは「夏」です。
Unity 1週間ゲームジャム | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
どなたかがおっしゃっていましたが、今回はシステムに関係しないテーマなのでかなり自由に作れますね。
今回も作りながら記事を書いているので、読みにくいと思います。すみません。
アイデア
作りたいゲームのアイデアとしては、空を飛ぶものかファボやいいねやハートを蹴散らす象のゲーム(バッティングみたいな)などを考えていたのですが、色々考えて3Dの脱出ゲームを作ろうと思いました。
昔からFlashで2Dの脱出ゲームは作っていたのですがそういえばUnityでは作ったことないな〜、脱出ゲームは私の青春だな〜と思ってこれにしました。
夏要素ですが、空が青くて雲があったら夏でしょということで、ビジュアルで夏を表現します。
作る
こちらのサイトを参考に作っていきます。
家
おなじみのSweetHomeで作ります。
作りました。
Unityに読み込み、ライティング。skyboxをどうするかすごく悩みます。
とりあえず大学で撮った360度写真を使っていますが、グラウンドの真ん中に部屋があるという変わった物件になってしまいました。
Assetstoreにアニメ調のskyboxがありました。
ただこれも空だけですね。
とりあえずPlaneで緑色の大きな床を敷いておきました。
移動
部屋の中を一人称視点で移動できるようにします。
この2つを組み合わせてWASDキーで移動、マウス方向で姿勢回転、rigidbodyを適用して部屋からはみ出さず、家具にのめり込まずに移動できるようにしました。
ただ本当はマイクラみたいに普通に歩けるようにするはずが、なんやかんやあって飛んでしまえる移動方法になってしまいました。
CylinderにRigidbodyと移動スクリプトをつけて、Cylinderの子オブジェクトにCameraをつけました。
最初はNavigation機能も使っていたのですが、多分これのせいで姿勢が左右には向けるけど上下に向かなくて、それをあーだこー出してたらこんな感じになってしまいました。
飛び回るぐらいなら、最初の移動だけの状態でよかったのではないかと思いましたが、元に戻す方法が分からなくなってしまったので、このままで行きました。
結局Navigation機能は使わずにRigidbodyを使いました。壁は実際の厚さよりも何倍も厚くしないと中身が見えてしまいました。
せっかく飛ぶのだから自分自身を蝶にしました。
鍵を拾う
脱出ゲームといったら鍵。今回は鍵を拾ってドアにタッチしたら脱出成功というシンプルなゲームにしようと思います。
鍵モデルもAssetstoreにあるものを使いました!
・・・どうやっても拾えない!移動にrayを使ったせいなのかわかりませんが、rayでマウスクリックしたオブジェクトを判定するのに、うまく判定が働きません。
しかも前回同様nullエラーがいっぱい出て、諦めました。
ほんと疲れた。試行錯誤したスクリプトも一応githubに保存。
Create getobject · bibinba/Unity@b85f409 · GitHub
脱出判定を変える
アイテム判定ができなさそうなので、シンプルに部屋から出れたら脱出にします。どこかにrigidbodyのない抜けられる場所を作って、部屋の範囲外に出たら脱出成功にします。
壁の外に当たり判定用のcubeをおいて、Playerがそれに触れたらシーン遷移します。
Google Code Archive - Long-term storage for Google Code Project Hosting.
・・・・全然当たり判定できない><
3時間ぐらいisTriggerとかkinematicとかあーだこーだやってたけどdebuglogが全く表示されない。
もうやめようと思っていたその時。
この通りに設定したら、デバッグログが出ました。
でも精度がすごく悪かったので色々調整してたら、また出なくなりました><
その上、家具とか壁をすり抜けるようになってしまいました。
もうだめだ。さよなら。せめてgif画像の頃に戻りたい。
一旦終わるのだ。
本当は最後まで作って投稿してから記事公開しようと思いましたが、長くなりそうなので一旦終わります。
どんな形に終着するのか。ゲームにはならなそうだから投稿できないかも。
これ以上悪くならないうちに今の時点のものを限定公開でアップロードしました。
夏のすり抜けバグ祭り | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
追記:完成したのでちゃんとした内容になっています。
bibinbaleo.hatenablog.com