Author Topic: Crocotile Modeling Techniques  (Read 1553 times)


  • Newbie
  • *
  • Posts: 1
    • View Profile
Crocotile Modeling Techniques
« on: November 24, 2015, 06:29:01 AM »
I've looked at numerous posts of your artwork in Crocotile and have wondered if you'd be willing to show how you make it sing and dance.

In short, you modeled a bunny within the program. It's obviously not geared toward that sort of thing by default, but if you can make organic stuff like that quickly and easily with the program (aka faster than with a traditional box-modeling approach) whilst modeling your level alongside it (i.e. the trees in the swamp scene you made, or the rocks in the desert scene you were working on), I would love to see the technique/approach you take to put something together like this via a video demonstration if you wouldn't mind taking the time to do it.

When I first saw this program, it was nice to think "hey, I can paint tile-based worlds in 3d with this!" -- and then I saw the nice trees in the swamp and the bunny you made and wondered how in the heck you arrived at those forms solely by using snapping tiles and moving verticies around, as well as how in the heck you planned the texturing for those things too at the same time! What you did first and how you thought about its approach before you actually executed it -- as well as the actual execution of the sort of organic objects you made there would be great to understand.

Any help on this would really encourage me to purchase your program.


I'm not a 3d modeler, so an easy way to progressively model an organic shape while drawing 2d art for it simultaneously, allowing me to evolve it organically is great. Low-poly trees and rocks and so on would be great to be able to do quickly -- thus the reason I'd like a demo showing me how you approached it.


That being said, I'd like to use Crocotile to model low-poly objects in general, if possible to do it easily, so it's simple to keep the pixel size accurate. I noticed the drains in the sewer level example weren't shown how you modeled them to look so smooth and rounded. This, to me, is a sad oversight because that's the kind of stuff people want to see how it can be done easily in a program like this.

My plan would be to make a LARGE environment with Crocotile, but one of the biggest limitations I see now is that you just can't make terrain easily (such as via a heightmap that would allow you to setup some initial land formations in it) for an organic environment of a large scale. You might want to allow that perhaps with brushes that affect the height of verticies on a face (or a group of faces within a radius, with a falloff setting to set how to affect the verticies near the edges of the brush diameter) to allow people to sort of 'sculpt' the environment's shape so that it doesn't have to all be done manually, vertex-by-vertex, ALL the time. Sometimes, in cases like large hills and trenches/valleys, I'd like to quickly push around the depth of the vertexes, and even flatten some areas, all without changing the look of the tiles in that area -- except sometimes you DO want to change the tiles in an affected area (and a sculpt set of brushes like these would allow stuff like that).

The program looks amazing though dude. If you can demonstrate how to make it sing and dance like you apparently can, and fix these organic shape limitations (which, I'm assuming, it shouldn't be too difficult to generate some terrain via a heightmap and then let a guy push some verticies around!), I'd buy this in an instant. Not being able to work with organic shapes easily, for me, is a huge roadblock.

The only difficulty I could find you having with the sculpting brushes is taking into account prefabs, but I'd imagine that, any sculpting done on a prefab would take effect on all other prefabs of the same type in the scene, no matter where they were located, as long as they were on the same layer.


One final question I have is that, when these are exported, do you optimize the geometry so that the triangle count is as low as it can possibly be?

Sorry for the long message, but I'm really wanting to buy this program. I am, however, hesitant to get it for the aforementioned reasons and really hope you're still developing this. I've got other ideas on how to improve this awesome program greatly, but we'll keep it at these for the moment. It's been a while since your last update and I just want to be sure I'm not buying a program that the author stops supporting and/or developing constant improvements for.


  • Administrator
  • Sr. Member
  • *****
  • Posts: 297
    • View Profile
