Unity Transparent Video

2023-11-05

https://medium.com/@pofu.lu/unity-transparent-video-%E7%94%A8-videoplayer-%E6%88%96-avpro-%E6%92%AD%E6%94%BE%E9%80%8F%E6%98%8E%E5%BD%B1%E7%89%87-83b4b6b4aefd

能翻墙的可以直接去看原文章


本篇教學會說明如何輸出可以用 AVPro 或 VideoPlayer 播放的透明影片。使用的 Unity 版本是 2018.2。

VideoPlayer 是 Unity 5.6 新增的功能,AVPro 是一個功能強大的付費 Plugin,兩者都可以播放透明影片,不過支援的格式並不一樣。

VideoPlayer 支援的影片檔案格式是 .webm,編碼格式是 VP8;而 AVPro 支援的則是 HAP,是為 macOS 設計的 VJ 影片編碼格式。

開始前,可以先用 Premiere 或是 Affect Effect 做有 Alpha 圖層的影片,這裡我是用 Affect Effect 製作。如果你想要這個影片的 Sample 的話,拉到本頁底下有提供 .mov(Animation) .webm(VP8) .mov(Hap Alpha) 三種格式的影片下載連結。

VideoPlayer — 支援 VP8 編碼格式

我們要用 Media Encoder 輸出 .webm 的影片,所以首先要安裝 WebM for Premiere,這是一個免費的 Premiere、Media Encoder Plugin ,在網頁右邊根據自己的作業系統下載即可。

安裝完之後就可以在 Media Encoder 裡看到 WebM 格式。

格式選擇 WebM

視訊 > Codec 選擇 VP8

把下方的 Include Alpha Channel 打勾

比較需要注意的是,如果要輸出包含聲音的影片,記得把聲音的編碼格式改成 Vorbis,如果沒有改的話在 Unity 裡會報錯顯示不支援 OPUS 聲音格式。

接著把輸出的影片丟到 Unity 裡面,從 Inspector 的預覽畫面應該就能看出影片是透明的。

Keep Alpha 其實不打勾也行...

直接把影片拖拉到 Hierarchy 上後會自動產生一個 VideoPlayer,指定 Camera 後直接執行,就能看到 Transparent Video 的效果了。

AVPro — 支援 HAP 編碼格式

首先要有 AVPro 這個插件。雖然在 AssetStore 上只有要價 450美金(!)的付費版,不過其實在官方網站底下可以下載免費試用版

Adobe 系列目前似乎沒有直接輸出 HAP 格式的方式,所以要把影片輸出之後再做一次轉檔,有兩種轉檔方式:

  1. 下載 HAP 的 QuickTime Codec,透過 QuickTime Pro 的匯出功能,把影片另存成 HAP 編碼的格式。
  2. 用 ffmpeg 轉檔。

 

從 Affect Effect 輸出影片,在 Render Queue 設定格式選擇 QuickTime,Channels 選 RGB+Alpha 輸出即可。當然要選 AVI 也可以,不過以本篇的 5秒鐘影片為例,AVI 格式輸出後的容量高達 1GB 以上,QuickTime (.mov)只要15MB左右…

方法一:用 QuickTime Pro 轉檔

要先安裝 HAP Codec for QuickTime

用 QuickTime 開啟影片,檔案 > 匯出

選項 > 設定 > 壓縮類型 > 選擇 HAP Q Alpha 或是 HAP Alpha

方法二:用 ffmpeg 轉檔 ( 以 Windows 為例 )

將下載好的 ffmepg 解壓縮後,按著 Shift 鍵對 bin 資料夾點右鍵 > 在這裡開啟 PowerShell 視窗

輸入轉檔指令

ffmpeg -i yourSourceFile.mov -c:v hap -format hap_alpha outputName.mov

以上圖為例,影片 Comp 1 是放在 D槽的根目錄,轉檔後的影片名字為 Comp 2 位置在 D槽

轉好檔之後,到 Unity 匯入 AVPro。先簡單設定一下 AVPro Video uGUI,以下動圖給沒用過 AVPro 的人參考。

以下是比較需要注意的地方!設定好影片路徑之後,還要到 Platform Specific 標籤底下設定 Preferred Video API,改成 Direct Show。

下載連結總整理

QuickTime:下載頁面

HAP codec for QuickTime:下載頁面

ffmpeg:下載頁面

ffmpeg 指令參考:Github 連結

WebM for Premiere:下載頁面

AVPro:官方網站

本篇使用的 Sample 影片(Google Drive):.mov(Animation) .webm(VP8) .mov(Hap Alpha)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity Transparent Video 的相关文章

  • 编程语言比拼之Java VS C++

    学Java还是C Java和C 都是非常受欢迎的编程语言 各有各的优势和适用场景 以下是对它们的简要比较 性能 C 通常被认为是一种更高效的编程语言 适用于对性能要求较高的应用程序 如游戏开发 嵌入式系统和高频交易等 C 具有更接近底层的控

