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; } } }
截图如下:
下一篇:
css+js实现层叠式轮播图(一)