Blender2.5x-2.6完全教程 1.5.5:修订间差异

来自Ubuntu中文
跳到导航跳到搜索
Yq-ysy留言 | 贡献
Yq-ysy留言 | 贡献
 
(未显示同一用户的87个中间版本)
第1行: 第1行:
=第 1.5.5  节 中文字幕制作方法 (subtitles)=
=第 1.5.5  节 中文字幕制作方法 (subtitles)=


  越来越多的人开始使用Blender的Video Sequence Editor视频序列编辑器(简称VSE)来进行影片的剪辑工作,然而在Subtitles字幕的制作上遇到了难题,因为截止至目前的Blender 2.64版,还没有专门的字幕编辑器。如果使用其它字幕软件的生成的字幕TGA序列图片,又不利于字幕的校对和修改。因为如果想修改其中几个字,或者多加一两行,又得使用其它的字幕软件来生成TGA图片然后再导入Blender……这实在是太麻烦。
  越来越多的人开始使用Blender的Video Sequence Editor视频序列编辑器(简称VSE)来进行影片的剪辑工作,但截止至目前的Blender 2.64版,还没有专门的字幕编辑器,因此在Subtitles字幕的制作上遇到了难题。如果使用其它字幕软件的生成的字幕TGA序列图片,这不利于字幕的校对和修改,如果想修改其中几个字,或者多加一两行,又得使用其它的字幕软件来生成TGA图片然后再导入Blender……这实在是太麻烦。


  下面介绍的Blender字幕制作方法,是直接使用Text文字物体设定字幕的动画场景,然后叠加到VSE视频序列编辑器中。因为从Blender 2.64 Linux版开始支持中文汉字的直接输入,所以这就实现了字幕制作的实时输入、编辑和修改,在同一软件上的一条龙流水线作业,不再需要使用其它字幕软件导入导出了。(其它尚未支持中文汉字直接输入的旧版本Blender,可以使用“粘贴UTF-8文本文件”的方法实现中文汉字的输入,具体的详细使用方法请参考[[Blender2.5x-2.6完全教程_1.5.2|第 1.5.2 节]])。
  因此,在Blender开发出字幕编辑器之前,就需要找到一种解决方案。下面介绍的Blender字幕制作方法,是直接使用Text文字物体设定字幕的动画场景,然后叠加到VSE视频序列编辑器中。因为从Blender 2.64 Linux版开始支持中文汉字的直接输入,所以这就实现了字幕制作的实时输入、编辑和修改,在同一软件上的一条龙流水线作业,不再需要使用其它字幕软件导入导出了。(其它尚未支持中文汉字直接输入的旧版本Blender,可以使用“粘贴UTF-8文本文件”的方法实现中文汉字的输入,具体的详细使用方法请参考[[Blender2.5x-2.6完全教程_1.5.2|第 1.5.2 节]])。本例的字幕方法主要分四步进行,主要内容如下:
*(1)布置摄像机和灯光——把摄像机设置为正交类型,把灯光设置为太阳光。
*(2)中文汉字的设定——字体设定,添加黑边,电视台对字幕的一般要求。
*(3)字幕动画效果——移动第二行替换第一行,生成后续相同动作关键帧。
*(4)在视频序列中叠加字幕——字幕叠加到视频上,裁剪字幕只显示一行,一边预览视频一边输入、校对、修改字幕,根据视频中的对白调整每一句字幕的显示时间。
*(5)编辑字幕时需要注意的一些事项
  这个方法也许并不是最简单的字幕制作方法,只希望能为大家提供一种解决问题的思路。如果哪位朋友有其它更好的字幕制作方法,也欢迎添加到本教程中,大家相互分享使用经验。


'''布置摄像机和灯光——'''
==='''(1)布置摄像机和灯光——'''===


*假设您正在使用Blender剪辑一部影片,现在想为这部影片的对白加上字幕 ⇒ 点击最上方Info信息编辑器中的Choose Screen Layout选择屏幕布局菜单按钮 ⇒ 在弹出的菜单中选择Default默认的3D View视图(也可以按几下快捷键Ctrl →切换屏幕布局,请参考[[Blender2.5x-2.6完全教程_1.2.4|第 1.2.4 节]]) ⇒ 继续点击最上方Info信息编辑器中Scene场景旁的“+”号按钮 ⇒ 在弹出的New Scene新建场景菜单中,选择New新建(请参考[[Blender2.5x-2.6完全教程_2.2.5|第 2.2.5 节]]) ⇒ 新建的场景被自动命名为Scene.001,您也可以将它重命名,这个场景将专门用于编辑字幕。
  首先要注意,使用Blender剪辑一部影片时,最好让剪辑用的Video Sequence Editor视频序列编辑器和编辑字幕用的3D View视图编辑器使用的都是同一个Scene场景,这样就能实现在同一个窗口Layout布局中,一边在Video Sequence Editor视频序列编辑器中播放正在剪辑中的视频,另一边可以同时在3D View视图编辑器中输入或校对修改字幕。如果字幕和视频序列编辑器使用的是分别不同的2个场景,那么每次修改都需要在3D View视图编辑器和VSE编辑器之前频繁切换,操作起来就比较麻烦。


*继续上例 ⇒ 现在3D Cursor游标处在场景的Origin原点(0,0,0)中央,如果不在中央 ⇒ Shift S 吸附捕捉 ⇒ 在弹出的Snap吸附捕捉菜单里,选择Cursor to Center游标移动到场景中心原点(请参考[[Blender2.5x-2.6完全教程_2.2.2|第 2.2.2 节]]) ⇒ Shift A 添加 ⇒ 在弹出的菜单中选择Text文本 ⇒ 可以看到,有Text字样出现在场景中央 ⇒ Shift A 添加 ⇒ 在弹出的菜单中选择Lamp灯光 ⇒ 在子菜单中选择Sun太阳(之所以选择日光,是因为其光线平行均匀,照在文字上不会出现近明远暗的渐变现像) ⇒  G Z 3 把太阳向上移动3个单位。
*现在新建一个空场景 ⇒ 点击最上方Info信息编辑器中的Choose Screen Layout选择屏幕布局菜单按钮 ⇒ 在弹出的菜单中选择Default默认的3D View视图(也可以按几下快捷键Ctrl →切换屏幕布局,请参考[[Blender2.5x-2.6完全教程_1.2.4|第 1.2.4 节]]) ⇒ 继续点击最上方Info信息编辑器中Scene场景旁的“+”号按钮 ⇒ 在弹出的New Scene新建场景菜单中,选择New新建(请参考[[Blender2.5x-2.6完全教程_2.2.5|第 2.2.5 节]]) ⇒ 新建的场景被自动命名为Scene.001,您也可以将它重命名,这个场景将专门用于影片的剪辑和编辑字幕。


*继续上例 ⇒ Shift A 添加 ⇒ 在弹出的菜单中选择Camera摄像机 ⇒ 现在这个摄像机被添加在了场景原点的中央,但镜头的方向没有对准Text文字 ⇒ Alt R 物体旋转清零(请参考[[Blender2.5x-2.6完全教程_2.1.7|第 2.1.7 节]]),现在摄像机的镜头是朝下的了 ⇒ G Z 1 把摄像机向上移动1个单位,现在摄像机对准文字了 ⇒ 数字键盘 0 切换到摄像机视角,可以看到摄像机的取景框内只拍到了Text文字一小部分 ⇒ 右边Properties特性编辑器 ⇒ 摄像机图标Object Data物体数据标签页 ⇒ Lens镜头栏目下,默认已选中的是左边的Perspective透视型摄像机,现在改为选中中间的Orthographic正交型摄像机,可以看到,Text文字都出现在了摄像机的取景框内(这时,如果再沿着Z轴移动Camera摄像机,不论是靠近或远离Text文字,都不会发生近大远小的变化,因为在正交类型摄像机下,物体的大小都始终保持不变。)
'''其实不用灯光也可以,只需要为文字添加一个白色材质,并且在材质的Shading显影栏目下,勾选Shadeless无阴影,调大Emit自发光的参数,即可实现白色的字幕。'''


'''中文汉字的设定——'''
*继续上例,现在设置灯光 ⇒ 现在3D Cursor游标处在场景的Origin原点(0,0,0)中央,如果不在中央 ⇒ Shift S 吸附捕捉 ⇒ 在弹出的Snap吸附捕捉菜单里,选择Cursor to Center游标移动到场景中心原点(请参考[[Blender2.5x-2.6完全教程_2.2.2|第 2.2.2 节]]) ⇒ Shift A 添加 ⇒ 在弹出的菜单中选择Text文本 ⇒ 可以看到,有Text字样出现在场景中央 ⇒ Shift A 添加 ⇒ 在弹出的菜单中选择Lamp灯光 ⇒ 在子菜单中选择Sun太阳('''这一步很重要!'''之所以选择日光,是因为其光线平行均匀,照在文字上不会出现近明远暗的渐变现像) ⇒  G Z 3 把太阳向上移动3个单位。


*继续上例,在进行中文汉字的设定之前,首先要做的,是设置好需要的画面 ⇒ 右边Properties特性编辑器 ⇒ 照相机图标Render渲染标签页 ⇒ Dimensions尺寸栏目下,点击Render Presets渲染器预设菜单按钮 ⇒ 在弹出的菜单中选择与您正在剪辑的影片一样的视频制式和尺寸比例(本教程以国内的普通电视制式TV PAL 4:3为例) ⇒ 右边Properties特性编辑器 ⇒ 摄像机图标Object Data物体数据标签页 ⇒ Display显示栏目下,勾选Title Safe字幕安全框 ⇒ 可以在View视图中看到,摄像机的取景框内,多了一圈带圆角的矩形虚线,屏幕上出现的所有字幕都应该处在这个Title Safe字幕安全框内,才能在电视机上正确显示出来。
*继续上例,现在设置摄像机 ⇒ Shift A 添加 ⇒ 在弹出的菜单中选择Camera摄像机 ⇒ 现在这个摄像机被添加在了场景原点的中央,但镜头的方向没有对准Text文字 ⇒ Alt R 物体旋转清零(请参考[[Blender2.5x-2.6完全教程_2.1.7|第 2.1.7 节]]),现在摄像机的镜头是朝下的了 ⇒ G Z 1 把摄像机向上移动1个单位,现在摄像机对准文字了 ⇒ 数字键盘 0 切换到摄像机视图,可以看到摄像机的取景框内只拍到了Text文字一小部分 ⇒ 右边Properties特性编辑器 ⇒ 摄像机图标Object Data物体数据标签页 ⇒ Lens镜头栏目下,默认已选中的是左边的Perspective透视型摄像机,现在改为选中中间的Orthographic正交型摄像机。('''这一步很重要!'''这样最终得到的字幕才是平面的2D字幕,不会出现3D文字的厚度,较长的字幕也不会出现透视现像的变形。) ⇒ 现在在摄像机视图中可以看到,Text文字都出现在了摄像机的取景框内(这时,如果再沿着Z轴移动Camera摄像机,不论是靠近或远离Text文字,摄像机视图中的Text文字都不会发生近大远小的变化,这是因为在正交类型摄像机下,物体的大小都始终保持不变。)


  我们在电视机上实际看到的画面,会比电视机接收到的实际视频信号画面要小一些。也就是说,会有一小部分画面超出电视机的屏幕之外,我们看不到。不同型号的电视机,被超出看不到的画面部分大小也不尽相同。因此,Title Safe字幕安全框的作用,就是确保在Title Safe字幕安全框的视频图像部分是所有电视机都可以看到的。这块区域约占屏幕80%左右,要防止视频中的文字被电视机边缘遮盖,就应该将所有字幕或文字限制在字幕安全区域内。'''注意:不同的视频编辑软件,字幕安全框的大小和位置会有所不同。'''有的视频软件是使用两重的字幕安全线,有的视频软件还可以自已手动调节字幕安全框的大小。因此,视频软件中字幕安全线仅仅是一个帮助字幕定位用的标识,是否符合当地电视台播出的标准,还需要参照各地电视台的实际技术要求。
