imagination XD

realizing dream

Leave a comment

[3D] Upload Fake Cel Shade Outline on Sketchfab

Again, this is not related to game dev, but it might be useful for who want to upload cel shade on sketchfab. I’ll be using Cinema 4D, and I think it’ll compatible with all 3D Software out there. Let’s jump to the point:

  1. Get your models sketchfab ready, make sure that you don’t have any bones / skin. You can just bake the skin. Then Combine / Merge all of your model into one mesh.sketchfabx0
  2. Now make a new black material, just ignore that Display tag I add, but adding display tag would make it easier to see. In Cinema 4D, right click your outline model and choose Cinema 4D Tags > Display then turn on Backface Culling.sketchfabx1
  3. Go to Polygon / face mode, and select all, and then extrude it a little.
  4. This is not really necessary, but this could lighten up your model. After extruding, reverse selection your polygon selection and then delete it. In Cinema 4D, press U+I
  5. Now select all again and then reverse normal, in Cinema 4D, press U+R
  6. Now you finally get fake cel outline, let’s export to FBX and upload to sketchfab.
  7. Choose black outline material that you created and set Face Rendering to Single Sided. And you just need to setup your model. If you want to get Cel shade, then use Emitter on all your model without any diffuse or something.
  8. Take a look at my fake cel outline

Akemi Homura
on Sketchfab

Leave a comment

[C4D, Maya, Blender] Convert FBX to MMD

This is not game dev related, but you can also import your MMD’ed FBX model to Unity, and it gives you better physics simulation using stereoarts’ MMD4Mecanim, read tutorial here.

Anyway, I maybe will stop posting about tutorial, cause I think I post too much that my blog almost become educational site. Beside, I think there’s enough tutorial on Unity. I’ll maybe post a research about porting 2D traditional anime to Unity 3D Cel shaded Anime or Unity tips, not tutorial anymore.

On my previous post about MMD, I only tell you how to import PMD or PMX to Unity, but now, I’ll tell about how to make your own MMD model using Maya, Blender, or Cinema4D. You can also import PMD model to Cinema 4D by using MMDTools.

If you already made model with Blender, you could simply jump to step 3, and export it as PMX by using Blender2Pmx.

In this post, I’ll use Cinema 4D.

What you need is

  1. c4dmmd0Prepare your 3D character and get it MMD compatible. Everything must have skin, don’t attach head mesh to head joint. Blendshape is supported on latest version of FBX (2014 or 2015).
  2. c4dmmd1Export to FBX
  3. c4dmmd2Now, open your blender. I use blender 2.76, yep it’s totally fine just use 2.72
  4. c4dmmd3If you had problem with built-in FBX importer, try use Experimental FBX as in 2.72, else, you have to copy experimental FBX from 2.72 to your blender addon folder, along with blender2pmx
  5. c4dmmd4from blender 2.72 folder, copy io_scene_fbx_experimental to your blender addon folder. Do the same with your blender2pmx.
  6. c4dmmd5After you installed both PMX and FBX plugin and turned it on, import your FBX by using Experimental FBX import. Also check automatic bone and manual orientation if you had problem with your model.
  7. c4dmmd6Select all by pressing CTRL + A and export to PMX
  8. c4dmmd7open your PMX Editor and open your PMX file
  9. c4dmmd8Well, now you got your own 3D Model on MMD. I don’t really know how to set up physics on PMX.

Leave a comment

MEMEME Dance Cover | Anime Unity Experiment Part I


MEMEME Dance cover animated with 12FPS convert to 24FPS via virtualDub.

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 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…

Unity Personal (64bit) - newshader.unity - New Unity Project - PC, Mac & Linux Standalone DX11
Unity-chan shader

  • Pros
    • Runs SSAO nicely (modified only)
    • Sometimes can give you really nice result
  • Cons
    • 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 ?

Unity Personal (64bit) - itsudatte.unity - New Unity Project - PC, Mac & Linux Standalone DX11_4 shader

  • Pros
    • Support DX11 / Global Illumination
    • Full control
  • Cons
    • 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.


Background motion blur

Background motion blur

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

Leave a comment

[Tutorial] HDRI as Unity Skybox

56I actually been used HDRI as skybox back then, but it wasn’t really good cause older Unity doesn’t has GI. Now Unity 5 has GI, so HDRI is good too for Unity.

You’ll need HDRI Image (JPG, if it’s hdr or exr, you have to convert it first), and Unity 5.

  1. 0First, if your HDRI is not JPG yet, then convert it to JPG by set the channel to 8bit.
  2. 1
  3. Import your JPG HDRI to Unity. Remember, 4000px is enough, cause you’ll get 2048px in Unity. Set your HDRI to Cubemap and Cubemap type to cylindrical or latitude bla bla bla…
  4. 2Now create a material. Click Assets > Create > Material
  5. 3 Set your material shader to Skybox > Cubemap
  6. 4Now drag your HDRI Cubemap to skybox cubemap.
  7. 5Now open Lighting tab, and drag your HDRI Material to skybox. Sometimes it might happens like this, but to fix it just change the cubemap type to Cylindrical (in this screenshot, I set it to Spherical).

Yep, it’s really simple. Simple as any other 3D programs.

Leave a comment

