I am trying to write a code for a gravity pull towards a planet. I want to use a sphere collider as a trigger to start adding force to the object its manipulating towards the planet.

So OnTriggerStay I can retrieve the planets position to use with AddForce but its not the center of the planet. I tried bounds.center and it is the same as the transform.position vector3. Now I tried to put a empty gameobject on the planet and I would like to change the planets center to that of the empty gameobject so I can therefor retrieve that data without the use of getcomponent. Heres some code I was trying.

``````using UnityEngine;
using System.Collections;

public class PlanetGravity : MonoBehaviour {

public Rigidbody bullet;
public GameObject center;

// Use this for initialization
void Start () {

Vector3 centervector = new Vector3(center.transform.position.x, center.transform.position.y, center.transform.position.z);

this.transform.position.Set(center.transform.position.x, center.transform.position.y, center.transform.position.z);
this.renderer.bounds.center.Set(center.transform.position.x, center.transform.position.y, center.transform.position.z);

Debug.Log("Center = " + this.gameObject.renderer.bounds.center);
Debug.Log("Position = " + this.transform.position);
//Debug.Log("Mesh = " +

}

void OnCollisionEnter(Collision collision){

//bullet = collider.rigidbody;
//b

}

// Update is called once per frame
void Update () {

}
}
``````

You want to add a force in the DIRECTION of the planet. You need a direction vector which points towards the planet.

To get the direction you can do this:

Vector3 direction = (orbiter.transform.position - planet.transform.position).normalized;

then multiply by the float force to point the force in that direction

Vector3 directionalForce = direction * force;

then you can do: