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

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

No.002 進捗状況03

f:id:covory10101101276:20180728111702j:plainニュー川渓谷 - ウエスバージニア州アメリ

 

みなさんこんにちは🌚

スマブラで1on1もぐってもクラウドキャプテンファルコンしかあたらないブルーノです。今回はいよいよゲーム的な側面を持たせてきたいと思います。

 

まず、テストプレイ用に人物を配置します。

f:id:covory10101101276:20180828142218p:plain

[Assets]→[Import Package]→[Characters]で、キャラクターアセットをインポートします。

f:id:covory10101101276:20180828142602p:plain

Unity標準のイーサンくんをインポートしました。Standard Assets→Character→ThirdPersonCharacter→Prefabsの中のThirdPersonControllerをシーン上に配置します。

f:id:covory10101101276:20180828142824p:plain

なんか周りにいますが気にしないでください。そしたらシーン上に最初からあるMain Cameraオブジェクトをドラッグ&ドロップでこのオブジェクトの子にします。

f:id:covory10101101276:20180828143156p:plain

もうこれだけで再生ボタンを押せばイーサンくんを十字キーで操作すること・カメラが追跡して来てくれることを実装できてしまいました。

f:id:covory10101101276:20180828143248p:plain

自分で作った街を散策するの楽しい〜〜〜🤩

ですがまだ少し問題がありました。今のままでは縁石や歩道をイーサンくんの足が貫通していました。

f:id:covory10101101276:20180828144330p:plain

ここで注意するのがColliderについてですね。Unityのオブジェクト同士の接触や当たり判定にはこのColliderコンポーネントが使用されます。(正確には他にも方法はある)

道路のオブジェクトや建物のオブジェクトにColliderコンポーネントをそれぞれつけていきましょう。

f:id:covory10101101276:20180828144608p:plain

前回作ったステージのある道路のオブジェクトのインスペクターです。Mesh Colliderという名のコンポーネントがついていますね(なんで2つついてんだ)。

コライダーにも様々な種類があり、当たり判定の形によってコライダーを使い分けます。このMeshコライダーオブジェクトのメッシュにあわせてコライダーを貼ってくれるという特性があるのでモデルの形に寸分違わない当たり判定をつけられるという利点の一方で頂点数がもともと多いモデルに適応すると処理が重くなりやすいといった特徴もあります。今回は道路にのみこのメッシュコライダーを使用し、建物にはそれぞれBoxコライダーを使いました。

f:id:covory10101101276:20180829122915p:plain

f:id:covory10101101276:20180829122940p:plain

とある建物のプレファブのインスペクター。上画像の緑の線で構成されているのがコライダーで、今回は主人公を通しさえしなければ良いので足元にだけ作りました。した画像を見るとわかるように3つのBoxコライダーを用いることで玄関等の地味な突起のあたりをカバーしています。今回はここまでにしておきます。

 

動くオブジェクトとイベントについてまとめるといっておきながら記事の中で動くオブジェクトがイーサンくんだけだったり当たり判定というイベントと呼べるかどうかも微妙な部分の制作過程だけになってしまいましたが記事が長くなってしまったので次回に繰り越します。今回は最低限の世界の検証環境を整えたということで😓

最近は色々やることがあって更新ができていませんでしたが、また続けていけるように頑張りたいと思います。