Ah where i’ve been ?! Just came out from cave and decided to write an article on my blog. (^・ω・^ )
I want to test out / render my anime technique on Unity. Let’s get MEMEME by Teddyloid feat. Daoko dance motion as example. I still need to fix its shader toon effect cause it looks breaking. Maybe I need to make modifications on stereoarts.jp shader just like how I modify Unity-Chan shader. I’ve seen how Guilty Gear builds their 3D Anime style but I think it’s very very very long and complex (as always, my brain starts say “Ain’t nobody got time for that!”). So this is my own 3D Anime method.
On my earlier animation, I used modified Unity-chan shader. Since Stereoarts’ shader was compiled to cginc, it’s kinda difficult to modify it. I need to add Normal map and fix its toon ramp. You maybe say, Normal map is stupid to Anime, but you can make fake cloth fold by using normal map, I’m not going to make detail with Normal map, just fake cloth fold cause Anime without cloth fold is weird…
- Runs SSAO nicely (modified only)
- Sometimes can give you really nice result
- Not Support DX11
- Can cause overbright sometimes
- No outline color controller
- Normal map has no function at all
- No DoF / SSAO support (original one)
- Many things to be set
- Specular ?! Do you really think anime has Specular reflection ?
- Support DX11 / Global Illumination
- Full control
- No normal map for fake cloth folds
- SSAO makes it looks darker and unrealistic
So about 2 Cameras, I have to use Forward rendering cause deffered can’t render depth camera.
Why do you need Depth Camera ? Cause, if you want to have SSAO / Motion Blur / any other Post effect only on environment, then you have to split / make 2 cameras. 1 for environment and 1 for character. The minus is, Character won’t cast shadow. Your character / actor must have their own layer, for example “Actor” so in your Actor Camera, set culling mask to Actor only, depth = 1, and set clear flag to depth only. Remember to put Actor camera as a children of Environment camera. So you only need to animate environment camera.
For environment post processing, you can use effect like Depth of Field (but it wont affect actor), motion blur, SSAO, and even paint effect. Leave actor camera no effect.
Also, if you want to make games instead of animation, you can use deffered or just single camera and use baked AO instead of SSAO. There’s no such SSAO on anime character.
I’ve been made modified Unity’s SSAO that cull actors layer, but it doesn’t work and it only shows environment no actors.
Anime usually has framerate of 12FPS and doubled / repeat it to 24FPS cause most film has framerate of 23.976 / 24FPS. I much prefer full 24 FPS than doubled 12FPS. To convert 12FPS to 24FPS, I use virtualDub. First, I render 12FPS on Unity then import on VirtualDub (Source 12FPS and convert to 24FPS) and done, it seems like the frame was doubled to become 24FPS.
As on Guilty Gear, they draw every motion on every frame and use step interpolation. Although it looks very anime style, but it’s very complex and took very long time. Simply decreasing framerate will do the same even you use Spline interpolation animation like mine. “Wait! The game should run in 60FPS! You can’t simply decreasing framerate to 12FPS to have anime looks!” Man! Think, readers! Think! Decreasing frame rate is possible via FBX (on Unity it should be named “samples”). I’ve tried compressing keyframe / frame rate through FBX.
Anyway more research are coming soon!
Read more about MMD on Unity