[[Image:Blender-tutorial_1-5-5_01.png]]


*继续上例,现在设定字体、字号大小和字幕的位置 ⇒ 现在仍是在Object物体模式下,鼠标右键点击选中Text文字 ⇒ 右边Properties特性编辑器 ⇒ F图标Object Data物体数据标签页 ⇒ Font字体栏目下 ⇒ 点击Regular规则项目旁的“打开文件夹”按钮 ⇒ 在弹出的File Browser文件浏览器中,选择您需要的字体(通常用于影片对白字幕的字体是黑体字) ⇒ 调节下方的Size字体尺寸数值项目,可以调节为0.22 ⇒ 再下方的Paragraph段落栏目 ⇒ Aligin对齐项目中,把默认的Left向左对齐改选为Center居中对齐 ⇒ G Y 沿Y轴上下移动Text文字,让其处在需要的位置 ⇒ 好了,现在可以按下Tab键,切换到Edit编辑模式下,先输入两三汉字,然后再继续调整字体的大小和位置。(Blender 2.64 Linux版可以直接用汉字输入法输入汉字或者直接复制粘贴汉字。而其他windows或较旧的版本需要使用“粘贴UTF-8文本文件”的方法实现中文汉字的输入时,如果汉字过多过长,有可能会出现显示不完整或者Blender崩溃退出的情况,因此在操作之前,请注意保存工程文件。Blender汉字输入的详细使用方法请参考[[Blender2.5x-2.6完全教程_1.5.2|第 1.5.2 节]])。)
==='''(2)中文汉字的设定——'''===


*通常国内电视台对字幕的要求如下(不同地区也有所不同):
*继续上例,在进行中文汉字的设定之前,首先要做的,是设置好需要的画面 ⇒ 右边Properties特性编辑器 ⇒ 照相机图标Render渲染标签页 ⇒ Dimensions尺寸栏目下,点击Render Presets渲染器预设菜单按钮 ⇒ 在弹出的菜单中选择与您正在剪辑的影片一样的视频制式和尺寸比例(本教程以国内的普通电视制式TV PAL 4:3为例) ⇒  右边Properties特性编辑器 ⇒ 摄像机图标Object Data物体数据标签页 ⇒ Display显示栏目下,勾选Title Safe字幕安全框 ⇒ 可以在View视图中看到,摄像机的取景框内,多了一圈带圆角的矩形虚线,屏幕上出现的所有字幕都应该处在这个Title Safe字幕安全框内,才能在所有的电视机上正确显示出来。
**'''文字字体:'''用于对白的字幕一般要求用黑体字。(因为黑体字是观众最容易看清的字体,而类似于像“横细竖粗”的宋体字体则观众不容易看清。)
**'''文字颜色:'''白色。如果是处在画面中的字幕,则应加上黑色的细边框(否则遇到白色衣服、白色墙壁这类画面时,白色的字幕就看不见了)。如果制作的是“伪16:9”画面的字幕,由于字幕是可以放在画面外的黑色背景中,所以白色的字幕可以不用加上黑色的细边框。
**'''文字大小:'''字幕安全框内横向约22字,纵向约18字。(不能以办公软件或文字处理软件的“字号”来确定大小,因为不同的字体大小不同,即使是同一字体在不同软件上显示的大小也不同。所以,最保险的方法,是把当地电视台播出的带字幕的电视剧或栏目剧的截图,放在背景图中,参照着调节文字的大小。Backgtound背景图片的详细使用方法请参考[[Blender2.5x-2.6完全教程_4.1.2|第 4.1.2 节]]))
**'''文字数量:'''用于对白的字幕通常只能有一行,且每一行不超过13个字。(如果字数太多,观众会“找不着北,看得太累”。)
**'''标点符号:'''用于对白的字幕不使用标号,需要断行的地方,用空格。(有三个标点符号是例外,可以用:外国人名的间隔号·;书名号《》;用于表示引用或反语的双引号“”。)用于新闻或广告的滚动字幕则不受限制,可以有标点符号。
**'''分行断行:'''用于对白的同一行字幕里,只能是同一个角色说的话。另一个人说话的内容应该分在下一行字幕显示。(即使是激烈的、快速的“吵架”,也不应该把不同角色的对话字幕放在同一行,否则容易使观众感觉混乱,不知道哪句话是谁说的。)同一个人说的这一句话如果太长,超出13个字,那么应该根据说话者停顿、换气、或者在恰当的词语后面分行,由下一行字幕继续显示。(尽量避免把意思连贯的词组分行显示。)同一个人这一句话如果字数少,可以用空格断行,在同一行显示。(例如在简单的称呼之后马上说的较短对话,带空格总共不超过13个字。)
**'''停留时间:'''如果该行字幕后面没有紧接着的对白声音,则这一行字幕应在对白说完后停留2秒。长时间没有对白时,在Blender中可以输入一个空白行用于“空白字幕的显示”。('''注意:有些字体在换行后的那一空行的高度,也许会与该字体的高度不一致。'''所以为保险起见,可以在这一空行中输入一个全角空格符“ ”,这样就能确保这一空行与其它字幕行高度一致,避免在后面字幕移动换行移动时发生高度误差,这个空格屏幕上也看不出来。)


'''字幕动画效果——'''
  我们在旧式的显像管电视机上实际看到的画面,会比电视机接收到的视频信号画面要小一些。也就是说,会有一小部分画面超出电视机的屏幕之外,我们看不到。不同型号的电视机,被超出看不到的画面部分大小也不尽相同。因此,Title Safe字幕安全框的作用,就是确保在Title Safe字幕安全框的视频图像部分是所有电视机都可以看到的。这块区域约占屏幕80%左右,要防止视频中的文字被电视机边缘遮盖,就应该将所有字幕或文字限制在字幕安全区域内。'''注意:不同的视频编辑软件,字幕安全框的大小和位置会有所不同。'''有的视频软件是使用两重安全线(字幕安全线和动作安全线),有的视频软件还可以自已手动调节字幕安全框的大小。因此,视频软件中字幕安全线仅仅是一个帮助字幕定位用的标识,是否符合当地电视台播出的标准,还需要参照各地电视台的实际技术要求。


'''视频序列叠加字幕——'''
*继续上例,现在设定字体、字号大小和字幕的位置 ⇒ 现在仍是在Object物体模式下,鼠标右键点击选中Text文字 ⇒ 右边Properties特性编辑器 ⇒ F图标Object Data物体数据标签页 ⇒ Font字体栏目下 ⇒ 点击Regular规则项目旁的“打开文件夹”按钮 ⇒ 在弹出的File Browser文件浏览器中,选择您需要的字体(通常用于影片对白字幕的字体是黑体字,本例在Linux下选用的是WenQuanYiMicroHei文泉驿微黑) ⇒ 好了,现在可以按下Tab键,切换到Edit编辑模式下,先随意输入四行汉字作为样板,然后再接着调整字体的大小和位置(请参考[[Blender2.5x-2.6完全教程_1.5.2|第 1.5.2 节]]) ⇒ 调节Font字体栏目下方的Size字体尺寸数值项目,本例调节为0.32 ⇒ 再下方的Paragraph段落栏目 ⇒ Aligin对齐项目中,把默认的Left向左对齐改选为Center居中对齐 ⇒ 下方Spacing间距栏目下,把默认为1.0的Character字符间距修改为1.1 ⇒ 默认为1.0的Line行距不变(留一点行距用于弥补字幕动画误差造成的错误显示) ⇒ 把鼠标放回View视图 ⇒ G Y 用鼠标沿Y轴上下移动Text文字到您需要的位置。本例是让文字处在字幕安全框内,且文字的最下端刚好压着字幕安全框的下沿边线,点击鼠标左键确定。'''注意:移动文字时参考“文字的最下端”,应选择有笔画“一竖到底”的汉字(例如“十”字),不要选择那些没有任何笔画处在最下端的汉字(例如“二、三”)。'''(建议滚动鼠标中键放大视图显示,然后再精细移动Text文字,以确保准确定位。)


*View视图里默认已有并已选中Cube立方体 ⇒ T
*继续上例,现在设置背景 ⇒ 仍是在Scene.001场景的3D View视图中,到目前为止没有对Text文字做任何的颜色设置,也没有赋予Text文字任何的Material材质和Texture纹理 ⇒ 把鼠标放回3D View视图中 ⇒ F12 静态渲染当前帧 ⇒ 可以看到,Text文字已经是白色,由于我们在这个新建的Scene.001场景中也没有创建新的World世界或Ambient Effects环境影响,所以背景就是黑色(Blender刚启动时默认的Scene场景中有一个默认的World世界背景是灰色,因此,如果是在默认的Scene场景中添加的Text文字,则需要把World世界的默认背景删除掉)。


