टकराव का पता लगाने से आपके खेल के अधिकांश भाग प्रभावित होते हैं, आपका खिलाड़ी एक मंच पर कैसे खड़ा होता है से लेकर वे दुश्मनों को कैसे नष्ट करते हैं तक।

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

गोडोट, एक लोकप्रिय ओपन-सोर्स गेम इंजन, कुशल टकराव का पता लगाने के लिए शक्तिशाली उपकरण प्रदान करता है, जिसके परिणामस्वरूप गेमप्ले सुचारू और आकर्षक होता है।

गोडोट गेम की स्थापना

शुरू करने से पहले, गोडोट 4 में एक सरल 2डी प्लेटफ़ॉर्मर गेम बनाएं। खिलाड़ी के चरित्र और प्लेटफ़ॉर्म के साथ गेम दृश्य सेट करके प्रारंभ करें।

इस आलेख में प्रयुक्त कोड इसमें उपलब्ध है गिटहब रिपॉजिटरी और यह आपके लिए एमआईटी लाइसेंस के तहत उपयोग करने के लिए निःशुल्क है।

एक नया दृश्य बनाएं और जोड़ें कैरेक्टरबॉडी2डी रूट नोड के रूप में नोड. एक जोड़ना स्प्राइट2डी के एक बच्चे के रूप में नोड कैरेक्टरबॉडी2डी खिलाड़ी के चरित्र का दृश्य रूप से प्रतिनिधित्व करने के लिए।

instagram viewer

अगला, प्लेयर में मूवमेंट जोड़ें जीडीस्क्रिप्ट का उपयोग कर चरित्र:

extends CharacterBody2D

var speed = 300

func _physics_process(delta):
var input_dir = Vector2.ZERO

if Input.is_action_pressed("ui_left"):
input_dir.x -= 1

if Input.is_action_pressed("ui_right"):
input_dir.x += 1

if Input.is_action_pressed("ui_up"):
input_dir.y -= 1

if Input.is_action_pressed("ui_down"):
input_dir.y += 1

velocity = input_dir.normalized() * speed
move_and_collide(velocity * delta)

अंत में, मंच का उपयोग करके दृश्य में जोड़ें स्टेटिकबॉडी2डी बुनियादी सेटअप को पूरा करने के लिए नोड्स।

विभिन्न टकराव आकार

गोडोट विभिन्न प्रकार की टकराव आकृतियाँ प्रदान करता है जो विभिन्न प्रकार की गेम वस्तुओं को पूरा करती हैं। ये टकराव आकार उस क्षेत्र को सटीक रूप से परिभाषित करने में मदद करते हैं जिसके भीतर टकराव का पता चलता है।

विभिन्न टकराव आकृतियों में गोता लगाने से पहले, यह ध्यान रखना महत्वपूर्ण है कि आप टकराव क्षेत्र को परिभाषित करने के लिए किसी एक को सीधे खिलाड़ी के चरित्र से जोड़ सकते हैं। यह आपको टकराव का पता लगाने के लिए सटीक क्षेत्र को नियंत्रित करने की अनुमति देता है।

वृत्त टकराव आकार

एक वृत्त टकराव आकार उन पात्रों के लिए विशेष रूप से उपयोगी है जिन्हें पर्यावरण के साथ रेडियल रूप से बातचीत करने की आवश्यकता होती है। आप इस आकृति का उपयोग गोलाकार या गोलाकार हिटबॉक्स वाले पात्रों के लिए कर सकते हैं। अपने प्लेयर चरित्र में एक वृत्त टकराव आकार जोड़ने के लिए:

# Inside the player character's script
var collision_shape = CollisionShape2D.new()
var circle_shape = CircleShape2D.new()
circle_shape.radius = 32
collision_shape.shape = circle_shape
add_child(collision_shape)

आयत टकराव आकार

आयताकार टक्कर आकृतियाँ अधिक बॉक्स वाले या आयताकार आकार वाले पात्रों के लिए उपयुक्त होती हैं। यहां बताया गया है कि आप आयताकार टकराव आकार कैसे जोड़ सकते हैं:

# Inside the player character's script
var collision_shape = CollisionShape2D.new()
var rect_shape = RectangleShape2D.new()
rect_shape.extents = Vector2(32, 64)
collision_shape.shape = rect_shape
add_child(collision_shape)

उत्तल बहुभुज टकराव आकार

उत्तल बहुभुज टकराव आकार अनियमित या गैर-आयताकार आकार वाले पात्रों के लिए बहुत लचीलापन प्रदान करते हैं। आप अपने चरित्र की रूपरेखा से बारीकी से मेल खाने के लिए इस आकृति का उपयोग कर सकते हैं। उत्तल बहुभुज टकराव आकार जोड़ने के लिए:

# Inside the player character's script
var collision_shape = CollisionShape2D.new()
var polygon_shape = ConvexPolygonShape2D.new()
polygon_shape.set_points([Vector2(-32, -64), Vector2(32, -64), Vector2(0, 64)])
collision_shape.shape = polygon_shape
add_child(collision_shape)

उपयुक्त टकराव आकार का चयन करके और उसे खिलाड़ी के चरित्र से जोड़कर, आप सटीक रूप से ऐसा कर सकते हैं निर्दिष्ट क्षेत्र के भीतर टकराव का पता लगाएं, खेल के साथ बातचीत की सटीकता को बढ़ाएं दुनिया।

टकराव का पता लगाना

इंटरैक्शन और गेमप्ले यांत्रिकी को लागू करने के लिए वस्तुओं के बीच टकराव का पता लगाना आवश्यक है। गोडोट में, आप अंतर्निहित भौतिकी इंजन का उपयोग करके इसे प्राप्त कर सकते हैं।