[Tutorial] IES Light on Unity

Without IES Light

Without IES Light

IES Light on Unity

IES Light on Unity

Back then, I thought IES light was useless, but when I’m making an interior scene for my Animation I notice a weirdness on ceiling lights. It was circle!!! There’s no circle shaped ceiling lights (except lightbulb)!

You’ll gonna need

    • IESviewer 2.9
    • Prtscr (Optional, if you don’t want to use MSPaint)
    • And IES / LDT light of course!

And this is how

  1. iesUnity2
  2. Go to IES Viewer and right click on your IES or LDR light and then click Render, or simply just press CTRL+R. Sometimes, the Render window just wont show, just delete .ini file and reopen IESViewer.
  3. iesUnity3
  4. Adjust brightness, Zoom, and Distance until you pleased with the result then press Prt Scn / Print Screen on your keyboard. If you don’t have PrtScr, then you’ll need to open MSPaint (Press Winkey + R and type MSPaint). If you have PrtScr, hold CTRL and left click the render window and it’ll automatically crop it.
  5. iesUnity4
  6. Paste (CTRL+V) on MSPaint and then crop the pasted clipboard like this. Save it as JPG or PNG.
  7. IESsssThis is my IES Light
  8. IESUnity5Now go to Unity and import your IES light. Set texture type as Cookie, Light type as Point, Mapping : Mirrored Ball, Glossy Reflection, Fixup Edge Seams, Alpha from Grayscale (IMPORTANT!), and filter mode to Trilinear.
  9. IESUnity6Go to Game Object > Light > Point Light, and assign your IES file to Cookie texture.
  10. IESUnity7
  11. Now look! IES Light on Unity! Although it’s not important, but it’ll make scene looks more realistic than a nonsense circle light.


[Unity] Blendshape Eye Controller (Look At, Random Eyes, and Random Blink)

Controlling eyes with Unity’s blendshape controller is difficult especially Unity likes to make a blendshape is a float value which harder to control and you can’t even control any movement like down or left. The picture above represents the movement of their eyes. See closely with that cyclops, her eyes were move following that ball, meanwhile the penguin just stuttered with the eye (Random Eye and blink).

You’re gonna need 4 / 5 basic eye blendshapes like Up eye, Right eye, Down eye, Left eye, and blink (optional).

pxeyes nyeyes pyeyes nxeyes

This is very useful tool especially for wannabe animator like me.

Download the script here,


  1. blendeye2
  2. Add this script on the root of your character.
  3. blendeye3
  4. blendeye2aAssign the number / ID of your Blendshape as in your blendshape mesh. I added isDebugging mode, that’ll ease you out finding the number of the blendshape.

  5. blendeye4
  6. After found the right ID, now you’re done! You can control eye movement via 2D Target now. But is that enough ? LOL NOPE!
  7. To make it focus in 3D Way, create an empty game object and set it as target.
  8. blendeye6
  9. Sometimes this might happens (A certain eye moves in reverse way), to fix it, just invert the blendshape ID like Positive X Axis was 0 and set it to 1 and Negative X Axis was 1 and set it to 0.
  10. Now look! Your character will focus on that object forever! But if that’s not please you enough, you can use Random Eyes mover (I forgot to make it move along with your target, so it’ll move along with the center of your head). But if you really do want random movement along your target, then just remove “target” line below randomizer target transform.
  11. if(!randomizerTarget){
     randomizerTarget = new GameObject("RNDTRG");
     randomizerTarget.transform.position = blendshapeEyeMesh.transform.position;
     target = randomizerTarget.transform; // remove this
     target.position += Random.onUnitSphere * Time.fixedDeltaTime/randomCompressor;
  12. And so do you want them blink ? just turn on Blinkable and your character will be blinkable. The higher value of blink speed the faster it’ll be. And what is Target Multiplier ? That’s just speed multiplier of your 3D target, how fast / sensitive their eye will follow your 3D target.

Leave a comment

Cosmos – kirin PV Realtime Rendered Animation with Unity 5

I’m going to post something not really important today LOL. Anyway I’m not only making games as I said on October 2013. I paused making games and learning / practicing my 3D Modelling / Animating skills.

I’d be thanked to Unity 5 for giving out Pro features and Global Illumination for free. Good Guy Unity. After Unity 5 released, I decided to try out make an animation using their Global Illumination.

It’s a really short animation demo based on a song COSMOS by kirin. I wont make it full version because this is not my song, I probably will get some misunderstanding. I also have a plan making anime / animation with Unity 5, but I still need a lot things to learn / practice like modelling and animating.

The result was really realistic enough for me.

Total 1000 frames+, took about 10 or 15 minutes to render all. About 0.5 seconds per frame. Yeah always better than 40 seconds per frame in 3D Animation Software renderer (It also got really poor quality).

I hope Unity will release cutscene director soon as seen in their Blacksmith video. Cause animating using Unity Animation editor is such a pain.

Sorry for overbright, I had some problem on mixing Unity chan shader with Global Illumination / bloom.

Setting up physics. I almost kill myself after seeing Unity’s rigidbody bouncing like hell.

Setting up particles and additional details.

Outdoor lighting with Unity GI was satisfying enough.

Animating session.


Get every new post delivered to your Inbox.

Join 510 other followers