{| align=center border=0 style="width: 100%;"
|+ '''通常国内电视台对字幕的要求如下(不同省市地区的电视台要求也许会有所不同)'''
|- bgcolor=#FFDDAA
| style="width: 10%;" | '''文字字体'''
| style="width: 90%;" |   用于对白的字幕一般要求用黑体字。(因为黑体字的每一个笔划都是粗细均匀的,所以观众最容易看清;而笔划“横细竖粗”的宋体字体、以及笔划“两端粗大、中间较细”的楷体和隶书,观众就不容易看清。)
|- bgcolor=#FFDDAA
|  '''文字颜色'''
|   白色。如果是处在画面中的字幕,则应加上黑边。(否则遇到画面中出现白色衣服、白色墙壁时,白色的字幕就看不见了)。如果制作的是“伪16:9”画面的字幕,由于字幕是可以放在画面外的黑色背景中,所以白色的字幕可以不用加上黑边。(黑边的粗细不可过粗或过细,黑边不应加在“外边框”造成字与字之间太拥挤,也不应加在“内边框”造成字体白色部分太少,而应加在“中间”。)
|- bgcolor=#FFDDAA
| '''文字大小'''
|   以国内的普通电视制式TV PAL 4:3为例,横向26个字,纵向19个字,即26x19个字可填满整个画面。字幕安全框内横向约22字,纵向约15字。动作安全框内横向约24字,纵向约17字。(不能以办公软件或文字处理软件的“字号”来确定大小,因为同一字号的不同字体大小不同,即使是同一字号的同一字体在不同软件上显示的大小也不同。所以,最保险的方法,是把当地电视台播出的带字幕的电视剧或栏目剧的截图,放在View视图的背景图片中,参照着调节文字的大小。Backgtound背景图片的详细使用方法请参考[[Blender2.5x-2.6完全教程_4.1.2|第 4.1.2 节]]))
|- bgcolor=#FFDDAA
| '''文字位置'''
|   用于对白的字幕,水平方向居中显示,垂直方向理论上是需要让文字处在字幕安全框内,且最下端刚好贴着字幕安全框的下沿。但现在大多数电视台是规定让文字处在动作安全框内,且最下端刚好贴着动作安全框的下沿,原因主要有二个,一是这样能尽量避免字幕太过靠近中央遮挡画面,二是这个位置刚好处在16:9宽屏电视剧画面下方的黑色背景处。(国内的普通电视制式TV PAL 4:3的画面高度为19行汉字,倒数第二行汉字多一些即可处在字幕安全框内,倒数第一行汉字多一些即处在动作安全框内。)
|- bgcolor=#FFDDAA
| '''文字数量'''
|   用于对白的字幕只允许有一行,且每一行不超过13~15个字。(如果字数太多太长,观众眼球的移动范围过大,会使人感觉“找不着北,看得太累”。)
|- bgcolor=#FFDDAA
| '''标点符号'''
|   用于对白的字幕不使用标号,需要断行的地方,用空格。(有三个标点符号是可以例外使用的:一是外国人名的间隔号·;二是书名号《》;三是表示引用或反语的双引号“”。)用于新闻或广告的水平滚动字幕则不受限制,可以有标点符号。
|- bgcolor=#FFDDAA
| '''断行分行'''
|   同一个人这一句话如果字数少,可以用空格断行,在同一行显示。(例如在简单的称呼之后马上说的较短对话,带空格总共不超过13个字。)同一个人说的这一句话如果太长,超出13个字需要分行时,应尽量避免把意思连贯的词组分割开来。(可以选择在说话者停顿时、换气时、转换镜头时、或者在适宜的词语后面分行,总之要注意字幕的换行与影片节奏搭配恰当,不要因为字幕破坏了影片气氛。)用于对白的同一行字幕里,只能是同一个角色说的话。另一个人说话的内容应该分在下一行字幕显示。(即使是激烈的、快速的“吵架”,也不应该把不同角色的对话字幕放在同一行,否则容易使观众感觉混乱,不知道哪句话是谁说的。)
|- bgcolor=#FFDDAA
| '''停留时间'''
|   如果该行字幕后面没有紧接着的对白声音,则7个字及以内较短的字幕应在对白说完后停留1秒,8个字及以上较长的字幕可以停留至2秒。(要留给观众足够的时间阅读字幕。)长时间没有对白时,在Blender中可以输入一个空白行用于“空白字幕的显示”。('''注意:有些字体在换行后的那一空行的高度,也许会与该字体的高度不一致。'''所以为保险起见,可以在这一空行中输入一个全角空格符“ ”,这样就能确保这一空行与其它字幕行高度一致,避免在后面字幕移动换行移动时发生高度误差,并且这个空格在屏幕上也看不出来。)
|- bgcolor=#FFDDAA
| '''字幕的内容'''
|   用于对白的字幕, 就只能是影片中角色说话的内容,不要像“新闻报道的字幕”那样额外添加什么括号注释、漏词补充、寓意谐音等信息。也不要出现例如:惊叫、哭泣、嘲笑等用于辅助表达情绪的象声词,因为这些情绪发出的声音是全世界通用的,不同语言的人听到都明白是什么意思,况且也已经有画面表现了,因此没有必要再在字幕中使用表达情绪的象声词。
|}


(请参考[[Blender2.5x-2.6完全教程_2.1.3|第 2.1.3 节]])
  如果制作的是“伪16:9”画面的字幕,由于字幕是可以放在画面外的黑色背景中,所以白色的字幕可以不用加上黑边。但如果字幕是处在画面中,则应加上黑边。为Text文字添加黑边有多种方法,例如:纹理贴图法、节点特效法、双重叠加法等等,这些方法操作起来步骤多,比较麻烦,一大段中文汉字特多时,计算量很大,加大了系统的负荷,处理起来会显得很慢,渲染起来也花时间。因此,需要找一种简单的方法。以下方法是利用Blender自带有的Cartoon outline卡通轮廓渲染功能,实现为Text文字添加黑边。这虽然不是一个能让字幕“最清晰最完美地显示”的解决方案,如果您制作的是大屏幕的高清影片,则这种字幕加黑边的效果有可能会不太令您满意。但对于普通电视播出的电视剧以及网络短片来说,应该已经能够满足需要了,对于低配置的电脑来说,这也是系统负荷不大的比较可行的解决方案。


