चरित्र नियंत्रक एकता में कठोर पिंडों को धकेलने की क्षमता कैसे जोड़ें

इस ट्यूटोरियल में, हम Unity FPS नियंत्रक स्क्रिप्ट को बढ़ाएंगे ताकि चरित्र को दृश्य के भीतर कठोर पिंडों को धकेलने में सक्षम बनाया जा सके (स्क्रिप्ट) नीचे किसी भी नियंत्रक के साथ काम करना चाहिए, जब तक इसमें एक संलग्न कैरेक्टरकंट्रोलर घटक है)। यह स्क्रिप्ट खिलाड़ियों को वस्तुओं और गतिशील वातावरणों के साथ बातचीत करने की अनुमति देकर आपके गेम में यथार्थवादी स्पर्श जोड़ सकती है।

चरण 1: एक नई स्क्रिप्ट बनाएं

  • बनाएं अपने Unity प्रोजेक्ट में एक नई C# स्क्रिप्ट। आप इसे कुछ इस तरह नाम दे सकते हैं "CharacterPushController".

चरण 2: प्रदान की गई स्क्रिप्ट की प्रतिलिपि बनाएँ

  • नीचे दिए गए कोड को नई बनाई गई स्क्रिप्ट में कॉपी करें। आप पुश की ताकत को नियंत्रित करने के लिए 'pushPower' वेरिएबल को समायोजित कर सकते हैं। इसके अतिरिक्त, आप अपने गेम के तर्क के आधार पर पुश बल लागू करने की शर्तों को अनुकूलित करना चाह सकते हैं।

कैरेक्टरपुशकंट्रोलर.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;
    }
}

चरण 3: स्क्रिप्ट संलग्न करें

चरण 4: परीक्षण करें

  • चलाएं दृश्य और नई बनाई गई स्क्रिप्ट की मदद से कठोर पिंडों को धकेलने की चरित्र नियंत्रक की क्षमता का परीक्षण करें।

चरण 5: समायोजित करें

  • अपने खेल में वांछित व्यवहार प्राप्त करने के लिए समायोजित करें। 'pushPower'