游戏蛮牛学习群(纯技术交流,不闲聊):539178957
新宝娱乐城博彩打不开 手机端
查看: 9517|回复: 92
发新帖

新宝娱乐城打不开: [外文翻译] 基于位置的梯度着色器

  [复制链接]  [移动端链接]
排名
9316
昨日变化
6

新宝娱乐城博彩打不开 www.sl6cl.com.cn 33

主题

51

帖子

523

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
48603
好友
6
蛮牛币
1143
威望
0
注册时间
2014-10-12
在线时间
97 小时
最后登录
2018-3-6

蛮牛译员

跳转到指定楼层
楼主
发表于 2017-11-3 19:27:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
本帖最后由 492899250 于 2017-11-3 19:32 编辑

基于位置的梯度着色器
这是本博客的第一篇文章,一个很容易理解的着色器。



为了PegJam2017,我决定做一个游戏,灵感来自于纪念碑谷。我想在我的jam游戏中,营造一些类似于下图关卡的气氛。这个jam游戏叫“Isolation”,可以从这里下载。



想要实现这种几何体消失在雾/背景中的效果,最简单的方法就是我要在文中分享的着色器。这个着色器所做的就是,根据几何体顶点和y轴0点之间的距离,将顶点逐渐变为一个新的颜色。

步骤1:声明2个颜色变量。