[[Image:Blender-tutorial_1-5-5_02.png]]
*继续上例,由于背景也是黑色的,现在我们需要在文字后添加一个平面,以方便观察字幕加黑边的效果 ⇒ 把鼠标放回3D View视图中 ⇒ F11 切换回3D View视图 ⇒ Shift A 添加 ⇒ Mesh 网格物体 ⇒ Plane 平面 ⇒ S 2 放大2倍 ⇒ G Z -1 沿Z轴向下移动1个单位,让平面处在文字的下方 ⇒ 右边Properties特性编辑器 ⇒ 原子能图标Material材质标签页 ⇒ 点击“+ New”新建按钮,新建一个材质,自动命令为Material.001 ⇒ 在下方出现的众多材质特质面板中 ⇒ 点击Diffuse漫射栏目下方的白色色块 ⇒ 在弹出的选色板中鼠标点击选取任意一种颜色(请参考[[Blender2.5x-2.6完全教程_4.1.1|第 4.1.1 节]]) ⇒ 把鼠标放回3D View视图中 ⇒ F12 静态渲染当前帧 ⇒ 可以看到有颜色的平面与白色的汉字,如果平面是较浅的颜色,则白色的汉字看上去就比较难以辨认。
*继续上例,现在给字幕加黑边 ⇒ 右边Properties特性编辑器 ⇒ 照相机图标Render渲染标签页 ⇒ 下方有个Post Processing后期处理栏目,展开这个栏目 ⇒ 勾选上Edge棱线,下方的Threshold临界值默认是10不用管它,再下方的色块默认是黑色也不用管它 ⇒ 把鼠标放回3D View视图中 ⇒ F12 静态渲染当前帧 ⇒ 可以看到文字已经被加上了黑边,但似乎有点太过头了,文字的白色部分都看不清楚了,没关系,有解决办法 ⇒ 把鼠标放回3D View视图中 ⇒ F11 切换回3D View视图 ⇒ 鼠标右键点击选中Text文字 ⇒ 右边Properties特性编辑器 ⇒ F图标Object Data物体数据标签页 ⇒ Geometry几何构造栏目下 ⇒ 把Bevel倒角项目下的Depth深度数值修改为0.006(这样做的原理是,把3D汉字的底部扩大一些,这样Post Processing后期处理勾勒出来的黑边就向外扩展一些了,顶部的白色汉字字面就能显得清晰一些了) ⇒ 把鼠标放回3D View视图中 ⇒ F12 静态渲染当前帧 ⇒ 可以看到,这回文字清晰多了。
*继续上例,反复细微调整 ⇒ 如果发现添加的黑边“颜色太锐利、而且似乎有锯齿状”的话,只需在照相机图标Render渲染标签页中,勾选Anti-Aliasing抗锯齿栏目即可(默认已勾选),里面的默认参数不用修改 ⇒ 把鼠标放回3D View视图中 ⇒ F12 静态渲染当前帧 ⇒ 现在正在显示着渲染结果的是UV/Image Editor图像编辑器 ⇒ 鼠标点击下方的View视图菜单 ⇒ 选择Zoom 1:1缩放显示(本例是按国内普通电视机的TV PAL 4:3比例720x576大小) ⇒ 可以看到,字幕加黑边的效果还是不错的。(根据您选择的字体不同,也许需要多次调节Bevel倒角项目下的Depth深度数值,才能调节出适当的黑边宽度效果。) ⇒ 把鼠标放回3D View视图中 ⇒ F11 切换回3D View视图 ⇒ 鼠标右键点击选中Plane平面 ⇒  X 删除,回车确认。
[[Image:Blender-tutorial_1-5-5_03.png]]
==='''(3)字幕动画效果——'''===
*继续上例,预置字幕停留的时间和动作 ⇒ 上方的Info信息编辑器 ⇒ 点击Choose Screen lay-out选择屏幕布局设计菜单按钮 ⇒ 在弹出的菜单中选择Animation动画布局(也可以按几下快捷键 Ctrl → 切换) ⇒ 点击最上方Info信息编辑器中的Browse Scene to be linked浏览可链接的场景菜单按钮 ⇒ 在弹出的菜单中选择Scene.001 ⇒ 确认下方的Timeline时间线编辑器中,绿色的当前帧指示线处在第1帧 ⇒ 把鼠标放到3D View视图编辑器中 ⇒ 数字键盘 0 切换到摄像机视图 ⇒ 鼠标右键点击选中Text文字,之前我们已经把第一行字幕文字的下端刚好压在字幕安全区的下沿边线上了 ⇒ I 弹出Insert Keyframe Menu插入关键帧菜单 ⇒ 选择菜单中的第一项Location位置 ⇒ 下方的Timeline时间线编辑器中 ⇒ 把绿色的当前帧指示线移动到第25帧,即1秒处。(也可在时间线编辑器下方的当前帧数字框中调节数字) ⇒ 把鼠标放到3D View视图编辑器中,不要移动任何物体 ⇒ I 在弹出的菜单中选择Location位置,再次插入一个关键帧(这2个关键帧的作用是,让第一行字幕在原地停留1秒即25帧。)
*继续上例,预置字幕切换的时间和动作 ⇒ 点击一下时间线编辑器下方的当前帧数字框右边的小三角箭头,让绿色的当前帧指示线向前移动1帧,即移动到第26帧 ⇒ 鼠标右键在3D View视图编辑器中选中Text文字 ⇒ G Y 沿着Y轴向上移动文字(或者向上点按拖动绿色的Y轴操纵杆,请参考[[Blender2.5x-2.6完全教程_2.1.3|第 2.1.3 节]]),让第二行字幕文字的下端刚好压在字幕安全区的下沿边线上,点击鼠标左键确定。(移动之前,可以先滚动鼠标滚轮放大View视图显示,以确保移动的位置准确。'''这一步很重要!'''否则以后这一微小误差累积起来会让后面的字幕越来越偏上或偏下,无法把握时,宁可稍微移动偏上,因为之前调大了行距,在数行内的误差积累还不会造成错误的显示。) ⇒ I 在弹出的菜单中选择Location位置,再次插入一个关键帧('''这一步很重要!'''这一个关键帧的作用是,让第二行字幕替换掉第一行字幕,且这个移动过程只需一帧就完成,这样观众就感觉不到“字幕向上移动”的过程,只会感觉是“字幕变换了”。)
*继续上例,做一些准备工作 ⇒ 插入关键帧之后,可以看到下方Timeline时间线编辑器中出现了3条黄色的竖线,表示在此帧处存在有关键帧 ⇒ 在Animation动画布局的左边,上面是DopeSheet动画概览编辑器,下面是Graph Editor曲线编辑器,把鼠标放在这两个编辑器其中一个的网格区域内,滚动鼠标滚轮可以放大显示,按着鼠标中键可以移动观察网格区域 ⇒ 可以看到,DopeSheet动画概览编辑器中显示着3列关键帧,这些关键帧所处的位置与下方的Timeline时间线编辑器中3条黄色的竖线是一一对应的 ⇒ 下面Graph Editor曲线编辑器中,隐隐约约地看到有一条暗红色的横线,和一条淡绿色的拐弯的横线,就像“一级绿色的台阶”,这是用于表示物体在连续的各帧中运动状态的F-Curve(Frame-Curve)帧曲线。这两条线上还有几个桔黄色的小圆圈 ⇒ 鼠标点击Graph Editor曲线编辑器TextAction文字动作项目左边的小三角形,可以看到出现了一个Location位置项目 ⇒ 继续展开Location位置项目,可以看到出现了XYZ三个Location位置 ⇒ 因为我们的字幕动画只需要沿Y轴向上移动,所以不需要用到X轴和Z轴,用鼠标左键点击X Location位置和Z Location位置右边的小锁头,使锁头呈闭合状态,锁定X轴和Z轴的位移不可动 ⇒ 鼠标左键点击选中Y Location,让其名称呈白色,网格区域内的表示Y轴的“一级绿色的台阶”F-Curve帧曲线也变成了明亮的绿色 ⇒ 鼠标点击Graph Editor曲线编辑器下方的View视图菜单 ⇒ 在菜单中取消Show Handles显示调节杆的勾选,可以看到,绿线上的桔黄色的小圆圈不见了。(因为我们的字幕动画都是在一帧之内简单的直线运动,所以不需要使用Handles调节杆,关闭其显示是为了避免误选中Handles调节杆造成误操作。)
[[Image:Blender-tutorial_1-5-5_04.png]]
*继续上例,快速生成字幕的重复动作 ⇒ 把鼠标放在Graph Editor曲线编辑器的网格区域中 ⇒ 鼠标右键点击选中绿色F-Curve帧曲线上的第二个黑色控制点(也就是“台阶”的根部),被选中的控制点呈桔黄色 ⇒ N 展开右侧Properties特性栏 ⇒ 点击展开Active Keyframe活动关键帧栏目 ⇒ 记下Key键值项目下的Value数值(例如:-1.728) ⇒ 鼠标右键点击选中绿色F-Curve帧曲线上的第三个黑色控制点(也就是“台阶”的顶角),记下Key键值项目下的Value数值(例如:-1.486) ⇒ 计算这两个控制点Value数值之差(例如:1.728-1.428=0.300) ⇒ 把鼠标放在Graph Editor曲线编辑器的网格区域中 ⇒ A 全不选 ⇒ B 框选绿色F-Curve帧曲线上的第2个和第3个控制点(也就是“台阶”垂直线根部和顶角上的那2个点) ⇒ Shift D X 25 复制这2个控制点,并沿X轴横向移动25帧(即1秒),回车确定 ⇒ G Y 0.242 继续把这2个调节点沿Y轴向上移动0.300个单位,回车确定 ⇒ B 继续框选绿色F-Curve帧曲线上的第2个至第5个一共4个控制点(或者先把当前帧指示线放在某个控制点前,然后按着Ctrl键不放鼠标右键点击,这样就能选中了包括当前帧及往后的全部控制点) ⇒ Shift D X 50 复制这2个控制点,并沿X轴横向移动25x2=50帧(即2秒) ⇒ G Y 0.484 继续把这2个调节点沿Y轴向上移动0.600个单位,回车确定 ⇒ 现在可以看到,Graph Editor曲线编辑器的网格区域里绿色的F-Curve帧曲线中一共有四级的“台阶”。
*继续上例 ⇒ 鼠标左键点击下方的Timeline时间线编辑器,让绿色的当前帧指示线处在第1帧附近 ⇒ 鼠标左键点击Timeline时间线编辑器下方菜单按钮栏上的向右三角形“向前播放动画”按钮(快捷键 Alt A)  ⇒ 可以看到,每隔25帧,字幕就向上移动一行 ⇒ 即使我们之前只输入了4行汉字,在最后一个动画中,整个字幕也依然会继续往上移动了一行 ⇒ 根据您的影片需要的对白字幕行数,重复同样的方法,每次都选中除第一帧外的所有控制点(每一级“台阶”2个控制点为一对,共N对需要复制的控制点),每次Shift D复制后,沿X轴移动(影片帧率 x N对复制的控制点),沿Y轴移动(Key键值项目下的Value数值 x N对复制的控制点))即可 ⇒ 只需重复操作7次,即可一共得到128行字幕移动的动画关键帧,8次可得到256行(对于一部90分钟长的电影来说,即使是一分钟2句话,也够用了吧?) ⇒ 现在字幕动画已经准备好,但看上去太有规律了,而影片中的对白有长有短,因此,接下来就该正式地为这字幕输入影片对白的台词文本,并根据影片的对白情况来调节每一行字幕的停留时间了。
==='''(4)在视频序列中叠加字幕——'''===
*继续上例,导入视频或图片 ⇒ 上方的Info信息编辑器 ⇒ 点击Choose Screen lay-out选择屏幕布局设计菜单按钮 ⇒ 在弹出的菜单中选择Video Editing视频剪辑布局(也可以按几下快捷键 Ctrl → 切换) ⇒ 点击最上方Info信息编辑器中的Browse Scene to be linked浏览可链接的场景菜单按钮 ⇒ 在弹出的菜单中选择Scene.001场景 ⇒ 可以看到,Video Editing视频剪辑布局的左上方是Graph曲线编辑器,里面有之前我们制作绿色台阶F-Curve帧曲线,右上方是Video Sequence Editor视频序列编辑器(VSE)的视频预览窗口,下方是VSE视频序列编辑器的轨道窗口,最下方是Timeline时间线编辑器 ⇒ 点击VSE视频序列编辑器的下方的Add添加菜单 ⇒ 在菜单中选择Movie影片(如果您的电脑里没有视频素材,也可在菜单中选择Image图片代替) ⇒ 在弹出的File Browser文件浏览器中选择您要导入的视频文件(或图片文件),点击Add Movie Strip添加影片素材(或者Add Image Strip添加图片素材) ⇒ 可以看到,一条或两条素材带带被添加到了轨道中,视频素材为蓝灰色(与其相应的音频素材为青色),图片素材为紫色 ⇒ 鼠标右键点击并按着刚导入的这一段素材带的中央不放,把素材带拖到左边对齐第1帧,点击鼠标确定 ⇒ 只要VSE视频序列编辑器中的绿色当前帧指示线处在素材带上,就可以在右上角的视频预览窗口看到该段素材带的画面 ⇒ 在视频预览窗口中滚动鼠标滚轮可以放大显示。
*继续上例,导入字幕 ⇒ 再次点击VSE视频序列编辑器的下方的Add添加菜单 ⇒ 在菜单中选择Scene...场景 ⇒ 在子菜单中选择我们做有字幕的Scene.001场景 ⇒ 可以看到一条明亮的绿色素材带被添加进来了 ⇒ 鼠标右键点击并按着这一段明亮绿色的Scene.001场景素材带,把它拖到所有轨道的最上方,并对齐第1帧 ⇒ 可以右上角的视频预览窗口看到字幕的画面出现了,但是它完全挡住了下方的视频画面 ⇒ 确认现在字幕素材带仍是被选中的状态(有白色外框包围着) ⇒ 把鼠标放在中VSE视频序列编辑器 ⇒ N 展开右侧Properties特性栏 ⇒ Edit Strip编辑素材带栏目 ⇒ 点击Blend混合项目旁的菜单按钮 ⇒ 在Blend Mode混合模式菜单中,把默认的“Cross过渡”改选为第一个“Over Drop沉降” ⇒ 可以在右上角的视频预览窗口看到,字幕下方的画面也出现了。但字幕为什么是灰色的?整个画面的颜色也是偏灰的,好像有点失真了。别急,如果显示的是灰亮的字幕和灰暗的背景,那是因为在渲染图层中,没有把Sky天空的勾选取消掉,所以背景不是透明的,变成灰色的了。
RenderLayer渲染图层标签页里 ⇒ Layer图层栏目下 ⇒ 取消掉Sky天空的勾选,这样背景就可以变透明了 ⇒ F12 静态渲染当前帧 ⇒ 在下方的VSE视频序列编辑器变成了UV/Image Editor图像编辑器 ⇒ 鼠标点示下方的View视图菜单 ⇒ 选择Zoom 1:1缩放显示(本例是按国内普通电视机的TV PAL 4:3比例720x576大小) ⇒ 可以看到,可以看到最终的渲染结果是完美的,白色带黑边的字幕叠加在画面上 ⇒ 但现在显示着有几行字幕,我们只需要一次显示一行字幕,因此,还需要做进一步的设置。
*继续上例,裁剪字幕 ⇒ 点击右上角的视频预览窗口下方的View视图菜单 ⇒ 在菜单中勾选Safe Margin安全边界 ⇒ 可以看到视频预览窗口中出现了一圈字幕安全框的虚线 ⇒ F11 把下方的渲染结果切换回VSE视频序列编辑器的轨道窗口 ⇒ 点按右侧Properties特性栏的滚动条,往下拉 ⇒ 有一个Strip Input素材带输入栏目 ⇒ 勾选Image Offset图像偏移,勾选Image Crop图像裁剪 ⇒ 在Image Crop图像裁剪项目的下方,鼠标点按Top顶部参数并向右拖动 ⇒ 可以在右上角的视频预览窗口中明显地看到,随着鼠标的移动,被剪裁的字幕灰色部分从上往下越来越少,背后的画面清晰的部分越来越多 ⇒ 鼠标点按Top顶部参数继续向右拖动,让顶部的剪裁线处在需要保留字幕的那一行上方一点,但不要“刚好压着”文字的顶端(这是为了给字幕切换的动画留下允许有一些误差的回旋余地) ⇒ 同样地,鼠标点按Bottom底部参数并向右拖动,但这次字幕底部被裁剪的同时,整个字幕也一起往下移动了 ⇒ 鼠标点按Bottom底部参数继续向右拖动,让底部的剪裁线处在需要保留字幕的那一行下方一点,但不要“刚好压着”文字的底部(这也是为了给字幕切换的动画留下允许有一些误差的回旋余地) ⇒ 在Image Offset图像偏移项目的下方,鼠标点按Y坐标参数并向右拖动 ⇒ 可以在右上角的视频预览窗口中看到,随着鼠标的移动,被剪裁的字幕也同时向上移动,移动到文字底部刚好压着字幕安全框的虚线即可 ⇒ 这一切做好后,鼠标左键点击下方的Timeline时间线编辑器,让绿色的当前帧指示线处在第1帧附近 ⇒ 鼠标左键点击Timeline时间线编辑器下方菜单按钮栏上的向右三角形“向前播放动画”按钮(快捷键 Alt A) ⇒ 在视频预览窗口中可以看到,每隔25帧,字幕变换一行(由于上下字幕被裁剪掉了,所以观众看不出字幕其实是每次在一帧之内向上移动了一行) ⇒ Alt A 暂停/播放。
[[Image:Blender-tutorial_1-5-5_05.png]]
*继续上例,输入编辑这一行字幕 ⇒ 在下方的VSE视频序列编辑器轨道窗口,鼠标点按右上角的三斜线不放,向左拖动,分割出一个新的区域(请参考[[Blender2.5x-2.6完全教程_1.2.3|第 1.2.3 节]]) ⇒ 得到2个一模一样的VSE视频序列编辑器轨道窗口 ⇒ 点击左边这个轨道窗口左下角的Editor type编辑器类型菜单按钮 ⇒ 在菜单中选择3D View视图 ⇒ 鼠标右键点击选中3D View视图中的Text文字 ⇒ 数字键盘 0 切换到Camera摄像机视图 ⇒ 滚动鼠标中键调节显示的大小,按着Shift键不放,按着鼠标中键调节观察位置 ⇒ Tab 切换到Edit编辑模式 ⇒ 好了,一切准备就绪,现在就可以一边播放视频,一边根据影片中对白情况输入台词字幕了 ⇒ 把鼠标放在VSE视频序列编辑器轨道窗口,快捷键 Alt A 播放/暂停 ⇒ 鼠标点击Timeline时间线编辑器下方的当前帧数值向左或向右小三角形按钮,精细定位当前帧指示线 ⇒ 把鼠标放在3D View视图中编辑输入在这里需要出现的字幕 ⇒ 这一行字幕编辑完成后,把鼠标放在VSE视频序列编辑器轨道窗口,快捷键 Alt A 继续播放/暂停 ⇒ 如此循环往复工作。'''别忘了经常按Ctrl S保存工程文件。'''
*继续上例,调整这一行字幕的显示时间 ⇒ 把鼠标放在VSE视频序列编辑器轨道窗口,在对话结束时,快捷键 Alt A 继续播放/暂停,'''记住对话结束时这一帧所在的位置''' ⇒ 鼠标在左上角的Graph Editor曲线编辑器中,左键点击,把当前帧指示线放在F-Cruve帧曲线切换下一句字幕的那2个控制点之前 ⇒ AA 全选,然后全不选 ⇒ 按着Ctrl键不放,鼠标右键点击F-Cruve帧曲线下一句字幕“台阶”的垂直线下方那个控制点,这样就选中了包括当前帧及往后的全部控制点 ⇒ G X 移动鼠标沿X轴拖动后续控制点,可以看着最下方的Timeline时间线编辑器,那2条下句字幕的切换黄色动画帧线对齐之前你所记着的“对话结束时这一帧所在的位置”时,点击鼠标左键确定即可 ⇒ 这样调节之后,可以看到,在F-Cruve帧曲线中对白较长的字幕“台阶”也显得较长,对白较短的字幕“台阶”也就显得较短 ⇒ 在长时间没有对白的片段,让字幕显示一行空白就好。
*继续上例,在已有的字幕中间添加多一行字幕 ⇒ 在左上角的Graph Editor曲线编辑器中,鼠标左键点击,把当前帧指示线放在F-Cruve帧曲线需要插入新的一行字幕的地方 ⇒ AA 全选,然后全不选 ⇒ B 框选前2个控制点 ⇒ Shift D X 复制后,沿X轴移动,把新复制出来的控制点放在当前帧指示线附近,点击鼠标左键确定 ⇒ 然后鼠标左键点击,把当前帧指示线放在刚才新复制的2个控制点前面 ⇒ 按着Ctrl键不放,鼠标右键点击F-Cruve帧曲线下一句字幕“台阶”的垂直线下方那个控制点,这样就选中了包括当前帧及往后的全部控制点 ⇒ G Y 沿Y轴移动,移动的距离是前2个控制点Value数值之差,这样就行了 ⇒ 如果想要删除一行字幕,只需在3D View视图中删除文字即可,保留一空行,也省去了再次调节F-Cruve帧曲线控制点的麻烦。
===编辑字幕时需要注意的一些事项——===
*(1)之前我们为了方便编辑和修改字幕,让制作字幕动画的3D View视图和Video Sequence Editor视频序列编辑器都使用Scene.001场景,因此,在Timeline时间线编辑器中点击“播放”按钮时,字幕的动画和剪辑的视频都是同步从第1帧为起点播放的。所以,用我们这个方法制作的字幕动画的第一行必须是空行,要等到影片的第一句对白开始时,才切换到第二行真正有汉字的字幕。(除非您的影片,是以对白开头的,第一行就可以出现汉字。)
*(2)我们这个方法制作的字幕动画会有一些微小的误差,这误差在经过十几行或几十行的积累之后,也许会变成一个较大的误差,从而使字幕的显示出现偏差,因此,最好是每隔十几行或几十行就检查一下,误差大了就修正一下。修正的方法也很简单,在F-Cruve帧曲线中,选中其后的全部控制点,然后沿Y轴上下移动,即调整Key键值项目下的Value数值就行。
*(3)注意:由于汉字的结构比较复杂,如果您的电脑配置不高,那么在输入了很长一大段汉字之后,有可能会造成系统计算的负荷过重、运行缓慢甚至崩溃退出。所以在编辑过程中,请注意经常及时保存。


