Version: Unity 6.1 Alpha (6000.1)
LanguageEnglish
  • C#

Transform.RotateAround

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Switch to Manual

Declaration

public void RotateAround(Vector3 point, Vector3 axis, float angle);

Parameters

point The world-space point to rotate the target object around.
axis The world-space axis to rotate the target object around. This vector does not need to be unit length.
angle The angle to rotate, provided in degrees.

Description

Rotates the transform about axis passing through point in world coordinates by angle degrees.

This modifies both the position and the rotation of the transform, but will not affect its scale.

If the provided axis's magnitude is too close to zero, the function returns without performing any rotation.

For more information on Rotation in Unity, see Rotation and Orientation in Unity.

Additional resources: Transform.Rotate.

using UnityEngine;

//Attach this script to a GameObject to rotate around the target position. public class Example : MonoBehaviour { //Assign a GameObject in the Inspector to rotate around public GameObject target;

void Update() { // Spin the object around the target at 20 degrees/second. transform.RotateAround(target.transform.position, Vector3.up, 20 * Time.deltaTime); } }