- Home /
Camera to rotate around object as well as follow it at the same time.
I know there might be a simple way of doing this. But ive been killing myself the last couple days to figure it out. So what I basically need if for my camera to rotate around an object when i press The left arrow key or the right arrow key. That was simple, the hard part was how can i make it also follow the object at a certain distance. Because when I use the 2 scripts together, my object just goes wild and moves in all places. If there is a simple way to use this, please help me. And also my object is a RigidBody so it does a lot of rolling around and such.
This is my rotating script. Now how can I use this and also make the camera follow my objects movement.
function Update()
{
for (var touch : Touch in Input.touches)
{
if (rightrot.guiTexture.HitTest (touch.position))
{
// rotate left
transform.RotateAround (target.transform.position, Vector3.up, 7 * Time.deltaTime);
}
if (leftrot.guiTexture.HitTest (touch.position))
{
// rotate left
transform.RotateAround (target.transform.position, -Vector3.up, 7 * Time.deltaTime);
}
}
}
unity gives you an orbit script. search for many many camera scripts of every description
Answer by Mokhan94 · Sep 25, 2012 at 07:10 PM
Still looking for an answer, it would be greatly Appreciated.
Hi There.
Please don't post comments as answers. Post comments by clicking the [add new comment] button, a window then open for you to type in. Answer fields are for answers only, as this is a knowledge base.
You can convert this answer to a comment (or just edit your original question), you'll also get a better chance of getting an actual answer if the main list shows none or one answer in blue =]
also, I edited your code formatting in the question
Answer by T27M · Sep 25, 2012 at 07:30 PM
A basic one would be to assign your camera's position as the position of the object you want to follow then add a suitable offset.
Answer by AlucardJay · Sep 25, 2012 at 08:44 PM
find the difference between the target and the camera :
var diff = target.transform.position - camera.transform.position;
normalize it :
diff = diff.normalized;
multiply it by the distance required :
diff *= cameraDistance;
add this to the target position :
diff += target.transform.position
make this the position of the camera :
camera.transform.position = diff;
Your answer
Follow this Question
Related Questions
How to Rotate Camera around GameObject (Player) 0 Answers
Rotate a moving object 0 Answers
Camera move belong a certain path 1 Answer
Rotating camera around object up/down problem 0 Answers
Need to rotate a 3rd person object to the camera rotation 1 Answer