您当前的位置:首页 >> 生活 >> 详情
VMIX做的高仿排球世锦赛包装视频教程文字稿
来源: 哔哩哔哩      时间:2023-01-21 03:46:49

视频教程制作还在进行中,文字稿今天刚刚全部写完,视频做了一半,我是边写稿边文字转语音,然后跟着talking剪视频,即然文字稿写完了先发出来社死一下给大家有没有什么毛病。


(资料图片)

Hello大家好我是0211,很荣幸能和直播说联合投稿,今天我将教大家如何用VMIX制作高仿版2022排球世锦赛的包装,现在正在播放就是字母工程的操作演示。那么我制作这个包装的方法是完全参照send老师的这三期视频,以及VMIX官方的一些快捷键和触发器教学,这些视频教程是制作包装的基本原理,大家可以先学习这几个基础教程,再来尝试学习我的这个包装,由于这个工程主要时间消耗在于参数的不断微调,从零开始制作需要调试的时间太久,所以我就用已经做好的工程一步一步来讲解是如何制作的。

好我们直接打开实时比分的GT工程,我在制作的时候是导入了世锦赛包装的截图放在最下面做参考,大家有需要的话点击这里导入图片,放到最下层即可。世锦赛的实时比分是分为两个形态,基本形态和扩展形态,我们先制作基本形态,首先这里先画了一个底板,中间放上两个logo,然后是左右两个队伍名称缩写,这里的文本框应该使用水平和垂直居中并把文本框预留的长一点,这样的话如果文本变长了,文字能一直保持在底板一侧居中,并且不会出现换行的情况。接下来这两个是左右两个比分,小比分这里的边框效果,在这里,填充这块改成透明,边框设置在这边,可以设置边框宽度、样式、颜色等等,大比分的底板同理,在颜色这里选择渐变,左面右面可以各选一个颜色做渐变效果,然后应用,其他的这些参数大家可以自己尝试一下,ok,然后这个倾斜的效果在effects,skew这里可以调整。最后是这两个边框色块。下面开始做实时比分基本形态的进出场动画,我们这里先做进场动画,先把底板隐藏一下,方便观察,因为入场第一个动画是这个logo和底板从下面飞上去的一个效果,我们先选中这个底板,第一个转场效果用到的是这个fly,从下往上飞,因为是第一个动画效果,所以延迟就是0,然后持续时间就根据需要调整到合适的数值,运动方式我用的是线性,就是匀速运动,下面这个是缓入缓出,有一些加速度在的,这个是缓入,缓出,然后最后两个就是奇怪的效果,一般根本用不到,就是这样的。然后这个cuz的logo动画和底板是一样的,所以同理,参数都是一样的。cuz的logo飞上来之后还有一个切换logo的动画所以在2号和3号专场效果里用了fly和fade两个效果来让cuz飞走,延迟和持续时间都是一点一点试出来了,不然也不会做了一个月,运动方式也是根据需要调整,然后这里点开了反向,因为这块的运动方式是和进场方向反着的,这样就做出了cuz logo的进场和出场效果,然后是排协logo的进场他只需要fly和fade两个效果就够了,值得注意的是,fly的效果是基于整个画幅的,所以排协logo要从最上面边缘飞下来,所以延迟的设定要提前很多,让它提前开始飞,等到了合适的位置再开始fade让它出现,所以就需要大家不停的调试不同图层的参数,让不同图层的动画可以互相配合形成一个完整的动画效果。这里我在两个logo之间又添加了一个底板,因为GT的功能限制,在cuz logo做完飞出的动画后他会自动跳回到初始位置,出现两个logo叠在一起的情况,所以在logo飞走之后立刻叠上一个底板覆盖掉。接下来是底板动画,世锦赛的动画是有色块还是倾斜的,但是这个效果GT做不出来,所以我尝试在AE里面单独做底板动画,然后导出成这样png序列帧,在导入图片这里选中第一帧导入,转场效果选image sequence就是播放序列帧的效果,持续时间就设置成这个序列帧的播放时长即可,同样的为了防止序列帧播放完消失掉,我还是做了个底板,在动画放完之后叠在上面。然后是两个队伍名缩写的入场动画,可以看到按照世锦赛的效果,是有缩放飞入和淡入的效果,所以对应在这里也是使用了这三个专场效果的配合,三个效果后面的三个参数同样需要不停的调试,让三个效果可以互相配合实现一个好看的效果。接下来是比分的入场效果,因为这一整块的入场效果是同步的,所以我直接选中编组来添加转场动画,和队伍名同样是这三个效果的配合,最后是这两个色块边框,我这里直接简单的在合适的位置淡入做入场动画了。以上的入场动画经过不断的参数调整,一个基本形态的入场动画就做好了。

