Help editing my code, rigidbody attraction force
So I'm creating a simple game. I have a player ball which is travelling though space. I've created a script which creates an attraction force between the player and another object (planet). The planet is static, a force is exerted on the player which attracts it towards the planet. Heres the code:
using UnityEngine;
using System.Collections;
public class Planet1GravPull : MonoBehaviour {
public GameObject planet;
public float gravityFactor = 1f;
public Rigidbody rb;
void Start ()
{
rb = GetComponent<Rigidbody> ();
}
void FixedUpdate()
{
rb.AddForce ((planet.transform.position - transform.position).normalized * rb.mass * gravityFactor / (planet.transform.position - transform.position).sqrMagnitude);
}
}
So I only managed to get it to work if the script is placed on the player and I then add the planet into the game object variable.
The problem I'm having though is that I have multiple of these planets and with all the scripts on the player, I can't refer to specific scripts for triggers as they all have the same name. The only way I can see to overcome this is by creating separate scripts for each planet with different names however this is very messy and time consuming.
What I want to know is is there a way to differentiate the scripts or a way I can alter the attraction script so I can put it on the planets rather then the player.
Sorry if I'm missing something obvious, I've literally been using Unity for less then a week. Any help is welcome!
Thanks
Your answer
Follow this Question
Related Questions
How to apply a force at certain point of an object? 0 Answers
Apply force to character based on thrusters attached to a hand like objects (multiple sources) 1 Answer
Getting the net-force vector on a rigidbody 0 Answers
Rigidbody - How to make it jump and fall down fast ? Help needed. 1 Answer
After adding a force to a moving gameobject it will behaviour in a strange way. 0 Answers