在Unity使用Spout协议
最近接触到一个很cool的酒吧项目,需要把Unity互动程序与VJ经常使用到的Resolume媒体播控引擎结合到一块,如何结合呢?简单点来说就是需要把Unity的画面传输给Resolume,那么就需要使用到Spout协议实现我们的目的了,以下内容记录实现的过程
关于Spout协议说明
Spout能够利用 显卡 ,使您能够在 Windows应用程序 之间以接近零的延迟或开销发送实时视频。使用Spout,您可以在Resolume、Max、Processing、MadMapper、TouchDesigner等应用程序之间发送视频。在Processing中创建图形,在Resolume中混合它们,然后使用Mad Mapper投影映射它们。在您使用TouchDesigner、Max或Unity时加入一些交互式内容。目前支持以下程序互相输送画面:
工具/框架版本
工具/框架 | 版本 |
---|---|
Unity | 2020.2.6 |
Resolume | 5.0.1 |
KlakSpout | 2.0.3 |
下载Resolume媒体播控引擎
Resolume Arena 5.0.1 Win
- 百度网盘链接,提取码: d0n0
- 请根据以下文件路径 Resolume Arena 5.0.1 Win/Crack/crack.txt 的内容破解Resolume
(仅学习使用,请支持并使用正版)
Unity配置
该程序使用的是Keijiro Takahashi提供unity插件——KlakSpout,该插件针对unity引擎对spout协议进行了优化,能让我们更便利地在unity上使用spout协议
打开项目的 manifest.json ,在文本里面添加以下字段
{
+ "scopedRegistries": [
+ {
+ "name": "Keijiro",
+ "url": "https://registry.npmjs.com",
+ "scopes": [ "jp.keijiro" ]
+ }
+ ],
"dependencies": {
+ "jp.keijiro.klak.spout": "2.0.3",
...
}
}出现下图则表示成功导入插件
- 在场景内添加组件 Spout Sender
- 选择需要传输的画面,内置提供三种Capture Method
- Camera
- Game View
- Texture
选择不同的Capture Method需要设置不同的资源
Resolume配置
- 新建一个新的工程
- Composition --> New
- 设置合适的屏幕分辨率
- Composition --> Settings --> Size --> Apply
- 拖拽Spout Sender到Layer和Column内
- Sources --> Spout --> Spout Sender
- 回到Unity并运行Unity,Output Monitor就会出现相对应的画面
最终效果
- 还可以利用Resolume预设好的后期特效做出扰流的效果
后记
欢迎留言或使用邮箱跟我一起探讨与勘误文章内容