===<center>&mdash; [[Blender2.5x-2.6完全教程|返回目录]] &mdash;</center>===
===<center>&mdash; [[Blender2.5x-2.6完全教程|返回目录]] &mdash;</center>===

2014年6月18日 (三) 21:32的最新版本

第 1.5.5 节 中文字幕制作方法 (subtitles)

  越来越多的人开始使用Blender的Video Sequence Editor视频序列编辑器(简称VSE)来进行影片的剪辑工作,但截止至目前的Blender 2.64版,还没有专门的字幕编辑器,因此在Subtitles字幕的制作上遇到了难题。如果使用其它字幕软件的生成的字幕TGA序列图片,这不利于字幕的校对和修改,如果想修改其中几个字,或者多加一两行,又得使用其它的字幕软件来生成TGA图片然后再导入Blender……这实在是太麻烦。

  因此,在Blender开发出字幕编辑器之前,就需要找到一种解决方案。下面介绍的Blender字幕制作方法,是直接使用Text文字物体设定字幕的动画场景,然后叠加到VSE视频序列编辑器中。因为从Blender 2.64 Linux版开始支持中文汉字的直接输入,所以这就实现了字幕制作的实时输入、编辑和修改,在同一软件上的一条龙流水线作业,不再需要使用其它字幕软件导入导出了。(其它尚未支持中文汉字直接输入的旧版本Blender,可以使用“粘贴UTF-8文本文件”的方法实现中文汉字的输入,具体的详细使用方法请参考第 1.5.2 节)。本例的字幕方法主要分四步进行,主要内容如下:

  • (1)布置摄像机和灯光——把摄像机设置为正交类型,把灯光设置为太阳光。
  • (2)中文汉字的设定——字体设定,添加黑边,电视台对字幕的一般要求。
  • (3)字幕动画效果——移动第二行替换第一行,生成后续相同动作关键帧。
  • (4)在视频序列中叠加字幕——字幕叠加到视频上,裁剪字幕只显示一行,一边预览视频一边输入、校对、修改字幕,根据视频中的对白调整每一句字幕的显示时间。
  • (5)编辑字幕时需要注意的一些事项

  这个方法也许并不是最简单的字幕制作方法,只希望能为大家提供一种解决问题的思路。如果哪位朋友有其它更好的字幕制作方法,也欢迎添加到本教程中,大家相互分享使用经验。

(1)布置摄像机和灯光——

  首先要注意,使用Blender剪辑一部影片时,最好让剪辑用的Video Sequence Editor视频序列编辑器和编辑字幕用的3D View视图编辑器使用的都是同一个Scene场景,这样就能实现在同一个窗口Layout布局中,一边在Video Sequence Editor视频序列编辑器中播放正在剪辑中的视频,另一边可以同时在3D View视图编辑器中输入或校对修改字幕。如果字幕和视频序列编辑器使用的是分别不同的2个场景,那么每次修改都需要在3D View视图编辑器和VSE编辑器之前频繁切换,操作起来就比较麻烦。

  • 现在新建一个空场景 ⇒ 点击最上方Info信息编辑器中的Choose Screen Layout选择屏幕布局菜单按钮 ⇒ 在弹出的菜单中选择Default默认的3D View视图(也可以按几下快捷键Ctrl →切换屏幕布局,请参考第 1.2.4 节) ⇒ 继续点击最上方Info信息编辑器中Scene场景旁的“+”号按钮 ⇒ 在弹出的New Scene新建场景菜单中,选择New新建(请参考第 2.2.5 节) ⇒ 新建的场景被自动命名为Scene.001,您也可以将它重命名,这个场景将专门用于影片的剪辑和编辑字幕。

其实不用灯光也可以,只需要为文字添加一个白色材质,并且在材质的Shading显影栏目下,勾选Shadeless无阴影,调大Emit自发光的参数,即可实现白色的字幕。

  • 继续上例,现在设置灯光 ⇒ 现在3D Cursor游标处在场景的Origin原点(0,0,0)中央,如果不在中央 ⇒ Shift S 吸附捕捉 ⇒ 在弹出的Snap吸附捕捉菜单里,选择Cursor to Center游标移动到场景中心原点(请参考第 2.2.2 节) ⇒ Shift A 添加 ⇒ 在弹出的菜单中选择Text文本 ⇒ 可以看到,有Text字样出现在场景中央 ⇒ Shift A 添加 ⇒ 在弹出的菜单中选择Lamp灯光 ⇒ 在子菜单中选择Sun太阳(这一步很重要!之所以选择日光,是因为其光线平行均匀,照在文字上不会出现近明远暗的渐变现像) ⇒ G Z 3 把太阳向上移动3个单位。
  • 继续上例,现在设置摄像机 ⇒ Shift A 添加 ⇒ 在弹出的菜单中选择Camera摄像机 ⇒ 现在这个摄像机被添加在了场景原点的中央,但镜头的方向没有对准Text文字 ⇒ Alt R 物体旋转清零(请参考第 2.1.7 节),现在摄像机的镜头是朝下的了 ⇒ G Z 1 把摄像机向上移动1个单位,现在摄像机对准文字了 ⇒ 数字键盘 0 切换到摄像机视图,可以看到摄像机的取景框内只拍到了Text文字一小部分 ⇒ 右边Properties特性编辑器 ⇒ 摄像机图标Object Data物体数据标签页 ⇒ Lens镜头栏目下,默认已选中的是左边的Perspective透视型摄像机,现在改为选中中间的Orthographic正交型摄像机。(这一步很重要!这样最终得到的字幕才是平面的2D字幕,不会出现3D文字的厚度,较长的字幕也不会出现透视现像的变形。) ⇒ 现在在摄像机视图中可以看到,Text文字都出现在了摄像机的取景框内(这时,如果再沿着Z轴移动Camera摄像机,不论是靠近或远离Text文字,摄像机视图中的Text文字都不会发生近大远小的变化,这是因为在正交类型摄像机下,物体的大小都始终保持不变。)

