unity之RotateAround 一个物体围绕另外一个物体旋转

public void RotateAround(Vector3 point, Vector3 axis, float angle);
point:要围绕的点;
axiw:要围绕的轴,如x,y,z
angel:旋转的角度

以下是一个简单的demo,一个消息图片围绕箭头图片旋转;

using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour {

    /// <summary>
    /// 中心箭头
    /// </summary>
    public GameObject centerObj;
    /// <summary>
    /// 消息图片对象
    /// </summary>
    public GameObject roateObj;
    /// <summary>
    /// 四元数
    /// </summary>
    Quaternion qua;
    
    
    // Use this for initialization
	void Start () {
        
	}
	
	// Update is called once per frame
	void Update () {

        if (centerObj != null)
        {
            //roateObj围绕centerObj旋转,x,y不旋转
            roateObj.transform.RotateAround(centerObj.transform.position, new Vector3(0,0,1), 10f * Time.deltaTime);
            //这里处理不然roateObj图片的显示位置发生变化
            qua = roateObj.transform.rotation;
            qua.z = 0;
            roateObj.transform.rotation = qua;
        }

	}




}

截图如下:

unity之RotateAround 一个物体围绕另外一个物体旋转_第1张图片


你可能感兴趣的:(unity,RotateAround,一个物体围绕另外一个物体旋转)