Unity(C#)初心者・入門者向けチュートリアル ひよこのたまご

AndroidやiOS向けアプリを簡単に作れるゲーム開発環境Unity(ユニティ)の使い方を、チュートリアル方式で一緒に学びましょう!

【Unity1】足場を下から突き抜けて(すり抜けて?)、着地したい!OnTriggerStay2D【ユニティちゃん縦スクロール10】

Unity5.1.1f1 Personal(2015年6月)

 

f:id:hiyotama:20150622010040p:plain

ユニティちゃんライセンス

このコンテンツは、『ユニティちゃんライセンス』で提供されています

 

前回に続きゲームを作っていきます〜

 

今回はタイトルがよく分からないですね〜こういうことです!

 

f:id:hiyotama:20150113191050p:plain

【目標】下から上へのジャンプだと足場をすり抜けて、上から下だと着地させたい!

 

①ユニティちゃんの設定 

まずはユニティちゃんに、既にひとつついていますが、BoxCollider2Dをもうひとつ付けます〜そのBoxCollider2DはIsTriggerにチェックを入れ、ユニティちゃんの上から4分の3程度を覆うようにサイズと位置を調整します〜

 

f:id:hiyotama:20150623200932p:plain

BoxCollider2Dを付ける

 

f:id:hiyotama:20150623201042p:plain

ユニティちゃんの上体を覆う感じ

 

また、ユニティちゃんのタグを「Player」に変更しておいて下さい〜

 

f:id:hiyotama:20150623201231p:plain

 

 

②足場の作成

次に、今まで作ってきた足場を全て削除し、「Step」という名前の足場をひとつ作成します〜

LayerはGroundで、BoxCollider2Dを2つ取り付けます〜ひとつはデフォルトのまま、ひとつはIsTriggerにチェックを入れ、足場の少し下を覆うように設定して下さい〜

 

f:id:hiyotama:20150623201559p:plain

ひとつはデフォルト、ひとつはトリガー

 

f:id:hiyotama:20150623201814p:plain

IsTriggerにチェックが入っているほうは足場の少し下

 

③足場をすり抜けるスクリプトの作成 

それでは、以下GroundScriptを作成し、Stepオブジェクトに貼り付けて下さい〜

 

 

OnTriggerStay2Dにより、トリガー(Stepの下側)にPlayerであるユニティちゃんが接触している間中はColliderを無効にします〜

また、OnTriggerExit2Dによりトリガーを抜けきった時にColliderを再び有効にしています〜

これで下から上へジャンプする時は足場をすり抜けて、足場を抜けきった時足場に立てるようになりました〜

 

 

f:id:hiyotama:20150623202654p:plain

すり抜けて・・・

 

f:id:hiyotama:20150623202703p:plain

着地!

 

うまくいきました〜

 

今回はここまでです〜

ありがとうございました〜

 

【Unity開発1】キャラクターを自動で移動させる【ユニティちゃん横スクロールアクション2D:1/11】

【Unity開発1】壁にぶつかった時にキャラクターを反転させる【ユニティちゃん横スクロールアクション2D:2/11】

【Unity開発1】キャラクターをジャンプさせる!【ユニティちゃん横スクロールアクション2D:3/11】

【Unity開発1】キャラクターをカメラが追いかける!【ユニティちゃん横スクロールアクション2D:4/11】

【Unity開発1】uGUIを使って点数を表示する!【ユニティちゃん横スクロールアクション2D:5/11】

【Unity開発1】タイトル画面とゲームオーバー画面を作る!【ユニティちゃん横スクロール2D:6/11】

【Unity開発1】アニメーションを付ける!【ユニティちゃん横スクロールアクション2D:7/11】

【Unity開発1】バグ発見!無限にジャンプできちゃう!【ユニティちゃん横スクロールアクション2D:8/11】

【Unity開発1】ボタン長押しでジャンプ力を強くしたい!【ユニティちゃん横スクロール2D:9/11】

【Unity開発1】足場を下から突き抜けて、そのまま乗っかりたい!【ユニティちゃん横スクロールアクション2D:10/11】

【Unity開発1】ランダムで足場を自動生成する【ユニティちゃん横スクロールアクション2D:11/11(Fin)】