Unity学习笔记14——导入视频格式问题(QuickTime player)

前言:

        由于Unity中能够识别的视频格式主要有:.mov, .mpg, .mpeg, .mp4, .avi, .asf,但是其实最后这些格式的时候在导入到Unity中的时候,都会再进行一次Unity内部的视频转码,这是一个耗时的操作,而且要保证视频转码的顺利完成,我们还必须安装Quicktime player工具,用于视频的转码。


一、遇到问题:

        按照要求,我安装了Quicktime player之后,将视频war_video.mp4通过拖拽导入到Unity中,结果提示:“Movie importing requires Quicktime to be installed...”这样的错误,这是因为Unity对于Quicktime player的依赖还没有生效。通过查询我们可以知道,导入Unity的视频最后都被转码为.ogv格式,这是Unity能够直接识别的格式

        在解决问题的时候,我找到了一个这样子的视频格式转码工具,能够将其他格式的视频转码为Unity能够直接识别的.ogv格式,而且不依赖于Quicktime player,而且导出来视频的质量会比Quicktime转码的更加高,这个工具就是:TheoraConverter


二、安装使用:

1.安装:下载得到压缩包,先双金.exe文件,选择解压目录进行解压:

     

        


2.解压:找到解压目录,下面会有两个文件:setup.exe和setup.msi,双击setup.exe即可完成安装:

        


3.开始转码操作:可以通过Add按钮添加指定目录下的视频文件,也可以通过拖拽添加视频,指定转码后得到的视频文件目录,然后点击START按钮就开始视频的转码:

        

        视频转码进行中:

        


4.视频转码成功后,得到一个与原视频文件同名但后缀不同的视频文件:War Video.ogv

        


5.导入到Unity中:由于不需要再进行转码,所以资源载入的速度很快,可以在Inspector中预览播放视频:

        

创建脚本  添加到Plane上面  把视频拖拽至脚本

using UnityEngine;
using System.Collections;


public class Script_moveTest : MonoBehaviour
{


    //电影纹理
    public MovieTexture mov;
    // Use this for initialization
    void Start()
    {
        //设置当前对象的纹理是电影纹理
        GetComponent<Renderer>().material.mainTexture = mov;
        //设置为循环播放
        mov.loop = true;
        if (!mov.isPlaying)
        {
            mov.Play();
        }
    }

}


  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值