यूनिटी में शिकार का खेल बनाना
इस ट्यूटोरियल में, हम Unity में एक बुनियादी शिकार गेम बनाने की प्रक्रिया से गुजरेंगे। इस गेम में खिलाड़ी की हरकत, जानवरों की AI, शूटिंग मैकेनिक्स और स्कोरिंग सिस्टम जैसे तत्व शामिल होंगे। हम निम्नलिखित को कवर करेंगे:
- परियोजना और वातावरण की स्थापना
- प्लेयर नियंत्रण बनाना
- पशु कृत्रिम बुद्धि का क्रियान्वयन
- शूटिंग यांत्रिकी जोड़ना
- स्कोरिंग प्रणाली स्थापित करना
परियोजना की स्थापना
आइए एक नया Unity प्रोजेक्ट स्थापित करके और वातावरण बनाकर शुरुआत करें।
प्रोजेक्ट बनाना
- Unity खोलें और एक नया 3D प्रोजेक्ट बनाएं।
- अपने प्रोजेक्ट का नाम HuntingGameरखें औरCreateपर क्लिक करें।
- प्रोजेक्ट विंडो में, अपनी संपत्तियों को व्यवस्थित करने के लिए Scripts,Prefabs, औरMaterialsनामक फ़ोल्डर बनाएं।
वातावरण की स्थापना
- पदानुक्रम में, राइट-क्लिक करें और भूभाग बनाने के लिए 3D ऑब्जेक्ट > भूभागका चयन करें।
- टेरेन टूल्सका उपयोग करके बनावट को चित्रित करने, पेड़ जोड़ने, और घास या अन्य विवरण रखने के लिए इलाके को अनुकूलित करें।
- वातावरण को अधिक यथार्थवादी बनाने के लिए चट्टानों और पेड़ों जैसी कुछ 3D वस्तुएं जोड़ें।
प्लेयर नियंत्रण बनाना
इसके बाद, हम खिलाड़ी चरित्र का निर्माण करेंगे और भौतिकी-आधारित गति नियंत्रण को क्रियान्वित करेंगे।
खिलाड़ी चरित्र
- पदानुक्रम में, राइट-क्लिक करें और खिलाड़ी चरित्र बनाने के लिए 3D ऑब्जेक्ट > कैप्सूलका चयन करें।
- कैप्सूल का नाम बदलकर Playerरखें और इसे भूभाग के ऊपर रखें।
- भौतिकी-आधारित गति के लिए Playerऑब्जेक्ट मेंRigidbodyघटक जोड़ें।
- खिलाड़ी के दृष्टिकोण के रूप में कार्य करने के लिए Playerऑब्जेक्ट के चाइल्ड के रूप मेंCameraजोड़ें।
खिलाड़ी मूवमेंट स्क्रिप्ट
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
    public float moveSpeed = 5f;
    public float rotationSpeed = 100f;
    private Rigidbody rb;
    void Start()
    {
        rb = GetComponent();
        rb.freezeRotation = true;
    }
    void FixedUpdate()
    {
        float moveHorizontal = Input.GetAxis("Horizontal");
        float moveVertical = Input.GetAxis("Vertical");
        Vector3 movement = transform.forward * moveVertical * moveSpeed * Time.deltaTime;
        rb.MovePosition(rb.position + movement);
        float rotation = Input.GetAxis("Mouse X") * rotationSpeed * Time.deltaTime;
        Quaternion turnRotation = Quaternion.Euler(0f, rotation, 0f);
        rb.MoveRotation(rb.rotation * turnRotation);
    }
}- Scriptsफ़ोल्डर में- PlayerMovement.csनाम से एक नई C# स्क्रिप्ट बनाएँ।
- PlayerMovementस्क्रिप्ट को- Playerऑब्जेक्ट से जोड़ें।
पशु कृत्रिम बुद्धि (AI) का क्रियान्वयन
हम पर्यावरण में घूमने और खिलाड़ी पर प्रतिक्रिया करने के लिए सरल पशु एआई बनाएंगे।
पशु प्रीफ़ैब
- जानवर (जैसे, हिरण) के लिए 3D मॉडल आयात करें या बनाएं।
- मॉडल को दृश्य में खींचें और उसे भूभाग पर रखें।
- पदानुक्रम में मॉडल पर राइट-क्लिक करें और पैरेंट ऑब्जेक्ट बनाने के लिए Create Emptyचुनें। इसेDeerनाम दें।
- 3D मॉडल को Deerऑब्जेक्ट में खींचें और इसके परिवर्तन को रीसेट करें।
- Deerऑब्जेक्ट को- Prefabsफ़ोल्डर में खींचकर प्रीफ़ैब के रूप में सहेजें।
पशु एआई स्क्रिप्ट
using UnityEngine;
using UnityEngine.AI;
public class AnimalAI : MonoBehaviour
{
    public Transform[] waypoints;
    private NavMeshAgent agent;
    private int currentWaypoint = 0;
    void Start()
    {
        agent = GetComponent();
        agent.SetDestination(waypoints[currentWaypoint].position);
    }
    void Update()
    {
        if (agent.remainingDistance < agent.stoppingDistance)
        {
            currentWaypoint = (currentWaypoint + 1) % waypoints.Length;
            agent.SetDestination(waypoints[currentWaypoint].position);
        }
    }
}- Scriptsफ़ोल्डर में- AnimalAI.csनाम से एक नई C# स्क्रिप्ट बनाएँ।
- AnimalAIस्क्रिप्ट को- Deerप्रीफ़ैब से जोड़ें।
- Deerप्रीफ़ैब में- NavMeshAgentघटक जोड़ें।
- खाली GameObjects बनाकर और उन्हें इच्छानुसार स्थान देकर दृश्य में वेपॉइंट सेट करें। इन वेपॉइंट को AnimalAIस्क्रिप्ट मेंwaypointsसरणी में असाइन करें।
शूटिंग मैकेनिक्स जोड़ना
हम खिलाड़ियों को जानवरों पर गोली चलाने की क्षमता प्रदान करेंगे।
शूटिंग स्क्रिप्ट
using UnityEngine;
public class PlayerShooting : MonoBehaviour
{
    public Camera playerCamera;
    public float range = 100f;
    public GameObject impactEffect;
    void Update()
    {
        if (Input.GetButtonDown("Fire1"))
        {
            Shoot();
        }
    }
    void Shoot()
    {
        RaycastHit hit;
        if (Physics.Raycast(playerCamera.transform.position, playerCamera.transform.forward, out hit, range))
        {
            AnimalAI animal = hit.transform.GetComponent();
            if (animal != null)
            {
                Destroy(hit.transform.gameObject);
            }
            GameObject impactGO = Instantiate(impactEffect, hit.point, Quaternion.LookRotation(hit.normal));
            Destroy(impactGO, 2f);
        }
    }
}- Scriptsफ़ोल्डर में- PlayerShooting.csनाम से एक नई C# स्क्रिप्ट बनाएँ।
- PlayerShootingस्क्रिप्ट को- Playerऑब्जेक्ट से जोड़ें।
- एक प्रभाव प्रभाव (जैसे, एक कण प्रणाली) बनाएं और इसे स्क्रिप्ट में impactEffectफ़ील्ड में असाइन करें।
स्कोरिंग सिस्टम स्थापित करना
हम खिलाड़ियों के सफल शिकारों पर नज़र रखने के लिए एक सरल स्कोरिंग प्रणाली जोड़ेंगे।
स्कोर प्रबंधक स्क्रिप्ट
using UnityEngine;
using UnityEngine.UI;
public class ScoreManager : MonoBehaviour
{
    public static int score = 0;
    public Text scoreText;
    void Update()
    {
        scoreText.text = "Score: " + score.ToString();
    }
    public static void AddScore(int points)
    {
        score += points;
    }
}- Scriptsफ़ोल्डर में- ScoreManager.csनाम से एक नई C# स्क्रिप्ट बनाएँ।
- ScoreManagerस्क्रिप्ट को- GameManagerनामक एक नए रिक्त GameObject से संलग्न करें।
- स्कोर प्रदर्शित करने के लिए एक UI टेक्स्ट तत्व बनाएं और इसे ScoreManagerस्क्रिप्ट मेंscoreTextफ़ील्ड में असाइन करें।
ट्रैक स्कोर के लिए शूटिंग स्क्रिप्ट को अपडेट करना
void Shoot()
{
    RaycastHit hit;
    if (Physics.Raycast(playerCamera.transform.position, playerCamera.transform.forward, out hit, range))
    {
        AnimalAI animal = hit.transform.GetComponent();
        if (animal != null)
        {
            Destroy(hit.transform.gameObject);
            ScoreManager.AddScore(10);
        }
        GameObject impactGO = Instantiate(impactEffect, hit.point, Quaternion.LookRotation(hit.normal));
        Destroy(impactGO, 2f);
    }
}निष्कर्ष
हमने Unity में एक बुनियादी शिकार खेल बनाया है। हमने प्रोजेक्ट और पर्यावरण की स्थापना की, भौतिकी-आधारित आंदोलन के साथ खिलाड़ी नियंत्रण बनाए, पशु एआई को लागू किया, शूटिंग यांत्रिकी को जोड़ा, और एक स्कोरिंग सिस्टम स्थापित किया। इस आधारभूत ज्ञान को आपके शिकार खेल को बढ़ाने के लिए अधिक जटिल व्यवहार, अतिरिक्त जानवर और परिष्कृत खेल यांत्रिकी को शामिल करने के लिए विस्तारित किया जा सकता है।