3D轮转图

轮转图,通常都是玩家拖拽不同角色然后进行选取角色。我们所了解的轮转图分为移动,惯性移动,然后对齐结束三部分。

一.

首先,生成3D物体,它们是在同一个空对象下。所以我们拖拽其中一个物体的时候,就可以直接让空对象进行移动,以至于达到轮转的效果。

1.我们可以指定3D物体的数量。

2.然后通过anger=(2*Mathf.PI)/num算出角度。

3.通过mathf.sin算出3D物体的x坐标,mathf.cos算出3D物体的z的坐标。

 二.

3D轮转图是拖拽3d角色,而我们是通过在屏幕上拖拽的距离进行3D物体的移动。这就需要我们进行坐标的转换。

1.当我们按下鼠标时,我们需要记录3D物体最初的位置。

2.当我们进行物体拖拽时,然后对拖拽的3D物体的位置进行记录,然后计算出它们位置x的差值。

这个就是3D物体的移动距离。我们就可以直接调用移动方法。

3.同样,惯性也是如此。

 三.移动

1.角度=距离/半径

由此我们可以算出转动的总角度,然后对物体位置进行从新赋值,以达到移动的效果。

 四.惯性移动

通过Doweent从而实现惯性的移动效果。

 五.对齐

1.先求出与中间值的偏差角度

 float ang = Mathf.Atan(sortlist[num - 1].localPosition.x / sortlist[num - 1].localPosition.z);

2.求出距离,时间,用Doweent实现对齐。

3.注释部分为转动到指定物体。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值