您的位置:首页 > 产品设计 > UI/UE

UGUI 制作血条,3d物体跟随移动

2016-11-07 19:35 741 查看
今天学习一下如何实现UGUI 2dUI跟随3d物体移动的效果

创建cube,创建Image。image作为血条,跟随cube移动

在cube上面添加脚本

using UnityEngine;
using System.Collections;

public class FlowTest : MonoBehaviour {

public RectTransform rectBloodPos;
public int offstex;
public int offsety;
// Update is called once per frame
void Update () {

//get ScreenPoint...Important
Vector2 vec2 = Camera.main.WorldToScreenPoint (this.gameObject.transform.position);

rectBloodPos.anchoredPosition = new Vector2 (vec2.x-Screen.width/2+0, vec2.y-Screen.height/2+60);//控制偏移量
//rectBloodPos.anchoredPosition = vec2 + new Vector2(offstex,offsety);
}
}


运行效果:



3d物体跟随移动的另一种实现方式:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class MoveFlow : MonoBehaviour
{
public Transform gob3d;//3d物体
public RectTransform image;//2dUI
public Canvas cav;//sdUI 所在的canvas
// Use this for initialization
void Start ()
{

}

// Update is called once per frame
void Update ()
{
Vector2 screenPos = Camera.main.WorldToScreenPoint (gob3d.position);
Vector3 globalMousePos;
if (RectTransformUtility.ScreenPointToWorldPointInRectangle (image, screenPos, cav.worldCamera, out globalMousePos)) {
image.position = globalMousePos;
}

}
}


demo 下载:http://download.csdn.net/detail/u011484013/9841971
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  UGUI