出场动画基本同理,只不过动画的默认运动方向和入场动画是反向的。

然后是扩展动画,分别把底板,队名还有logo调整合适大小放到合适的位置,两边的扩展底板我选择单独分开而不是连在一起放在底层,是因为两侧的扩展底板需要有reveal向两侧延伸的动画,如果是一整块的话压在基础底板下面的一部分动画时间不好掌握。

扩展动画的入场是在page1里面做的,因为transition in已经给了基础形态的入场动画,扩展部分的动画又要联动基础形态的一些元素,动画是和入场动画没有关联的,不可能和基础形态的入场动画同时进行,所以扩展动画只能单独放在page1里面做。

首先两侧扩展底板的动画用的是reveal,左面的扩展底板就是从右往左展开这个效果,其他参数和前面一样自己去调试一个合适的效果即可,然后我们把基础的底板隐藏看一下效果,我们可以看到这个动画有一个运动模糊的效果,他在effect这里,有一个feather,这个就是元素动画运动模糊效果,大家可以根据需要调整一个合适的数值, 然后右扩展底板同理。

然后这个扩展底板的动画还有一个色块跟随飞行的动画,因为GT的色块不能变化大小,然后它的fly效果也比较单一和局限,所以我这里是用AE做的动画序列帧导入进来的,动画效果这里选择图像序列,这里是图像序列的一个文件夹,我在AE里面做的是线性动画,所以在GT里面为了配合扩展底板reveal动画的缓入缓出方式,所以这里序列帧的播放方式也是缓入缓出。

然后队伍名的全称用的是fade、fly和zoom三个效果,后面的参数还是根据实际效果调节,logo这里只用了fade和fly两个效果,zoom的效果不是很必要所以就没有用到,到这里扩展部分的入场动画就做完了, 但是还有基础形态的队伍名缩写需要通过动画让它们消失,同样的也是fade、fly和zoom效果,不过需要注意的是动画方向是反向的所以需要把三个效果的reverse勾上,左面队伍名的fly这里应该是从左往右飞的反向,这样可以让队伍名向右飞走,如果从右往左飞的话是从右面的画框外飞过来,而不是从当前位置向左飞。

扩展动画的出场同理是在page2里面做的,用到的动画效果和入场都是一样的,不过几乎全部的动画效果和入场动画都是反向的所以记得勾选reverse,下面就直接快速演示一遍。

Ok扩展部分的出场动画就做完了,但是扩展部分的元素在transition in和transition out动画里面是不能显示出来的所以需要在transition in和out中把这些元素的动画选择成hidden,这样它们就会被隐藏掉,transition out同理。

接下来是发球方字幕,像这样显示并可以切换发球方的字幕,OK打开GT,先导入我做好的发球方,我这里就是添加了两个排球元素,可以导入一张比分字幕的截图做参考,然后放在对应位置指示双方各自的发球,transition in和out我选择把两个排球元素都用hidden隐藏掉,因为再入场和出场的时候我不能确定哪一方发球,我也不能让双方都发球,所以我在page1中把左面排球用fade动画,右面排球hidden隐藏,page2中相反,这样我可以通过右键选择page来控制发球方。

接下来我们需要用触发键让比分page动画和发球方的上键可以联动实时比分的入场,自动触发播放,默认情况下将字幕通过转场进入PGM里面或者是通过键叠上去只会触发transition in动画,切走则是transition out,而page动画需要通过右键该字幕,点击对应的page才能触发page里的动画, 所以我们利用触发键来自动播放page动画,点击字幕的设置按钮,进入trigger触发键, 首先第一个触发键,第一列的触发条件是,我使用的是字幕上键,如果你选择通过直切进pgm也可以选择transition in,第二列是要实现的功能,根据动画的顺序,第一个要实现的是发球方的上键,叠在实时比分的上面,实时比分我上键上在第二层,所以我选择上第三层的键,第三列input是前面选择的这个功能真对哪个输入来使用,上键上的是发球方字幕,所以就选择发球方字幕,第四列是持续时间,上键的功能没有这个参数,所以没有,第五列则是延迟,单位是毫秒,第一个触发键的延迟是在触发键这个动作刚出发后的延迟,不是这个动作做完在开始计时这个延迟,我这里设定的时间是不断调试好的,恰好是比分入场动画刚好扩展到发球方排球元素的下面之后,让发球方上键,设置好参数后点击add即可添加,如果需要修改选中,修改参数后点击edit即可,删除则点击delete。然后第二个触发键,是让实时比分在入场后,继续播放扩展动画,触发条件依然是上键,后面的几个触发键同理,因为除此之外你没有其他更合适的触发条件,然后功能是next item,这个功能实现的效果就是字幕右键菜单中的下一个选项,因为实时比分的transition in在上键的时候已经播放完了,所以next item触发后就是播放page1的动画也就是扩展动画的入场,后面的input则选择的是实时比分字幕,接下来是dely延迟,在前面已经有相同触发条件的情况下,后面的触发键延迟,都是在上一个相同触发条件的触发键,完成之后的延迟,而不是从触发条件触发开始后的延迟,因此触发键是有顺序的,如果需要调整顺序,可以通过右面的上下箭头调整触发键顺序,所以第二个触发键的延迟设置的时间是在基础动画入场结束后,稍微停顿一下,在继续播放page1的入场。大家跟着前面操作,理解一下后面的触发键,这里就不再做过多细节的解释,第三个触发键则是在扩展动画入场时,下掉发球方的键。第四个触发键,是在扩展动画的入场动画完成后,再停留一段时间,然后触发出场动画。第五个则是恢复基础底板后,再将发球方重新上键。

