ブルーノのC#プログラミング & unity勉強日記

プログラミング素人、ブルーノの自主勉強ノートです。他のプログラミングを勉強したい方の助けになれば幸いです。その他趣味の雑記もしていきたいです

No.002 進捗状況07

f:id:covory10101101276:20181115204153j:plain
フィリピン -ビガン-

明けましておめでとうございます🌚

といってももう2月ですね。新元号は一体何になるのでしょうか。この年末年始は卒論に追われてゲーム制作どころじゃありませんでしたが😭また再開していこうと思います。というわけで今回の進行具合のレポートを残します。

床の整備
いきなり地味な内容なんですがプレイヤーキャラの挙動を実装した時に街中を走って試運転しているとよく何もないところで飛び跳ねたりするのが気になって原因を調べてみました。

f:id:covory10101101276:20190131192414p:plain
なんもないところでとびはねちゃう。
どうやら原因は街作りのために敷き詰めた道路の継ぎ目らしく、同じ高さで座標をぴったり隣に合わせたとしても隙間が判定されてしまいAirboneのアニメーションに移ってしまっていたようです。そこで道路関係のオブジェクトのコライダーを全て無くして見かけだけにし、かわりに透明の大きなPlaneを街の床に配置しました。
f:id:covory10101101276:20190131192933p:plain
大きな透明の足場「Foot Step」
縁石などの地味な高低は無視されますが、いちいちここにつまづいても面白くなさそうなのでちょうど良かったです。なにより各道路のオブジェクトに適用していたMesh ColliderやBox Colliderを消したことで動作が軽くなったことが個人的にとても嬉しいです。

ステージギミックの制作
プレイヤーだけでは面白くないので他ステージギミックを作りたいと思います!どんどん足していきましょう。

ジャンプ台
やっぱり3Dアクションならジャンプできるギミックがないと!ジャンプボタンでの能動的なアクションの実装も考えたのですがGUIがごちゃごちゃするのがいやなのでステージギミックという形で実装します。

f:id:covory10101101276:20190131203311p:plain
Planeをおき名前を「Jump Panel」に
f:id:covory10101101276:20190131203400p:plain
こんな感じのスクリプトをJump Panel にアタッチ
f:id:covory10101101276:20190131203537p:plain
ジャーンプ!

クリアシンボル
ゲームをクリアする条件として特定のオブジェクトを全てもしくは一定以上集めるという形式をとりたいのですが以前作ったコイン以外にもそういったオブジェクトを設けたいのでまた別に作成したいと思います。また、応用が利くように2D画像をそのオブジェクトのレンダラーにしてレパートリーを増やします。

f:id:covory10101101276:20190212163616p:plain
Quadを置く
f:id:covory10101101276:20190212163818p:plain
コライダーをメッシュではなくbox coliderにしておく
この時sizeがquadに合わせて薄っぺらくなっているので全ての値を1にしてとりあえず直方体にしておく

nn-hokuson.hatenablog.com
そしてこちらのサイトを参考に常に画像がカメラを向くビルボードを実装する

f:id:covory10101101276:20190212174841p:plain
こんな感じ
元サイト様のposition.yの行を入れてしまうと上下のはんてんができなくなってしまうので今回は不適切です。元サイト様のように木などの上下には動いて欲しくないオブジェクトの場合は使えます。

最後に画像を拾ってマテリアルをQuadに適用すれば

f:id:covory10101101276:20190212175140p:plain
常にこっちを向く!!
ゲームオブジェクトっぽいものができました。lookatメソッドだけで良かったんですね。あとはこの中身の画像を入れ替えれば様々な用途で使用できそうです。以前のコインもこれで良かったんじゃん。。。まあ勉強ですね!今回はここまでです


この記事を書いている間に年が明けてしまい投稿までに1ヶ月もかかってしまいました。この内容に関わることで時間がかかっていたわけではないのでプロジェクトは進んでいませんがペースが明らかに落ちていますね。頑張っていきたいと思います。