Home Technical Talk

Convincing 3d that looks like 2d.... Wow

1234689

Replies

  • Chev
    Options
    Offline / Send Message
    Chev polycounter lvl 10
    Random thoughts and comments after all that:

    The stuff they do with the z-offset and modified perspective is both simple (well, for a programmer) and crazy. You can effectively use as many layers as you want as long as you're careful with z-buffer depth. I thought they'd be rendering to offscreen surfaces but this is way more efficient. On the other hand the z-offsets mean you can't do deferred lighting because the depth buffer's all wrong. You'd have to maintain a second depth buffer with non-offset values and need some tweaking. But of course since they never have more than one light per object this is fine.

    Without the z stuff which appeals to me as a programmer Motomura lines would easily be the best trick they've shared as far as I'm concerned.

    This is the kind of process that can really only be born when you have 2d artists, 3d artists and programmers/tech artists sitting together. It's cool how cross-discipline it is.

    Let it be forever known that UE3 can do way more than just brown space marines.

    Final vertex color use is R: ambient occlusion, G: outline scaling, B: outline Z-offset, A: outline width.

    Final texture population is:
    -Base (RGB, diffuse colors)
    -SSS (RGB, shadow multiplier)
    -ILM (RGBA, lighting control, R: specular intensity, G:shadow bias, B:specular size, A: inner lines)
    -decals (greyscale)

    Now I think of it, I wonder where the illumination info for glowy bits is.

    There are some secondary textures you can see in screenshots (notably the pool ball textures for Venom's instant kill) but they aren't as important. Note that the base and SSS textures are the only ones that really contain color information so they're the ones you need to change to make different character palettes.

    For such a workflow to really be efficient I think a modeling/animation program that can use custom pixel shaders directly in the viewport must be absolutely necessary, since the lighting formula and the outline stuff are very nonstandard. As a Blender user I'm very jealous of that function of Softimage.

    There's really a lot of work that went into this but the results are there.. I'm curious to see how fast they'll iterate, ie add characters. The one they've added since release is the previously unplayable boss, and the next one already had his model present in the game in cutscenes.

    Thanks for the thanks (and beer offers)! It was time consuming but fun to do! Of course the real persons to thank are the Xrd team and the article author Zenji Nishikawa, especially since I get the impression japanese devs are usually less likely to share such information.
  • livio3d
    Options
    Offline / Send Message
    livio3d polycounter lvl 18
    oh guys, i'm really happy to know this game is made with xsi!! , im a old xsi user :) and i really appreciate some of the trick i learn reading this articles,
    i will to show you my 5 mouth old fighting prototype game made with unity (and xsi), based only on what i see on first GGxrd trailers

    on this i dont use a realtime toon but only a simple imagelit shader
    https://www.youtube.com/watch?v=AHC3VuX4aVM

    as you think?
    now i need to rework on this whit all this new reference!

    p.s. sry for bad english
  • Scythe
    Options
    Offline / Send Message
    Scythe greentooth
  • Blond
    Options
    Offline / Send Message
    Blond polycounter lvl 9
    Does look cool.
  • Lamont
    Options
    Offline / Send Message
    Lamont polycounter lvl 15
    Chev wrote: »
    I get the impression japanese devs are usually less likely to share such information.
    They do not. Everyone that is not in your company is a competitor. Keep your cards close. Even when artist meet up, how to do things is hardly discussed, if it is, very superficial stuff.

    If you get someone one on one and they are a friend, they will tell some stuff.
  • vertical
    Options
    Offline / Send Message
    vertical polycounter lvl 9
    You have my gratitude
  • praetus
    Options
    Offline / Send Message
    praetus interpolator
    [ame="http://www.youtube.com/watch?v=9h5gPKzlyqw"]GUILTY GEAR Xrd -SIGN- TGS2014 Trailer - YouTube[/ame]
  • skankerzero
    Options
    Offline / Send Message
    This is why I'm sad that I'm not at TGS right now. :(
  • Jonas Ronnegard
    Options
    Offline / Send Message
    Jonas Ronnegard polycount sponsor
    Lamont wrote: »
    They do not. Everyone that is not in your company is a competitor. Keep your cards close. Even when artist meet up, how to do things is hardly discussed, if it is, very superficial stuff.

    If you get someone one on one and they are a friend, they will tell some stuff.

    Saddest part though that is not just other companies, employees in the same company can sometimes be very secretive with there knowledge, no one is ever really relaxed even at their own company.
  • Lamont
    Options
    Offline / Send Message
    Lamont polycounter lvl 15
    Saddest part though that is not just other companies, employees in the same company can sometimes be very secretive with there knowledge, no one is ever really relaxed even at their own company.
    I read/heard from co-workers about stuff like that.

    Where I am at now there was a guy like that. There was a guy like that.

    This years CG World 2014 mega-issue will have more of GG. Will be about $60, but well worth it.
  • Guideborn
    Options
    Offline / Send Message
    Guideborn polycounter lvl 6
    Did anybody catch the average amount of tris the models are in?
  • skankerzero
    Options
    Offline / Send Message
    Guideborn wrote: »
    Did anybody catch the average amount of tris the models are in?

    page before
    Chev wrote: »
    The scene budget is about 800K polygons, 550K for the background and 250K for the characters, but each actual character is about 40K, the remainder is for all the stuff they can spawn on-screen.
  • Guideborn
    Options
    Offline / Send Message
    Guideborn polycounter lvl 6
    page before


    Ah. Missed it. But man that's a massive amount of tris. I mean, I'm no expert on 3D modeling, but I was expecting much lower than that.
  • skankerzero
    Options
    Offline / Send Message
    Guideborn wrote: »
    Ah. Missed it. But man that's a massive amount of tris. I mean, I'm no expert on 3D modeling, but I was expecting much lower than that.

    Not really actually. Games last gen were pushing 30 - 40k already. In Ghostbusters, Egon was our heaviest character and he weighed in at around 27k with all his equipment.
  • Scythe
    Options
    Offline / Send Message
    Scythe greentooth
    Some of the colossus in shadow of the colossus (ps2) weighted around 25k too
  • Guideborn
    Options
    Offline / Send Message
    Guideborn polycounter lvl 6
    I guess I expected less because they were cel-shaded models. I won't make that mistake again!
  • ZacD
    Options
    Offline / Send Message
    ZacD ngon master
    It's also a fighting game, so the characters are the most important thing on screen by far, and take up a lot of screen space. Making things clean and sharp requires a lot of tris.
  • Guideborn
    Options
    Offline / Send Message
    Guideborn polycounter lvl 6
    Thanks for the information. In the translations, it mentioned SSS (subsurface scattering) and ILM textures. What do these affect?
  • pior
    Options
    Offline / Send Message
    pior grand marshal polycounter
    It's basically their own, unique way of precisely controlling the hues and values of areas in shadows. If you look closely at colored mangas and anime, the colors of the shadows do not come from a uniform "multiply" on top of everything, but rather, a carefully defined set of shadow colors for each material. It's a clever way of faking a wide array of physical properties from the real world, and the team working on GGXrd had to emulate that for their characters to look vibrant.

    knight-sabers-publicity-image1.jpg
  • Guideborn
    Options
    Offline / Send Message
    Guideborn polycounter lvl 6
    Really cool! So with these specific textures, how must they be handled to give specific shadow values? If the SSS texture is B, what influences the way the shadow works? Same with D (ILM), how does that effect the specularity?

    CGW_preview.jpg
  • skankerzero
    Options
    Offline / Send Message
    You really should go back a couple pages.

    Shadows are manually manipulated by editing the way normals face for each frame. They also have a map that makes the shadows 'more likely' to shade certain areas.
  • Guideborn
    Options
    Offline / Send Message
    Guideborn polycounter lvl 6
    I found this earlier today: http://www.3dcg-arts.net/arts/1395?via_fave=246

    I'm not even sure if it is using the same technique. I can't tell if the above is using a shader or the shadows are baked.
  • Blond
    Options
    Offline / Send Message
    Blond polycounter lvl 9
    Guideborn wrote: »
    I found this earlier today: http://www.3dcg-arts.net/arts/1395?via_fave=246

    I'm not even sure if it is using the same technique. I can't tell if the above is using a shader or the shadows are baked.




    OH wow, this is awesome! Thx for posting.

    It does look almost as neat as the game render except this probably uses less complex shading stuff since it runs so smooth in Unity render.:-)

    This is pretty much the level of the cel shading they use in the naruto games.
  • ghaztehschmexeh
    Don't know if anyone has mentioned it yet but this kinda reminds me of PSOFT's pencil+ 3 renderer for max

    bcXnxP7.jpg
  • Poribo
    Options
    Offline / Send Message
    Poribo polycounter lvl 13
    Guideborn wrote: »
    I found this earlier today: http://www.3dcg-arts.net/arts/1395?via_fave=246

    I'm not even sure if it is using the same technique. I can't tell if the above is using a shader or the shadows are baked.
    The shadows are painted on and the outlines are made using the 'push + normal flip' method, no shaders used. Most of the Japanese 3DCG community don't model with games in mind just 3D viewers like this so they don't restrict themselves in texturing symmetrically.

    They are pretty good at making these kinds of dioramas.
  • Guideborn
    Options
    Offline / Send Message
    Guideborn polycounter lvl 6
    The shadows are painted on and the outlines are made using the 'push + normal flip' method, no shaders used. Most of the Japanese 3DCG community don't model with games in mind just 3D viewers like this so they don't restrict themselves in texturing symmetrically.

    They are pretty good at making these kinds of dioramas.

    Pardon my ignorance, but is pushing/flipping normals a technique that can be utilized for in-game models?
  • skankerzero
    Options
    Offline / Send Message
    Guideborn wrote: »
    Pardon my ignorance, but is pushing/flipping normals a technique that can be utilized for in-game models?

    Yes. This practice has been used since way back in the days of Quake 3.
  • Winstral35
    Options
    Offline / Send Message
    Has anyone ever considered using normal maps to remove shading detail as opposed to adding detail? It seems plausible just thinking about it (though would probably make a ton of shading errors).

    With with star ocean i think they did a far better job on the main 2 characters than the rest, the little girl on the far right is creepy as hell. Same with cat girl. I think maybe it worked better because the characters were sci-fi?
  • Richard Kain
    Options
    Offline / Send Message
    Richard Kain polycounter lvl 18
    You used to have to use the technique sparingly, because pushing/flipping normals would double the size of your model in most cases. Back in the day, polycounts were king and you always wanted to shave them down as much as possible.

    With modern rendering technology, this has become much less of an issue. Number of triangles is rarely the rendering bottleneck, so making use of this technique would probably not screw anything up. This is especially true if you aren't using a ton of extra rendering effects.

    But I believe outlines on most modern models are achieved using specific shaders, not the push/flip trick. It's possible to achieve more impressive results that scale more effectively with modern programmable shaders.
  • Chev
    Options
    Offline / Send Message
    Chev polycounter lvl 10
    Actually scalability is a problem with the post-effect shader method. The number of texture fetches will be very directly dependent on the maximum line width you want, and selectively hiding or showing outlines or doing art-directable variable width requires tons of checks with the surrounding pixels. Small details will also be hard to outline since it works based on what's effectively rendered.

    In contrast, the polygon hull method which Xrd went with, while having double the fillrate requirements compared to the hull-less model, only requires information about the current vertex and so it's simple to do pretty much anything you want in a vertex shader (thus the variable outline width, variable scaling with distance, etc). Heck, I didn't even think hiding outlines in a vertex shader could be possible until they explained the z-offset trick, and it requires zero in-shader comparisons!

    On the other had, of course, you can't do detail smaller than a polygon. Though tesselation may help with that in the future... Also some corners will give away the hull nature of the outline.

    What's more, a post-effect shader wouldn't be quite like what Pencil does, because Pencil's great thing is it has the notion of strokes, ie rather than doing it per-pixel it'll extract edge information and create brush strokes based on that. To do that in real time a pixel shader is too local, you need a geometry or compute shader (which could happen soon, I mean, Infamous 2 uses compute shader to do better skinning, and geometry shader outlines are described in GPU pro).
    Lamont wrote: »
    This years CG World 2014 mega-issue will have more of GG. Will be about $60, but well worth it.
    When does it come out? I may be in Tokyo late october/early november so maybe I can grab one.
  • Poribo
    Options
    Offline / Send Message
    Poribo polycounter lvl 13
    Chev wrote: »
    When does it come out? I may be in Tokyo late october/early november so maybe I can grab one.
    It's out already, I have just ordered it a few days ago.
    [ame="http://www.amazon.co.jp/dp/4862671691/"]www.amazon.co.jp/dp/4862671691/[/ame]
  • Guideborn
    Options
    Offline / Send Message
    Guideborn polycounter lvl 6
    Is flipping normals something that must be done in a 3D app or could you do it in your game engine of choice? I personally use Unity.
  • skankerzero
    Options
    Offline / Send Message
    Guideborn wrote: »
    Is flipping normals something that must be done in a 3D app or could you do it in your game engine of choice? I personally use Unity.

    you can do it manually in the 3D modeling engine or you can make it a part of the shader like this https://www.assetstore.unity3d.com/en/#!/content/7449
  • Chev
    Options
    Offline / Send Message
    Chev polycounter lvl 10
    Yeah, GPU-wise it's actually changing the culling criterion so it can be set in the render state, but 3D programs abstract it away as flipping normals and culling can even be an optional thing (blender's default settings for example will have double-sided faces so you first have to enable culling before you can play with outlines), but it can be set up. In blender the solidify modifier with the lfip normals flag set and backface culling on will give you a basic outline.
  • Guideborn
    Options
    Offline / Send Message
    Guideborn polycounter lvl 6
    you can do it manually in the 3D modeling engine or you can make it a part of the shader like this https://www.assetstore.unity3d.com/en/#!/content/7449

    What would be the difference between that matcap shader and a typical standard shader that comes with Unity?
  • skankerzero
    Options
    Offline / Send Message
    Oh I don't know. I just did a quick search for 'toon shader' and posted a link.
  • Chev
    Options
    Offline / Send Message
    Chev polycounter lvl 10
    if it's the same as zbrush, then a matcap is basically a fancier camera-relative environment map, ie the lighting will always come from the upper left no matter what, contrary to other shaders that'd allow for variations.
  • RN
    Options
    Offline / Send Message
    RN sublime tool
    There's a cartoon named "Justin Time" which mixes 2D and 3D in an interesting way.
    justin_time.jpg

    [ame="http://www.youtube.com/watch?v=Ojnt2x8ZLeY"]Justin Time You Forgot to Say ARRGH Full Episode - YouTube[/ame]

    The faces are perhaps just 2D elements overlayed on the 3D meshes.

    The "anime style" step\quantised animation seen in the original post reminds me of the Nicelanders, characters from the film Wreck-it Ralph that also have that snappy, step-keyframe quality:
    [ame="http://www.youtube.com/watch?v=DUh_M3KBk2A"]Wreck-it Ralph: "Cake" Clip - YouTube[/ame]
  • Shadownami92
    Options
    Offline / Send Message
    Shadownami92 polycounter lvl 7
    Poribo wrote: »
    The shadows are painted on and the outlines are made using the 'push + normal flip' method, no shaders used. Most of the Japanese 3DCG community don't model with games in mind just 3D viewers like this so they don't restrict themselves in texturing symmetrically.

    They are pretty good at making these kinds of dioramas.

    On that link actually I don't think most of the shadows are painted on, with closer inspection you can see that they follow the edges of the mesh perfectly, I'm thinking that it's probably vertex colors for a lot of the shadows. Particularly on the skin and hair. Which makes sense, I remember a few older games that used geometry instead of textures for scalability with details since the textures required for the alternative would be massive.

    You can see where the shadows are painted and which ones are vertex color or a different material by zooming in and seeing which ones get blurry on the edges. It also looks like some of the outlines they use are actually just floating black polygon strips by using the single sided polygons you can see the nose gets an interesting anime line effect as well.
  • Poribo
    Options
    Offline / Send Message
    Poribo polycounter lvl 13
    On that link actually I don't think most of the shadows are painted on, with closer inspection you can see that they follow the edges of the mesh perfectly, I'm thinking that it's probably vertex colors for a lot of the shadows. Particularly on the skin and hair. Which makes sense, I remember a few older games that used geometry instead of textures for scalability with details since the textures required for the alternative would be massive.

    You can see where the shadows are painted and which ones are vertex color or a different material by zooming in and seeing which ones get blurry on the edges. It also looks like some of the outlines they use are actually just floating black polygon strips by using the single sided polygons you can see the nose gets an interesting anime line effect as well.
    Yeah you're right. I use the site a lot and the viewer is pretty simple, I'm fairly confident it doesn't support vertex colours so I don't think that's it.

    What I reckon Usami-san did was use two textures, one with normal colours and one with darker colours, all using the same UVs etc. and changed which polygons used which texture.

    I think I might try that technique for my next model.
  • Shadownami92
    Options
    Offline / Send Message
    Shadownami92 polycounter lvl 7
    Yeah I'm assuming that's how it was done too, it's much easier to get those sharp edges that way. Though I did assume the viewer supported vertex colors since it seems to be the Unity webplayer.
  • Chev
    Options
    Offline / Send Message
    Chev polycounter lvl 10
    Poribo wrote: »
    It's out already, I have just ordered it a few days ago.
    www.amazon.co.jp/dp/4862671691/

    (Sorry for the late answer but the link isn't working for me. Are you sure it's right. I'm in japan right now so if I have a precise reference it'll be esay to bring it back.)

    EDIT: scratch that, it works now!

    It's worth checking youtube or twitch right now, a ps4 demo of the game is out in japan so there's plenty of hi res footage around!
  • Neox
    Options
    Offline / Send Message
    Neox veteran polycounter
    Chev wrote: »
    (Sorry for the late answer but the link isn't working for me. Are you sure it's right. I'm in japan right now so if I have a precise reference it'll be esay to bring it back.)

    EDIT: scratch that, it works now!

    It's worth checking youtube or twitch right now, a ps4 demo of the game is out in japan so there's plenty of hi res footage around!

    it works in your quote, not his original post :o
  • Poribo
    Options
    Offline / Send Message
    Poribo polycounter lvl 13
    Neox wrote: »
    it works in your quote, not his original post :o
    Yeah, I tried many times to fix it but the forum keeps butchering the hyperlink. Instead of '/dp/' it changed it to 'd/p'.

    Anyway the book is great, some nice stuff in there. Obviously you won't be able to get much out of the text if you can't read Japanese haha but most of the pictures are a bit informative.
  • Blond
    Options
    Offline / Send Message
    Blond polycounter lvl 9
    So, after seeing posts like Justin Time, the unity hatsune miku model and the guilty gear video previews, why was DISNEY so excited to present their new engines that emulates 2D?

    You know, the one they used for their Paperman'' and ''Feast'' short films.

    They made it sound like it was big leap in terms of visuals when actually it looks like a regular toon shading engine..
  • Shadownami92
    Options
    Offline / Send Message
    Shadownami92 polycounter lvl 7
    I believe a lot of it involves the technique and overall look of the end result. Disney's method allows for convincing textured strokes rather than just a normal solid line. I could be wrong but I also think their focus on on getting the render engine to get most if not all of the shading done, where there is a lot of micro managing of the way light reacts and whatnot for the GG characters. And for the Miku model a lot that sells that is the shading that isn't dynamic at all and it's flat shading, it wouldn't translate well into something animated as is.
  • Chev
    Options
    Offline / Send Message
    Chev polycounter lvl 10
    Disney's Meander is the conceptual inverse of cel shading: instead of making 3d models look like 2d drawings, it enables 2d drawings to tween like (and based on) 3d models, which gets rid of the old "flash look" of automatic 2d inbetweening. In other words, don't be mistaken, it covers a completely different use case, it is in the end a tool for augmenting 2d animation, not making 3d animation.

    The real kicker is it basically produces a moving canvas, so any drawing and line style will work with the tech. Pencils, watercolor, oil painting, all of them can be tweened using that system (and while it was great it's kind of a pity Paperman chose such a low key style).

    Concretely, you only need basic 3d models and everything else can be drawings, so it's also quite unlike prepping models for cel shading, which as we've seen involves a number of tricks to be well done.
  • ChrisCandide
    Options
    Offline / Send Message
    ChrisCandide polycounter lvl 9
    Interesting article and breakdown. Nice, the simple work around they've developed for getting the stylized 3/4 view. One of the things that can be over looked in 3d when trying to emulated 2d, getting stylized angles. Fighting the preciseness of 3d.
    http://www.cgmeetup.net/home/creating-childrens-cartoons-3ds-max/

    Creating-Childrens-Cartoons-with-3ds-Max-1.jpg?resize=960%2C540

    Creating-Childrens-Cartoons-with-3ds-Max-2.jpg?resize=960%2C540

    https://www.youtube.com/watch?v=I6qigc1XLLE
  • Scythe
  • Muzzoid
    Options
    Offline / Send Message
    Muzzoid polycounter lvl 10
    [ame="http://www.youtube.com/watch?v=IlRU_J5qYg0"]???????????????????VS?????????? ???????????????? - YouTube[/ame]

    One of the more convincing attempts i've seen at video CGI-2d
1234689
Sign In or Register to comment.