uid vfx_亚当–实时短片中的VFX

uid vfx

We are continuing our series of blog posts from last year, this time featuring a technical, behind-the-scenes glimpse of how the visual effects in the Adam demo were created.

我们将从去年开始继续撰写一系列博客文章,这次以技术性的幕后一瞥为背景,介绍了 亚当演示 中 的视觉效果是如何 产生的。

关于我 (About me)

My name is Zdravko Pavlov and I’m a visual effects artist with 11 years experience in motion graphics and compositing for CG productions, VFX art for games, and 3D modeling, lighting and rendering. My responsibilities in the production of the Adam demo included the creation of particle effects and the dynamic simulations.

我叫Zdravko Pavlov,我是一名视觉效果艺术家,在CG作品的动态图形和合成,游戏的VFX艺术以及3D建模,照明和渲染方面拥有11年的经验。 我在Adam演示制作中的职责包括创建粒子效果和动态模拟。

粒子效果 (Particle Effects)

发烟 (Fumes)

I used PhoenixFD to set up a fluid simulation. The rendered sequence was used as a flipbook texture in Unity’s Shuriken particle system.

我使用PhoenixFD设置了流体模拟。 渲染的序列在Unity的Shuriken粒子系统中用作活动簿纹理。

PhoenixFD simulation preview inside 3D Studio Max

PhoenixFD 3D Studio Max中的模拟预览

The particles controlled the density of a fog volume that was affected and properly lit by all area light sources in the scene. The area lights code was implemented by our GFX programmer Robert Cupisz, and is now available on GitHub.

粒子控制着雾量的密度,该雾量受场景中所有区域光源的影响并正确照明。 区域灯代码由我们的GFX程序员Robert Cupisz实现,现已 在GitHub上提供

Volume fog density controlled by the particles

粒子控制的体积雾密度

水坑 (Puddles)

I also used PhoenixFD for the liquid simulation of the ripples in the puddles.

我还使用PhoenixFD对水坑中的波纹进行了液体模拟。

3DS Max viewport preview of the simulated liquid surface and the rendered texture

模拟液体表面和渲染纹理的3DS Max视口预览

Shuriken particle system is triggered under Adam’s feet

手里剑触发了手里剑的粒子系统

The rendered sequence was once again combined into a flipbook normal map texture. The particles were spawned under the robot’s feet and rendered in an offscreen buffer. The result was used to modify the surface normals of the puddles.

渲染的序列再次合并为活页簿法线贴图纹理。 粒子在机器人的脚下产生,并在屏幕外的缓冲区中渲染。 结果用于修改水坑的表面法线。

烟尘 (Dust and smoke)

I used Unity’s native Shuriken particle system for the sparks and plumes of dust when the bullets hit the concrete in the shooting sequence, as well for some of the secondary effects like tiny dust specs flowing through the air and columns of smoke rising from the vents of the city wall.

当子弹在射击序列中击中混凝土时,我使用Unity的本机“手里剑”粒子系统来产生火花和尘埃羽,以及一些次要效果,例如微小的灰尘散布在空气中以及从烟囱的通风Kong冒出的烟雾城墙。

Some environmental effects examples

一些环境影响的例子

动态模拟 (Dynamic simulations)

In Adam we had motion captured performances for all of our characters. Still, we needed to add a layer of secondary animation for all the clothes and different accessories that weren’t present physically on the mocap set. Instead of animating those by hand, we set up a number of dynamic simulations to help us with the process.
From the very beginning we knew that we were going to have some closeups and slow moving shots. The simulations needed to match the quality of the demo in terms of precision and visual fidelity, so we looked into some high end offline simulation solvers. The calculated results were baked and played back as animations.

在亚当,我们为所有角色拍摄了动作表演。 尽管如此,我们仍需要为Mocap套件上没有的所有衣服和不同的配件添加一个辅助动画层。 除了设置动画效果之外,我们还建立了许多动态仿真来帮助我们完成该过程。
从一开始,我们就知道我们将会有一些特写镜头和慢动作镜头。 这些仿真需要在精度和视觉保真度上与演示的质量相匹配,因此我们研究了一些高端离线仿真求解器。 将计算的结果烘焙并作为动画播放。

袖子 (The sleeve)

The “sleeve shot”, as we were calling it throughout the production, was actually the very first shot I started working on. I looked into some different cloth solvers, and also skinned particles approaches.

正如我们在整个制作过程中所说的那样,“袖套镜头”实际上是我开始研究的第一张照片。 我研究了一些不同的布片求解器,并且还研究了蒙皮粒子接近方法。

Eventually I ended up using 3DS Max’s built-in cloth modifier for the final simulation. I set some basic tests and showed it to the director.

