ゲームエフェクトデザイナーのブログ (新)


"「デビルメイクライ5」におけるVFX解説"の感想 | Thoughts of "The Description of VFX on The 'Devil May Cry 5'"


CAPCOM Open Conference was held in Tokyo and Osaka last September.


Then, the videos were public recently!
Please check the URL below, so you can watch them.

忘れないうちに "「デビルメイクライ5」におけるVFX解説" で気になった部分を記事にしておきたいと思います。

Before I forget, I wrote this post about "the Description of VFX on the "Devil May Cry 5" that I was interested in, and I also tried hard to write in English.


By the way, at every presentation of the conference, they allowed not only taking photos and posting to SNS but also taking videos.
So I've posted some slide picture from this video.


Speaker is Mr. AISO who is responsible for VFX in the production department.

まず最初にDMC5のエフェクトのコンセプトの話があり、次に"Vertex Animation Texture(VAT)"を使用した液体表現について紹介があります。

First, he talked about the concept of DMC5's VFX.
Next, he talked about the depiction of realtime fluids using "Vertex Animation Textures(VAT)" of fluids.


He said "it is easy to deal with changing speed when game speed becomes slow" as one of the merit of using VAT.
However, he also refers to changing the indices of vertices per frame in the case of fluids(at 5:03~).


"Solved by shader"



As one solution, a normal map is projected along the mesh's normal in a shader.
There is a texture that is baked mesh's normal per frame.
So I think a bumpy normal map is projected from 3 or 6 directions with referencing to that normal direction of the mesh.


In this game, it's a bit disappointing that seems to be skipped frames because the pose of death and the pose of the first frame of the melting body does not match.
However, I feel that melting is so good, and VAT of fluids displays working so much.


"Linking with the effect editor"



First, he talked there is a depiction of geyser, and system of slowing game speed depending on the equipment.
So he said we made the fanction of emitting mesh particles using VAT.
I think... DMC5's effects speed according to the game's speed, and he said "parts number" for the explanation, so it probably uses the animation with consecutive meshes(This page will read "parts animation".).


I have one question.
This page will read on the right "Compared to changing the pattern", and there is comparing the parts animation and baked variable vertex animation.
As the comparing blend animation of sprites and without blend animation above this page, it seems the explanation that VAT is more appropriate at slow speed than the parts animation, so I surprised and I thought "How are the vertices interpolated by VAT(fluids)?".


As Mr. Aiso has already talked about, I'm aware that it's difficult to interpolate because changing the number of vertices and changing the indices of vertices per frame in the case of fluids.
So I talked about this with my co-workers.


In the end, we understood that the explanation is probably just changing animation speed that has many frames for slow speed.
Is it correct?


●Shaderによる頂点アニメーションの動き 作例
"Moving of vertex animation by shader | for example"


Lately, I can see various examples of VAT at various scenes, but that's so CAPCOM, everything has great looks and seems to be used effectually.
This black enemy as a Yellow Devil(that's cool!) moves with twisting motion is so nice.


"Depiction of changing by shader"


The main characters have mask textures for dissolving, and the transformation performance is so detailed. It's wonderful!


"Increasing details by mesh emitter"



It seems that processing is so heavy because it is sampling mask textures for dissolving while emitting particles from skeletal mesh skinned per frame.
However, It can decrease that processing by using the LOD model of that character.
It's a great idea!


Anyone should think that I want to emit particle from the accurate position on the surface of dissolving character once in my life...!
Then, I felt it works wonderfully by the video of dissolving the enemy on slide.


"Transfrome to Gradely Deamon / Depiction of changing environment by distotion"



I may have misunderstood, but...
First, they constrain a sphere model to the camera.
Next, they apply the shader that has distorted scene color to that model.
It may refers the scene depth then, and it distorted only from the specified distance to the back.
(Is there also a specified width for the fading strength of distortion? Is it correct?)
What a really interesting idea!


When the scene color is distorted, I want to know which timing is actually, before drawing translucent objects or after.
If it's before that and translucent objects are behind the sphere model, the scene color doesn't include that translucent objects, so the sphere model may hide that translucent objects.
They must have solved the problem, but how have they solved that?


I thought it's so interesting, and I tried it on Unreal Engine 4.



I put a sphere model on a level, and apply one material. 
The more distant pixels are from the camera, the distortion increases.



This material is a sloppy structure.



You need to set "Translucent" to the property "Blend Mode" if you want to use Scene Color on the materials of UE4.



The parameter of the material instance looks like the above picture.


"Depiction of distortion by other shaders"



It's so cool!
Besides, we can depict gradually flip meshes by using VAT, and we can animate a cross-shaped mask texture. We can probably be widely applicable to various cases by using this technique.


"Changing the environment/objects by other shaders"



For this explanation, my co-worker told me a posted article written by one engineer that tried as before.
Please check the URL below.


It looks like a projected decal at narrow width depending on slashed trail by sword.
However, It can't follow the character's moving by only that, so It requires UV mapping properly.
To summary, It bakes at the first frame when hitting an attack, and it doesn't need to bake again after that, so It seems that performance is reasonable.


He talks this technique was also used in "BIOHAZARD 7" and "BIOHAZARD RE:2". In other words, I can say they had already practiced it more than 3 years ago.
(Wow! It's been such a long time since BIOHAZARD 7 released...! Time passes by so quickly...)


"Improve work efficiency by Expression"



"Extern" was also explained in the plesentation of "MONSTER HUNTER WORLD".


I think it's so useful.
For example, they can keep a constant density of particles even if the range of emitting particles scales up, and they can keep a constant resolution of texture even if it changes the UV scale of the trail of slash, and so on.
They can apply this to various cases.


All presentation is plenty to see, and really informative!