最后还需要把发球方字幕的默认的自动化功能关掉,点击发球方的设置,在常规设置里把倒数第一个、第二个和第三个关掉,这样发球方的动画就不会因为上下键,自动播放transition in和out的动画而被隐藏掉,自动重启字幕导致发球方错误,以及自动暂停动画导致不显示发球方的问题,这样在任何状态下选择page1和page2后,在执行上下键等任何操作时,字幕状态都不会受到影响。到这里,一个包含自动播放的扩展动画以及发球方的实时比分字幕就完成了。

由于剩下的字幕绝大部分的制作方法,与前面实时比分的制作方法几乎是一模一样,并且实时比分字幕是所有字幕里面,做的最复杂、最认真的字幕,只不过是形态和参数的区别,所以大家自己打开我的工程参考前面的讲解学习一下,这里我给大家讲一下个别字幕特殊的地方,首先是总比分板,按照世锦赛的字幕,在小比分上,获胜方一侧会显示白点代表获胜,在制作阶段,我将所有的比分两侧均画上白点,至于如何控制白点,后面我会讲到用exel的数据链接来修改白点的颜色,如果不是获胜的一方,直接把颜色改成小分的底板颜色就隐藏掉了。

接下来是比赛名称和即将进行的字幕,这个字幕看着很复杂,其实也是像实时比分一样,用到了page叶的动画,比赛名称部分的元素,入场动画在transition in里面制作,并将即将进行的元素进行了隐藏,而比赛名称部分的出场和即将进行的入场动画在page1里面制作,最后即将进行元素的出场动画在transition out里制作,并隐藏比赛名称的元素。除此之外,比赛名称的入场动画中有一个色块向上滑过,我尝试使用了mask遮罩制作了这个效果,首先我在比赛名称底板最上面的外面画上这个色块,因为这里是色块运动的终点,最后色块不能覆盖在底板上,然后用fly的效果,调整合适的参数和底板的展开效果同时向上运动,最后在effect这里有个mask,选择底板这个图层,这样色块在底板之外部分就不会显示出来了。最后记得这个字幕有一个触发键,自动播放page1的出场和入场动画。

最后是暂停、局点、赛点字幕,这个字幕和发球方制作方法一样,在page里面分别做双方的字幕,只不过动画从fade改成了reveal。

字幕的制作现在全部讲完了,下面根据四个键的图层关系,简单讲一下这几种不同类型的字幕的上键方式,首先我选择上键而不是直接切进pgm,是因为第一个我考虑到字幕的通用性,这个字幕工程不一定是要完全当作字幕机使用,上键的方式还可以把vmix当作切换台,输入摄像机信号,这样字幕只能通过上键方式包装字幕,第二个直切进pgm只能上一个字幕,二发球方以及暂停、局点、赛点的字幕也只能通过上键叠入,并且暂停字幕有一小部分多余的底板需要被实时比分覆盖掉,否则暂停字幕因无法精确绘制而多出来的一块,覆盖在实时比分上面影响美观,所以为了统一操作所有字幕全部通过键的方式包装。然后大部分的基础字幕我选择上再键2上,因为前面讲了实时比分需要覆盖在暂停字幕的上面,按照vmix的键图层覆盖关系,数字大的键覆盖在数字小的键上面,所以键1上暂停字幕,而其他同类型的基础字幕为了防止误操作统一上键二,而键3则是发球方字幕覆盖在实时比分上面。

