您的位置:首页 > 移动开发 > Unity3D

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

2015-10-28 22:45 465 查看
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;
}

}

}


截图如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息