यूनिटी में भौतिकी-आधारित रेसिंग गेम बनाना

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

आवश्यक शर्तें

इस ट्यूटोरियल में जाने से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित हैं:

  • Unity आपके सिस्टम पर इंस्टॉल (संस्करण 2019.4 या बाद का संस्करण अनुशंसित)।
  • यूनिटी के इंटरफ़ेस और C# प्रोग्रामिंग की बुनियादी समझ।
  • यूनिटी की भौतिकी प्रणाली और Rigidbody घटक से परिचित।

चरण 1: परियोजना की स्थापना

  • Unity लॉन्च करें और एक नया 3D प्रोजेक्ट आरंभ करें।
  • अपनी प्राथमिकताओं के अनुरूप नाम, स्थान और टेम्पलेट जैसी प्रोजेक्ट सेटिंग्स कॉन्फ़िगर करें।

चरण 2: संपत्ति आयात करना

अपना रेसिंग गेम बनाने के लिए, हमें संपत्तियों की आवश्यकता होगी। इन्हें विभिन्न स्रोतों से प्राप्त किया जा सकता है, जिनमें मुफ़्त या सशुल्क परिसंपत्ति स्टोर शामिल हैं, या आप अपना स्वयं का निर्माण कर सकते हैं। इस ट्यूटोरियल के लिए, हम यूनिटी के स्टैंडर्ड एसेट्स पैकेज में उपलब्ध बुनियादी संपत्तियों का उपयोग करेंगे।

  • 'Assets -> Import Package -> Characters' पर नेविगेट करें।
  • कैरेक्टर पैकेज से Car प्रीफ़ैब आयात करें। यह prefab हमारे कार मॉडल के रूप में काम करेगा।

चरण 3: पर्यावरण का निर्माण

  • यूनिटी के अंतर्निर्मित 3डी टूल का उपयोग करके एक ट्रैक विकसित करें या पूर्व-डिज़ाइन किए गए ट्रैक मॉडल को आयात करें।
  • सुनिश्चित करें कि कार को गिरने से बचाने के लिए ट्रैक कोलाइडर से घिरा हो।
  • कार प्रीफैब को ट्रैक पर रखें।

चरण 4: भौतिकी-आधारित कार नियंत्रण लागू करना

कार की स्थिति और घुमाव को सीधे नियंत्रित करने के बजाय, हम यूनिटी के भौतिकी इंजन को कार के Rigidbody घटक पर बल और टॉर्क लगाकर इन पहलुओं को संभालने देंगे।

'CarPhysicsController.cs'

using UnityEngine;

public class CarPhysicsController : MonoBehaviour
{
    public float maxSpeed = 10f;
    public float turnSpeed = 100f;
    public float torque = 200f;

    private Rigidbody rb;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }

    void FixedUpdate()
    {
        float horizontalInput = Input.GetAxis("Horizontal");
        float verticalInput = Input.GetAxis("Vertical");

        // Apply torque for turning
        rb.AddTorque(transform.up * horizontalInput * torque * Time.deltaTime);

        // Limit car's maximum speed
        if (rb.velocity.magnitude > maxSpeed)
        {
            rb.velocity = rb.velocity.normalized * maxSpeed;
        }

        // Apply force for acceleration and deceleration
        rb.AddForce(transform.forward * verticalInput * torque * Time.deltaTime);
    }
}

चरण 5: कैमरा सेटअप

एक गहन अनुभव के लिए, एक कैमरा स्थापित करें जो कार का अनुसरण करता हो।

  • कैमरे के लिए एक नया गेमऑब्जेक्ट बनाएं।
  • कैमरे को कार के पीछे और ऊपर रखें।
  • कैमरा गेमऑब्जेक्ट में एक स्क्रिप्ट संलग्न करें जो कार की गति का सुचारू रूप से अनुसरण करती है।

चरण 6: परीक्षण और शोधन

नियंत्रण और भौतिकी इंटरैक्शन का मूल्यांकन करने के लिए Unity संपादक में अपने गेम का परीक्षण करें। वांछित गेमप्ले गतिशीलता प्राप्त करने के लिए गति, टॉर्क और टर्न संवेदनशीलता जैसे मापदंडों में बदलाव करें।

निष्कर्ष

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

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