Power by Lenshuang~2+3D Game Vfx Base since 2003~2014
  •    In Sucker Punch Productions’ PS4 open world game inFAMOUS Second Son, players control character Delsin Rowe, a Conduit who is able to summon superhuman powers from his environment and other Conduits. In order to realize the necessary particle effects for the game’s signature smoke and neon powers, Sucker Punch relied on a powerful expression-based particle editor and advancements in lighting and real-time curl noise generation. We talk to senior visual effects artist Matt Vainio about the artistry, tools and techniques behind the work.

       声名狼藉:私生子是由Sucker Punch公司出品的PS4开放世界观的一款游戏。玩家控制角色Delsin Rowe拥有吸收环境来召唤超人力量的能力。使用粒子特效来实现实现游戏标志性的烟雾和霓虹力量,Sucker Punch依靠一款强大的特效编辑器以及先进的即时灯光螺旋噪点。资深游戏特效师Matt Vainio将介绍游戏中使用的艺术效果和工具技术。

    Neon powers concept.

    fxg: There’s a distinctive look to the powers in this game – how did you approach the art direction of them?

         游戏中有独特的特效力量表现。你们是如何达到这样的美术效果的?

    Vainio: From the very beginning, one of the pieces of art direction we had was to make the powers feel like another character in the game. They had to have a personality all of their own and feel like something the hero was manipulating. They were not just summoning powers and running wild. The director wanted to make sure the player was in full control of the powers they were manipulating.

         从游戏的前期,游戏美术的一方向就是我们想让力量效果表现看起来是另一个游戏角色。英雄操控的力量需要看起来个性十足。不仅仅是召唤力量和狂野释放。制作人想要确保玩家能完全操控这种力量。

    Smoke: dash concept.

    fxg: How did that manifest itself into actual concepts?

         如何把概念设计实现到实际游戏效果中的?

    Vainio: There were a lot of fluid effects and curl noise that we would constrain to a shape like a sphere or a cylinder. So we actually set limits on some of the noise to help constrain it to a shape – and that really helped feel like it was being controlled by the hero.

         我们把许多的流体特效和扰动效果约束在一个像球体或则圆柱的形态。为了让特效感觉是被英雄在操控,我们设置扰动限制来形成具体的特效造型。


    Curl noise example.

    Even for smoke, we didn’t want it to waft away continually all the time. The hero would have links to his smoke via this wispy tendrils. We had to make sure they were part of him. When he dashes, it’s one smooth motion and the smoke isn’t left behind in the world. It’s part of him and carries with him and re-forms into him.

         即使是烟,我们不希望它是飘荡持续很长时间。我们需要确认英雄拖尾的烟就像纤细的卷须是他身体的一部分。当英雄飞奔身后的烟在画面中有一个平顺的动态。它们是英雄身体的一部分,随着英雄带来,又重新形成了英雄。

    fxg: What was some of the research you looked into in terms of turbulence, fluids and particles?

         是什么给了你启发来实现这些扰动,流体和粒子?

    Vainio: We looked at a lot of movie-grade tools when we were developing our own toolset. So we were using 3ds Max and Krakatoa. We used a bunch of Houdini and Maya Fluids too. A lot of it was trying to get a sense of how other tools worked in creating turbulence, and bringing that back into our own toolset.

       当我们开发自己的制作工具的时候我们参考了很多的电影级软件。我们使用的是3ds Max和Krakatoa。我们也使用过一些Houdini和Maya的流体工具。在借鉴了很多软件如何实现扰动的方法后我们让它应用在自己的工具集里。


    Neon: dash example.

    You can get a lot of real reference for smoke, but you can’t get a lot of real reference in neon – in the form that we needed it. So we had to get some next best representations in terms of fluid and aerosol gas that would stand in for plasma gas. And we researched a lot of stuff written by Ken Perlin who created Perlin Noise. We used a variant of Perlin called Simplex to create a lot of our patterns in real-time. A fair bit of effort went into making it possible to run that in real-time on hardware.

        你可以找到很多真实烟的参考,但是你不能找到很多我们需要的霓虹形态的真实参考。所以我们不得不在流体和喷雾气体形成的等离子气体中寻找替代效果的表现。我们研究了许多Ken Perlin写的关于噪点的资料。我们使用其中称作Simplex的一个变种来创造自己的霓虹即时效果。随后又做了一些努力来让它能在游戏硬件环境中运行起来。

    fxg: How did you orchestrate the relationship between the hero and the powers he is conjuring?

        你们是如何协调英雄与他所创造的特效之间的关系?

    Vainio: Everything is procedural in our game, nothing was really animated. It’s done with expressions and math. The character animates with a bunch of blend animation, so we can’t really be assured of any given animation – it’s actually a weighted percentage of up to five or six anims. So what we really needed to do was access all the joints of the character so we could create a spline out of different joints and use that as reference to emit from or to.

       所有一切都是实现程序实现的在游戏中,没有真实的动画设置。都是由数学表达式来完成。角色动画使用一系列的动作融合,所以我们无法保证添加动画,因为它的权重百分比由五到六根骨骼构成。我们真正需要做的是连接角色所有的骨骼来创造一条曲线在不同的骨骼之间,使用它来作为粒子发射器的参照。


     

    Drawing neon powers.

    We actually created a low-res version of the hero’s mesh and we were able to use that as a positional locator for corresponding from and going to. It’s called a particle mesh – it’s basically emitting from the surface of the hero and that’s picking up all the different colors of the hero and the normal directions that the triangles respond from.

        我们实际上创造了英雄的低网格版本来让我们能使用它作为位置定位来匹配特效出现和消失。它被称作为特效网格,从英雄表面拾取不同区域的颜色和基于模型法线来发射粒子。

    Particle mesh emitter.

    fxg: Aside from the particles, there’s also the ‘ribbon’ look – can you talk about those?

        除了粒子,还有一些拖尾丝带的表现,你能谈谈那些么?

    Vainio: Some of the powers had a lot more of wispy look, and that’s what we used ribbons for. It was a different way to triangulate the billboards to have a more continuous look. The UVs stream across that entire set of ribbon as it comes in. We were able to do a lot of interesting things with the faces of that ribbon coming through too. If you can envisage a chopstick in the air, you can rotate or twist that chopstick and actually create that plane.

        一些力量的效果看起来有许多纤细的形态,那些是我们使用了拖尾丝带制作。那是用不同的方式用公告板(永远朝着摄像机)三角面来演算出连续的效果。UV分部于整个拖尾丝带当它产生的时候。在丝带拖尾的表面生成的过程我们能做很多有趣的事情。如果你能设想空中有一个筷子,你能旋转和扭曲这跟筷子并且能创造平面。


    Smoke: dash ribbons example.

    fxg: How did you specifically approach the smoke effects?

        你是如何实现烟雾特效的?

    Vainio: For the powers, all them tended to contain a billowing volumetric kind of smoke, some ribbons and ash and embers. We tended to use those in different portions depending on what the effect is supposed to communicate. Early on we had a lot of design challenges with the smoke feeling like it had weight, impact and force. Smoke, by itself, you don’t really have a lot of sense of those things. So we would add a lot of ash and embers at the head of this stuff.

        这个力量特效包含体积翻滚的烟尘,一些丝带拖尾和灰尘余烬。我们倾向于使用在不同的部分给予不同的需要表达的效果。早期我们有很多设计上的挑战对于烟感觉它需要有重量,影响和力量。烟本身你是没有太多的感觉。所以我们增加了灰尘余烬等东西在里面。


    Smoke: dash example.

    I came up with the analogy that if someone blows cigarette smoke in your face, it’s kind of annoying, but if somebody puts out a cigarette on your face, that’s going to hurt really bad. So that drove the idea with smoke, that the smoke needed to be the contrail to the embers. So the embers were the lead in the powers, and the smoke was behind.

        我想起一个比喻,如果有人朝你脸上吹香烟灰,这会让人生气。但如果有人在你脸上熄灭了香烟,那样伤害会很糟糕。所以基于这个想法烟需要在轨迹上有灰烬。灰烬成这个特下的主体而烟在后面。

    fxg: What was the particle system engine that you used?

        你使用的是什么粒子系统?

    Vainio: It’s a real-time editor in the engine. It’s an expression based system and we compile these expressions into shader language. This shaders are then run on the PS4’s GPU. And this allows us to have a ton of particles. These are known as compute shaders on the GPU.

        它是引擎的即时编辑器。它基于表达式系统我们编译这些表达式成为材质语言。这些材质可以在PS4的GPU下运行。可以允许加载海量的粒子。被演算为GPU材质。


    Particle System Editor in action.

    Part of the reason we went with an expression system was because at the outset of the project we had a few ‘knowns’. One of those knowns was that we were going to have a lot of different powers and we weren’t really sure what the designers were going to ask us to do. So we tried to build a powerful and flexible system with the goal of knowing we’d have to create a lot of crazy stuff.

        部分原因我们开发基于表达式是因为项目前期我们有一些共识。其中的一个就是我们会设定很多不同的力量并且我们不是很确定设计师需要我们做什么。所以我们尝试去构建一个强大而灵活的系统来满足将来要创造很多疯狂东西的目标。

    Early on we tried to come up with particle editors that were artist friendly, but we found that we were a little bit too constrained by the user interface for this. One of the downsides of one of the node-based editors – what you’re restricted to is what the UI can let you do. You’re restricted in what the engineer has exposed to you. But with an expression based system, everything’s exposed and if you want really complex motion but the math is too complex, we can hand it off to one of our high level graphics engineers who can create part of the sim for us and hand it back. So it proved to be a really powerful tool.

        早期我们想开发粒子编辑器来方便美术,但是我们发现用户界面有过多限制。基于节点的编辑器一个不利的地方,局限在于UI能让你做什么。你被限制在引擎提供给你的有限。但是一个基于表达式的系统,所有的一切都公开。如果你想要真正复杂的动作但是数学又太复杂,你可以交给我们的高水平图形工程师,他能为我们创造部分模拟效果并交回给我们。所以这被证明是一个强大的工具。

    Keyframe editor.

    fxg: How did the neon-looking powers differ from say the smoke powers?

        霓虹效果力量与烟的力量有什么区别?

    Vainio: When we using things like the curl noise, for smoke we would use multiple octaves of curl noise that gave you large and small waveforms that gave you really crunchy noise. But with neon we tended to use more single waveforms so they were very smooth. Also, with the containment I mentioned earlier where we were constraining that shape.

        当我们对烟使用像卷曲噪点,我们会使用蜷曲噪点多个八度可以提供大小的波形产生真实松脆的噪点。但是霓虹我们倾向于使用单波形这样可以更加平顺。此外,我前面提到的约束控制可以约束形态。


    Neon: dash example.

    fxg: Can you talk about how the neon powers interacted with the world of the game?

        你能谈谈霓虹力量是如何与游戏世界产生互动的么?

    Vainio: One of the art direction goals was that everything had a lingering lighting feel. So most of our stuff used a lot more emissive qualities. We’re casting a ton more light with the neon power, so light became a lot more important and central than it did with smoke. So we had to create a bunch of more tools to be able to emit light. We had to emit lights from pretty much any of the particles that were spawned. Not every particle does cast light because it doesn’t really give us the right look. We tended to use a lower amount of bigger lights that gave us an aggregated look. If we used thousands and thousands of tiny lights, not only is it performance expensive but it doesn’t really give you the same look.

        美术效果的一个目标就是所有的事物都有一个残存的光感。所以大多数的东西都使用了发光的物质。我们释放大量的光源在霓虹特效中,让光比起烟来更加核心重要。我们不得不创造一堆的工具能够发射光。我们不得不从发射的任何粒子中产生光。不是每个粒子都主动产生光因为这样不会让产生有正确的效果。我们倾向于使用降低一个大数量的光来产生一个聚集的效果。如果我们使用成千上万的微光,这样会耗费效率反而不会有同样真实的效果。


    Neon: draining example.

    Technically, what we would do, there’s actually an emissive texture that’s mapped to a mesh that’s on that sign. Our game looks at the emissive texture and looks for texture color values that are above a certain threshold. If they are, it will actually spawn a particle there. So that way it can source the color and the facing of that sign.

        从技术上讲,我们所做的,在标志网格上贴一个真实发射的贴图。我们游戏看到产生的贴图图片颜色数值高于一定的阈值。如果是这样,这会实际在那里产生一个粒子。这样就可以设置光源的颜色和记号的朝向。

    When the particles are spawned, we kill all the emission values on the neon signs. We also turn off any reflections and any lights the sign is casting, so there’s an immediate change-over. The particles also spawn their own lights in, and they swirl down to his hands.

        当粒子生成的时候,我们结束所有霓虹灯的发射值。我们也关闭任何发射和灯光产生的记号。有一个立即切换。粒子也会产生自己的灯光,向下旋转到主角的手中。

    Neon: drain particle mesh.

    fxg: They also cast shadows – how was that achieved?

        它们也产生阴影—是如何实现的?

    Vainio: Yes, one of our big goals was to make things feel like they sat in the scene correctly. We didn’t really want things to feel like they were ‘composited’ on. That was a big focus for us, so it was important that all the particles cast shadows – they receive shadows and cast light and they blend through all the techniques. A lot of games out there don’t necessarily blend their particles with the haze and so the black smoke will look like black really far away – we wanted to make sure we didn’t have any of those kinds of things in there.

        是的,我们一个大的目标就是让事物感觉它们正确生成在一个的场景里。我们不想让事物感觉是被合成的。那是我们很关注的地方,所以所有的粒子产生阴影这是很重要的。它们接受阴影也产生光同时与所有的技术融为一体。许多的游戏里不一定叠加粒子同雾霾,所以黑烟将看起来黑且远。我们想要确定这些问题不会在我们游戏里面。


    Particle system editor showing casting of lights.

    We also used a physically based rendering approach – it’s an energy conserving model so that the reflection off of a shiny surface doesn’t send back more energy than actually went into it. Along with that comes exposure from the camera. So we had to make sure the particles were reflecting the right exposure for all the different times of day.

     我们同样使用一个物理的渲染方式,它是一个耗费节约的模式,它使一个没有反射闪亮的表面不发回更多的能量比真实走进。连同来自摄像机的曝光。所以我们必须确保粒子能反射正确的曝光在一天中不同的时候。

     

  • 前言:应火星时代网站的邀请制作了一集Gamebryo游戏特效教程PPT。特此感谢为了这个专集忙碌多月的网站朋友。将教程发布于个人博客,仅代表个人对游戏特效的制作开发作个归纳。首次写教程还望各位看官多包涵,特此声明教程内容均来自个人作品,不足之处多提点。

    火星时代链接地址:http://www.hxsd.com/tutorial/muhouzhizuo/20101208/32314.html

    1. Aqua Text
      Re-create the font style that Mac OSX is famous for.
      text42.jpg
    2. 3D Cliff Text
      Make text that looks like it’s a part of the land.
      text43.jpg
    3. Matrix Style Text
      Take the red pill and learn how to create text in the style of The Matrix.
      text28.jpg
    4. Brick Text
      Create text that looks like it was chipped out of a brick wall.
      text41.jpg
    5. Set Your Text On Fire
      An advanced tutorial that shows how to create realistic flaming text.
      text13.jpg
    6. Explosion Effect
      Explode your text with this tutorial.
      text44.jpg
    7. Spiderman 3 Style Text
      Create text in the style of the Spiderman 3 logo.
      text38.jpg
    8. Colorful Light Burst Effect
      Create text that looks as if it’s bursting out.
      text09.jpg
    9. Web 2.0 Sticker Text Effect
      Another Web 2.0 style text effect, but this one looks as if it was a sticker.
      text31.jpg
    10. 3D Text
      Another tutorial showing how to create 3D text from a different perspective.
      text29.jpg
    11. Worn Rubber Stamp Text
      Make text look as if were stamped on a page.
      text11.jpg
    12. Chalk Text Effect
      Text that looks like chalk on asphault.
      text45.jpg
    13. Blown Out 3D Text
      3D text in the style of 3D films.
      text05.jpg
    14. Create A Professional Looking Logo
      A tutorial showing how the use of gradients and shadows can create professional looking text.
      text25.jpg
    15. Shiny 3D Text
      Another 3D tutorial that shows you how to create a reflective logo.
      text06.jpg
    16. Reflective Liquid Type
      Create text that looks like reflective water.
      text02.jpg
    17. Shiny Floor Effect
      Make it look like your text is being reflected from a shiny floor.
      text30.jpg
    18. Water Text
      This tutorial shows you how to create text that looks like water on any background.
      text01.jpg
    19. Grungy, Slimey Text
      Use this tutorial to make text look as if it emerged from a swamp.
      text32.jpg
    20. Chrome Metal Effect
      Create a beveled chrome font effect.
      text03.jpg
    21. Gold Plated Text
      A tutorial showing how to make your text look gold plated.
      text53.jpg
    22. Graffiti Text With Photoshop
      Create realistic looking graffiti on structures like walls.
      text07.jpg
    23. Transparent GLass Lettering
      Very shiny and transparent lettering good for many uses.
      text08.jpg
    24. Swirl Text
      Create a bright swirl using text.
      text10.jpg
    25. Highlight and Shadow Effect
      Create text with a pixelated, mosaic background.
      text14.jpg
    26. Glowing Gel Text
      Glowing text that looks like gel.
      text15.jpg
    27. 3 Stroked Text
      Stylized text that looks layered.
      text16.jpg
    28. Icy Cold Effect
      Text that looks like ice is creeping up around it.
      text17.jpg
    29. Very Stylish 3D Pixel Text
      Make pixelated text that looks 3D.
      text18.jpg
    30. Chrome Text
      Make chrome text that looks like it’s gleaming.
      text19.jpg
    31. Rusted Slime Effect
      Make your text look like rust is coming down from it.
      text20.jpg
    32. Worn and Torn Text Effect
      Text that looks worn out and falling apart.
      text21.jpg
    33. Dreamy Text Effect
      Create text like something out of a dream.
      text22.jpg
    34. Schocking Text
      A text effect that looks as if bolts of electricity are coming out of it.
      text23.jpg
    35. Furry Text
      Use brushes to create text in any pattern.
      text24.jpg
    36. Realistic Stone Effect
      Create text that looks like it was carved out of stone.
      text26.jpg
    37. Gutsy Text
      Create text that looks like it contains intestines.
      text27.jpg
    38. Soft, Plastic Text
      Plastic text that looks great on any dark background.
      text33.jpg
    39. Turf Text
      Blend any style text into turf.
      text34.jpg
    40. Diamond Text
      Bling out your text with diamonds.
      text35.jpg
    41. Molten Lava Blast Effect
      Use gradients and layer styles to create molten lava text.
      text36.jpg
    42. Mossy Effect
      Text that looks as if moss is growing on it.
      text37.jpg
    43. Ice Text
      Lettering that looks like it’s frozen stiff.
      text39.jpg
    44. Plastic Effect
      Make your text look like it’s wrapped in shiny plastic.
      text40.jpg
    45. Fragmented Tiles Text Effect
      Put layered tiles on the inside of your text.
      text46.jpg
    46. Zoom Text
      Give your text a little zoom blur.
      text47.jpg
    47. Pixel Text
      Create beveled text without layer styles.
      text48.jpg
    48. Image Inside Text
      Add an image to the inside of your text.
      text49.jpg
    49. Gold And Ruby Text
      Make gold text that looks like it contains jewels.
      text50.jpg
    50. Girly Bling Text Effect
      Sparkling letters in a feminine style.
      text51.jpg
    51. Halftone Effect
      Surround your text with a halftone style.
      text52.jpg