एकता के लिए हेलीकाप्टर नियंत्रक

Unity में हेलीकॉप्टर गेम बनाना गेम डेवलपर्स के लिए एक मजेदार प्रोजेक्ट हो सकता है। इस ट्यूटोरियल में, मैं आपको Unity और C# का उपयोग करके एक सरल हेलीकॉप्टर गेम बनाने की प्रक्रिया में मार्गदर्शन करूंगा। हम देखेंगे कि हेलीकॉप्टर की गति, नियंत्रण और बुनियादी भौतिकी को कैसे सेट किया जाए।

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

  • Unity खोलें और एक नया 3D प्रोजेक्ट बनाएं।
  • अपनी प्रोजेक्ट सेटिंग आवश्यकतानुसार सेट करें (उदाहरण के लिए, नामकरण, स्थान)।
  • आपके द्वारा उपयोग की जाने वाली किसी भी संपत्ति को आयात करें, जैसे हेलीकॉप्टर मॉडल, इलाके और स्काईबॉक्स।

चरण 2: हेलीकाप्टर गेमऑब्जेक्ट बनाना

  • एक नया खाली गेमऑब्जेक्ट बनाएं ('गेमऑब्जेक्ट -> खाली बनाएं')।
  • स्पष्टता के लिए GameObject का नाम बदलकर "Helicopter" कर दें।
  • हेलीकॉप्टर के 3डी मॉडल को दृश्य में खींचकर गेमऑब्जेक्ट में संलग्न करें।

चरण 3: रिगिडबॉडी घटक जोड़ना

  • हेलीकाप्टर गेमऑब्जेक्ट का चयन करें।
  • इंस्पेक्टर विंडो में "Add Component" पर क्लिक करें।
  • "Rigidbody" खोजें और हेलीकॉप्टर में रिगिडबॉडी घटक जोड़ें।
  • अपने हेलीकॉप्टर मॉडल के वजन और भौतिकी गुणों से मेल खाने के लिए रिगिडबॉडी सेटिंग्स को समायोजित करें।

चरण 4: हेलीकॉप्टर मूवमेंट स्क्रिप्ट लिखना

  • अब, हम हेलीकॉप्टर की गति को संभालने के लिए एक C# स्क्रिप्ट बनाएंगे।

'HelicopterController.cs'

using UnityEngine;

public class HelicopterController : MonoBehaviour
{
    public float maxSpeed = 10f; // Maximum speed of the helicopter
    public float maxRotationSpeed = 5f; // Maximum rotation speed of the helicopter
    public float acceleration = 2f; // Acceleration factor for speed
    public float rotationAcceleration = 1f; // Acceleration factor for rotation speed
    public Transform mainRotor; // Drag the main rotor GameObject here in the Inspector
    public Transform tailRotor; // Drag the tail rotor GameObject here in the Inspector

    private Rigidbody rb;
    private float currentSpeed = 0f;
    private float currentRotationSpeed = 0f;

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

    void FixedUpdate()
    {
        // Get user input for movement
        float moveHorizontal = Input.GetAxis("Horizontal");
        float moveVertical = Input.GetAxis("Vertical");

        // Calculate movement direction
        Vector3 movement = new Vector3(moveHorizontal, 0f, moveVertical);

        // Apply movement to the helicopter
        rb.AddRelativeForce(movement * acceleration);

        // Calculate new speed based on acceleration
        currentSpeed = Mathf.Clamp(currentSpeed + acceleration * Time.deltaTime, 0f, maxSpeed);

        // Get user input for rotation
        float rotationInput = Input.GetAxis("Rotation");

        // Calculate rotation
        Quaternion rotation = Quaternion.Euler(0f, rotationInput * maxRotationSpeed, 0f);

        // Apply rotation to the helicopter
        rb.MoveRotation(rb.rotation * rotation);

        // Rotate main rotor
        mainRotor.Rotate(Vector3.up * currentSpeed * Time.deltaTime * 100f);

        // Rotate tail rotor
        tailRotor.Rotate(Vector3.right * currentSpeed * Time.deltaTime * 500f);

        // Calculate new rotation speed based on acceleration
        currentRotationSpeed = Mathf.Clamp(currentRotationSpeed + rotationAcceleration * Time.deltaTime, 0f, maxRotationSpeed);
    }
}

चरण 5: स्क्रिप्ट संलग्न करना

चरण 6: इनपुट कॉन्फ़िगर करना

  • 'Edit -> Project Settings -> Input Manager' पर जाएँ।
  • क्षैतिज, लंबवत और रोटेशन के लिए इनपुट अक्ष सेट करें। आप इनपुट के लिए कुंजी या जॉयस्टिक अक्ष का उपयोग कर सकते हैं।

चरण 7: परीक्षण

  • अपने हेलीकॉप्टर गेम का परीक्षण करने के लिए Unity एडिटर में प्ले दबाएँ।
  • हेलीकॉप्टर की गति और घूर्णन को नियंत्रित करने के लिए कॉन्फ़िगर की गई इनपुट कुंजियों का उपयोग करें।
  • हेलीकॉप्टर के व्यवहार को ठीक करने के लिए स्क्रिप्ट में 'maxSpeed', 'maxRotationSpeed', 'acceleration', और 'rotationAcceleration' वेरिएबल्स को समायोजित करें।

निष्कर्ष

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

सुझाए गए लेख
एकता के लिए हवाई जहाज नियंत्रक
एकता के लिए प्लेयर 3डी और 2डी वॉल जंप ट्यूटोरियल
एकता के लिए संवाद प्रणाली
एकता के लिए टॉर्च ट्यूटोरियल
एकता के लिए 3डी वर्म नियंत्रक ट्यूटोरियल
एकता के लिए 2डी कैरेक्टर नियंत्रक
यूनिटी के लिए कार नियंत्रक