unity中 3D物体向着UGUI移动,飞向UI

void Start()
{
    camera_Main = Camera.main;
    uiCamera = transform.parent.parent.GetComponent<Canvas>().worldCamera;
}

private void OnMouseDown()
{
            isMove = true;
    StartCoroutine(MoveToUI());
}

public bool isMove = false;
private Camera uiCamera;
private Vector3 vect0;
private Vector3 vect1;
IEnumerator MoveToUI()
{
while (isMove)
{
vect1 = camera_Main.WorldToScreenPoint(model.transform.position);
vect0 = uiCamera.WorldToScreenPoint(transform.position);
Debug.Log(Vector3.Distance(vect0, vect1));
if (Vector3.Distance(vect0, vect1) > 5f)
{
vect1 = Vector3.MoveTowards(vect1, vect0, 5);
model.transform.position = camera_Main.ScreenToWorldPoint(vect1);
}
else
{
isMove = false;
StopCoroutine(MoveToUI());
Destroy(model);
Utilly.isCameraDrag = true;
}
yield return null;
}
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值