# Detecting Collisions in _physics_process
func _physics_process(delta):
var input_dir = Vector2.ZERO
#... (input handling)

velocity = input_dir.normalized() * speed
var collision = move_and_collide(velocity * delta)

if collision:
print("collided")

नीचे आउटपुट है:

टकराव के संकेत और टकराव के मुखौटे

गोडोट आपके गेम में परिष्कार जोड़ने के लिए शक्तिशाली उपकरण के रूप में टकराव संकेत और टकराव मास्क प्रदान करता है।

टकराव के संकेत

टकराव के संकेत ऐसी घटनाएँ हैं जो टकराव होने पर भौतिकी इंजन ट्रिगर करता है। ये सिग्नल वस्तुओं को एक-दूसरे के साथ संवाद करने और टकराव पर प्रतिक्रिया करने का एक तरीका प्रदान करते हैं। गोडोट में, विशिष्ट टकराव की घटनाएं होने पर आप कस्टम तर्क निष्पादित करने के लिए टकराव संकेतों से जुड़ सकते हैं।

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

# Inside the player character's script
func _ready():
connect("body_entered", self, "_on_body_entered")

func _on_body_entered(body: Node):
if body.is_in_group("collectible"):
# Play a sound effect
play_collectible_sound()

# Perform additional logic like collecting the item

# Remove the collectible from the scene
body.queue_free()

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

टकराव के मुखौटे

टकराव मास्क आपको यह नियंत्रित करने की अनुमति देते हैं कि कौन सी टकराव परतें एक दूसरे के साथ बातचीत कर सकती हैं। प्रत्येक टकराव परत एक बिटमास्क में एक बिट से मेल खाती है। वस्तुओं को टकराव की परतें और मास्क निर्दिष्ट करके, आप यह ठीक कर सकते हैं कि कौन सी वस्तुएं एक-दूसरे से टकराएंगी और प्रदर्शन को अनुकूलित कर सकती हैं।

उदाहरण के लिए, कल्पना करें कि आपके गेम में दुश्मन और गोलियां हैं। आप चाहते हैं कि दुश्मन प्लेटफार्मों से टकराएं लेकिन एक-दूसरे से नहीं। आप भी चाहते हैं कि गोलियां दुश्मनों से टकराएं लेकिन प्लेटफार्मों से नहीं। यहां बताया गया है कि आप टकराव मास्क का उपयोग करके इसे कैसे प्राप्त कर सकते हैं:

# Inside the enemy's script
func _ready():
# Disable collision with other enemies
set_collision_mask_value(2, false)

# Enable collision with platforms
set_collision_mask_value(3, true)

# Inside the bullet's script
func _ready():
# Enable collision with enemies
set_collision_mask_value(2, true)

# Disable collision with platforms
set_collision_mask_value(3, false)

टकराव मास्क को चुनिंदा रूप से सक्षम या अक्षम करके, आप नियंत्रित करते हैं कि कौन सी वस्तुएं एक-दूसरे से टकरा सकती हैं, जिसके परिणामस्वरूप सटीक और कुशल टकराव इंटरैक्शन हो सकता है।

टकराव का पता लगाने के लिए सर्वोत्तम अभ्यास

सुचारू गेमप्ले और कुशल टकराव का पता लगाने को सुनिश्चित करने के लिए, इन सर्वोत्तम प्रथाओं पर विचार करें।

सरल आकृतियों का प्रयोग करें

जटिल टकराव के आकार संसाधन-गहन हो सकते हैं। जब भी संभव हो, टकराव का पता लगाने के लिए वृत्त और आयत जैसी सरल आकृतियों का उपयोग करें।

परत टकराव मास्क

गोडोट आपको टकराव की परतों और मुखौटों को परिभाषित करने की अनुमति देता है। इनका उपयोग यह नियंत्रित करने के लिए करें कि कौन सी वस्तुएँ एक-दूसरे से टकराती हैं, प्रदर्शन को अनुकूलित करती हैं।

उदाहरण के लिए, एक प्लेटफ़ॉर्मर गेम में, खिलाड़ी प्लेटफ़ॉर्म पर कूद सकता है और दीवारों के साथ सरकें। टकराव परतों और मास्क को उचित रूप से स्थापित करके, आप विशिष्ट व्यवहार प्राप्त कर सकते हैं।

टकराव समूह

आसान प्रबंधन और कुशल टकराव का पता लगाने के लिए वस्तुओं को समान टकराव गुणों के साथ समूहित करें।

बाउंडिंग बक्से

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

गतिज प्रश्नों का प्रयोग करें

गोडोट वास्तव में वस्तु को हिलाए बिना टकराव की जांच करने के लिए गतिज प्रश्न प्रदान करता है। यह टकरावों के घटित होने से पहले ही उनका पूर्वानुमान लगाने में उपयोगी हो सकता है।

टकराव का पता लगाने के साथ गोडोट गेम्स को और अधिक आकर्षक बनाना

आपके गोडोट गेम में कुशल टकराव का पता लगाने को शामिल करने से न केवल निर्बाध बातचीत सुनिश्चित होती है पात्रों और पर्यावरण के बीच बल्कि रचनात्मक गेमप्ले के अवसर भी खुलते हैं यांत्रिकी.

चाहे वह प्लेटफ़ॉर्मिंग चुनौतियाँ हों, पहेली-सुलझाना हो, या युद्ध परिदृश्य हों, टकराव का पता लगाना खिलाड़ी की संलग्नता के मूल में है। टकराव का पता लगाने को जोड़कर, आप एक ऐसा गेम बना सकते हैं जो अपने सहज और गतिशील इंटरैक्शन से खिलाड़ियों को मंत्रमुग्ध कर देगा।