Unity填坑之Video与RenderTexure
前言
需要在游戏里面增加视频,或者CG动画,需要使用到Unity自带的Video组件,同时由于要结合UI和其他图片进行组合展示,所以要用到RenderTexure,将视频流放入到一个Texture里面,再用RawImage指定这个RenderTexture。只播放一次时,没问题,但是当切换页面或者销毁预制之后,再播放时,会残留一部分视频在上一次播放停止的地方。
一、修复方式
修复方式就是每次打开预制,或者界面的时候,动态创建一个新的RenderTexture,然后设置Video的Target Texture为这个新的RenderTexture,设置RawImage的texture也为这个新的RenderTexture。示例代码如下(碰到问题的项目是LUA项目):
self._Player = self.viewModel.node_video.gameObject:GetComponent(typeof(UnityEngine.Video.VideoPlayer))
self._Player.targetTexture = UnityEngine.RenderTexture(ResLoad.get("Video/MyRenderTexture"):asset(typeof(UnityEngine.RenderTexture)))
self.rawImage = self.viewModel.node_rawImage.gameObject:GetComponent("RawImage")
self.rawImage.texture = self._Player.targetTexture
需要注意的是,为了自己设置的RenderTexture配置不变,可以在New RenderTexture时,传入之前设置好的,这样就能copy设置,不要代码设置了,即在UnityEngine.RenderTexture(//这里传入之前做好的RenderTexture)
原文地址:https://blog.csdn.net/kylinok/article/details/113687701
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。