Unity3D游戏发之高达光之翼月光蝶效果制作.docVIP

Unity3D游戏发之高达光之翼月光蝶效果制作.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Unity3D游戏发之高达光之翼

玩高达破坏者的时候看到多款高达有光之翼或者近似的效果,例如月光蝶,或者OOR的高浓度粒子扩散,于是我也做了这么一个效果: 该文章出自【狗刨学习网】 ? ?? ? ???? ??? ? ?? ??常规的光之翼,比如命运、V2之类的,除了这个透明的效果,关键是里面的纹理是会扩散着动的,具体效果可以看看优酷的视频。(高达破坏者居然没有V系列的机体……OO系的高达也少得可怜),由于手上没有装备光之翼的高达机体模型,所以这里随便拿了个RX78,阿赵我让元祖也享受一下光之翼 ? ?? ??? ? ?? ??光之翼扩散,诸如命运的爆种之类,如果再拉大点,然后在透明通道上面控制一下形状,就变成月光蝶的效果了。 ? ?? ??? ? ?? ??光之翼的颜色可以在材质里面随意更改,所以很容易可以配出GN粒子之类的效果,我就随便调了一个颜色。 ? ?? ??下面说说制作的思路: ? ?? ??1、在3D软件里面准备好这样的面片。具体的形状根据自己的需要。可以做成这样的扩散型,也可以做成长条形的喷射状。 需要注意的两点,第一点是必须控制好物体的中心点,这关系到假如你放进引擎之后需要变换大小时的效果 ? ?? ??? ? ?? ??第二点是UV的问题,由于我们需要做扩散流动的效果,我这里是用UV动画做的,所以就必须把UV朝向一个方向,比如这里是统一朝向右边。? ?? ?? ? ?? ?? ? ?? ??? ? ?? ??2、准备这样的贴图: ? ?? ??控制透明通道的遮罩贴图: ?? ?? ?? ? ?? ??? ? ?? ??作为显示纹理的贴图,可以是各种喜欢的形状,比如我这里就随便在ps里面做了一个分层云彩 ? ?? ?? ? ?? ??? ? ?? ??准备好贴图之后,我们可以先在3Dmax里面检查一下UV的流动效果,打关键帧,然后给材质的漫反射通道做uv偏移动画,如果动画的效果合符自己的预想,就可以了。 ? ?? ?? ? ?? ??3、把准备好的素材都放进unity3d里面。然后写一个脚本控制UV动画(material.SetTextureOffset),再写一个shader控制光翼的效果。或者直接把控制uv动画这一步写在shader里面也可以。 ? ?? ??? ? ?? ??shader的分析: ? ?? ??我这里是用了脚本来控制uv动画的,所以用到了offset偏移。如果想直接在shader里面控制,可以在片段程序里面分别获取uv的坐标,然后将u坐标根据时间来累加偏移就可以。 ? ?? ??? ? ?? ??写2个贴图通道分别是纹理和遮罩,再写两个颜色,一个是控制主颜色一个是控制发光颜色。 ? ?? ?? ?? ?? ? _MainTex (Base (RGB), 2D) = white {} ? ?? ?? ?? ?? ? _AphlaTex (Base (RGB), 2D) = white {} ? ?? ?? ?? ?? ? _Color (Main Color, Color) = (1,1,1,0) ? ?? ?? ?? ?? ? _Emission (Emmisive Color, Color) = (1,1,1,1) ?? ? ?? ??为什么要控制发光颜色呢?因为你有可能会根据场景的情况去条件环境光,一般的自发光只要把Emission 变成纯白就可以了,但这个光翼效果对颜色的强度很敏感,如果直接纯白会出现色块,所以用一个自定义环境光乘以计算出来的漫反射颜色,控制光翼的具体效果。而为了让光翼能在最开始的一个范围是纯亮颜色,在边缘的范围才有纹理流动的效果,我在漫反射里面让主纹理颜色乘以主颜色之后,再加了一个增幅相乘的透明度。 ? ?? ??思路就是这样,具体用哪一种写法就自己决定了,用顶点片段程序也可以,用surface也可以。我这里是用surface的: ? ?? ?half4 c = tex2D (_MainTex, IN.uv_MainTex); half4 d = tex2D (_AphlaTex, IN.uv_AphlaTex);? ?? ?? o.Alpha = d.rgb; o.Albedo = c.rgb*_Color.xyz+d.rgb*d.rgb; ? ?? ? o.Emission = o.Albedo*_Emission; ? ?? ???现在玩游戏,有种以前搞乐队时候听歌的痛苦了。以前玩乐队时,没听一首歌,都不是听到歌手在唱什么,而是听到了鼓点是怎样打的,听到了吉他是怎样弹的。现在玩游戏,玩到的不是游戏的剧情或者玩法,而是每看到一种比较有趣的效果,都想做做看。这估计也算是职业病的一种吧

文档评论(0)

canggu808866 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档