无论是做游戏还是数字孪生都可以用到Unity这个软件,最近做一个项目的演示动画用到了Unity里的DOTween插件,主要思想是定义好每个物体的动作函数,然后根据整个系统的动作逻辑来调用各个物体的动作函数,从而实现整个系统的动作。下面我将从项目用到的代码、Unity里的一些操作、技巧来写。
1.代码
下面代码实现的是将Unity里以定义好的名为DG的GameObject在1s内移动同时旋转到指定位置
//调用函数
Invoke("函数名",延迟时间);
public void rotate()
{
//从Unity项目里找到"DanGuzhuangpan"这个GameObject,赋值给定义的dangu
GameObject dangu = GameObject.Find("DG");
//将找到的GameObject的Transform组件赋值给dg
Transform dg = dangu.GetComponent<Transform>();
//用DOLocalRotate旋转物体 第一个参数是一个三维向量是要转到的向量位置,第二个参数是所用的时间
dg.DOLocalRotate(new Vector3(0,0,0),1);
//DOLocalMove移动物体,这里解释一下DOMove和DOLocalMove的区别:DOMove是以世界坐标系为参考系,
//而DOLoaclMove是以物体的局部坐标系为参考系(解释的不透彻,仅供参考,如果分不清用那个,就都去试试)
dg.DOMove(new Vector3(0,0,0),1)
}
2.技巧
将父物体的坐标系定义到子物体的中心