UnityTips 之实用小工具UnityRecoder

UnityRecoder 是一款Unity Editor下的录屏工具,只能工作在编辑器模式下。支持Unity2017.1及以后的版本。这是官方提供的免费插件。

安装

安装方法有两种一种是从AssetStore安装,一种是从PackageManager安装,PackageManger内的版本更新频率要快,即PackageManager可以装到最新版的。

从AssetStore安装

  • 按下Ctlr+9 打开AssetStore面板
  • 在搜索框输入 Recoder 进行搜索


    在搜索框搜索Recoder
结果中的Recoder
  • 点击进入结果中的UnityRecoder 进入下载界面,如果已经下载则显示是(Import)导入,如果没有下载则显示是(Download)下载。


    已经下载 显示的是导入按钮
  • 点击导入按钮等待导入


    导入对话框
  • 点击右下角导入按钮导入并等待编译完成即可。

从PackageManager进行安装

UnityRecoder 已经可以在包管理器的preview里进行安装.这里安装的版本要比 AssetStore 的更新。

  • 依次在菜单栏点击Window->PackageManager,打开包管理器。


    打开包管理器的方法

    包管理器界面
  • 在顶部Advanced下拉菜单内选中ShowPreviewPakcages


    选中前

    选中后,会多出许多包,这些都是预览版本,可能不稳定
  • 在包列表里找到 UnityRecoder 并选中,然后点击右侧Install便可以进行安装。


    安装,安装按钮 边上可以选择要安装的版本

使用

安装完成后,我们便可以在菜单栏 Window->General->Recoder->RecoderWindow

打开Recoder窗口的方法

插件界面

功能说明:从上至下从左至右

  • START RECORDING: 开始录制,点击后便会开始录制,如果unity没有运行,则会自动运行。

  • Exit PlayMode:勾选后,当停止录制时会退出播放模式。

  • RecordMode:录制模式


    录制模式
    1. Manual 手动 手动操作开始录制和结束录制。
    2. 单帧 录制某一帧,需要在Frame内填入要录制的帧
    3. 录制帧区间 要填入 Start 开始帧End 结束帧 单位帧
    4. 录制时间区间 要填入 Start 开始时间 End 结束时间 单位秒
    
  • Add New Recorders: 添加新的Recoder(录制器)


    可添加的录制器
    1. 录制动画 clip
    2. 录制视频
    3. 录制序列图
    4. 录制 GIF 动画
    
  • FrameRate 帧率


    帧率设置
      1. PlayBack 
            a. Constant 固定值
            b. Variable 可变值
      2. Target 目标帧率
      3. Cap 封盖
    
  • Recorder Type 录制类型

  • Format 格式

  • FileName 文件名
    +WildCards 给文件名自动添加后缀


    可自动添加的后缀
      1. <Recoreder> 录制器
      2. <Time> 时间
      3. <Take> 下方的take值
      4. <Date> 日期
      5. <Project> 项目名称
      6. <Product> 产品名称(buildingsetting里面设置的)
      7. <Scene> 场景名
      8. <Resolution> 分辨率
      9. <Frame> 帧数
     10. <Extension> 扩展名 
    
  • Path 存储路径


    保存路径方式
    1. Project 以工程目录为根目录
    2. AssetsFolder 以 Assets 为根目录
    3. StreamingAssets 以 StreamingAssets 目录为根目录
    4. PersistentData 以 PersistentData 目录为根目录
    5. Temporary 以 Temporary 目录为根目录
    6. Absolute 绝对路径
    
  • TakeNumber 录制次数计数器

  • Capture 采样位置指定


    可用采样位置
    1. GameView 采样game视窗
    2. Targeted Camera  指定的目标相机
    3. 360View 360度全景采样
    4. RT 图片采样
    5. TextrueSampling 纹理采样
    
  • OutPutResolution 输出分辨率


    输出分辨率
    1. MatchWindowSize 匹配目标窗口分辨率
    2. 240p - Custom 是各个指定分辨率,其中 Custom 可以自定义分辨率
    
  • AspectRatio 长宽比

  • CaptureAudio 采样音频

  • Quality 采样画面质量

每种Recoder(采样器)的配置会有稍微的不同,但是大体配置都差不多,就不在一一赘述。

高级进阶-渲染带透明通道的序列帧

  • 第一步 ,准备好你的渲染场景和要渲染的物体


    测试场景

我的测试场景有一个相机,一个球,一个粒子,一个直射光。
将粒子的发射方式设置成prewarm,这样可以让粒子一开始运行就会出现在画面中,便于观察。实际录制可根据实际需求来做。

game视窗效果
  • 创建一个RenderTexture用作渲染载体,将创建好的 RT 赋给相机的RenderTex
将RT赋给相机的target

这是时候点击我们RT 观察期预览窗口就可以看见相机的渲染结果,而game视窗已经没有了画面。

渲染效果到了RT上面

按照上图的格式设置RT的参数。

  • 去掉渲染的底色(天空盒),选择我们的相机,将clearFlags设置为SolidColor,将Background的颜色的Alpha通道设置为透明。
将背景色的颜色Alpha通道设置为0
  • 再观察我们的RT预览效果会发现天空盒没有了,但是背景色还存在,没关系,因为这里无法显示透明通道,所以还是会显示颜色,只要相机的背景色设置为透明就可以了。
去掉天空和的RT 和可参考的参数设置
  • 打开Unity Recorder,并添加一个Image Sequence渲染器,文件格式选择png,勾选CaptuerAlpha,Capture选择RenderTextureAsset ,具体 配置如下图所示。
渲染设置
  • 点击StartRecording,进行渲染,观察我们的渲染结果,我们发现我们输出的序列图只有球没有粒子。
为了便于观察我在图片下面铺了一个黑色图层

为什么呢 ?我们返回Unity 观察一下我们的RT,显示他的A通道看一下。

观察RT A通

确实只有一个球的透明通道。这是为何呢?原因是,我们创建 的粒子使用的是默认的材质球,这个材质的混合方式并不写入透明的透明值,所以粒子的alpha值在RT上没有被保存。

使用了默认的材质

让我给我们的粒子新建一个材质,混合方式使用 alphablend的方式。

创建一个新的材质并使用AlphaBlend shader

再次观察我们的RT的A通道,发现粒子的透明度也在里面了。

RT 的粒子有了 A 通道

我们再渲染一次查看下序列图,可以发现半透明的粒子效果也在图上了。

序列图有了粒子的半透明效果

需要注意,半透明的序列帧目前只能想到Alphablend的混合方式,add 或者是其他后处理例如bloom的效果被渲染到RT上效果不一定是正确的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342