unity3d视频播放之投影器(Projector)投影视频到地形上,区别于普通的视频播放

准备工作首先创建工程,通过Assets->Import Package->Effects导入标准资源库中的特效素材,如下图所示。如果安装Unity时没有安装标准资源库,可以到这里单独下载并安装。

导入资源后,Project中将出现下图中的结构:
unity3d视频播放之投影器(Projector)投影视频到地形上,区别于普通的视频播放_第1张图片

接下来就可以在场景中加入必要的元素了。应用Projector组件
将BlobShadowProjector(Standard Shader Gallery -> Effects -> Projectors -> Prefabs)拖入场景中,Inspector面板如图:
unity3d视频播放之投影器(Projector)投影视频到地形上,区别于普通的视频播放_第2张图片
BlobShadowProjector实现的是通过Projector组件在物体上投射一个圆形的阴影。将上图中Cookie改成我们需要的图片(注意图片属性中Alpha from Grayscale需要勾选,Wrap mode选择Clamp,当然你可以尝试不同选择看实际效果),但仍然存在不少问题,如png图片中的透明部分会被渲染成黑色,场景中有不明条纹等。
Projector的原理是为其frustum范围内的物体增加一个Pass,将我们在Projector中定义的材质渲染出来。为了解决上面所说的问题,我们可以创建自己的Shader和材质。
首先,复制Standard Shader Gallery -> Effects -> Projectors -> ProjectorMultiply,另存为ProjectorCustom,修改如下:

你可能感兴趣的:(unity3d视频播放之投影器(Projector)投影视频到地形上,区别于普通的视频播放)