最终,我最终使用了3DS Max的内置布料修改器进行最终仿真。 我设置了一些基本测试并将其展示给导演。

Some of the very first cloth tests (3ds Max viewport preview)

一些最初的布料测试(3ds Max视口预览)

After some iterations, I took Adam’s actual animation and geometry and started working on the final version of the simulation.

经过一番迭代之后,我获得了亚当的实际动画和几何图形,并开始进行模拟的最终版本。

Cloth simulation (3DS Max viewport)

布模拟(3DS Max视口)

The results were baked and brought into the engine via the alembic importer developed by Unity Japan, which is freely available on GitHub.

将结果烘焙并 通过Unity Japan开发 的 Alembic进口商 导入引擎,该 进口商 可在GitHub上免费获得。

Different versions of the simulation imported as alembic streams in Unity

在Unity中将不同版本的仿真导入为淡啤酒流

面具 (The mask)

For the damaged mask, I built a simple Thinking Particles setup.

对于损坏的面罩,我建立了一个简单的“思考粒子”设置。

Thinking Particles setup for the mask fracture

遮罩断裂的“思考粒子”设置

The procedural nature of TP and its integrated Volume Breaker helped me iterate faster and explore different options. I handed over the approved version to our 3D modeler Plamen (Paco) Tamnev who used it as a base for the final model.

TP的程序性质及其集成的Volume Breaker帮助我更快地迭代并探索了不同的选择。 我将批准的版本交给了我们的3D建模师Plamen(Paco)Tamnev,后者将其用作最终模型的基础。

Different Thinking Particles sim variations

不同的思维粒子模拟变异

Both the torn sleeve and the broken mask of the main character were not only important for the story, but they also serve as tools that help Adam stand out from the crowd later on.

主角的袖子破损和面具破损不仅对故事很重要,而且还充当了帮助亚当在以后脱颖而出的工具。

CaronteFX (CaronteFX)

Caronte is a multiphysics simulation engine developed by Next Limit, and had been Real Flow’s rigid and soft body dynamic solver for quite some time now. CaronteFX brings the same high quality physics solution to Unity through a seamless engine integration, which made most of our FX shots possible within the tight production timeframe.
It was still an early alpha version when we first picked it up. It didn’t have ropes and cloth integrated yet, but we started working in close collaboration with the CaronteFX team and they’ve put a tremendous effort into providing us with all the tools and options that we needed throughout the production. Currently all of these are available with CaronteFX on the Asset Store.

Caronte是 Next Limit 开发的多物理场仿真引擎 ,并且已经成为Real Flow的刚体和软体动力学求解器,已有相当长的一段时间了。 CaronteFX通过无缝引擎集成为Unity带来了相同的高质量物理解决方案,这使我们的大多数FX拍摄都可以在紧张的生产时间内完成。
当我们初次使用它时,它仍然是早期的Alpha版本。 它尚未集成绳索和布料,但我们开始与CaronteFX团队紧密合作,他们付出了巨大的努力为我们提供了整个生产过程中所需的所有工具和选项。 当前,所有这些都可以通过 Asset Store上的CaronteFX获得

电缆 (The cables)

Early in the production, we weren’t sure about the cables that keep Adam attached to the machine. We were worried about potentially twitchy cables behaviour, geometry intersections and so on.

在生产初期,我们不确定将Adam固定在机器上的电缆。 我们担心电缆特性可能会发生扭曲,几何形状相交等。

Fortunately CaronteFX has quite precise ropes solver that calculates collisions based on the triangles of the geometry, thus taking the actual rope (cable) thickness into account.

幸运的是,CaronteFX具有非常精确的绳索求解器,可以根据几何形状的三角形计算碰撞,从而将实际的绳索(电缆)厚度考虑在内。

CaronteFX player in Unity 5

Unity 5中的CaronteFX播放器

Baking a complex simulation like this one produces quite a lot of cached data. We used the automatic skinning option that was added in CaronteFX. A hierarchy of bones is generated and the result can be exported as FBX file.

烘焙像这样的复杂模拟会产生很多缓存的数据。 我们使用了CaronteFX中添加的自动蒙皮选项。 生成骨骼的层次结构,并将结果导出为FBX文件。

Skinned animation playback in Unity 5

在Unity 5中播放蒙皮动画

射击 (The shooting )

There are quite a few things going on in this action sequence. Bullet impacts lifting plumes of dust and sparks off the ground. Concrete fragments flying everywhere. A robot’s leg and arm shredded to pieces.

此操作序列中发生了很多事情。 子弹会撞击扬起的尘埃并从地面火花。 混凝土碎片四处飞扬。 机器人的腿和手臂被切成碎片。