Re: Crocotile Modeling Techniques
« Reply #1 on: November 24, 2015, 05:31:34 PM »
Thanks for the feedback and suggestions, Ace.
You make a lot of valid points. Yes, it can be tricky to model organic shapes depending on how intricate the details of the shape are. This is because everything is basically constructed of square quads/tiles.
The swamp scene I had all the tiles drawn before constructing it (this was before I had the paint features in the program). That sort of approach is pretty backwards compared to standard 3d apps that focus on geometry first and then textures. In the case of the swamp, it was the texture first and then the geometry. This feels more like cases where you have a tileset and construct a 2d map for example in a program like Tiled. When you construct a scene in a 2d map editor like Tiled, you usually have settled on the fact that pretty much everything will be constrained to a grid, and you'll have to create the illusion that there is no grid. This is pretty much the mindset I had when constructing the swamp scene, except I had to consider how everything looked from multiple angles instead of just one.

One main thing that I initially noticed when I began creating the scene was that I had a habit of drawing the illusion of depth into the tileset. This can either work or not work, but I realized that when working in 3d, you have to begin relying more on geometry to produce depth rather than the texture. There are of course exceptions.

The bunny that I modeled, I also painted at the same time within the program after the paint tools were added. I created it piece by piece, drawing the 2d tiles roughly so that I could see the connection between 3d and 2d. I would basically select an empty portion of the tileset, sketch the texture in a way that made sense and that I thought would wrap in 3d easily, and then I would use that to place the parts into the 3d scene. Later I would refine the texture more, make adjustments; like shifting some details so that they align with others on a seam.

There were a couple useful features in this process; the tile Splitting feature that lets you slice a tile in half in the 3d scene. And also the ability to adjust/move the UVs on the texture. When a tile is highlighted in the 3d scene, its UVs get displayed in the 2d tileset, which can be adjusted with the rightmouse button. This allows the ability to make a 3d tile use more of less of the texture, so Iwould sometimes make it use less, and then move the vertices in 3d to also make the 3d tile smaller.. Or I would just split a tile to get the same effect.
You can also move UVs by selecting the verts in the 3d scene and using the arrow keys.

I also basically modeled half of the bunny, and then copied it and flipped it. When flipped I had to reverse the faces as well.

The motivation for including the paint tools was because I had tried to model something before they were implemented and realized that it was difficult to imagine the end result without seeing the texture. Or that it was difficult to create the texture first and then expect it to wrap onto a geometry that wasn't created yet.
I think the best approach is to construct a rough draft/outline of the details for the texture while building the geometry. That way you develop a relationship between the two and can see what details you will need in either the 2d or 3d forms.

I will make an effort to produce a recording of some examples of this process!

I like your suggestion of a tool that adjusts the height/depth of vertices in a radius,etc.. I can definitely see the usefulness in having that available. There was also a suggestion made by someone else to have a tool that paints the tiles in a way that lets them snap together so that you can paint tiles at different angles besides the cardinal directions.
The ability to flatten or average the vertices is also a good idea.
Generating terrain is also a good one.
These probably aren't too difficult to add, but making it work with undo states and redo states tend to complicate things.
I'll add them to the to do list and look into how to implement them.

When exported, the triangle count should be the same. As far as vertices getting merged, I don't think it currently does so, but I could put the option in to do that when exporting.

As to your last concern, that is also understandable. I want to develop a game and use Crocotile3d to create the environments for it, so I'm hoping to get some time to actually play more with the program as a user so that I can get some deeper insight to any issues with workflow, etc.
If for some reason development stops or becomes difficult for whatever reason, I will probably opensource it. This might be something I consider doing regardless, since it could help ensure support/development continues. I need more time to think about that though.

edit: by the way, I am preparing to rework the keymapping to be more flexible and descriptive. The current implementation had been considered a temporary solution.
« Last Edit: November 24, 2015, 07:49:55 PM by Alex »


  • Administrator
  • Sr. Member
  • *****
  • Posts: 297
    • View Profile
Re: Crocotile Modeling Techniques
« Reply #2 on: December 06, 2015, 09:14:20 PM »
Alright Ace, here is a video demonstration:
Hope it is helpful. If you need me to explain more stuff or want me to continue making follow up videos, let me know. I should try to make more videos anyways. It's a bit slow in the beginning since I wasn't sure what to make, and at the end I go over some stuff with prefabs and things.