(2)中文汉字的设定——

  • 继续上例,在进行中文汉字的设定之前,首先要做的,是设置好需要的画面 ⇒ 右边Properties特性编辑器 ⇒ 照相机图标Render渲染标签页 ⇒ Dimensions尺寸栏目下,点击Render Presets渲染器预设菜单按钮 ⇒ 在弹出的菜单中选择与您正在剪辑的影片一样的视频制式和尺寸比例(本教程以国内的普通电视制式TV PAL 4:3为例) ⇒ 右边Properties特性编辑器 ⇒ 摄像机图标Object Data物体数据标签页 ⇒ Display显示栏目下,勾选Title Safe字幕安全框 ⇒ 可以在View视图中看到,摄像机的取景框内,多了一圈带圆角的矩形虚线,屏幕上出现的所有字幕都应该处在这个Title Safe字幕安全框内,才能在所有的电视机上正确显示出来。

  我们在旧式的显像管电视机上实际看到的画面,会比电视机接收到的视频信号画面要小一些。也就是说,会有一小部分画面超出电视机的屏幕之外,我们看不到。不同型号的电视机,被超出看不到的画面部分大小也不尽相同。因此,Title Safe字幕安全框的作用,就是确保在Title Safe字幕安全框的视频图像部分是所有电视机都可以看到的。这块区域约占屏幕80%左右,要防止视频中的文字被电视机边缘遮盖,就应该将所有字幕或文字限制在字幕安全区域内。注意:不同的视频编辑软件,字幕安全框的大小和位置会有所不同。有的视频软件是使用两重安全线(字幕安全线和动作安全线),有的视频软件还可以自已手动调节字幕安全框的大小。因此,视频软件中字幕安全线仅仅是一个帮助字幕定位用的标识,是否符合当地电视台播出的标准,还需要参照各地电视台的实际技术要求。

  • 继续上例,现在设定字体、字号大小和字幕的位置 ⇒ 现在仍是在Object物体模式下,鼠标右键点击选中Text文字 ⇒ 右边Properties特性编辑器 ⇒ F图标Object Data物体数据标签页 ⇒ Font字体栏目下 ⇒ 点击Regular规则项目旁的“打开文件夹”按钮 ⇒ 在弹出的File Browser文件浏览器中,选择您需要的字体(通常用于影片对白字幕的字体是黑体字,本例在Linux下选用的是WenQuanYiMicroHei文泉驿微黑) ⇒ 好了,现在可以按下Tab键,切换到Edit编辑模式下,先随意输入四行汉字作为样板,然后再接着调整字体的大小和位置(请参考第 1.5.2 节) ⇒ 调节Font字体栏目下方的Size字体尺寸数值项目,本例调节为0.32 ⇒ 再下方的Paragraph段落栏目 ⇒ Aligin对齐项目中,把默认的Left向左对齐改选为Center居中对齐 ⇒ 下方Spacing间距栏目下,把默认为1.0的Character字符间距修改为1.1 ⇒ 默认为1.0的Line行距不变(留一点行距用于弥补字幕动画误差造成的错误显示) ⇒ 把鼠标放回View视图 ⇒ G Y 用鼠标沿Y轴上下移动Text文字到您需要的位置。本例是让文字处在字幕安全框内,且文字的最下端刚好压着字幕安全框的下沿边线,点击鼠标左键确定。注意:移动文字时参考“文字的最下端”,应选择有笔画“一竖到底”的汉字(例如“十”字),不要选择那些没有任何笔画处在最下端的汉字(例如“二、三”)。(建议滚动鼠标中键放大视图显示,然后再精细移动Text文字,以确保准确定位。)
  • 继续上例,现在设置背景 ⇒ 仍是在Scene.001场景的3D View视图中,到目前为止没有对Text文字做任何的颜色设置,也没有赋予Text文字任何的Material材质和Texture纹理 ⇒ 把鼠标放回3D View视图中 ⇒ F12 静态渲染当前帧 ⇒ 可以看到,Text文字已经是白色,由于我们在这个新建的Scene.001场景中也没有创建新的World世界或Ambient Effects环境影响,所以背景就是黑色(Blender刚启动时默认的Scene场景中有一个默认的World世界背景是灰色,因此,如果是在默认的Scene场景中添加的Text文字,则需要把World世界的默认背景删除掉)。
通常国内电视台对字幕的要求如下(不同省市地区的电视台要求也许会有所不同)
文字字体   用于对白的字幕一般要求用黑体字。(因为黑体字的每一个笔划都是粗细均匀的,所以观众最容易看清;而笔划“横细竖粗”的宋体字体、以及笔划“两端粗大、中间较细”的楷体和隶书,观众就不容易看清。)
文字颜色   白色。如果是处在画面中的字幕,则应加上黑边。(否则遇到画面中出现白色衣服、白色墙壁时,白色的字幕就看不见了)。如果制作的是“伪16:9”画面的字幕,由于字幕是可以放在画面外的黑色背景中,所以白色的字幕可以不用加上黑边。(黑边的粗细不可过粗或过细,黑边不应加在“外边框”造成字与字之间太拥挤,也不应加在“内边框”造成字体白色部分太少,而应加在“中间”。)
文字大小   以国内的普通电视制式TV PAL 4:3为例,横向26个字,纵向19个字,即26x19个字可填满整个画面。字幕安全框内横向约22字,纵向约15字。动作安全框内横向约24字,纵向约17字。(不能以办公软件或文字处理软件的“字号”来确定大小,因为同一字号的不同字体大小不同,即使是同一字号的同一字体在不同软件上显示的大小也不同。所以,最保险的方法,是把当地电视台播出的带字幕的电视剧或栏目剧的截图,放在View视图的背景图片中,参照着调节文字的大小。Backgtound背景图片的详细使用方法请参考第 4.1.2 节))
文字位置   用于对白的字幕,水平方向居中显示,垂直方向理论上是需要让文字处在字幕安全框内,且最下端刚好贴着字幕安全框的下沿。但现在大多数电视台是规定让文字处在动作安全框内,且最下端刚好贴着动作安全框的下沿,原因主要有二个,一是这样能尽量避免字幕太过靠近中央遮挡画面,二是这个位置刚好处在16:9宽屏电视剧画面下方的黑色背景处。(国内的普通电视制式TV PAL 4:3的画面高度为19行汉字,倒数第二行汉字多一些即可处在字幕安全框内,倒数第一行汉字多一些即处在动作安全框内。)
文字数量   用于对白的字幕只允许有一行,且每一行不超过13~15个字。(如果字数太多太长,观众眼球的移动范围过大,会使人感觉“找不着北,看得太累”。)
标点符号   用于对白的字幕不使用标号,需要断行的地方,用空格。(有三个标点符号是可以例外使用的:一是外国人名的间隔号·;二是书名号《》;三是表示引用或反语的双引号“”。)用于新闻或广告的水平滚动字幕则不受限制,可以有标点符号。
断行分行   同一个人这一句话如果字数少,可以用空格断行,在同一行显示。(例如在简单的称呼之后马上说的较短对话,带空格总共不超过13个字。)同一个人说的这一句话如果太长,超出13个字需要分行时,应尽量避免把意思连贯的词组分割开来。(可以选择在说话者停顿时、换气时、转换镜头时、或者在适宜的词语后面分行,总之要注意字幕的换行与影片节奏搭配恰当,不要因为字幕破坏了影片气氛。)用于对白的同一行字幕里,只能是同一个角色说的话。另一个人说话的内容应该分在下一行字幕显示。(即使是激烈的、快速的“吵架”,也不应该把不同角色的对话字幕放在同一行,否则容易使观众感觉混乱,不知道哪句话是谁说的。)
停留时间   如果该行字幕后面没有紧接着的对白声音,则7个字及以内较短的字幕应在对白说完后停留1秒,8个字及以上较长的字幕可以停留至2秒。(要留给观众足够的时间阅读字幕。)长时间没有对白时,在Blender中可以输入一个空白行用于“空白字幕的显示”。(注意:有些字体在换行后的那一空行的高度,也许会与该字体的高度不一致。所以为保险起见,可以在这一空行中输入一个全角空格符“ ”,这样就能确保这一空行与其它字幕行高度一致,避免在后面字幕移动换行移动时发生高度误差,并且这个空格在屏幕上也看不出来。)
字幕的内容   用于对白的字幕, 就只能是影片中角色说话的内容,不要像“新闻报道的字幕”那样额外添加什么括号注释、漏词补充、寓意谐音等信息。也不要出现例如:惊叫、哭泣、嘲笑等用于辅助表达情绪的象声词,因为这些情绪发出的声音是全世界通用的,不同语言的人听到都明白是什么意思,况且也已经有画面表现了,因此没有必要再在字幕中使用表达情绪的象声词。

  如果制作的是“伪16:9”画面的字幕,由于字幕是可以放在画面外的黑色背景中,所以白色的字幕可以不用加上黑边。但如果字幕是处在画面中,则应加上黑边。为Text文字添加黑边有多种方法,例如:纹理贴图法、节点特效法、双重叠加法等等,这些方法操作起来步骤多,比较麻烦,一大段中文汉字特多时,计算量很大,加大了系统的负荷,处理起来会显得很慢,渲染起来也花时间。因此,需要找一种简单的方法。以下方法是利用Blender自带有的Cartoon outline卡通轮廓渲染功能,实现为Text文字添加黑边。这虽然不是一个能让字幕“最清晰最完美地显示”的解决方案,如果您制作的是大屏幕的高清影片,则这种字幕加黑边的效果有可能会不太令您满意。但对于普通电视播出的电视剧以及网络短片来说,应该已经能够满足需要了,对于低配置的电脑来说,这也是系统负荷不大的比较可行的解决方案。

  • 继续上例,由于背景也是黑色的,现在我们需要在文字后添加一个平面,以方便观察字幕加黑边的效果 ⇒ 把鼠标放回3D View视图中 ⇒ F11 切换回3D View视图 ⇒ Shift A 添加 ⇒ Mesh 网格物体 ⇒ Plane 平面 ⇒ S 2 放大2倍 ⇒ G Z -1 沿Z轴向下移动1个单位,让平面处在文字的下方 ⇒ 右边Properties特性编辑器 ⇒ 原子能图标Material材质标签页 ⇒ 点击“+ New”新建按钮,新建一个材质,自动命令为Material.001 ⇒ 在下方出现的众多材质特质面板中 ⇒ 点击Diffuse漫射栏目下方的白色色块 ⇒ 在弹出的选色板中鼠标点击选取任意一种颜色(请参考第 4.1.1 节) ⇒ 把鼠标放回3D View视图中 ⇒ F12 静态渲染当前帧 ⇒ 可以看到有颜色的平面与白色的汉字,如果平面是较浅的颜色,则白色的汉字看上去就比较难以辨认。
  • 继续上例,现在给字幕加黑边 ⇒ 右边Properties特性编辑器 ⇒ 照相机图标Render渲染标签页 ⇒ 下方有个Post Processing后期处理栏目,展开这个栏目 ⇒ 勾选上Edge棱线,下方的Threshold临界值默认是10不用管它,再下方的色块默认是黑色也不用管它 ⇒ 把鼠标放回3D View视图中 ⇒ F12 静态渲染当前帧 ⇒ 可以看到文字已经被加上了黑边,但似乎有点太过头了,文字的白色部分都看不清楚了,没关系,有解决办法 ⇒ 把鼠标放回3D View视图中 ⇒ F11 切换回3D View视图 ⇒ 鼠标右键点击选中Text文字 ⇒ 右边Properties特性编辑器 ⇒ F图标Object Data物体数据标签页 ⇒ Geometry几何构造栏目下 ⇒ 把Bevel倒角项目下的Depth深度数值修改为0.006(这样做的原理是,把3D汉字的底部扩大一些,这样Post Processing后期处理勾勒出来的黑边就向外扩展一些了,顶部的白色汉字字面就能显得清晰一些了) ⇒ 把鼠标放回3D View视图中 ⇒ F12 静态渲染当前帧 ⇒ 可以看到,这回文字清晰多了。
  • 继续上例,反复细微调整 ⇒ 如果发现添加的黑边“颜色太锐利、而且似乎有锯齿状”的话,只需在照相机图标Render渲染标签页中,勾选Anti-Aliasing抗锯齿栏目即可(默认已勾选),里面的默认参数不用修改 ⇒ 把鼠标放回3D View视图中 ⇒ F12 静态渲染当前帧 ⇒ 现在正在显示着渲染结果的是UV/Image Editor图像编辑器 ⇒ 鼠标点击下方的View视图菜单 ⇒ 选择Zoom 1:1缩放显示(本例是按国内普通电视机的TV PAL 4:3比例720x576大小) ⇒ 可以看到,字幕加黑边的效果还是不错的。(根据您选择的字体不同,也许需要多次调节Bevel倒角项目下的Depth深度数值,才能调节出适当的黑边宽度效果。) ⇒ 把鼠标放回3D View视图中 ⇒ F11 切换回3D View视图 ⇒ 鼠标右键点击选中Plane平面 ⇒ X 删除,回车确认。

