哈喽大家好!今天我们来讲一讲如何通过脚本实现这样的文字的波动效果。我们看一下,上面是适应的窗口,这个是那些文字,它的文字的mesh在上下的波动没看成,其实切这个应该是match和这个一起显示,但它可能背景是黑的看不见,所以我只能点成这个模式能看到它的麦序的波动。
那怎么实现?我们来看下代码,就是我的文本,首先这个文本你要设置成就是text match pro的文本,而不是text match pro一个ui的文本。这个就是比如说右键里面选择在3d里面有一个叫text的东西,不是ui里面这个,ui里面是这一个,我用的是3d里面这个,这样就有这个麦序到uy好像也是也可以实现,一会我们试一下。
我们先看看这个代码,代码就在这个里面,我们设几个参数,exr波动的模式,我现在只有位五这种模式,没有去做别的模式,然后它分strens强度、频率和速度,我们来调下试试。
·强度就是上下拨动一个距离,然后frequency这调过来,太大可能不太好看,frequency是它的一个横向的x周期,这可能不明显,你要给它弄小一点,就很明显了,它是一个比较缓的波,然后速度就是波动的一个速度,就是这样一种效果。
·然后代码怎么写的?我们看一眼,把它脱下来,有 bug 脱不动不管它就这样,是不是它导致的代码就这么一段很短。
·首先在额外课里面我们把这个text match pro给取出来,你如果是那个canvas里面那个ui的text是什么text match pro ugui,弄完之后我们先first麦序 update,就是让它的麦序更新一下,这样我们就能获取到它最新的麦序,其实不用也行因为这地方也会更新。
·然后就是在 star 的时候,我们根据它的动画的类型执行不同的携程,比如说we五行就是我这个携程进来之后这个可以不用,不用先等一针直接开始就行了。
·然后按一个这个数组存下它的所有的what text就是match 的顶点,然后我们来强制更新一下。
·更新完之后,我们把 text点mesh,点what texas,把所有的这顶点取出来,这个顶点就有一个字,比如说这个字它就会有四个点,因为它是一个矩形,就四个点,它是一个矩形的mesh,我们把这些取出来。
·取出来之后,我们根据这个文字的数量进行一个循环,每个字对它的一个位移做一个变动,然后每一个字可以取出它的character info,然后来判断它是否当前是显示出来的,如果是显示出来再进行下一步。
·然后取出它的顶点的一个编号,然后它有四个顶点,所以它的编号就是分别是这个编号加零加一加二加三,然后我们拿这个四点四个零点做同样的个偏移,挪偏移怎么算?你要是v五就是一个正旋波,然后因为他给的是一个三围的项链,x是左右的是不动的,上下就是y,j也是零不动的。
y怎么算?y就是sine,这是顶点的编号,加上频率,再加上波动的速度,乘上onscale,它还有时间,就怕游戏如果有暂停功能,如果让scale等于零,这个地方用onscale也是不受影响的,尤其是ui里面的文字,所以希望它受暂停的影响,如果希望受影响就可以变成skill,变成碳点碳就行了,就这个东西。
最后再把所有what text复制过去,之前试一下不这么写行不行,好像应该改不了,应该得直接复制,因为what texas是set和get的类型,试一下,因为之前出了点bug,一直不生效,后面过了段时间关,再重新打开就突然生效了。
首先不知道是做的哪项修改生效了,看一下,这是没用的,必须得把数组再复制过去,直接的对what test进行修改是没有用的,应该是会拷贝分出来,再留,再留对了。如果要兼容ui的类型,对加这样一行,这一刻刚好被挡住了,这应该是text mesh,点can was renderer,点setmesh,再设置回去。
这边不有个mesh吗?得先把mesh取出来,把mesh取出来之后,每次循环结束的时候,mtx点,这个没有,因为这个是类型不一样,如果是test match pro ugui 的类型,就应该就会有一个点can was render,然后点setmesh,mesh这样一个方法,然后给它设置上去。
之所以不用ui的类型,是因为ui类型不太好控制它的显示的成绩,因为gameui里面可能会有一些别的一些元素,还会有一些非ui的元素,如果是用canvas,canvas只能在这个地方统一的调整它的所有元素的social layer,就是排序的层级,其他内部层级是按照它的上下顺序来改了,其实都属于这一层里面。
里面有一些比如泡泡的类型是正常的sprite,它的层级有自己的一些层级在哪,会有这些层级,比如跟里面用到了一些非ui的元素,它的层级,比如player,它的层级不就是自己控制的吗?就在sprite里面会有一个sorting layer,应该在这儿,在这儿adictional setting里面,比如这个东西就是ui里面的东西,它的搜题类是menu,就会可能会把这个给盖住,所以为了让它能显示在最上面,所以就选择了用这样一个3D版的text match pro,就可以很方便的。它的显示这个层进行控制,有它显示到gameui的第一层里面将会显示到别东西的上面。
本期视频到这里了,谢谢大家。