如何用3D游戏体播放视频(VideoPlayer)?

如何用3D游戏体播放视频?

开发者在用Unity3D做工艺仿真、AR或者游戏时,经常要在各种形状的3D游戏体上插播视频充当广告或者教学,那到底怎样实现呢?这就要用到Unity内置的视频播放组件 —— VideoPlayer。

Unity官方网址:https://docs.unity3d.com/Manual/class-VideoPlayer.html

主题
Demo效果展示如何在3D物体表面播放视频如何代码控制VideoPlayer1.代码控制视频播放、暂停,监听播放结束等2.如何监测3D游戏体是否在视野内?
注意事项如何在2D Canvas上播放视频

Demo效果展示

先上视频看看效果(从左至右,依次是平面、球体、曲面、圆柱):

如何在3D物体表面播放视频?

如何在3D物体表面播放视频

首先创建GameObject ,在GameObject 上添加VideoPlayer 组件:如何用3D游戏体播放视频(VideoPlayer)?
然后可以看到,Source 中两个选项,我目前用的是VideoClip。
1.VideoClip :可以直接拖入Project视图中的视频
2.URL : 可以放入视频的存储路径

然后下面还有一个选项值得一提,RenderMode(渲染模式)。播放视频其实和贴图非常相像,因为播放视频用到的MovieTexture属于贴图Texture的子类。所以这里我们是想在3D物体上播放视频,所以选择MaterialOverride。

勾选play on awake,运行,就可以看到视频在模型上播放了。

如何用3D游戏体播放视频(VideoPlayer)?

如何代码控制VideoPlayer
1.代码控制视频播放、暂停,监听播放结束等

上面已经完成了视频播放功能,接下来我们通过代码控制视频:
下面展示一些 视频播放、暂停,监听播放结束等方法

        private VideoPlayer Vp;
void Awake()
{
Vp = GetComponent<VideoPlayer>();
}
void Start()
{
Vp.loopPointReached += VideoEnd;

Vp.Play();//播放视频
Vp.Pause();//暂停视频
Vp.Stop();//停止视频
Vp.playbackSpeed = 1;//播放速度
}
/// <summary>
/// 监听视频是否播放结束,结束时调用
/// </summary>
/// <param name="vp"></param>
void VideoEnd(VideoPlayer vp)
{
Debug.Log("视频播放结束");
Vp.Play();//重新播放视频
}

2.如何监测3D游戏体是否在视野内?

视频一般是有声音的,在做AR项目时,通常会在3D游戏体出界后,关闭该游戏体身上的视频和音效,那么如何监测3D游戏体是否出界呢?
Unity有一个内置方法,使用的唯一条件是该游戏体身上必须带有Mseh组件,因为它是通过是否渲染该游戏体来判断的。
下面展示 3D游戏体是否在视野内的监测方法

        //当游戏体第一次出界时调用,该游戏体身上必须带有Mseh组件
private void OnBecameInvisible()
{
StopVideo();
Debug.Log("出界");
}
//当游戏体第一次进入视野时调用,该游戏体身上必须带有Mseh组件
private void OnBecameVisible()
{
OpenVideo();
Debug.Log("视野内");
}

注意事项

    可选视频类型:.mp4、mov、.mpg、.mpeg、.avi和.asf亲测3D模型使用情况:
    1、视频会在模型的每一个面都播放,比如视频会在正方体6个面分别播放。此外,模型和视频比例不一样的话会有拉伸情况。因此,需要按自己需求让美术做配套的模型和视频。
    2、如果发现视频的中心并不在3D模型的中间,是模型UV的问题,需要美术调整UV,把视频放在模型指定面的中间。

如何在2D Canvas上播放视频

在2D界面播放视频和在3D游戏体上播放,原理及代码是一样的,区别是要把Mesh组件换成RawImage,然后VideoPlayer的RenderMode选项选择RenderTexture或者其他选项。
详情就不说了,网上有很多,可以参考以下网址:
https://blog.csdn.net/weixin_43367805/article/details/93178830
https://www.cnblogs.com/0kk470/p/10637034.html

原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

如何用3D游戏体播放视频(VideoPlayer)?

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » 如何用3D游戏体播放视频(VideoPlayer)?
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