Crocotile 3D
Crocotile 3D is a tile-based modeling editor. You can import tilesets and select tiles from the image to place into the 3d scene to construct environments, objects, characters or anything else you can imagine. Controls in the editor allow you to fine-tune and edit these tiles, allowing any shape or form to be made. This document outlines all the methods of interacting with the software and includes instructions on how to use it.
Click the 🐊 icons throughout this document to watch specific video clips on how to do stuff in Crocotile 3D.
📝
Would you like to translate this document to another language? Your help would be appreciated!
To translate this document click on any text and replace it with your translation. Click Save at the top of the document to export the data. You can import the data you've previously saved by clicking Load.
🐊
When you open Crocotile 3D, you're presented with the main window that displays an empty scene (where you'll be placing the tiles), and a smaller window that contains tabs for the Tileset, UVs, Painting, Transforms, and Scene panels. The Tileset tab is open by default and is where you can choose which tiles to draw into the scene. Clicking on the tileset will select a portion of the image according to the tilesize values near the bottom of the window and this selected piece will be used when drawing your tiles into the scene.
To draw into the scene, you must be in Draw mode. This mode is activated by default. You can toggle between Draw mode and Edit mode by pressing Tab or by clicking the Mode button located at the top of the main window.
When you are ready to draw to the scene just click the scene to place a tile or click and drag to place multiple tiles. Right clicking will erase them. You can control the position where the tiles are created as well as their direction. The tile gets placed against an invisible plane that always aligns with the 3d crosshair.
The 3d crosshair is depicted by white lines that extend along the x, y, and z axis. By moving this crosshair, you can adjust where the tiles are drawn. You can press W, A, S, and D to move the crosshair up, left, down, and right. Holding Spacebar and pressing W will move the crosshair away from you while pressing S while Spacebar is held will move the crosshair towards you. Adjusting the Grid Rounding value found in the lower right of the Tileset window will define the distance the crosshair moves.
Rotating the scene/camera to look at it from another angle will allow you to change which invisible plane the tiles get drawn against. So for example, if you are looking down at the scene then the tiles will get drawn looking upwards. Hold Spacebar and click and drag using the mouse buttons to rotate, zoom, and pan the camera.
Try drawing tiles from various angles and moving the 3d crosshair to get comfortable with placing tiles. These controls are unique so it may feel strange at first, but they are designed to be intuitive. It will allow you to place tiles quickly from any angle and position. You could try rotating the tile brush by pressing Q or E. You can even flip it or mirror it by pressing F or R.
When you've had enough practice, you'll want to begin editing the tiles to gain greater control over their shape. Switching to Edit mode will allow you to interact with the tiles in various ways. In Edit mode, you can click on tiles to select/deselect their faces or click on their corner points to select/deselect their vertices. With these highlighted, now moving the 3d cursor via the W, A, S, and D keys will move the selected vertices and faces as well. Holding Shift will allow you to move the crosshair without moving the selection. Use a lower Grid Rounding value for more precise positioning.
Try selecting and moving faces and vertices. You can also press Q or E to rotate the selection in Edit mode. Notice that the selection rotates around the center of the 3d crosshair. F will flip the selection relative to the crosshair position and R will mirror it similarly.
There are other ways of moving the selected vertices and faces. One way is to interact with the 3d Gizmo that appears when a selection is made. The Gizmo allows you to translate, rotate, and scale your selection by clicking one or more of its axes and dragging them. You can turn off the 3d Gizmo by pressing X or by clicking the Gizmo toggle button at the top.
You can press Shift+X to toggle between the transform, rotate, and scale modes, or you can click the button to the left of the Gizmo toggle button.
Another way to move vertices is by clicking and dragging them directly with the mouse. You can hold Shift while you drag a vertex to snap it onto another vertex.
A couple other things that you can do to tiles that are worth mentioning is reversing the face, or flipping the face edge. Try reversing a face by selecting a tile and pressing Shift+R. If it disappears, this is because it is now facing away from the camera in the opposite direction. Tiles aren't visible from their backside. Each tile consists of two triangles, and the edge these triangles share can be flipped by pressing Shift+F. Try flipping some edges to see the effect it has. This is useful if you want more control over how a tile is shaped.
Be sure to look over the list of commands and read through this entire document to understand all the ways you can interact with tiles, edit them, paint over them, and more.
General
- Tab Toggle between draw/edit mode
- F1 Open configuration settings
- F2 Open activation/info window
- F3 Open keyboard configuration settings
- F12 Take screenshot
- 9 Toggle double-sided mode for current tileset
- Ctrl+9 Toggle wireframe mode
- Alt+9 Toggle Camera Style
- 0 Hide/Show origin,crosshair lines
- Esc Close opened panels
- Alt+F4 Exit the program
Hotkeys
- Ctrl+S Save scene to current Crocotile 3D file
- Ctrl+Shift+S Save scene as a new Crocotile 3D file
- Ctrl+L Load a Crocotile 3D file
- Ctrl+E Export scene as a .obj, .gltf, .glb
- Ctrl+Z Undo
- Ctrl+Y Redo
Camera Controls
🐊
Holding Spacebar will toggle camera mode. In this mode, you can click and drag the scene using the mouse buttons to rotate, zoom, and pan the scene. This will allow you to change the direction of the plane that you draw your tiles on (see Draw mode for more info).
- Spacebar+Left Mouse & Drag Rotate camera angle
- Spacebar+Middle Mouse & Drag Zoom in/out
- Spacebar+Right Mouse & Drag Pan camera
- Spacebar+Alt+Right Mouse & Drag Zoom in/out
🐊- Spacebar+H Move backward
- Spacebar+G Move left
- Spacebar+J Move right
🐊- C Center camera to selection, or crosshair (if no selection)
🐊- White outer buttons Rotate camera towards cardinal direction
- Minus Zoom out scene
- Plus Zoom in scene
There is also the viewcube that can be used to rotate/zoom/pan the scene. It is styled as a lowpoly crocodile. Simply click it and drag- depending on whether you use left middle or right mouse button will determine whether it rotates, zooms, or pans. The viewcube can be re-positioned by dragging the small semi-transparent circle located next to it. You can also double-click the circle to toggle it on or off, or right click the circle.
🐊
Crosshair Controls
🐊
The 3d crosshair is used to position the invisible plane that you draw tiles onto. It is also used to move selected vertices and faces or to rotate, mirror, and flip them. The 3d crosshair is visualized as white lines that extend along the x, y, and z axis. You can adjust the grid size to change how far the 3d crosshair moves per step.
You can also Tilt the crosshair. This allows you to draw and edit tiles at angles other than the default x,y,z.
🐊
- W,A,S,D Move selection and/or 3d crosshair.
- Shift+W,A,S,D Move the 3d crosshair without moving selection.
- Space+W,S Move crosshair/selection towards/away from camera.
🐊- Click vertex Move crosshair to location of vertex.
- Alt+C Snap the crosshair to the nearest vertex that the mouse is hovering over.
- [ Decrease grid rounding size
- ] Increase grid rounding size
🐊- Shift+C Center crosshair to the selection (in Edit mode)
- Alt+O Snap the crosshair to the grid (rounds its position based on grid-rounding value).
- Shift+T Hover over edge of a tile and press these keys to set an Anchor point relative to the tile's edge. The anchor represents your tilted orientation.
🐊- T Toggle the Tilt mode for your 3d crosshair. It will match the orientation of the anchor point you have set.
Gizmo Controls
🐊
The 3d Gizmo has three modes (move, rotate, and resize). You can toggle between them by pressing the corresponding button located at the top of the scene
, or by pressing Shift + X. By clicking and dragging the Gizmo's lines representing the X,Y, and Z axes, you can move, rotate, or resize the selected faces and vertices in the scene. Adjusting the Grid Rounding value will effect how fine or coarse the changes are. You can also set the Rotation Interval value to rotate at specific intervals.
The 3d Gizmo will become visible when you select some vertices or instances. You can click the Gizmo toggle button at the top of the scene or press X to toggle the 3d Gizmo on/off.
Pressing Shift+X will cycle through the translation, rotation, scale modes.
Pressing Alt+X will position the Gizmo to the nearest vertex that the mouse is hovering over, or to the 3d crosshair. You can toggle between vert location and crosshair location by pressing it again.
X Toggle the Gizmo on/off.
Shift+X Toggle between the Translate, Rotate, Scale modes for the Gizmo.
Alt+X Snap the gizmo to the nearest vertex that the mouse is hovering over, or the 3d crosshair (press twice).
Shift+Alt+X Snap the gizmo to the center of the selection.
Shift Move the Gizmo without moving the selection.
Alt Transform the Crosshair relative to the Gizmo. This allows you to move and rotate the Crosshair via the mouse.
Draw Mode
When drawing tiles or prefabs into the scene, they will be drawn onto an invisible plane that aligns with one of the 3d crosshair's axis. Which axis it aligns with will depend on the current direction of the camera. Changing the direction of the invisible plane allows you to draw the tiles and prefabs in different directions. Along with positioning the crosshair this allows you to draw at any position or orientation in 3d space.
🐊
- Left Mouse Draw tiles into the 3d space
- Right Mouse Erase tiles from the 3d space
Hotkeys
🐊- Q,E Rotate the tile's UV, or prefab's direction
🐊- F,R Flip/Mirror tile's UV
🐊- Alt+Right Mouse Click Copy UV coordinates of the clicked tile
🐊- Alt+Left Mouse Click Apply UV coordinates to the clicked tile
- Ctrl+D Deselect verts/faces (press key once for verts, second press for faces)
There are several tools you can use while in Draw mode that alter the way you can place tiles into the scene. You can select a tool by clicking the buttons on the left side of the 3d scene, or pressing the corresponding number keys.
- 1 Select the Tile tool.
The Tile tool is used as the default way of drawing to the scene. It allows you to draw tiles against the crosshair planes relative to the camera's orientation.
🐊- 2 Select the Sticky tool.
The Sticky tool allows you to draw tiles from the edge of existing tiles in the scene. By hovering over a tile's edge, a tile can then be drawn directly connected to that edge at an angle relative to the camera's orientation. This can be a useful way to place tiles without having to move the crosshair into place.
- Shift Hold down to set tilebrush scale back to normal while using the Sticky tool.
🐊- 3 Select the Block tool.
The Block tool allows you to place blocks into the scene. Each block consists of a group of tiles, and you can add or remove these blocks. You can place them against the crosshair planes, or you can simply hover over an existing tile and build a block out from it. Left click to add a block. Right click to subtract a block.
Edit Mode
Each tile consists of four vertices and two triangles/faces. These can be modified in various ways and in various combinations. You can toggle between Edit mode and Draw mode by pressing Tab. While in Edit mode you can right click the scene to open a menu with various actions that can be made on selected vertices or faces.
🐊- Left Mouse Click Select/deselect 3d quads, verts, and objects.
🐊- Ctrl+Left Mouse Click Select/deselect nearest vertex of the tile being clicked.
- Alt+Left Mouse Click Move crosshair to the clicked vertex without selecting it.
🐊- Middle Mouse Click Toggle active-selection mode (if tiles are highlighted). See Active Selection section for more details.
- Right Mouse Click Open context menu to select from various commands
🐊- Shift+Enter Active selection mode. Only vertices on the highlighted faces are editable.
🐊- Enter Edit a selected instance if one is selected, or stop editing the instance if all verts and faces are deselected.
🐊- Q,E Rotate selection around 3d crosshair
🐊- Shift+Q, Shift+E Rotate selection clockwise / counter-clockwise around 3d crosshair
🐊- F,R Flip/Mirror selection
🐊- Left,Right,Up,Down Adust UVs of selected verts
Hotkeys
🐊- Left Mouse Drag Selection marquee of verts
🐊- Alt+Left Mouse Drag Deselection marquee of verts
🐊- Shift+Left Mouse Drag Selection marquee of quads
🐊- Shift+Alt+Left Mouse Drag Deselection marquee of quads
🐊- Ctrl+Left Mouse Drag Selection marquee of objects
🐊- Ctrl+Alt+Left Mouse Drag Deselection marquee of objects
🐊- . Combine vertices together and place at the Crosshair position.
🐊- Shift+P Push and align selected vertices and faces against the crosshair plane
🐊- Ctrl+P Pull and align selected vertices and faces against the crosshair plane
🐊- P Center the selected vertices and faces on the crosshair plane
🐊- Alt+S Split a tile along the yellow line while in active mode.
- Alt+D Sybdivide a tile while in active mode.
- Ctrl+C Copy quads
- Ctrl+V Paste quads
🐊- Ctrl+D Deselect verts/faces (press key once for verts, second press for faces)
🐊- Ctrl+A Select all verts (once for highlighted face verts, again to select overlapping verts). If no faces or verts selected, it will select all faces in the scene.
- Ctrl+Shift+D Deselect all object instances
- Ctrl+Shift+A Select all object instances
🐊- Click drag Vertex Drag/move a vertex with mouse
🐊- Shift+Click drag Vertex Snap dragged vertex to another vertex
🐊- B Toggle camera-based selection
- 8 Select vertices along the x,y,z axis. You can customize the key-bindings for each axis in the buttons settings.
- O Realign the selected vertices/faces to the nearest pixel (equal to a grid-rounding value of one).
🐊- Ctrl+O Realign the selected vertices/faces to the grid using the current grid-rounding value.
🐊
Tiles can be divided into two triangle shaped tiles. Select the tiles you want to divide and then right-click in the scene and select Triangle Divide from the Faces submenu. Also triangular tiles can be merged together to form a single square tile. Select Triangle Merge in the Faces context submenu while in Edit mode. This will merge pairs of triangles into single tiles. A pair of triangles must share two vertices together.
Tilesets
With the Tileset tab open, you can select a part of the image. This selection can then be drawn into the scene.
🐊
Multiple tilesets can be used. To add a new tileset click the tileset button and choose Add tileset.
You can click the next and previous buttons to toggle between tilesets.
🐊
- Left Mouse Click/Drag Select portion of the tileset.
🐊- Right Mouse Click/DragSwap the currently selected tile with another tile.
- V Toggle opacity of tileset/tiles
🐊- Ctrl+Minus Zoom out tileset
🐊- Ctrl+Plus Zoom in tileset
- Ctrl+[ Previous tileset
- Ctrl+] Next tileset
🐊- Space+Mouse Click & Drag Pan the tileset viewport
UVs
The following keys apply while the UVs panel is in focus. Read the UVs section to learn more about how to edit UV coordinates.
- Left Mouse Click/Drag Select multiple UV coordinates if not hovering over any. Hold Alt to deselect multiple UV coordinates.
- Left Mouse Click/Drag Drag and move the selected UV coordinates if hovering any. Coordinates will move at a stepping distance equal to the UV Precision values. The crosshair can also be moved this way.
- Shift+Click drag UV Snap dragged coordinate to another coordinate or move at one pixel distances.
- Shift+Click drag Rotate selection at increments, or snap angle to coordinate being hovered over.
- Ctrl Limit selection to the nearest UV coordinate of a tile the mouse is hovering.
- Left,Right,Up,Down Move UVs a distance equal to the UV Precision value. Hold Ctrl to move UVs a distance of 1 pixel
- R Mirror
- F Flip
- Q Rotate left
- E Rotate right
- B Toggle between singular/multiple UV selections
🐊- N Flatten the selected UVs.
- Ctrl+A Select all
- Ctrl+D Deselect all
- Double Click Deselect all (If not hovering UVs)
- C Center the crosshair to the selected UVs
- Right Mouse Click Open the context-menu for UVs
- Space+Mouse Click & Drag Pan the viewport
- Ctrl+Minus Zoom out tileset
- Ctrl+Plus Zoom in tileset
- Ctrl+Z Undo
- Ctrl+Y Redo
- Ctrl+[ Previous tileset
- Ctrl+] Next tileset
Paint
The following keys apply while the Paint window is in focus. Read the Painting section to learn more about how to use the tools.
- Left Mouse Click/Drag Use tool
- L Lasso tool
🐊- X Swap foreground color with background color
- [ Decrease brush size
- ] Increase brush size
🐊- Ctrl+Minus Zoom out tileset
🐊- Ctrl+Plus Zoom in tileset
- Ctrl+Z Undo
- Ctrl+Y Redo
- Ctrl+X Cut Selection
- Ctrl+C Copy Selection
- Ctrl+V Paste Selection
🐊- Alt+Pencil Eyedrop a color
🐊- Alt+Paint bucket Eyedrop a color
🐊- Space+Mouse Click & Drag Pan the tileset viewport
Scene
Opening the Scene tab will display a list of layers and objects (if any exist in the scene). You can add layers and import prefabricated objects, or create objects from groups of tiles in the scene. To know more about this, check the Objects section.
- Left Mouse Click/Drag Move items in the list to reorder them.
- Right Mouse Click Open menus by right clicking the items in the list
- Double Left Click Double clicking the name of a listed item will let you rename it. Double clicking off to the side of the name will open the object's properties.
Settings
The settings and configuration of Crocotile 3d can be accessed from the Edit menu at the top of the main window, or by pressing F1.
General
- Resolution
The resolution of the 3d scene can be adjusted by specifying width and height values that can be either in pixels or a percentage of the window size. Close the settings to apply the changes.
- Window Size
Setting these values will adjust the size of the main window. Close the settings to apply the changes.
- FPS
The value you set here will determine how many frames get rendered per second. A higher FPS will make the scene appear smoother when moving around the scene.
- Color Theme
Select between a Light or Dark color theme for the interface.
- Show Ruler
If enabled, visual guides extend from the 3d tilebrush to help measure distances.
- Lock Crosshair to the Grid
Keep the crosshair position rounded to the nearest grid point based on the grid-rounding value.
🐊- Wireframe
Toggle on/off the Wireframe. With this on, tiles will display their wireframe in the 3d scene.
- Wireframe Color
This will set the wireframe color
- Background Color
This will set the background color of the scene
- Background Transparency
This will make the background become more or less opaque. A value of 1 is fully opaque, while a value of 0 is fully transparent. When taking screenshots, it will use this value to determine the transparency of the background in the images.
- Screenshot folder
This specifies where the screenshots get saved. Press F12 to take a screenshot.
- Backup states
This value defines how many backup files to save. These are saved to the Crocotile folder and saved every 5 minutes if changes have been made.
- Undo states
This value defines how many undo and redo states to allow. A low value is recommended.
Project
- Base Pixel Unit
The base pixel unit defines how many pixels per meter there are. One 3d unit equates to 1 meter. Since some older projects may not have a base pixel unit defined, there is an option to specify the current unit when changing the value. When resizing the scene, it will compare the current unit with the new unit to determine the amount to scale the scene. The ratio to multiply the scene by is calculated as: (1 / new) / (1 / current).
- Skybox Shape
Select either a Box, Cylinder, or Sphere for the shape of the skybox. Skybox .png files for each can be found in the misc folder in your Crocotile folder.
Camera
- Far frustum plane
This value determines how much of the scene is rendered. Lower value will render a shallower space, while a higher value will render deeper into the scene.
- Field of view
This value determines how much of the scene the camera can see (how wide its viewing plane is).
Draw Mode
🐊- Overlap Tilebrush
If toggled on, the tilebrush will overlap itself when drawing with a group of tiles.
🐊- Align Brush to Crosshair
If toggled on, the brush will position itself next to the crosshair so that its edge aligns with it.
Edit Mode
🐊- Camera-based Selection
If enabled, only vertices and faces that are visible from the camera's perspective will be selected. If disabled, vertices and faces behind each other will also be selected. You can also press B to toggle this setting on/off.
🐊- Gizmo
If enabled, this can be used to help move,rotate, and scale vertices and faces in the scene. Arrows will display in the scene when a selection is made and these can be clicked and dragged. You can also press X to toggle this setting on/off. Check the Gizmo section of this document for more details.
- Prioritize Gizmo
Sometimes a vertex may be under the mouse when clicking the Gizmo. If enabled, the Gizmo will take priority when clicking. If disabled, vertices will take priority.
🐊- Object mode constraint
If toggled on, this will prevent editing tiles outside of a prefab object while you are editing an instance.
🐊- Vertex Size
Adjust the size of the vertices.
Tilesets
- Auto-refresh Tilesets
If enabled, tilesets will be refreshed every couple of minutes if their corresponding image file has been modified outside of the program, or refreshed immediately when returning to the program.
🐊- Drag multiple UVs
If toggled on, this will allow you to drag multiple UVs that are overlapping or sharing a coordinate in the UVs panel.
- Checkered Size
This controls the size of the squares when drawing a checkered pattern to a tileset.
Buttons
🐊
The key bindings can be adjusted by accessing the Buttons menu item within the Edit menu at the top of the main window.
- Save & Load
There are Save and Load buttons that will allow you to save and load your keybindings. Default bindings are supplied with the program for qwerty, azerty, and qzerty keyboards (they are located in the "misc" folder where Crocotile is installed). The main difference between them is that Q gets swapped with A, and W swapped with Z.
- Reset Bindings
The Reset Bindings button will reset all the controls back to their default settings.
- Key Groups
Selecting a group from the drop-down list will reveal a list of specific actions that you can set key bindings for. Clicking on one will display a short description and textbox with the binding. To change the binding, simply click in the textbox and then press the key(s) on your keyboard. After releasing the keys the binding will be applied. You can also click on the Clear button to clear and remove/disable the binding completely.
- Toggle Camera Mode
If enabled, pressing spacebar (or whichever key you've bound for this action) will keep camera mode toggled even if spacebar is released. Pressing again will toggle camera mode off. If this is disabled, when spacebar is held down Camera mode will be toggled on and when it is released camera mode will be toggled off.
Blender Controls
If you are more comfortable with the way Blender handles the rotate/zoom/panning of the camera, you can adjust the bindings for these in Crocotile to match. Blender uses the middle mouse button for all these functions. In Crocotile, these functions are used in conjunction with the spacebar, so you will need to change the binding type to Mouse only if you want to rotate without holding the spacebar down. You can remap which mouse button these actions use, as well as the keys to press.
Camera
🐊- Perspective
This mode displays the scene with perspective that has a vanishing point.
🐊- Orthographic
This mode displays the scene without perspective, and thus without a vanishing point. This can be useful for an isometric style.
Skybox
Included with the program is a skybox.png file. This image serves as a template for your skyboxes. Images can be larger or smaller as long as the layout remains the same. From the menu in the main window, there is a Skybox menu item with options to pick a skybox image, or to show/hide the skybox.
Render
🐊- Camera
Render out images from the cameras that have been placed into the scene. Check the Cameras section in this documentation for more information on how to add cameras and render!
🐊- Spin Gif
Create a gif animation where the camera rotates around in the scene. Specify the frames, frame interval, and rotation amount. Click Export, choose a filename and then it will begin creating the gif animation. Consider changing the window size to be smaller, as gif animations can create large filesizes the more frames they have and the larger the image dimensions are.
About
This will show a box with information about the version of Crocotile 3D. If you are using the non-Steam version, then it will also provide input fields to type in your email and activation code if you have registered for one. Registering allows you to gain the ability to save a scene with more than 100 tiles and also allows exporting your work. It also helps support the development of this product.
Each tile in your scene displays an area of pixels from one of your tilesets. Simply click on the tileset to select a tile and apply it to your tilebrush. You can also click and drag to select a larger portion of the tileset. The size of your selection is determined by the UV Tilesize. You can also adjust the 3D Tilescale to change the size of the 3d tilebrush in the scene. Each tile uses UV coordinates to define what portion of the tileset to display on the tile's face. You can edit these UV coordinates in the UVs tab (read the UVs section on how to edit them)
🐊- UV Tilesize
These values define the width and height of the tiles that you can select on your image.
🐊- UV Precision
When adjusting the UVs of a tile in a scene, these values define how many pixels to move by.
- UV Padding
When you select tiles from the tileset the corresponding UVs that get generated will be padded inwards by the amount set in the input boxes (left, right, top, bottom). This may be useful to prevent pixels bleeding across the edges of tiles.
🐊- 3D Tilescale
This value will set the default size of the 3d tile in the scene. Setting it to 2 will make the tile twice as large for example.
🐊
Tile Swapping
🐊
You can swap tiles by selecting tiles in the tileset window and then right-click and dragging them to the desired location. UVs of tiles in the 3d scene will get updated to the new UV locations if their UVs were inside the tile area you are repositioning.
Repeating a Texture across a Tile
🐊
Click the Wrap button in the Tileset tab to select a wrap mode for the current Tileset (Clamp to Edge, Repeat, Mirrored Repeat).
With one of the repeat modes selected, a texture can then be repeated across a tile by moving the UV coordinates beyond the edges of the tileset. The UV coordinates will essentially wrap around, and the further you move them beyond the edge the more times it will repeat. By placing a tile into its own tileset and using that texture on a tile, you can adjust the vertices and their UV coordinates to get the desired result. Watch the video for a demonstration! This technique is useful for broad areas where you want to repeat a tile but want to keep the polygon count low. This helps optimize the geometry.
Blurry Textures/Tiles
If your tiles appear blurry, this is due to the tileset not having a power of two dimension. Examples of safe image dimensions are; 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 pixels. Tilesets are now capable of being repeated across a tile, and this requires them to have width and height values that are a power of two.
Decals
🐊
Click the Decal button in the Tileset tab to enable/disable the mode for the current tileset.
Tilesets that have their decal mode enabled will have their tiles appear on-top of tiles from other tilesets that don't have their decal mode enabled. Watch the video for a demonstration! Use decals in combination with repeating textures to add variety without adding many polygons.
Refresh
The refresh button next to the Zoom menu will force the Tilesets to refresh.
They won't refresh if there has not been any changes to their files outside of the program. Be careful if you are Painting over your Tilesets if you haven't refreshed them prior to that process as refreshing them may overwrite your work. You can enable auto-refresh in the settings to keep the Tilesets up to date if you are editing them outside of the program. Just take note that any changes you make to them inside Crocotile will not be updated outside of Crocotile.
As you may know, each tile in your scene displays a section of a tileset. Where these sections reside on a tileset are defined by the UV coordinates that the tiles use. Each vertex of a tile has a corresponding UV coordinate and these can be re-positioned to change what gets displayed. To change these, you must first select the faces in the scene. Selecting faces in the scene will display the corresponding UVs on the tileset panel within the UVs tab. To get a good idea on how to edit UVs, watch this video demonstration by clicking this crocotile link:
🐊
🐊- UV Precision
When adjusting the UVs of a tile in a scene, these values define how many pixels to move them by.
🐊- Rotation
This value specifies how many degrees to rotate the selection when holding Shift while rotating.
🐊- Scale
The UV coordinates can be scaled relative to where the crosshair is located. For example; If you scale it by 2, each selected coordinate would be set twice as far away from the crosshair as they were before. If you applied a scale of 0.5, the coordinates would be placed half the distance towards the crosshair.
Selecting UVs
UV coordinates will be displayed in the UV panel whenever tiles in the 3d scene are highlighted. The UV coordinates will appear as small boxes. To select / deselect UV coordinates, simply click on them or click and drag a box around multiple UVs to select more than one. You can hold Alt while you drag to deselect multiple UVs.
You can also click within the dotted lines that denote the tile, to select / deselect all the UVs of the tile. If you hold Ctrl while inside a tile's UVs, the coordinate closest to the mouse will be selected / deselected.
🐊
Double-clicking while your mouse is not hovering any UVs will deselect everything.
🐊
The Drag multiple UVs option in the Settings will allow you to select multiple UVs that are overlapping instead of just one. You can press B to toggle it on/off. There is also a button in the UVs panel to toggle this on/off.
Rotating
🐊
To rotate the selected UVs, hold Shift to activate rotation mode (the UV boxes will switch to a circle shape), and then click and drag the UVs.
If you hold Shift while rotating, it will rotate in increments. You can specify how many degrees in the Rotation input box.
Hovering over other UVs while hold Shift will snap the angle to that UV coordinate.
Crosshair
There is a small crosshair that becomes visible when you select UV coordinates. It automatically centers itself on the selection unless you begin to manually move it. Pressing C will recenter it again.
To move the crosshair, simply click and drag it like you would a UV coordinate.
If you hold Shift while dragging the crosshair, it will snap to any UVs you are hovering over.
The crosshair is used as a point of reference for UV transformations. If you rotate the coordinates, they will rotate around the crosshair position. The same occurs for mirroring, flipping, and scaling.
🐊
When you select a tile or group of tiles in the Tileset tab, this portion of the image then becomes editable when clicking on the Paint tab.
🐊
The Grid line button can be toggled to show/hide the Grid lines.
These show where one tile begins and ends in the tileset based on the tilesize values.
🐊
The UVs button can be toggled to show/hide the UVs of the selected tiles while you paint.
This is helpful if you want to paint onto a specific location of a tile and need to reference the UV coordinates.
Drawing Tools
These tools modify the pixel data of the textures/tilesets. You will see your changes in real-time reflected on the 3d model.
🐊- Pencil Draw pixels onto texture using a re-sizable brush.
The size of the brush can be increased or decreased using the brush slider.
🐊- Eraser Remove pixels from texture using a re-sizable brush.
🐊- Paintbucket Recolor pixels or fill in spaces with a solid color.
You can toggle the Contiguous option to control whether it fills a closed space or all of the same colored spaces irrespective of whether they connect.
You can also fill in a checkered pattern by toggling the Checkered button.
🐊- Eyedropper Sample a color from the image and replace current color in the color swatch. Holding alt key while using the other drawing tools will allow you to sample colors without changing to this tool.
- Alpha transparency
The alpha transparency slider in the Painting tab. Allows you to control the alpha channel when painting. Next to the alpha slider, there is a button that can toggle the alpha mode.
It can be toggled between Unique and Mixed. Mixed is the default mode. Mixed will add to what is already drawn, while the Unique mode will overwrite the transparency that is already in the texture.
The Dither slider allows you to control the amount of dither that the Pencil and Eraser uses.
While using the Pencil and Eraser tools, there will be Horizontal and Vertical symmetry buttons you can click.
These toggle on/off horizontal and vertical lines. While enabled your drawing and erasing would get mirrored across them.
Selection Tools
🐊
Limits painting to within the selection. The selection can be moved, cut, copied, pasted, and re-sized. Add, subtract, and intersect modifiers can be accessed when combining Alt, Shift keys. Cut and copy modifiers can be accessed with the Ctrl, Alt keys.
You can also Flip, Mirror, and Rotate the selection by 90 degrees using the corresponding buttons at the top.
🐊- Marquee Select square portion of the image.
- Lasso Select by drawing a shape around portion of image.
🐊- Magicwand Select the same colors. Included is contiguous option.
Move Tools
🐊- Hand Pan the canvas by clicking dragging.
You can also hold spacebar down to access this option when using other tools.
🐊
Re-size Selection
🐊
After a selection has been made, handles will appear on the corners and sides of the selection. These handles can be clicked and dragged to adjust the size. If a portion of the image has been clipped, it will also be re-sized. The following keys can be held down to control how the selection is re-sized.
- Shift Re-size while keeping the same proportions.
- Alt Re-size from the center of the selection.
- Ctrl Re-size and snap to the grid.
Palette
🐊
The palette allows you to save specific colors so that you can pick and re-use colors you have defined previously. The top edge of the palette box can be clicked and dragged to adjust the size of it. You can also click and drag individual colors to reorder them. There are a few options in the Palette menu by clicking the Palette button at the top, right of the palette box.
The Transform tab is where you can make specific translation, resize, and rotation adjustments to your selected tiles, vertices, and objects. Specify x,y,z values and hit Apply.
There is a button "Axis relative to Camera orientation", near the top of the panel.
This allows you to toggle between (x,y,z) and (right,up,backward). The first option will treat the transforms as normal, however the second option will treat the transforms relative to the camera orientation. If the Gizmo option is selected, transformations will be relative to the Gizmo.
🐊- TranslateMoves the selected faces, vertices, or objects by an x,y,z amount.
🐊- ResizeRescales the selected faces and vertices by an x,y,z amount. Input a value of 2 to double the size. Input a value of 0.5 to reduce it by half.
🐊- RotateRotates the selected faces, vertices, or objects by an x,y,z amount in degrees.
Align
- Push Aligns the selection so that the furthest side sits flush against the crosshair plane.
- Center Centers the selection on the crosshair plane.
- Pull Aligns the selection so that the near side sits flush against the crosshair plane.
Crosshair
🐊
These allow you to retrieve the current crosshair position by hitting Get. Pressing Set will move the crosshair to the specified x,y,z position. If the move selection option is checked, it will also move the selected geometry along with the crosshair. There is also a translate option as well to shift the crosshair relative its current position.
- Tilt This option will toggle on/off a tilted orientation.
- Orientation You can retrieve the orientation of the crosshair by clicking Get. You can apply the orientation by clicking Set.
- Rotate You can apply a rotation to the crosshair. Clicking Apply will add the amount specified in the x, y, and z input boxes. You can supply negative numbers as well.
Camera
Position
- Lock Axis These can be toggled on/off to lock one or more axes. While locked, the camera won't be able to move along that axis.
- Position The position of the camera can be retrieved by clicking Get. You can also set the position of the camera by clicking Set. If you toggle on the swivel point option, it will use the point the camera rotates around instead of the camera position.
- Translate You can apply a translation to the camera position. Clicking Apply will add the amount specified in the x, y, and z input boxes. You can supply negative numbers as well.
Rotation
- Lock This option will lock the rotation of the camera.
- Swing camera This option will change the point of rotation from the camera's position to the position in-front of it where it swings around.
- Orientation You can retrieve the orientation of the camera by clicking Get. You can apply the orientation by clicking Set.
- Rotate You can apply a rotation to the camera. Clicking Apply will add the amount specified in the x, y, and z input boxes. You can supply negative numbers as well. It will first rotate around the camera's Y axis, then the X, and then the Z.
Magnification
- Lock This option will lock the zoom of the camera.
- Zoom level You can retrieve the current zoom level of the camera by clicking Get. You can apply the zoom level by clicking Set.
- Zoom You can apply a zoom to the camera by clicking Apply.
Objects can be created by grouping tiles together. Object instances can then be added to the scene. Editing one instance allows all instances to be updated with the same changes.
To create an object, you must first highlight the tiles that will be grouped together while in Edit mode. Once highlighted, you can right click to open the context menu, then select the Create Object menu item within the Faces menu. You can also click the Create Object button in the Scene tab. Doing so will remove the tiles and replace them with an instance of the newly created object. Instances can be selected like tiles, moved, and rotated. The new object will also be listed in the Scene tab, and can be dragged into a layer to help organize your list of objects. When you create an object, its origin point will be placed relative to where the crosshair is located. Check the Object Points section below on how you can change this position.
There are two ways to rename an object. You can double click the name of the object listed in the Scene tab, or you can right-click and choose the Rename Object menu item.
Copy/pasting only works with tiles, but you can duplicate multiple instances by selecting them, right-clicking on one, and choosing the Duplicate Instance(s) item from the context menu that pops up. This will duplicate all of the selected instances with the new instances selected.
Instances in the scene can be deconstructed into separate tiles again. This may be useful if you want to make a change to an instance without affecting all of the instances. While in Edit mode, select the object instance in the scene. When it is highlighted, right-click to open a context menu and choose Deconstruct Instance.
While editing an instance, you can modify each tile that constructs the object. You can add or remove tiles to the object as well and these changes will be reflected in all of the instances. Basically every operation you can perform on a regular tile can also be performed when editing an instance's tiles. To edit an object, select an instance in the scene and right-click while in Edit mode. A menu will appear with the option to edit the instance. This will activate the instance's edit mode, displaying a yellow box around the instance. When you are done editing, you must deselect everything and then press Enter to exit the instance's editing mode. You can also press Enter to begin editing the instance.
🐊
There is an option in the settings Object Mode Constraint. If enabled it will prevent selecting/editing tiles that are not part of the object when you edit an instance. This will help prevent you from editing other things while you are editing an instance.
- Exit Editing an Instance
Deselect all faces and vertices of tiles and then press Enter to stop editing the object.
Instances / Prefab Brush
🐊
Instances can be added to the scene in two ways. One way is through the menu when right-clicking an object in the Scene tab list. This will place the object at wherever the current position is of the 3d cursor. Another way is by left-clicking the object in the list while in Draw mode. This will allow you to place objects in the scene near your mouse, relative to an invisible plane that sits against the 3d cursor (This acts just like when you place single tiles). You can also erase the instance by lining up the Prefab Brush with an instance, and right-clicking it in the scene, exactly as you would do with a normal tile.
🐊- Q , E Rotate the prefab brush. Rotating the brush in combination with rotating the camera angle allows every 90 degree orientation to be attainable.
- Shift+Q , Shift+E To help keep rotation simpler, Holding shift will allow the object to rotate clockwise or counter-clockwise.
Object Points
🐊
Each object has an origin point that helps with the placement of the instances within the scene. At the time of creating an Object, the current location of the 3d cursor will determine where to place the origin point relative to the rest of the tiles in the object. The origin point can be re-positioned afterwards, as well as new points added for custom data.
- Reposition a point
In the Scene tab, when an instance is being edited, the drop-down menu at the bottom of the scene tab window will list all the Object's points.
Selecting one will display the point (a white diamond shape) within the scene where it is located relative to the instance. Clicking the button next to the drop-down list will re-position the point to the current location of the 3d cursor.
- Rename a point
After selecting a point from the dropdown list in the scene tab while editing an instance, you can click the T icon to rename the point.
The origin point can't be renamed, but any additional points you have added can be renamed.
- Add/remove a point
At the bottom of the Scene tab window, there are two buttons to add or remove object points.
Points can be added/removed while editing an instance. The only point that can't be removed is the Origin point.
Properties
Right-click an object listed in the Scene tab and choose Properties. Alternatively you can Double-click the space to the side of its name to open the Properties. This will open a panel with special options such as Billboarding and Mirroring.
With Billboarding enabled, instances of the object will always face the camera. You can also choose to lock it to the Y axis, which will make it keep its Y orientation while facing the camera. With this toggled you can rotate the object and it will keep its local Y orientation. When enabling billboarding, it is important to understand that the object should face down the Z axis. If you have tiles facing down a different axis, it may appear invisible when enabled because those will face away from the camera.
Enabling Mirror mode will cause all the tiles within an object to have a mirrored version of itself. Any changes to a tile will be updated in the mirrored version. This may be useful if you want to create a symmetrical object- you can create one side and as you are creating it, the other side will be auto-generated. It will retain symmetry across the origin point of the object. Check the Object section of this document to learn how to reposition the origin point.
🐊
Cameras are used when rendering out images of the scene. You can pick which camera(s) to render an image from by going to Edit > Render > Camera. Cameras can be either Perspective or Othographic. You can add cameras to the scene by clicking the Add Camera button in the Scene tab.
When clicked, a camera will be added to the scene at the current location and angle being viewed. You can reset this position and orientation and also specify whether it is perspective or orthographic.
Properties
Right-click a camera listed in the Scene tab and choose Properties. Alternatively you can Double-click the space to the side of its name to open the Properties. This will open a panel with special options such as Perspective and Orthographic where specific properties for the camera can be set. You can also Reset the Camera to set these properties to the current view in the 3d scene.
- Perspective
The Aspect Ratio by default is the width divided by the height of the viewport (width/height) when the camera was created. You can adjust this value if you like. The Field of View specifies the span of the angle vertically that the camera can see. The Frustum Near and Far specify the range or depth that the camera renders from itself. Anything outside that range won't be rendered. The Zoom specifies how magnified or zoomed in or out the render will be.
- Orthographic
The Frustum Near and Far specify the range or depth that the camera renders from itself. Anything outside that range won't be rendered. The Left, Right, Top, and Bottom properties control the camera's frustum. It determines the rectangular area that the camera can see and will default to the current view when the camera was created. The Zoom specifies how magnified or zoomed in or out the render will be.
Rendering
You can pick which camera(s) to render an image from by going to Edit > Render > Camera. A panel will open with a list of cameras that are in the scene. Select which cameras you want to render. You can hold down Ctrl and click more than one camera, and when you render it will render them all at once. This may be useful in cases where you want to get multiple angles of something, for example, such as an isometric object that will be rendered into a 2d asset.
🐊
There are various properties you can set when you render your images.
- Resolution
The resolution controls the width and height of the rendered images. This is useful if you need a specific size.
- Background Color
If the skybox is not rendered, this property will specify the color of the background.
- Background Transparency
If the skybox isn't rendered, this property controls how transparent or opaque the background is. This value can be a floating point number between 0 (transparent) and 1 (opaque).
- Skybox
This property determines if the skybox will be rendered.
🐊
Layers allow you to organize your object list inside the Scene tab. You can drag objects into and out of layers and label them to help you when sorting through them. You can even have nested layers! To add a layer, simply click the layer button near the top of the window while the Scene tab is open.
If you right-click a layer, a menu will display with the following options.
- Rename Layer This will allow you to rename the layer. Another way is to simply double-click the layer name.
- Remove Layer This will remove the layer. Any objects within the layer will be taken out of the layer and placed at the end of the list.
If you have registered and activated your program (non-Steam version), you'll have the ability to save and export.
- Choose a tileset that is being used in your scene.
- Click File on the menubar and choose either Export Scene or Export Objects. Export Objects will export each object separately whereas Export Scene will combine everything together.
- Select which objects to include in the scene if necessary.
- Adjust the export settings to your liking. Details of these settings are outlined below.
- Click Export and pick a location to save your files.
- Type in a name for your file and click Save.
OBJ format
If you are using multiple tilesets to construct your scene, you will have to export for each tileset unless you choose to export a MTL file with your OBJ. If you choose this, it will also export all the textures the MTL will reference. If you don't choose to export a MTL file, then when you export, it looks at the current tileset that you have selected and checks to see if there are any tiles in the scene from that tileset. If there are none from that tileset, then it won't export. When you choose a tileset that has tiles in the scene, the export will work and an .obj file will be created with tiles that use only that tileset.
If you export without the MTL option, each .obj file will contain tiles from one tileset, which means that your scene will be split up into multiple parts. Then when importing into another program, you can load all of the exported .obj files, apply the correct tileset texture to each one, and position them to the same coordinates. Your scene will look fine, and everything will be together.
If you export with the MTL file, then when you import the .obj file into a program that supports mtl files, it will import everything with the appropriate textures assigned.
🐊
Watch this video to learn about all the options as well as how to import into Unity, Godot, Blender, Sketchfab.
GLTF & GLB formats
You can choose to export your scene and objects as .gltf files or .glb files. Gltf files are human readable json formatted files while the glb files are binary. The binary format has a smaller file size.
Gltf and Glb files can embed the texture images into the file. This way you can have just one file that contains everything you need to import into another program. Because of this, these formats are the preferred way to export.
Export Options
- Merge Vertices
If this option is selected, any vertices that are overlapping will be merged together to create just one vertex. The UVs of the vertices must also be the same for them to be merged as there can only be one UV coordinate per vertex. If the UVs are different, then the vertices won't merge even though they have the same position in 3d space.
- Vertex Normals
You can choose between flat or smooth normals. Flat will set all vertex normals to be the same as the face normal. This will give the impression of sharp edges to each polygon. Smooth will average the vertex normals based on all polygon faces connected to that vertex. With Smooth selected you can specify the angle threshold to control which face normals affect the vertex normals. Specify the angle in degrees. If the angle between surfaces are within this angle, the vertex normals will be averaged betweeen them.
- Polygon Type
Polygon type only applies to .obj files. You can choose to export your tiles as Triangles or Quads. Triangles are three-sided polygons and Quads are four-sided polygons.
- Use Groups
Use Groups only applies to .obj files. This option will organize the tiles of each instance to their corresponding object group. This may effect how your .obj gets imported into other programs. Some programs will separate each group into their own objects upon import. So if you need the tiles split up into their corresponding objects then you will select this, otherwise everything will be treated as a single object.
- Embed Textures
Embed Textures only applies to .gltf and .glb files. This option will embed the texture data with the rest of the data so that there is only one file.
- Tile Spacing
When exporting, the tile spacing option will add pixels around each tile. So if you choose a value of 2, each tile will have two rows/columns of pixels added on each side, so there would be 4 total pixels rows/columns between every tile. Example: [[Tile]][[Tile]][[Tile]]
This tile spacing implementation only works if you keep all your uvs square with the same dimensions (one tile size per tileset).
- Power of Two
With power of two option enabled, the tilesets will resize the canvas (it will add empty space) up to a power of two dimension if they aren't already. This may be necessary for some engines to render your textures correctly. For instance, if your textures look blurry, it may be due to tilesets not being power of two dimensions.
- Scale
All vertices positions will be multiplied by this value. You can modify this value to magnify/scale the size of your model if you need to.
You can import .obj , .gltf , .glb , and .fbx files. This allows you to take models that have been made in other programs and continue working with them in Crocotile.
- Click File on the menubar and select Import Model
- Select the file you want to import and then click open.
- The model will import into your project and a new prefab object will be created in the Scene tab.
- Click on the prefab object listed in the Scene tab, and while in Draw mode, add it to your scene!
🐊
If you are in Edit mode and have at least one face selected, you can press Shift+Enter to toggle Active Selection Mode, or you can press the middle mouse button. The tiles will become highlighted in a green color. This mode prevents editing tiles that weren't selected so that you can focus on editing only the selected tiles. It also allows you to perform some special operations which are outlined below.
Tile Splitting
🐊
While in Active Selection Mode, you will see a yellow line appear on selected tiles when you hover your mouse over them. The line represents where you can choose to split a tile. Adjusting the Tile Splitting value located in the lower right corner of the Tileset window in the Tileset tab will give you more control over where you can split a tile. Setting the value to four will let you split the tile at every fourth pixel for example.
- Position the yellow line where you want to split a tile.
- Right click to bring up the edit menu.
- Go to Faces, and click on Split Tile.
Alternatively, you can simply press Alt+S to split the tile along the yellow line without using the menu.
Subdivide
A tile can be subdivided. This process will create new tiles in a grid formation across the original tile. When you select subdivide, a window will popup where you can set the rows and columns. Settings the rows to 3 and columns to 3 will divide the tile up into 3 by 3 tiles. This process might be heavy if you try to divide into a large amount of tiles, so make sure to keep it manageable.