मैं जीरो-जी पर आधारित एक ऐसी ही परियोजना पर काम कर रहा हूं जिसमें मुझे सभी खेल वस्तुओं को अपनी मात्रा, घनत्व, द्रव्यमान, ऊर्जा और चालकता के आधार पर गुरुत्वाकर्षण और विद्युत चुम्बकीय बल दोनों को उत्पन्न करने और प्रतिक्रिया करने की आवश्यकता है। मैं स्क्रिप्टिंग के लिए अपेक्षाकृत नया हूं, लेकिन मैंने ऊपर की स्क्रिप्ट में कुछ संशोधन किए हैं ताकि यह मेरे लिए 3 डी स्पेस में काम कर सके (जहां तक गुरुत्वाकर्षण का संबंध है ... लगभग ...):
using UnityEngine;
using System.Collections;
public class DynamicWeightAnalysis : MonoBehaviour {
//Declare Variables:
//BBB adding volume calculations
//NOPE
//BBB adding density (...does nothing yet...)
public float density;
//BBB NOPE!
//Strength of attraction from your game-object, ideally this will be derived from a calculation involving the objects volume and density, but for now it's entered from the inspector)
public float RelativeWeight;
//BBB Here, we name our target object (s)
GameObject blockALPHA;
//Initialise code:
void Start ()
{
//BBB here, we define our target object by searching for its tag (setup in editor)
blockALPHA = GameObject.FindGameObjectWithTag("Block ALPHA");
}
//Use FixedUpdate because we are controlling the orbit with physics
void FixedUpdate () {
//Declare Variables:
//magsqr will be the offset squared between the object and the planet
float magsqr;
//offset is the distance to the planet
Vector3 offset;
//get offset between each planet and the player
offset = blockALPHA.transform.position - transform.position;
//Offset Squared:
magsqr = offset.sqrMagnitude;
//Check distance is more than 1 to prevent division by 0 (because my blocks are all 1x1x1 so, any closer than 1 and they'd be intersecting)
if (magsqr > 1f)
{
//Create the gravity- make it realistic through division by the "magsqr" variable
GetComponent<Rigidbody>().AddForce((RelativeWeight * offset.normalized / magsqr) * GetComponent<Rigidbody>().mass);
}
}
}
जैसा कि आप देख सकते हैं, मैं अभी भी इस पर काम कर रहा हूं, मूल रूप से अब तक मेरे सभी अतिरिक्त, "बीबीबी" के साथ एनोटेट किया गया है, मैं अभी तक काम नहीं कर रहा हूं जैसा मैं चाहता हूं। लेकिन जैसा कि यह खड़ा है, यह मेरी "ब्लॉक अल्फा" ऑब्जेक्ट्स को गुरुत्वाकर्षण के साथ अन्य "ब्लॉक अल्फा" ऑब्जेक्ट्स के साथ काफी पूर्वानुमानित तरीके से बातचीत करने की अनुमति देता है। (हालांकि, दो या दो से अधिक ब्लॉक देते समय, अंतिम हमेशा "आकर्षित करने वाला" होता है और टकराव होने तक स्थिर रहेगा। जिस पर मैं काम कर रहा हूं ... मदद की सराहना की जाएगी)) उम्मीद है कि मदद मिलेगी ..