एकता में एक रिजिडबॉडी चुंबक बनाने के लिए सी# स्क्रिप्ट

नीचे वह स्क्रिप्ट है जो Unity में रिगिडबॉडीज के प्रति चुंबक जैसा व्यवहार उत्पन्न करती है:

Sharp Coder वीडियो प्लेयर

कदम

  • एक नई स्क्रिप्ट बनाएं, इसे SC_RigidbodyMagnet कहें, फिर नीचे दिए गए कोड को इसके अंदर पेस्ट करें:

SC_RigidbodyMagnet.cs

using System.Collections.Generic;
using UnityEngine;

public class SC_RigidbodyMagnet : MonoBehaviour
{
    public float magnetForce = 100;

    List<Rigidbody> caughtRigidbodies = new List<Rigidbody>();

    void FixedUpdate()
    {
        for (int i = 0; i < caughtRigidbodies.Count; i++)
        {
            caughtRigidbodies[i].velocity = (transform.position - (caughtRigidbodies[i].transform.position + caughtRigidbodies[i].centerOfMass)) * magnetForce * Time.deltaTime;
        }
    }

    void OnTriggerEnter(Collider other)
    {
        if (other.GetComponent<Rigidbody>())
        {
            Rigidbody r = other.GetComponent<Rigidbody>();

            if(!caughtRigidbodies.Contains(r))
            {
                //Add Rigidbody
                caughtRigidbodies.Add(r);
            }
        }
    }

    void OnTriggerExit(Collider other)
    {
        if (other.GetComponent<Rigidbody>())
        {
            Rigidbody r = other.GetComponent<Rigidbody>();

            if (caughtRigidbodies.Contains(r))
            {
                //Remove Rigidbody
                caughtRigidbodies.Remove(r);
            }
        }
    }
}

Play दबाएँ, फिर ऑब्जेक्ट को SC_RigidbodyMagnet स्क्रिप्ट के साथ Rigidbodies पर ले जाएँ, ध्यान दें कि Rigidbodies को कैसे अंदर खींचा जा रहा है।

सुझाए गए लेख
यूनिटी के रिगिडबॉडी कंपोनेंट के साथ काम करना
एकता में एक रॉकेट लॉन्चर बनाना
एकता में बाउंसिंग बॉल भौतिकी को जोड़ना
एकता में निर्मित खेलों में भौतिकी को लागू करना
यूनिटी में भौतिकी-आधारित रेसिंग गेम बनाना
एकता में ध्वज अनुकरण बनाना
यूनिटी गेम में खनन यांत्रिकी को लागू करना