- Home /
Please help finding center of object
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 () {
     
     }
 }
 
Answer by LiterallyJeff · Jun 18, 2015 at 07:04 PM
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:
AddForce(directionalForce);
Which should push your object towards the planet.
Your answer
 
 
             Follow this Question
Related Questions
How to get the center point of an object without any renderers? 2 Answers
How do you get the world-space position of a sprite with a custom pivot? 1 Answer
Instantiated Game Object is at the wrong location. 1 Answer
center of object group 0 Answers
How to get distance from position to transform bounds 1 Answer