(3)字幕动画效果——

  • 继续上例,预置字幕停留的时间和动作 ⇒ 上方的Info信息编辑器 ⇒ 点击Choose Screen lay-out选择屏幕布局设计菜单按钮 ⇒ 在弹出的菜单中选择Animation动画布局(也可以按几下快捷键 Ctrl → 切换) ⇒ 点击最上方Info信息编辑器中的Browse Scene to be linked浏览可链接的场景菜单按钮 ⇒ 在弹出的菜单中选择Scene.001 ⇒ 确认下方的Timeline时间线编辑器中,绿色的当前帧指示线处在第1帧 ⇒ 把鼠标放到3D View视图编辑器中 ⇒ 数字键盘 0 切换到摄像机视图 ⇒ 鼠标右键点击选中Text文字,之前我们已经把第一行字幕文字的下端刚好压在字幕安全区的下沿边线上了 ⇒ I 弹出Insert Keyframe Menu插入关键帧菜单 ⇒ 选择菜单中的第一项Location位置 ⇒ 下方的Timeline时间线编辑器中 ⇒ 把绿色的当前帧指示线移动到第25帧,即1秒处。(也可在时间线编辑器下方的当前帧数字框中调节数字) ⇒ 把鼠标放到3D View视图编辑器中,不要移动任何物体 ⇒ I 在弹出的菜单中选择Location位置,再次插入一个关键帧(这2个关键帧的作用是,让第一行字幕在原地停留1秒即25帧。)
  • 继续上例,预置字幕切换的时间和动作 ⇒ 点击一下时间线编辑器下方的当前帧数字框右边的小三角箭头,让绿色的当前帧指示线向前移动1帧,即移动到第26帧 ⇒ 鼠标右键在3D View视图编辑器中选中Text文字 ⇒ G Y 沿着Y轴向上移动文字(或者向上点按拖动绿色的Y轴操纵杆,请参考第 2.1.3 节),让第二行字幕文字的下端刚好压在字幕安全区的下沿边线上,点击鼠标左键确定。(移动之前,可以先滚动鼠标滚轮放大View视图显示,以确保移动的位置准确。这一步很重要!否则以后这一微小误差累积起来会让后面的字幕越来越偏上或偏下,无法把握时,宁可稍微移动偏上,因为之前调大了行距,在数行内的误差积累还不会造成错误的显示。) ⇒ I 在弹出的菜单中选择Location位置,再次插入一个关键帧(这一步很重要!这一个关键帧的作用是,让第二行字幕替换掉第一行字幕,且这个移动过程只需一帧就完成,这样观众就感觉不到“字幕向上移动”的过程,只会感觉是“字幕变换了”。)
  • 继续上例,做一些准备工作 ⇒ 插入关键帧之后,可以看到下方Timeline时间线编辑器中出现了3条黄色的竖线,表示在此帧处存在有关键帧 ⇒ 在Animation动画布局的左边,上面是DopeSheet动画概览编辑器,下面是Graph Editor曲线编辑器,把鼠标放在这两个编辑器其中一个的网格区域内,滚动鼠标滚轮可以放大显示,按着鼠标中键可以移动观察网格区域 ⇒ 可以看到,DopeSheet动画概览编辑器中显示着3列关键帧,这些关键帧所处的位置与下方的Timeline时间线编辑器中3条黄色的竖线是一一对应的 ⇒ 下面Graph Editor曲线编辑器中,隐隐约约地看到有一条暗红色的横线,和一条淡绿色的拐弯的横线,就像“一级绿色的台阶”,这是用于表示物体在连续的各帧中运动状态的F-Curve(Frame-Curve)帧曲线。这两条线上还有几个桔黄色的小圆圈 ⇒ 鼠标点击Graph Editor曲线编辑器TextAction文字动作项目左边的小三角形,可以看到出现了一个Location位置项目 ⇒ 继续展开Location位置项目,可以看到出现了XYZ三个Location位置 ⇒ 因为我们的字幕动画只需要沿Y轴向上移动,所以不需要用到X轴和Z轴,用鼠标左键点击X Location位置和Z Location位置右边的小锁头,使锁头呈闭合状态,锁定X轴和Z轴的位移不可动 ⇒ 鼠标左键点击选中Y Location,让其名称呈白色,网格区域内的表示Y轴的“一级绿色的台阶”F-Curve帧曲线也变成了明亮的绿色 ⇒ 鼠标点击Graph Editor曲线编辑器下方的View视图菜单 ⇒ 在菜单中取消Show Handles显示调节杆的勾选,可以看到,绿线上的桔黄色的小圆圈不见了。(因为我们的字幕动画都是在一帧之内简单的直线运动,所以不需要使用Handles调节杆,关闭其显示是为了避免误选中Handles调节杆造成误操作。)

  • 继续上例,快速生成字幕的重复动作 ⇒ 把鼠标放在Graph Editor曲线编辑器的网格区域中 ⇒ 鼠标右键点击选中绿色F-Curve帧曲线上的第二个黑色控制点(也就是“台阶”的根部),被选中的控制点呈桔黄色 ⇒ N 展开右侧Properties特性栏 ⇒ 点击展开Active Keyframe活动关键帧栏目 ⇒ 记下Key键值项目下的Value数值(例如:-1.728) ⇒ 鼠标右键点击选中绿色F-Curve帧曲线上的第三个黑色控制点(也就是“台阶”的顶角),记下Key键值项目下的Value数值(例如:-1.486) ⇒ 计算这两个控制点Value数值之差(例如:1.728-1.428=0.300) ⇒ 把鼠标放在Graph Editor曲线编辑器的网格区域中 ⇒ A 全不选 ⇒ B 框选绿色F-Curve帧曲线上的第2个和第3个控制点(也就是“台阶”垂直线根部和顶角上的那2个点) ⇒ Shift D X 25 复制这2个控制点,并沿X轴横向移动25帧(即1秒),回车确定 ⇒ G Y 0.242 继续把这2个调节点沿Y轴向上移动0.300个单位,回车确定 ⇒ B 继续框选绿色F-Curve帧曲线上的第2个至第5个一共4个控制点(或者先把当前帧指示线放在某个控制点前,然后按着Ctrl键不放鼠标右键点击,这样就能选中了包括当前帧及往后的全部控制点) ⇒ Shift D X 50 复制这2个控制点,并沿X轴横向移动25x2=50帧(即2秒) ⇒ G Y 0.484 继续把这2个调节点沿Y轴向上移动0.600个单位,回车确定 ⇒ 现在可以看到,Graph Editor曲线编辑器的网格区域里绿色的F-Curve帧曲线中一共有四级的“台阶”。
  • 继续上例 ⇒ 鼠标左键点击下方的Timeline时间线编辑器,让绿色的当前帧指示线处在第1帧附近 ⇒ 鼠标左键点击Timeline时间线编辑器下方菜单按钮栏上的向右三角形“向前播放动画”按钮(快捷键 Alt A)  ⇒ 可以看到,每隔25帧,字幕就向上移动一行 ⇒ 即使我们之前只输入了4行汉字,在最后一个动画中,整个字幕也依然会继续往上移动了一行 ⇒ 根据您的影片需要的对白字幕行数,重复同样的方法,每次都选中除第一帧外的所有控制点(每一级“台阶”2个控制点为一对,共N对需要复制的控制点),每次Shift D复制后,沿X轴移动(影片帧率 x N对复制的控制点),沿Y轴移动(Key键值项目下的Value数值 x N对复制的控制点))即可 ⇒ 只需重复操作7次,即可一共得到128行字幕移动的动画关键帧,8次可得到256行(对于一部90分钟长的电影来说,即使是一分钟2句话,也够用了吧?) ⇒ 现在字幕动画已经准备好,但看上去太有规律了,而影片中的对白有长有短,因此,接下来就该正式地为这字幕输入影片对白的台词文本,并根据影片的对白情况来调节每一行字幕的停留时间了。

