ホーム » 「Unity覚書」タグがついた投稿

タグアーカイブ: Unity覚書

Unityリフト移動

Unityでつまずきやすいポイントのメモ。
移動するリフトに乗っても、プレイヤーは移動しない問題。
床だけが移動するリフトというのも面白いけど、一緒に動きたい場合は、
リフトに乗っている間だけ親子関係にするとよい。
子供のオブジェクトは、親の動きと同期する。

↓の記事が詳しく載っていました。
Unityで動く床を実装するときにハマる罠とその解決方法

これの応用で、接地している間だけ、リフトの形状を変えたり、動きを変えたりもできる。

タグの種類を増やしてって、リフトの種類も増やせる例を作ってみた。 コードは乗る側、タグはリフト側で設定。
void OnCollisionEnter(Collision col)
    {
        //接触した相手のタグが"LiftA"場合、その子供になる
        if (col.gameObject.tag == "LiftA")
        {
            transform.SetParent(col.transform);
        }

        //接触した相手のタグが"LiftB"場合、相手のサイズを変える
        if (col.gameObject.tag == "LiftB")
        {
            col.transform.localScale = new Vector3(20, 1, 5);
        }

     }

    void OnCollisionExit(Collision col)
    {
        //接触が終わったとき元に戻す
        if (col.gameObject.tag == "LiftA")
        {
            transform.SetParent(null);
        }

        if (col.gameObject.tag == "LiftB")
        {
            col.transform.localScale = new Vector3(5, 1, 5);
        }
    }
    

管理人

ハンドルネーム:タケハタ
本名:波田野剛望(はたのたけみ)

お絵描きとゲームが好きなオス。
2020年の目標は、スチームでゲームをリリースすること。