Early Thinking Particles prototype

早期思考粒子原型

I started working on this shot quite early. I used Thinking Particles for some of the early versions. TP is incredibly flexible and robust and I was able to quickly try out different scenarios. Later, when we adopted CaronteFX in our pipeline, I recreated this effect in it, so I could use its Unity integration and the convenience of the automatic skinning.

我很早就开始拍摄这张照片。 我在某些早期版本中使用了“思考粒子”。 TP非常灵活和强大,我能够快速尝试各种情况。 后来,当我们在管道中采用CaronteFX时,我在其中重新创建了这种效果,因此可以使用其Unity集成和自动蒙皮的便利性。

Early prototype of the shooting sequence inside Unity

Unity内射击序列的早期原型

CaronteFX has a very flexible fragmenting system. As a VFX artist, I was able to fracture assets into pieces, without leaving the Unity Editor. The new assets are saved along with a new material for the newly generated geometry faces.

CaronteFX具有非常灵活的分段系统。 作为VFX艺术家,我无需离开Unity编辑器就可以将资产分解成碎片。 新资源与新生成的几何面的新材料一起保存。

Ground bullet impacts preview made with CaronteFX

用CaronteFX预览子弹影响

塞巴斯蒂安和卢 (Sebastian and Lu)

These two characters were particularly difficult to build. Not only the sheer number of different types of dynamic objects (soft, rigid bodies and clothes), but, especially in Sebastian’s case, the layers of complex geometry layered over one another.

这两个字符特别难以构建。 不仅数量众多的不同类型的动态对象(柔软的,刚体和衣服),而且,尤其是在塞巴斯蒂安的情况下,复杂几何结构的各层相互层叠。

The base animated model (left) and the objects set up for simulation (right)

基础动画模型(左)和为仿真设置的对象(右)

I split Sebastian’s geometry in three separate groups. The mantle, the cape and the shards that are hanging on the leather straps in one group. The skirt with the tablet and the knife in a second group. And the hood and the earrings in a third one. After that I began to reposition the elements to avoid initial intersection and started modeling lowpoly proxies to ease up the calculations.

我将塞巴斯蒂安的几何分为三个独立的组。 一组悬挂在皮带上的地幔,斗篷和碎片。 平板电脑和刀在第二组的裙子。 头巾和耳环在第三个。 之后,我开始重新定位元素以避免初始交集,并开始对低多边形代理进行建模以简化计算。

Example of proxy collision object for the knife and a few joints helpers

刀和一些关节助手的代理碰撞对象示例

Preview of Sebastian’s simulation in Unity 5

Sebastian在Unity 5中的仿真预览

We have published the Sebastian character on the Asset Store and included a Caronte player in the package, so you can see how the simulation was set up.

我们已经在资产商店中发布了Sebastian角色,并且在包装中包括了Caronte播放器,因此您可以看到模拟的设置方式。

Lu went through the same process, but there were fewer objects that needed to be simulated so setting it up was a bit easier and straightforward.

Lu经历了相同的过程,但是需要模拟的对象较少,因此设置起来有点容易和直接。

3DS Max viewport screenshot of Lu’s model prepared for simulation

Lu的模型的3DS Max视口截图准备好进行仿真

CaronteFX player previewing the calculated sim, before baking

CaronteFX播放器在烘焙前预览计算的SIM卡

There was some back and forth going on between me and our production designer Georgi Simeonov, until we got the right thick and heavy leather feel for Lu’s skirt.
In the end we used soft body for the skirt instead of a single layer of cloth. The soft body keeps the volume better, and doesn’t wave as much as a cloth would, so it gave us the look and behaviour that we were after.

在我和我们的生产设计师 Georgi Simeonov 之间来回走动 ,直到我们得到适合Lu的裙子的厚重皮革感觉。
最后,我们用柔软的裙子代替了一层布。 柔软的主体使体积更好,不会像布一样起伏,因此赋予了我们所追求的外观和行为。

Lu is available on the Asset Store as well, in the package with the characters Adam and Guard. I have remade their simulations to use the native Unity cloth simulation physics, to make it easier for you to peruse the characters, and also play around with Unity’s cloth.

Lu在Asset Store 中也 可用 ,包装中带有字符Adam和Guard。 我已经重新制作了他们的模拟,以使用本机的Unity布料模拟物理学,以使您更轻松地阅读角色,还可以使用Unity的布料进行游戏。

Have fun!

玩得开心!

翻译自: https://blogs.unity3d.com/2017/01/04/adam-vfx-in-the-real-time-short-film/

uid vfx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值