查看: 2318|回复: 0
打印 上一主题 下一主题

[经验分享] Unity 简易战争迷雾

[复制链接]
may    

8830

主题

81

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
52360
精华
343

最佳新人 热心会员 灌水之王 活跃会员 突出贡献 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2018-12-31 19:11:40 |只看该作者 |倒序浏览

来自: 随幻Kaller

记载一下之前看过的视频中 简易战争迷雾的关键代码主要流程:两个摄像机 一个显示主画面 一个显示可见区域
利用 RenderTexture 可进行对可见区域的渲染

主摄像机挂 WarFog 脚本
然后 MaskMat 材质换成下面的 Shader
  1. using UnityEngine;
  2. public class WarFog : MonoBehaviour
  3. {

  4.     [SerializeField]
  5.     //拖到子摄像机上的Render Texture  
  6.     private RenderTexture mask;

  7.     [SerializeField]
  8.     //创建的材质球   需要用到WarFog sharder  在下面给出  
  9.     private Material mat;
  10.     //在图像渲染之后执行  
  11.     public void OnRenderImage(RenderTexture source, RenderTexture des)
  12.     {
  13.         //将遮罩的mask传入材质球  
  14.         mat.SetTexture("_MaskTex", mask);
  15.         //经过材质球的sharder变换后  拷贝源纹理到目的渲染纹理。  
  16.         Graphics.Blit(source, des, mat);
  17.     }
  18. }
复制代码
shader:
复制代码
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏1 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-10-28 13:04 , Processed in 0.064566 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部