• 2016年5月24日 アプリ開発
    ゲーム開発素人が1週間でFlappyBird風ゲームアプリを作ってみた【MoneyBird】
  • 2016年5月10日 その他
    宝くじで3000万円当たったのに全然嬉しくない件
  • 2016年4月12日 おすすめ情報
    中学生・高校生に人気のバンドはこれだ!12選【2016年版】
  • 2016年3月9日 おすすめ情報
    Pebble Time Round | スマートウォッチがこんなにかっこいいはずがない
  • 2016年2月18日 その他
    お酒は太るってほんと?太らないお酒もある?
  • 2016年2月7日 生活
    大学生のバイトは高時給なパチンコ屋がオススメ!最適なアルバイト選びで最高のキャンパスライフを
  • 2016年2月5日 その他
    就活ってなにからやればいいの!?何をすればいいのかわからない!
  • 2016年1月27日 生活
    引越しの初期費用は交渉次第で半額以下になる!節約して快適な新生活を始めよう!
  • 2016年1月22日 おすすめ情報
    【厳選子育てアプリ4選】子育て記録もアプリを使えばこんなに手軽になる!
  • 2016年1月19日 その他
    大企業と中小企業(ベンチャー企業)あなたはどっちに向いている?

Unityでゲーム開発をしていて慣れてくると、いろいろなアニメーションに挑戦したくなると思います。
 
まずは第一歩として、動く床を作ってみましょう。
 
準備として動かしたい床オブジェクトにMoveFloorというタグを付けておきましょう。
 
C#

 public Vector3 defaultScale = Vector3.zero;
    void Start () 
    {
        defaultScale = transform.lossyScale;
    }
    
    void Update () 
    {
        Vector3 lossScale = transform.lossyScale;
        Vector3 localScale = transform.localScale;
        transform.localScale = new Vector3(
                localScale.x / lossScale.x * defaultScale.x,
                localScale.y / lossScale.y * defaultScale.y,
                localScale.z / lossScale.z * defaultScale.z
        );
    }

void OnCollisionEnter(Collision  collision) { 
		if (transform.parent == null && collision.gameObject.tag == "MoveFloor") {
			var emptyObject = new GameObject();
			emptyObject.transform.parent = collision.gameObject.transform;
			transform.parent = emptyObject.transform;
		}

	}

void OnCollisionExit(Collision collision){
		if (transform.parent != null && collision.gameObject.tag == "MoveFloor")
		{
			transform.parent = null;
		}
	}

OnCollisionEnterで、動く床に乗った時に床とプレイヤーを親子関係にしています。
そして、OnCollisionExitで、床から離れたら親子関係をなくしています。
 
最初の方で、scaleをいじっているのは、親子関係になるとサイズまで影響されてしまうので、動く床に乗った瞬間プレイヤーが変な形になってしまうことがあるのですが、最初にScaleを取得しておいて、固定をすることによって影響されるのを防いでいます。
 
このスクリプトをそのままアタッチすれば動くはずです...

コメントを残す

関連キーワード
アプリ開発】の関連記事
  • Unityでスワイプ・フリックを取得する(多少大雑把なスワイプでもOKなように)
  • 【Unity】Unity IAP : アプリ内課金実装方法【iOS】【Android】
  • 【Xcode】Unable to install "APP NAME"の対処法【エラー error】
  • Unityの無料版でもスプラッシュ画像を変更出来るようになってる件 (ロゴが消せる!?)
  • 超簡単!Firebase Analyticsの使い方・導入方法【iOS編】
  • ゲーム開発素人が1週間でFlappyBird風ゲームアプリを作ってみた【MoneyBird】
この記事を読んだ人はこちらの記事も読んでいます。