- 最后登录
- 2019-12-25
- 注册时间
- 2012-8-24
- 阅读权限
- 90
- 积分
- 71088
 
- 纳金币
- 52360
- 精华
- 343
|
来自: 随幻Kaller
记载一下之前看过的视频中 简易战争迷雾的关键代码主要流程:两个摄像机 一个显示主画面 一个显示可见区域
利用 RenderTexture 可进行对可见区域的渲染
主摄像机挂 WarFog 脚本
然后 MaskMat 材质换成下面的 Shader- using UnityEngine;
- public class WarFog : MonoBehaviour
- {
- [SerializeField]
- //拖到子摄像机上的Render Texture
- private RenderTexture mask;
- [SerializeField]
- //创建的材质球 需要用到WarFog sharder 在下面给出
- private Material mat;
- //在图像渲染之后执行
- public void OnRenderImage(RenderTexture source, RenderTexture des)
- {
- //将遮罩的mask传入材质球
- mat.SetTexture("_MaskTex", mask);
- //经过材质球的sharder变换后 拷贝源纹理到目的渲染纹理。
- Graphics.Blit(source, des, mat);
- }
- }
复制代码 shader: |
|