查看: 2697|回复: 8
打印 上一主题 下一主题

一些特殊画面效果的实现-All Hail Camera.RenderWithShader(二)

[复制链接]

5552

主题

2

听众

8万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
11

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2011-12-9 15:37:13 |只看该作者 |倒序浏览


Blush






Glow

The Pro Standard Assets package that comes with Unity has a simple glow effect. Their implementation uses the alpha channel of the destination render texture to decide where to render glow. This limits us a couple ways. We can not have multicolored glow effects and we can not use the alpha channel for anything else. We decided to just bite the bullet and have a separate render texture for rendering glow.
Now we’ve freed up the destination render texture’s alpha channel for something else to use and we can have glow any color we like. Other than the additional memory needed for a 32bit render texture there’s a large disadvantage to doing it our way. Glow is no longer occluded by other geometry. A workaround for this is to have objects that you don’t want to glow render black to the glow render texture. Since glow is an additive pass, anything that is black will do nothing to the original image.
The Glow Replace Shader:
Shader “Blush/Glow Replace” {

   SubShader {

      Tags { “RenderEffect”=“Glow” }

      Pass {

         Fog { Mode Off }

         Color [_Glow_Color]

      }

   }

}

For every object we wanted to glow we added two things to the object’s original shader.

- Tag: “RenderEffect” = “Glow”

- Property: _Glow_Color (”Glow Color”, COLOR) = (1,1,1,1)
Distortion

Distortion is handled in a few steps.

1. Render the scene to a render texture.

2. Render a 2 dimensional “normal” map to a render texture.

3. Draw the scene’s render texture to the screen offsetting each texels’ texture coordinate by the amount specified by the 2 dimensional “normal” map texture.
Blush used a constantly oscillating full screen normal map to distort the scene. This distortion helped established an underwater feel. We used replacement shaders to render directly to this normal map to further modify the distortion. The artists used these shaders on particles to provide distortion effects on fast-moving tentacles, enemies, and other places.
The Particle Distortion Replace Shader:


Shader “Squiddy/Post Processing/Distortion Replace” {

   Properties {

      _BumpMap (“Bump (RGB)”, 2D) = “bump” {}

   }

   SubShader {

      Tags { “RenderEffect”=“Distort” }

      Pass {

         Lighting Off

         ZWrite Off

         Blend SrcAlpha OneMinusSrcAlpha

         BindChannels {

            Bind “Color”, color

            Bind “Vertex”, vertex

            Bind “Texcoord”, texcoord

         }

         SetTexture[_BumpMap] {combine texture, texture * primary}

      }

   }

}
转自Blurst Technology




由 u8 发表


分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

5969

主题

1

听众

39万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2012-3-24 23:20:14 |只看该作者
赞一个,哈哈
回复

使用道具 举报

5969

主题

1

听众

39万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2012-4-6 23:23:00 |只看该作者
凡系斑竹滴话要听;凡系朋友滴帖要顶!
回复

使用道具 举报

   

671

主题

1

听众

3247

积分

中级设计师

Rank: 5Rank: 5

纳金币
324742
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2012-4-9 23:20:59 |只看该作者
凡系斑竹滴话要听;凡系朋友滴帖要顶
回复

使用道具 举报

1023

主题

3

听众

359

积分

设计实习生

Rank: 2

纳金币
335582
精华
0

最佳新人

5#
发表于 2012-4-17 23:32:07 |只看该作者
其实楼主所说的这些,俺支很少用!
回复

使用道具 举报

5969

主题

1

听众

39万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

6#
发表于 2012-6-12 23:24:58 |只看该作者
响应天帅号召,顶
回复

使用道具 举报

tc    

5089

主题

1

听众

33万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

7#
发表于 2012-8-6 23:53:50 |只看该作者
很经典,很实用,学习了!
回复

使用道具 举报

   

671

主题

1

听众

3247

积分

中级设计师

Rank: 5Rank: 5

纳金币
324742
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

8#
发表于 2012-11-10 23:24:52 |只看该作者
不错不错,收藏了
回复

使用道具 举报

   

671

主题

1

听众

3247

积分

中级设计师

Rank: 5Rank: 5

纳金币
324742
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

9#
发表于 2013-2-27 23:22:37 |只看该作者
很经典,很实用,学习了!
回复

使用道具 举报

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

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

GMT+8, 2024-11-19 14:48 , Processed in 0.093136 second(s), 31 queries .

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

© 2008-2019 Narkii Inc.

回顶部