برنامج C# لإنشاء مغناطيس الجسم الصلب في الوحدة
يوجد أدناه البرنامج النصي الذي يُنشئ سلوكًا يشبه magnet تجاه الأجسام الصلبة في Unity:

خطوات
- قم بإنشاء سكريبت جديد، وأطلق عليه اسم 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);
            }
        }
    }
}
- قم بإنشاء GameObject جديد و عيّن البرنامج النصي SC_RigidbodyMagnet إليه
- قم بإضافة مصادم كروي إلى كائن تم إنشاؤه حديثًا، ثم قم بوضع علامة عليه كمشغل ثم قم بزيادة نصف قطره
- قم بإنشاء زوجين من المكعبات وأضف إليهما مكون Rigidbody
اضغط على Play ثم قم بتحريك الكائن باستخدام البرنامج النصي SC_RigidbodyMagnet فوق الأجسام الصلبة، ولاحظ كيف يتم سحب الأجسام الصلبة إلى الداخل.