随机推荐

  • 常用串口调试工具比较

    在PC机上 目前有许多免费的串口调试工具 比较常用的有 1 串口调试助手 V2 2 优点 使用方便 用户群最多 有书介绍及免费源代码 缺点 1 因采用多线程接收技术 接收有时丢数 特别在高波特率或使用USB转串口时丢数较多 2 最大只支持1
  • java数组之二分查找法(折半查找)

    二分法就是用折半的思想 屁话不多说 上源码 public class BinarySearch 二分查找法 折半 折半查找 使用条件 必须是有序数组 需要三个变量 int min 0 int max 数组 length int mid mi
  • 使用OpenCV,Numpy计算直方图,Matplot绘制直方图及分析

    使用OpenCV Numpy计算直方图 Matplot绘制直方图及分析 1 效果图 2 原理 3 源码 3 1 直方图3种计算方法和2种绘制方法 3 2 Mask遮罩图像直方图 参考 这篇博客将介绍如何使用Python OpenCV Num
  • AVALON-MM接口

    AVALON接口分为两类 一种是AVALON MM接口 一般称为MM接口 另一种是AVALON ST接口 刚出来的一种新型接口 MM接口 通过地址读写数据 更多的是用在控制上面 ST接口用于点到点的流数据接口 更多的可以用在有高速通过率的模
  • shell文件通配符(9):任意一个:?、任意数量:*、任意包含[]、[^]:任意不包含

    文章目录 一 有哪些文件通配符 二 匹配任意 匹配任意一个字符 匹配任意数量的字符串 三 匹配任意指定一个字符 1 匹配任意包含 匹配任意包含 字符范围 2 与 匹配任意不包含 四 注意事项 1 通配符组合 2 不能跨越目录层级进行通配 3
  • 云呐工单管理对售后服务的全流程进行精细化的管理

    伴随着市场环境的改变 服务管理已融入到各个行业并起着愈来愈重要的功用 成为企业提升产品附加值 施行差异化发展战略 继而获取核心竞争力的较佳方式 带来良好的服务管理有利于企业获取报告信息 减低顾客流失率和赢得更多新顾客 能够促进企业利润的稳步
  • html文字浮动效果,css浮动怎么理解?

    浮动的意义 设置了浮动属性的元素会脱离普通标准流的控制 移动到其父元素中指定的位置的过程 将块级元素放在一行 浮动会脱离标准流 不占位置 会影响标准流 浮动只有左右浮动 不会出现上下浮动 浮动的使用 基本语法格式 选择器 float 属性值
  • pycharm注释快捷键(多行注释快捷键,三引号注释快捷键...)

    一 前言 相信学习python的小伙伴们对pycharm这款软件并不陌生 有时候我们需要在pycharm里面进行批量注释 但是直接一个一个输入注释符号太麻烦了 下面教大家用快捷键进行注释 二 教程 1 多行 单行注释 import torc
  • element 表格内显示图片

    element 表格内显示图片 先看下效果图 如下 再看下前端代码
  • 时间序列分析教程(二):移动平均与指数平滑

    之前介绍了时间序列的基本概念和性质 现在就正式介绍一些处理时间序列的模型方法 第一个是移动平均法 移动平均法很简单 就是用最近的数据预测未来短时间内的数据 有简单移动平均法 真的很简单 就是用最近的一组数据 去平均 作为下一时刻的预测 S
  • C++ 大话设计之《迭代器模式》(优缺点,设计原理,常用场景)

    迭代器模式是一种行为型模式 优点 它支持以不同的方式遍历一个聚合对象 而无需暴露它的内部表示 迭代器简化了聚合类 在迭代器模式中 由于引入了抽象层 增加新的聚合类和迭代器类都很方便 无需修改原有代码 缺点 由于多了一个抽象层 会增加系统的复
  • JVM中即时编译器JIT与解释器并存-深入理解jvm

    一 学习目标 1 了解解释器与编译器的概念与作用 2 知道jvm中三种执行模式 3 了解热点代码 二 解释器模式与编译器模式以及混合模式 字节码文件通过类装载器装载 被分配被分配到JVM的运行时数据区 然后会被执行引擎执行 执行引擎以指令为
  • Docker部署开源项目Django-CMS企业内容管理系统

    Docker部署开源项目Django CMS企业内容管理系统 一 Django CMS介绍 1 1 Django CMS简介 1 2 Django CMS特点 二 本地环境介绍 2 1 本地环境规划 2 2 本次实践介绍 三 本地环境检查
  • open3d 最远距离采样FPS

    关键代码 FPS pcd down pcd farthest point down sample 1000 pcd CloudPoint 如果是mesh采样 不是FPS pcl mesh sample points poisson disk
  • 骑马与砍杀服务器修复,骑马与砍杀21.3.1公共版和热修说明 修复联机模式

    骑马与砍杀21 3 1公共版和热修说明 修复联机模式 北京时间5月9日 骑马与砍杀2霸主发布了最新更新 以下是更新日志说明 公共版 版本 Native e1 3 1 SandboxCore e1 3 1 Sandbox e1 3 1 Sto
  • eclipse创建第一个JSP项目

    前言 本文的内容由四个部分组成 分别为 Tomcat的安装与配置 创建第一个JSP项目 打包JSP项目到Tomcat服务器上并在浏览器中运行 eclipse的一些java Web的一些设置 1 Tomcat安装与配置 到Tomcat官网下载
  • 【WiFi】wifi芯片架构与原理说明

    目录 1 概述 2 芯片架构 3 工作原理 4 总结 1 概述 WiFi芯片是一种用于无线网络通信的集成电路 它负责将数据转换为无线信号并进行传输 下面是关于WiFi芯片架构和原理的简要说明 2 芯片架构 芯片架构 WiFi芯片通常由以下几
  • ENet分割笔记

    https github com cswhshi segmentation blob master ENet py 权重1 21m 但是内存占用较大 2080ti上batch size为8 coding utf 8 import torch
  • 菜鸟学习历程【17】进程控制编程

    进程控制编程 进程 进程是一个具有一定独立功能的程序的一次运行活动 同时也是资源分配的最小单元 进程 程序 程序执行的实例 放到磁盘的可执行文件 进程不可在计算机之间迁移 程序通常对应着文件 静态和可以复制 动态 静态 暂时 进程是一个状态
  • Unity Transparent Video

    https medium com pofu lu unity transparent video E7 94 A8 videoplayer E6 88 96 avpro E6 92 AD E6 94 BE E9 80 8F E6 98 8E