Pengontrol Karakter Cara Menambahkan Kemampuan untuk Mendorong Benda Kaku di Unity

Dalam tutorial ini, kami akan menyempurnakan skrip Unity Pengontrol FPS untuk memungkinkan karakter mendorong benda kaku di dalam adegan (skrip di bawah ini dapat digunakan dengan pengontrol apa pun, selama pengontrol tersebut terpasang komponen CharacterController). Skrip ini dapat menambahkan sentuhan realistis pada game Anda dengan memungkinkan pemain berinteraksi dengan objek dan lingkungan dinamis.

Langkah 1: Buat Skrip Baru

  • Buat skrip C# baru di proyek Unity Anda. Anda dapat menamainya seperti "CharacterPushController".

Langkah 2: Salin Skrip yang Disediakan

  • Salin kode di bawah ini ke dalam skrip yang baru dibuat. Anda dapat menyesuaikan variabel 'pushPower' untuk mengontrol kekuatan dorongan. Selain itu, Anda mungkin ingin menyesuaikan kondisi untuk menerapkan gaya dorong berdasarkan logika permainan Anda.

KarakterPushController.cs

using UnityEngine;

public class CharacterPushController : MonoBehaviour
{
    // Adjust this variable to control the strength of the push
    public float pushPower = 2.0f;

    void OnControllerColliderHit(ControllerColliderHit hit)
    {
        Rigidbody body = hit.collider.attachedRigidbody;

        // No rigidbody or kinematic rigidbody
        if (body == null || body.isKinematic)
        {
            return;
        }

        // Avoid pushing objects below the character
        if (hit.moveDirection.y < -0.3)
        {
            return;
        }

        // Calculate push direction from move direction,
        // pushing only to the sides, not up and down
        Vector3 pushDir = new Vector3(hit.moveDirection.x, 0, hit.moveDirection.z);

        // Apply the push
        body.velocity = pushDir * pushPower;
    }
}

Langkah 3: Lampirkan Skrip

Langkah 4: Uji

  • Mainkan adegan tersebut dan uji kemampuan pengontrol karakter untuk mendorong benda kaku dengan bantuan skrip yang baru dibuat.

Langkah 5: Sesuaikan

  • Sesuaikan 'pushPower' untuk mencapai perilaku yang diinginkan dalam game Anda.
Artikel yang Disarankan
Tutorial Pengontrol Worm 3D untuk Unity
Cara Menambahkan Dukungan Platform Bergerak ke Pengontrol Karakter di Unity
Pengontrol Pemain Planetary berbasis benda kaku untuk Unity
Pengontrol Pemain RTS dan MOBA untuk Unity
Pengendali Helikopter untuk Persatuan
Tutorial Senter untuk Unity
Pengontrol Karakter 2D untuk Unity