最后一项工作是整个字幕工程的重点,exel数据链接,一个功能完善的exel表格可以节省很多不必要的工作,但是在一些简单的项目里,可以字幕源右键,在title editor中直接修改这个字幕的所有text文本、image图像和color颜色,但是这些颜色不仅可以在这里手动修改,还可以通过exel数据链接的方式,在exel中方便快速的查找修改数据。接下来我们就先制作exel表格,首先sheet1工作表是我用来修改数据的表格,实时比分这里,颜色选择是在交换场地时更改双方的边框颜色,学院的缩写和logo位置我没有列出来,是因为它们的原属数据就是学院的全称,在后面我会讲到通过原属数据把其他的数据也同时获取出来,总比分板同理只有原始数据,大比分可以通过小比分的大小比较来计算各自的得分情况, 然后是即将进行的数据,赛程这里的VS和比分是手动输入的,最后是其他数据,几个字幕通用的数据都在这里修改,比赛日期我用了一个获取实时日期的函数。

接下来,在sheet2表格里面是所有vmix读取数据的地方,与数据修改区分开会方便一些,大部分原始数据可以直接使用等于号选择前面数据修改里对应的数据,像颜色数据vmix需要读取颜色的二进制码,所以需要将颜色的名称对应转换成二进制码,所以这里使用了这样两个函数嵌套使用,内部函数的作用是读取sheet1颜色名称,然后查找sheet4中颜色数据工作表中选中范围内,颜色名称相同的行数,然后外部函则是引用单元格的数值 ,行坐标通过内部函数获取,工作表和列直接输入对应数值所在工作表和列数,由此建议把同类型参数放在同一个工作表中并纵向排列,具体函数的介绍大家自行百度,涉及计算机知识,我也没有深究,也只是百度根据需求搜到的函数。学院的简称,全称以及logo的文件位置同理,当然学院的全称也可以直接等于sheet1的原始数据。

总比分板这里还有总比分和颜色数据没有计算出来,总比分我使用了多个if函数的值相加,每个if函数对应每个小比分,这一方的小比分大于对面,真则结果是1,否则结果为0,另一方的大比分也同理。然后的分方的白点标识也是用的一个if函数,比较两者大小,这一方大于对方则是白色的二进制码,否则是对应小比分底板颜色的二进制码。

其他数据都可以用等于号直接从sheet1中读取过来,但是考虑到可能会用到多种日期日期格式,用了两个公式来变换不一样的日期格式,如果需要其他格式大家自行百度即可。

最后是将exel数据链接到vmix中,在vmix里,右下角三道杠,data sources manager,点击加号导入exel表格,这个是命名,这个是选择文件位置,我这里已经导入好表格了,就直接关掉了, 然后字幕源右键,title editor,选中要链接的数据,点击data source,选择导入的表格,选择数据所在的工作表,这里也就是数据读取工作表,然后点击manager可以查看需要的数据在哪一行那一列, 然后关掉,选择行和列,链接好后在exel中修改数据保存后vmix中,字幕数据就实时修改了。

如果大家需要比分数据有变化时需要一些动画效果,可以在gt中选择要做动画的图层,storyboard选择data source change in或out,对应数据变化时图层元素的入场或出场的效果,这里的in和out只是动画的方向不同,触发动画的条件是后面括号中对应图层的数据有变化时触发该动画,我这里没有制作比分数据变化时的动画,因为没有太大必要。

然后在实际使用实时比分字幕的时候发现,在换场地时,实时比分字幕在exel中所有数据全部调换位置稍微有些麻烦,在现场有些手忙脚乱,于是我想到再复制一份实时比分字幕,将数据链接稍作调整,把exel左面的数据全部链接到右面的图层上,这样在交换场地时直接上另一个反向的字幕即可。

然后对于有一些数据,像是底板的颜色,logo等等不需要修改的数据,我为了防止误操作在title editor中不小心修改掉,我在GT中把一些图层元素,在data中勾选hidden隐藏掉了,所以有些数据在title editor中不显示一些数据,如果需要修改可以在GT中改回来。

最后的最后就是一些快捷键的应用,我设置了一些字幕上下键的快捷键,但是在实际使用中并不是非常的常用,最常用的还是加减比分的快捷键,send老师之前也有介绍过,视频里的加减分我只设置了正向的实时比分,分享的工程里应该是已经加上了反向字幕的快捷键,两个相反实时比分的加减设置了同一个快捷键,这样两个字幕的数据就可以同步,防止出错,但是为了防止反向字幕的分数加错队伍,反向的字幕右比分用的是左面的快捷键,在实际使用的时候需要注意,另外需要注意的是,在vmix中用快捷键加的分数是不会同步到exel中,只有改exel数据保存后修改vmix的数据,所以注意不要不小心保存了没有修改比分的exel,导致vmix中的数据出现错误。

OK以上就是VMIX制作排球世锦赛包装的教程,如果有任何问题欢迎大家在评论区讨论交流。