[C#] 纯文本查看 复制代码
fixed4 _Color;
fixed4 _FogColor;


_Color是几何体的颜色,_FogColor是最终需要渐变成的背景颜色。

步骤2:声明2个新变量,用于对每个对象定义,渐变开始和渐变结束的y坐标。这样可以控制场景中每个物体的最终效果。

[C#] 纯文本查看 复制代码
half _FogStart;
half _FogEnd;


步骤3:把顶点的输出坐标转换为游戏的世界坐标,以便计算特效的开始坐标和结束的y坐标。

[C#] 纯文本查看 复制代码
float4 pos = mul(unity_ObjectToWorld, v.vertex).xyzw;

步骤4:需要计算一下这个效果的而影响范围,它基于顶点的y坐标,然后用saturate函数将结果限制在0到1之间。

[C#] 纯文本查看 复制代码
data.fog = saturate((_FogStart - pos.y) / (_FogStart - _FogEnd));

步骤5:计算最终颜色,利用步骤4中计算的data.fog的强度,在_Color和_FogColor之间进行差值。color.rgb是由unity标准着色器计算的输出颜色,把它和_Color相乘。如果不这样做,会遗漏场景中的阴影和光照信息。

[C#] 纯文本查看 复制代码
color.rgb = lerp(color.rgb * _Color , _FogColor, IN.fog);

最后,将它嵌入到unity中。需要创建一个新的材质,使用这个着色器,然后将它应用到所有的3d资源。使背景色和雾的颜色相同,同时还需要将相机的Background属性设置为雾的颜色。



这样就完成了一个简单的着色器,它的效果和纪念碑谷的很相似,而且不需要为任何模型创建自定义纹理。这个着色器可用于任何颜色、光照和阴影,据我实践,对模型上的纹理也有效。因为这个效果是用着色器创建的,当物体从地面向上移动时,会有一个很酷的渐显效果。



通过调整开始和结束位置,可以改变效果的影响范围,甚至可以让它渐隐到天空中而不是地面。



感谢阅读!
[C#] 纯文本查看 复制代码
Shader "Custom/Fog"

{

Properties

{

_Color("Color", Color) = (1,1,1,1)

_MainTex("Texture", 2D) = "white" {}

_FogColor("Fog Color", Color) = (0.3, 0.4, 0.7, 1.0)

_FogStart("Fog Start", float) = 0

_FogEnd("Fog End", float) = 0

}

 

SubShader

{

Tags{ "RenderType" = "Opaque" }

 

CGPROGRAM

 

#pragma surface surf Lambert finalcolor:mycolor vertex:myvert

 

struct Input

{

float2 uv_MainTex;

half fog;

};

 

fixed4 _Color;

fixed4 _FogColor;

half _FogStart;

half _FogEnd;

sampler2D _MainTex;

 

void myvert(inout appdata_full v, out Input data)

{

UNITY_INITIALIZE_OUTPUT(Input,data);

float4 pos = mul(unity_ObjectToWorld, v.vertex).xyzw;

data.fog = saturate((_FogStart - pos.y) / (_FogStart - _FogEnd));

}

 

void mycolor(Input IN, SurfaceOutput o, inout fixed4 color)

{

fixed3 fogColor = _FogColor.rgb;

fixed3 tintColor = _Color.rgb;

#ifdef UNITY_PASS_FORWARDADD

fogColor = 0;

#endif

color.rgb = lerp(color.rgb * tintColor, fogColor, IN.fog);

}

 

void surf(Input IN, inout SurfaceOutput o)

{

o.Albedo = tex2D(_MainTex, IN.uv_MainTex).rgb;

}

 

ENDCG

}

 

Fallback "Diffuse"

}


原文标题:Position Based Gradient Shader
原文链接:https://spennerino.wordpress.com/2017/06/20/gradient-shader/

评分

参与人数 2鲜花 +4 收起 理由
naxxx + 2 赞一个!
hnlyfy + 2 很给力!

查看全部评分


7日久生情
2535/5000
排名
3464
昨日变化
6

2

主题

1780

帖子

2535

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
241666
好友
0
蛮牛币
10199
威望
0
注册时间
2017-9-6
在线时间
362 小时
最后登录
2018-6-7
沙发
发表于 2017-11-4 07:12:33 来自Mobile--- | 只看该作者
感谢分享

5熟悉之中
501/1000
排名
8651
昨日变化
10

4

主题

252

帖子

501

积分

Rank: 5Rank: 5

UID
247659
好友
0
蛮牛币
1393
威望
0
注册时间
2017-10-9
在线时间
122 小时
最后登录
2018-6-25
板凳
发表于 2017-11-4 07:35:29 来自Mobile--- | 只看该作者
好厉害的样子

5熟悉之中
887/1000
排名
6544
昨日变化
9

1

主题

275

帖子

887

积分

Rank: 5Rank: 5

UID
24956
好友
1
蛮牛币
2535
威望
0
注册时间
2014-5-14
在线时间
427 小时
最后登录
2018-6-11

VIP

地板
发表于 2017-11-4 16:01:11 | 只看该作者
[外文翻译] 基于位置的梯度着色器

6蛮牛粉丝
1162/1500
排名
3310
昨日变化
40

9

主题

489

帖子

1162

积分

Rank: 6Rank: 6Rank: 6

UID
214924
好友
2
蛮牛币
2529
威望
0
注册时间
2017-3-28
在线时间
254 小时
最后登录
2018-7-27
5#
发表于 2017-11-6 10:02:21 | 只看该作者
6666666666666666666666666666

7日久生情
3433/5000
排名
336
昨日变化

32

主题

794

帖子

3433

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
4392
好友
31
蛮牛币
10615
威望
0
注册时间
2013-9-23
在线时间
949 小时
最后登录
2018-7-27

社区QQ达人

6#
发表于 2017-11-7 11:56:38 | 只看该作者
感谢分享,很不错,简单实用

3偶尔光临
175/300
排名
26959
昨日变化
22

0

主题

67

帖子

175

积分

Rank: 3Rank: 3Rank: 3

UID
92324
好友
0
蛮牛币
201
威望
0
注册时间
2015-4-15
在线时间
97 小时
最后登录
2018-7-26
7#
发表于 2017-11-7 12:15:50 | 只看该作者
感谢分享

6蛮牛粉丝
1101/1500
排名
2687
昨日变化
12

0

主题

205

帖子

1101

积分

Rank: 6Rank: 6Rank: 6

UID
224429
好友
1
蛮牛币
1032
威望
0
注册时间
2017-5-31
在线时间
408 小时
最后登录
2018-7-27
8#
发表于 2017-11-7 16:38:19 | 只看该作者
6666666666666666666

7日久生情
4180/5000
排名
2754
昨日变化
5

5

主题

3111

帖子

4180

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
209186
好友
5
蛮牛币
5194
威望
0
注册时间
2017-3-1
在线时间
586 小时
最后登录
2018-7-19
9#
发表于 2017-11-8 08:54:36 | 只看该作者
谢谢分享

6蛮牛粉丝
1009/1500
排名
3310
昨日变化
7

1

主题

370

帖子

1009

积分

Rank: 6Rank: 6Rank: 6

UID
122160
好友
1
蛮牛币
1674
威望
0
注册时间
2015-9-10
在线时间
234 小时
最后登录
2018-7-24
10#
发表于 2017-11-8 09:50:10 | 只看该作者
感谢分享

7日久生情
3472/5000
排名
101
昨日变化

0

主题

395

帖子

3472

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
239
好友
4
蛮牛币
6312
威望
0
注册时间
2013-6-6
在线时间
745 小时
最后登录
2018-7-27
11#
发表于 2017-11-8 10:12:10 | 只看该作者
不错,支持楼主!

7日久生情
1902/5000
排名
778
昨日变化

0

主题

262

帖子

1902

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
127255
好友
0
蛮牛币
6361
威望
0
注册时间
2015-10-29
在线时间
511 小时
最后登录
2018-5-4
12#
发表于 2017-11-8 10:22:51 | 只看该作者
感谢分享

6蛮牛粉丝
1499/1500
排名
1339
昨日变化
1

1

主题

136

帖子

1499

积分

Rank: 6Rank: 6Rank: 6

UID
186029
好友
1
蛮牛币
2422
威望
0
注册时间
2016-11-22
在线时间
522 小时
最后登录
2018-7-27
13#
发表于 2017-11-8 14:15:19 | 只看该作者
好厉害的样子  留着自学用

7日久生情
1671/5000
排名
1722
昨日变化
1

0

主题

523

帖子

1671

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
35046
好友
0
蛮牛币
9
威望
0
注册时间
2014-7-18
在线时间
448 小时
最后登录
2018-5-23
14#
发表于 2017-11-8 19:17:01 | 只看该作者
[外文翻译] 基于位置的梯度着色器
[发帖际遇]: eyes0415 发帖时在路边捡到 2 蛮牛币,偷偷放进了口袋. 幸运榜 / 衰神榜

7日久生情
1879/5000
排名
1380
昨日变化
7

0

主题

589

帖子

1879

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
164723
好友
0
蛮牛币
3508
威望
0
注册时间
2016-8-29
在线时间
468 小时
最后登录
2018-7-27
15#
发表于 2017-11-8 19:35:53 | 只看该作者

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 新宝娱乐城博彩打不开 返回列表
  • 李思思元元月亮姐姐 盘点央视主持人与子女温馨合影 2018-12-11
  • “忻州工匠”“忻州技能标兵”评选活动启动 2018-12-11
  • 包住内力,在不断变化中寻找契机,可出击可借力亦可卸力。 2018-12-10
  • 广州中考首用计算机辅助命题 满满的广州元素 2018-12-09
  • 植树、采茶、挖野菜…… 这才是春天正确的打开方式 2018-12-08
  • 【纯黑】《生化危机7》克里斯DLC不是英雄 2018-12-08
  • 150块地铁灯牌高调“炫父” 温暖南京城 2018-12-07
  • 【光明网专论】鞠立新:习近平新时代中国特色社会主义经济思想的内涵、逻辑和特质 2018-12-06
  • 江西“放管服”改革再出实招 2018-12-05
  • 首列商用磁浮2.0版列车下线 适用中心城市到卫星城间交通--旅游频道 2018-12-05
  • 空警-500改进型新照曝光,监控效率成倍提升 2018-12-04
  • 对美敲诈老手不能软越软越诈你要打就来 2018-12-04
  • 赵旭日:对阵恒大很有缘 比赛要一场一场去踢 2018-12-03
  • 《数码宝贝故事》第三阶段首发初回特典公布--人民网游戏 2018-12-03
  • 端午小长假自驾游归来 车辆保养完整攻略 2018-12-02
  • 639| 924| 796| 313| 613| 284| 535| 943| 520| 797|