(4)在视频序列中叠加字幕——

  • 继续上例,导入视频或图片 ⇒ 上方的Info信息编辑器 ⇒ 点击Choose Screen lay-out选择屏幕布局设计菜单按钮 ⇒ 在弹出的菜单中选择Video Editing视频剪辑布局(也可以按几下快捷键 Ctrl → 切换) ⇒ 点击最上方Info信息编辑器中的Browse Scene to be linked浏览可链接的场景菜单按钮 ⇒ 在弹出的菜单中选择Scene.001场景 ⇒ 可以看到,Video Editing视频剪辑布局的左上方是Graph曲线编辑器,里面有之前我们制作绿色台阶F-Curve帧曲线,右上方是Video Sequence Editor视频序列编辑器(VSE)的视频预览窗口,下方是VSE视频序列编辑器的轨道窗口,最下方是Timeline时间线编辑器 ⇒ 点击VSE视频序列编辑器的下方的Add添加菜单 ⇒ 在菜单中选择Movie影片(如果您的电脑里没有视频素材,也可在菜单中选择Image图片代替) ⇒ 在弹出的File Browser文件浏览器中选择您要导入的视频文件(或图片文件),点击Add Movie Strip添加影片素材(或者Add Image Strip添加图片素材) ⇒ 可以看到,一条或两条素材带带被添加到了轨道中,视频素材为蓝灰色(与其相应的音频素材为青色),图片素材为紫色 ⇒ 鼠标右键点击并按着刚导入的这一段素材带的中央不放,把素材带拖到左边对齐第1帧,点击鼠标确定 ⇒ 只要VSE视频序列编辑器中的绿色当前帧指示线处在素材带上,就可以在右上角的视频预览窗口看到该段素材带的画面 ⇒ 在视频预览窗口中滚动鼠标滚轮可以放大显示。
  • 继续上例,导入字幕 ⇒ 再次点击VSE视频序列编辑器的下方的Add添加菜单 ⇒ 在菜单中选择Scene...场景 ⇒ 在子菜单中选择我们做有字幕的Scene.001场景 ⇒ 可以看到一条明亮的绿色素材带被添加进来了 ⇒ 鼠标右键点击并按着这一段明亮绿色的Scene.001场景素材带,把它拖到所有轨道的最上方,并对齐第1帧 ⇒ 可以右上角的视频预览窗口看到字幕的画面出现了,但是它完全挡住了下方的视频画面 ⇒ 确认现在字幕素材带仍是被选中的状态(有白色外框包围着) ⇒ 把鼠标放在中VSE视频序列编辑器 ⇒ N 展开右侧Properties特性栏 ⇒ Edit Strip编辑素材带栏目 ⇒ 点击Blend混合项目旁的菜单按钮 ⇒ 在Blend Mode混合模式菜单中,把默认的“Cross过渡”改选为第一个“Over Drop沉降” ⇒ 可以在右上角的视频预览窗口看到,字幕下方的画面也出现了。但字幕为什么是灰色的?整个画面的颜色也是偏灰的,好像有点失真了。别急,如果显示的是灰亮的字幕和灰暗的背景,那是因为在渲染图层中,没有把Sky天空的勾选取消掉,所以背景不是透明的,变成灰色的了。

RenderLayer渲染图层标签页里 ⇒ Layer图层栏目下 ⇒ 取消掉Sky天空的勾选,这样背景就可以变透明了 ⇒ F12 静态渲染当前帧 ⇒ 在下方的VSE视频序列编辑器变成了UV/Image Editor图像编辑器 ⇒ 鼠标点示下方的View视图菜单 ⇒ 选择Zoom 1:1缩放显示(本例是按国内普通电视机的TV PAL 4:3比例720x576大小) ⇒ 可以看到,可以看到最终的渲染结果是完美的,白色带黑边的字幕叠加在画面上 ⇒ 但现在显示着有几行字幕,我们只需要一次显示一行字幕,因此,还需要做进一步的设置。

  • 继续上例,裁剪字幕 ⇒ 点击右上角的视频预览窗口下方的View视图菜单 ⇒ 在菜单中勾选Safe Margin安全边界 ⇒ 可以看到视频预览窗口中出现了一圈字幕安全框的虚线 ⇒ F11 把下方的渲染结果切换回VSE视频序列编辑器的轨道窗口 ⇒ 点按右侧Properties特性栏的滚动条,往下拉 ⇒ 有一个Strip Input素材带输入栏目 ⇒ 勾选Image Offset图像偏移,勾选Image Crop图像裁剪 ⇒ 在Image Crop图像裁剪项目的下方,鼠标点按Top顶部参数并向右拖动 ⇒ 可以在右上角的视频预览窗口中明显地看到,随着鼠标的移动,被剪裁的字幕灰色部分从上往下越来越少,背后的画面清晰的部分越来越多 ⇒ 鼠标点按Top顶部参数继续向右拖动,让顶部的剪裁线处在需要保留字幕的那一行上方一点,但不要“刚好压着”文字的顶端(这是为了给字幕切换的动画留下允许有一些误差的回旋余地) ⇒ 同样地,鼠标点按Bottom底部参数并向右拖动,但这次字幕底部被裁剪的同时,整个字幕也一起往下移动了 ⇒ 鼠标点按Bottom底部参数继续向右拖动,让底部的剪裁线处在需要保留字幕的那一行下方一点,但不要“刚好压着”文字的底部(这也是为了给字幕切换的动画留下允许有一些误差的回旋余地) ⇒ 在Image Offset图像偏移项目的下方,鼠标点按Y坐标参数并向右拖动 ⇒ 可以在右上角的视频预览窗口中看到,随着鼠标的移动,被剪裁的字幕也同时向上移动,移动到文字底部刚好压着字幕安全框的虚线即可 ⇒ 这一切做好后,鼠标左键点击下方的Timeline时间线编辑器,让绿色的当前帧指示线处在第1帧附近 ⇒ 鼠标左键点击Timeline时间线编辑器下方菜单按钮栏上的向右三角形“向前播放动画”按钮(快捷键 Alt A) ⇒ 在视频预览窗口中可以看到,每隔25帧,字幕变换一行(由于上下字幕被裁剪掉了,所以观众看不出字幕其实是每次在一帧之内向上移动了一行) ⇒ Alt A 暂停/播放。

  • 继续上例,输入编辑这一行字幕 ⇒ 在下方的VSE视频序列编辑器轨道窗口,鼠标点按右上角的三斜线不放,向左拖动,分割出一个新的区域(请参考第 1.2.3 节) ⇒ 得到2个一模一样的VSE视频序列编辑器轨道窗口 ⇒ 点击左边这个轨道窗口左下角的Editor type编辑器类型菜单按钮 ⇒ 在菜单中选择3D View视图 ⇒ 鼠标右键点击选中3D View视图中的Text文字 ⇒ 数字键盘 0 切换到Camera摄像机视图 ⇒ 滚动鼠标中键调节显示的大小,按着Shift键不放,按着鼠标中键调节观察位置 ⇒ Tab 切换到Edit编辑模式 ⇒ 好了,一切准备就绪,现在就可以一边播放视频,一边根据影片中对白情况输入台词字幕了 ⇒ 把鼠标放在VSE视频序列编辑器轨道窗口,快捷键 Alt A 播放/暂停 ⇒ 鼠标点击Timeline时间线编辑器下方的当前帧数值向左或向右小三角形按钮,精细定位当前帧指示线 ⇒ 把鼠标放在3D View视图中编辑输入在这里需要出现的字幕 ⇒ 这一行字幕编辑完成后,把鼠标放在VSE视频序列编辑器轨道窗口,快捷键 Alt A 继续播放/暂停 ⇒ 如此循环往复工作。别忘了经常按Ctrl S保存工程文件。
  • 继续上例,调整这一行字幕的显示时间 ⇒ 把鼠标放在VSE视频序列编辑器轨道窗口,在对话结束时,快捷键 Alt A 继续播放/暂停,记住对话结束时这一帧所在的位置 ⇒ 鼠标在左上角的Graph Editor曲线编辑器中,左键点击,把当前帧指示线放在F-Cruve帧曲线切换下一句字幕的那2个控制点之前 ⇒ AA 全选,然后全不选 ⇒ 按着Ctrl键不放,鼠标右键点击F-Cruve帧曲线下一句字幕“台阶”的垂直线下方那个控制点,这样就选中了包括当前帧及往后的全部控制点 ⇒ G X 移动鼠标沿X轴拖动后续控制点,可以看着最下方的Timeline时间线编辑器,那2条下句字幕的切换黄色动画帧线对齐之前你所记着的“对话结束时这一帧所在的位置”时,点击鼠标左键确定即可 ⇒ 这样调节之后,可以看到,在F-Cruve帧曲线中对白较长的字幕“台阶”也显得较长,对白较短的字幕“台阶”也就显得较短 ⇒ 在长时间没有对白的片段,让字幕显示一行空白就好。
  • 继续上例,在已有的字幕中间添加多一行字幕 ⇒ 在左上角的Graph Editor曲线编辑器中,鼠标左键点击,把当前帧指示线放在F-Cruve帧曲线需要插入新的一行字幕的地方 ⇒ AA 全选,然后全不选 ⇒ B 框选前2个控制点 ⇒ Shift D X 复制后,沿X轴移动,把新复制出来的控制点放在当前帧指示线附近,点击鼠标左键确定 ⇒ 然后鼠标左键点击,把当前帧指示线放在刚才新复制的2个控制点前面 ⇒ 按着Ctrl键不放,鼠标右键点击F-Cruve帧曲线下一句字幕“台阶”的垂直线下方那个控制点,这样就选中了包括当前帧及往后的全部控制点 ⇒ G Y 沿Y轴移动,移动的距离是前2个控制点Value数值之差,这样就行了 ⇒ 如果想要删除一行字幕,只需在3D View视图中删除文字即可,保留一空行,也省去了再次调节F-Cruve帧曲线控制点的麻烦。

编辑字幕时需要注意的一些事项——

  • (1)之前我们为了方便编辑和修改字幕,让制作字幕动画的3D View视图和Video Sequence Editor视频序列编辑器都使用Scene.001场景,因此,在Timeline时间线编辑器中点击“播放”按钮时,字幕的动画和剪辑的视频都是同步从第1帧为起点播放的。所以,用我们这个方法制作的字幕动画的第一行必须是空行,要等到影片的第一句对白开始时,才切换到第二行真正有汉字的字幕。(除非您的影片,是以对白开头的,第一行就可以出现汉字。)
  • (2)我们这个方法制作的字幕动画会有一些微小的误差,这误差在经过十几行或几十行的积累之后,也许会变成一个较大的误差,从而使字幕的显示出现偏差,因此,最好是每隔十几行或几十行就检查一下,误差大了就修正一下。修正的方法也很简单,在F-Cruve帧曲线中,选中其后的全部控制点,然后沿Y轴上下移动,即调整Key键值项目下的Value数值就行。
  • (3)注意:由于汉字的结构比较复杂,如果您的电脑配置不高,那么在输入了很长一大段汉字之后,有可能会造成系统计算的负荷过重、运行缓慢甚至崩溃退出。所以在编辑过程中,请注意经常及时保存。

— 返回目录 —