Oyun Kütüphanesi

Rigidbody ile Kapı Menteşesi (HingeJoint)

Fizik & Zıplama Unity C# 2
RigidbodyileKapıMenteşesiHingeJoint .cs
C#
using UnityEngine;
public class PhysicsDoor : MonoBehaviour
{
    public float openForce = 50f;
    public bool isOpen = false;
    private HingeJoint hinge;

    void Start()
    {
        hinge = GetComponent<HingeJoint>();
        JointLimits limits = hinge.limits;
        limits.min = 0; limits.max = 0;
        hinge.limits = limits;
        hinge.useLimits = true;
    }

    public void OpenDoor()
    {
        if (!isOpen)
        {
            isOpen = true;
            JointLimits lim = hinge.limits;
            lim.max = 90f;
            hinge.limits = lim;
            GetComponent<Rigidbody>().AddTorque(transform.up * openForce);
        }
    }

    public void CloseDoor()
    {
        isOpen = false;
        JointLimits lim = hinge.limits;
        lim.max = 0f;
        hinge.limits = lim;
    }
}

Açıklama

HingeJoint bileşeni ile fizik tabanlı açılıp kapanabilen kapı mekanizması.

Etiketler

Rigidbody HingeJoint Kapı Menteşe

Nasıl Kullanılır?

1. Kapı objesine Rigidbody ve HingeJoint ekle.

2. HingeJoint > Connected Body'yi kapı çerçevesine bağla.

3. Axis = (0,1,0) — Y ekseni etrafında dönsün.

4. Etkileşim scriptinden OpenDoor() / CloseDoor() çağır.

5. Menteşe pozisyonunu Anchor ile ayarla.

Unity 2022+ ve Unity 6 ile uyumludur.

MonoBehaviour tabanlı scriptleri Assets klasörüne .cs olarak kaydedin.