From a21a4228a78f0667e84c2f1771763e288a1daa75 Mon Sep 17 00:00:00 2001 From: Jake Dube Date: Tue, 3 Jan 2017 13:41:15 -0500 Subject: [PATCH 1/2] Updated the readme for the user with new documentation. --- help/Readme.txt | 157 ++++++++++++++++++++++++++++-------------------- 1 file changed, 91 insertions(+), 66 deletions(-) diff --git a/help/Readme.txt b/help/Readme.txt index 4875c52..4549b66 100755 --- a/help/Readme.txt +++ b/help/Readme.txt @@ -1,94 +1,119 @@ -=== UltiMaze Pro [BETA] === +UltiMaze [Pro] Documentation -Note: Click "Workflows Diagram" in the "Info" tab to help you visualize this imformation. +(Don't worry, you won't need to know all of this before you get started building, and this user manual covers all of the features/settings. However, if you want to get off on the right foot, this document is highly-recommended reading. Hopefully, it isn't too boring.) +Installation ---- (User Preferences > Addons > 3D Maze Generator) --- +This add-on is very straightforward to install, as there isn't really anything special that you have to worry about. Nevertheless, let's quickly go over the steps (skip this section if you already know how to install add-ons). +1. Open Blender's user preferences by going to File > User Preferences, then click the Add-ons tab at the top. +2. Click Install from File at the bottom of the user preferences window and navigate to the zip file (not the contents of the zip, but the zip itself). +3. Select the zip, then click the Install from File... button in the top-right. +4. If everything went smoothly you should see something like the below picture. Just check the small gray box to the left of the add-on's name ("UltiMaze [Pro]"), and click Save User Settings in the bottom left. -1. Preferences - - Save .blend File - Save .blend automatically before starting long operations - - Save Images - Save images automatically before starting long operations - - Save Texts - Save texts automatically before starting long operations +[UserPrefs.png] -Depending on the size and detail of your maze it may take some time to generate. When you start a potentially time-consuming task, Maze Gen will save all enabled data types. This will allow you to force your Blender window to close without losing your work. The only time these should not be enabled is if you have a blank .blend that you are testing a maze setup in. +Maze Generator Panel +[MazeGeneratorPanel.png] ---- (3D View > Tools > Maze Gen) --- +Generate Maze - Generates a maze based on the settings in UltiMaze panels. This will generate a 3D maze if Generate 3D Maze is enabled. +Width - The width of the maze when viewed from the top (all mazes are rectangular). +Height - The height of the maze when viewed from the top (all mazes are rectangular). +Generate 3D Maze - Whether or not to generate a 3D maze. Most of the time you will want this enabled when building 3D mazes, but there are times when you might not. See the section on the Image Converter panel for more information. +Allow Loops - Whether or not to allow loops in the maze (note that this is an aftereffect and still has influence when you are building a 3D maze from a text block. See the section on the Image Converter panel for more information on generating mazes from text blocks. +[LoopsDemo.png] -2. Maze Generator - - Generate Maze - Generate maze with current settings +Chance - The chance that UltiMaze will add a loop to the maze where it detects that it can. Note that this is a 1/x chance, so +higher values = less of a chance that it will add a loop (which generally translates to less loops being added. +Algorithm - The algorithm for UltiMaze to use when generating the maze layout. Each will produce mazes with different properties such as bias, ease-of-solving, etc., but they also take different amounts of time to generate. Eller’s is about twice as fast as Binary Tree which is about twice as fast as the rest (Kruskal’s, Depth-First, Breadth-First, and Prim’s). Here is an example image showing the basic shape that the different algorithms will create. - - Width - Width of the maze - - Height - Height of the maze - - Generate 3D Maze - When generating maze, make 3D maze - - Allow Loops - Allow maze walking path to loop - - Chance - 1/x chance that walking path will loop - - Allow 'Islands' - Allow pieces connected only by a corner - - Generate Maze From List - Generate maze from specified text block - - List Maze - Text block to generate maze from when using 'Generate Maze From List' +[AlgorithmsDemo.png] - - Write Maze List - Store generated maze as a text block +Bias Direction - The direction of the bias (up/down=y and left/right=x). If set to Random, the x or y is randomly chosen each time UltiMaze generates a new maze. +Bias - The amount of directional bias to the layout generation. -These are the main maze layout settings. To create simple mazes this is the only necessary tab to use. +[BiasDemo.png] -3. Image Converter - - Image to Text - Convert specified image maze to text maze - - Image Maze - Image maze to use when converting "Image to Text" - - Text to Image - Convert specified text maze to image maze - - List Maze - Text maze to use when converting "Text to Image" +Binary Tree Direction - The bias direction for the Binary Tree algorithm. This is based on diagonals from each of the four corners and the choices are named accordingly. Notice that after generation of a Binary Tree maze, there is always one corner that you could walk from to the opposite corner without ever running into a wall (there is no backtracking required). This is due to the nature of the Binary Tree algorithm. +Tileable - Whether or not the maze (generated using the Binary Tree algorithm) is tileable. This is a super cool feature when you put an array modifier on the maze after generation and get one massively huge maze very quickly. +Generate Maze From List - Chooses whether or not to generate a maze using one of the maze text blocks in the text editor (a text file with 1’s and 0’s marking the paths and walls). If disabled, the layout settings described above will take effect. Note that when this is enabled the layout settings are grayed out to show this. +List Maze - The text block to use as the list maze when using Generate Maze From List. This should be a text file with 1’s and 0’s indicating paths and walls, and the number of characters should be equal to the Width x Height of the maze settings. For example, if the width and height are set to 25x25, there should be 625 characters (1’s and 0’s) in this file. +Write List Maze - Whether or not to write the generated maze to a text block. This will auto-generate the 1’s and 0’s maze text file otherwise known as the List Maze. -This tab allows the creation and use of image mazes. While Maze Gen must use text mazes, and can only output text and 3D mazes, you can work with images by using this simple converter. +Image Converter Panel -4. Maze Tiles [Pro] - - Use Modeled Tiles - Use tile set when generating maze - - Generate Tiles - Generate specified tile set - - Tile Set - Tile set to import when generating tiles - - Import Material - Import default material when generating tiles - - Merge Objects - Merge duplicated tiles into one maze object when finished - - Apply Modifiers - Apply modifiers on tile objects before merging - - Remove Doubles - Remove double vertices after merging +This is a very useful panel for if you want to build 2D (image) mazes or if you want to build a 3D maze using a pre-built image maze. Gimp, for example, can generate 2D mazes that you can edit by painting black and white pixels. This can then be fed into UltiMaze for 3D mesh building. The image maze in the picture at the bottom of this section shows a correctly built image maze. The maze Width is set to 25 as is the height, and the image maze has 25x25 pure black and white pixels. - - 4 Sided Wall - Piece from tile set with 4 walls - - 3 Sided Wall - Piece from tile set with 3 walls - - 2 Sided Wall - Piece from tile set with 2 opposite walls - - 1 Sided Wall - Piece from tile set with 1 wall - - 0 Sided Wall - Piece from tile set with 0 walls - - Wall Corner - Piece from tile set with 2 adjacent walls - - 4 Sided Floor - 4-way intersection; used when bordered by 0 walls - - 3 Sided Floor - 3-way intersection; used when bordered by 1 wall - - 2 Sided Floor - 2-way straight walkway; used when bordered by 2 walls - - 1 Sided Floor - 1-way dead-end; used when surrounded by 3 walls - - 0 Sided Floor - Island floor; used when surrounded by 4 walls - - Floor Corner - Turning walkway; used when bordered by 2 adjacent walls +[ImageConverterPanel.png] -All tile pieces will be supplied if you click generate tiles. To custom edit tiles, click generate tiles with the "Blank" tile set, then edit the imported tiles. This will ensure all rotations and scales will be accurate to correctly allow Maze Gen to put them together. "Merge Objects" should almost always be enabled: if it is not you can get a messy .blend file with hundreds or thousands of objects (depending on the size of the maze). Parenting of tile parts is supported, generate the "Piping" tile set to see a demo of how it works. +Image to Text - Converts the selected Image Maze (from the UV/Image Editor) to a text block maze consisting of 1’s and 0’s which specify walls and paths. +Image Maze - The image maze to convert when using Image to Text. +Text to Image - Converts the selected text block maze (List Maze) to an image maze. +List Maze - The text block maze to convert to an image when using Text to Image. -5. Batch Gen [Pro] - - Batch Generate - Generate all stored mazes - - Store Settings - Store current maze settings (only saves settings from "Maze Generator" tab) - - Refresh - Refresh the batches to see how many mazes are stored - - Batches - Number of mazes that are stored - - Clear Mazes - Remove all stored mazes +[ImageTo3D.png] - - Batch Index - Selected stored maze - - Load Settings - Load settings of selected stored maze - - Delete Setting - Delete selected stored maze +Maze Tiles Panel -The batch generator is designed to allow you to store many mazes to generate overnight or while you are on vacation. The stored maze settings have no relationship to a particular .blend file: you can store settings from one .blend, then open another to generate the mazes. +This panel contains perhaps the most important feature of UltiMaze [Pro] as far as flexibility and ultimate artist control. Rather than creating simple cuboid mazes, you can make mazes however complex you want using pre-modeled tilesets. In the background, UltiMaze is duplicating and positioning and rotating and joining and removing doubles, then duplicating again and . . . you know, all the stuff you would have to do if you didn’t have such an awesome tool. +[MazeTilesPanel.png] ---- (Text Editor > Tools) --- +Use Modeled Tiles - Whether or not to use modeled tiles when building the maze. If this is disabled UltiMaze will use an incredibly fast method to generate simple cuboid mazes that is intended more for quickly previewing your layout/algorithm settings. If enabled, UltiMaze will duplicate around your pre-modeled tiles from the tileset. +Tile Mode - Choose between 12- and 6- piece mode for the tiles. Most “conventional” mazes will use 6-piece mode, but you can do some amazing things with the 12-piece mode such as piping systems and fencing where the focus is on the “wall” and not the path itself. +Tileset - The tileset to import to use in the generation process. This menu will give you a listing of all of the tiles in the tiles folder (see section on tiles in user preferences) that can be imported. Once the tileset is selected, click the Import Tileset button to finish the process. +Import Tileset - Imports the selected tileset. +Apply Modifiers - Applies the modifiers on the tiles as they are being instantiated to build the maze. If this is not enabled, most modifiers will be lost and this is most likely not desired. +Merge Objects - Merge all of the duplicated tiles at the end of the maze generation process. Disabling this could make a mess of you blend file with larger objects, so beware! +Remove Doubles - Automatically removes the double vertices in the maze when finished generating by using Blender’s built-in doubles tool. Note that this is only available when merging objects after generation. +Tiles - A series of object selectors that changes based the tile mode (6 or 12). Load the objects from the tileset here. For examples, load the included tilesets into here. Each of these is named accordingly. +Batch Gen Panel -6. Maze Generator Tools - - List Maze +This panel provides a suite of tools to allow generation of large sizes or quantities of mazes overnight or while you are taking a break. Store as many maze setups as you want, then hit Batch Generate and UltiMaze will crunch all of them into real mazes (depending on the stored settings). - - Invert Maze - Replace all instances 0 with 1 and vice versa in specified text block (not active text block) +[BatchGenPanel.png] - - Replace Text - Replace all instances of found string in specified text block (not active text block) - - Find - String (text) to find - - Replace - String (text) to replace with +Batch Generate - Generates all stored mazes. +Store Settings - Stores the current UltiMaze settings (layout settings, tiles, etc.) for future generation as a batch. All of the stored settings together are called batches. +Refresh - Refreshes the number of batches. Batches are stored in an external text file and can sometimes get out of sync. Clicking this button won’t cause any harm, so hit it if you ever wonder whether the batch count is correct. +Batches - The number of batches detected in the external text file. This cannot be changed manually from the UI, but is there just to show the count for your information. +Clear Mazes - Clears out the stored batches. Be warned, there is no undo for this! +Batch Index - A selector for loading (a way to preview) and delete individual batches. +Load Settings - Loads the settings from the selected batch (selected with the Batch Index) as the current UltiMaze settings. +Delete Setting - Removes the selected batch (selected with the Batch Index) from the external batches text file. -These are for advanced editing of maze text files. These tools are not required for general use except for if you would like to invert walls and walkways. With generate maze from list enabled and a list maze selected, the same list maze will be automatically selected in the text editor. Hit invert maze in the text editor, then generate the inverted maze. This technique can be used to create a moat and bridge system where the walkable area is on the walls and the floor is water. \ No newline at end of file +Info Panel + +This is useful info for you and a bug reporter for us (which is in turn for you). + +[InfoPanel.png] + +Workflows Diagram - Opens an image that sums up the different workflows and how UltiMaze will use them. +Readme - Shows the UltiMaze documentation. +Estimate Time - Estimates the amount of time it will take to generate a maze with the current settings. +Report a Bug - If you find a bug in UltiMaze [Pro], please use this button or the identical one in the add-on preferences to submit a bug report. This button will open up the bug reporter that we host on our website and will also copy to your clipboard all of the text from all of the log files that UltiMaze automatically makes. These logs will be very useful to us in finding the root cause of the bug so we can better fix it. Please paste that into the indicated region on the webpage that opens and fill out the description box on the left thoroughly. If you don’t mind us potentially contacting you for more information regarding the bug, please enter your email address into the appropriate field. Although we regularly check for bug reports on our site, there is currently no way to be notified immediately. If you feel that your report is urgent, please also send an email stating that you have submitted a bug report to assetsupport@integrity-sg.com. This will ensure a quicker response and fix. We greatly appreciate any bug reports we receive as it helps us to improve our add-ons. + +Add-on Preferences + +The add-on preferences for UltiMaze [Pro] are actually quite large because there is so much awesome material packed right in. Please read this section carefully. + +[AddonPrefs.png] + +Report a Bug - If you find a bug in UltiMaze [Pro], please use this button or the identical one in the add-on preferences to submit a bug report. This button will open up the bug reporter that we host on our website and will also copy to your clipboard all of the text from all of the log files that UltiMaze automatically makes. These logs will be very useful to us in finding the root cause of the bug so we can better fix it. Please paste that into the indicated region on the webpage that opens and fill out the description box on the left thoroughly. If you don’t mind us potentially contacting you for more information regarding the bug, please enter your email address into the appropriate field. Although we regularly check for bug reports on our site, there is currently no way to be notified immediately. If you feel that your report is urgent, please also send an email stating that you have submitted a bug report to assetsupport@integrity-sg.com. This will ensure a quicker response and fix. We greatly appreciate any bug reports we receive as it helps us to improve our add-ons. +Add-on Updater Box - This is a third-party add-on updater. The settings are very straightforward; just use the big Check now for ultimaze_pro update button and follow its instructions. You should never have to manually get updates for UltiMaze because of this: simply check for updates and restart Blender after installing them. +Open Help Outside Blender - Opens the readme and the workflows diagram outside of Blender using the default application for .txt and .png files on your system. If you have problems with this on your operating system, disable this checkbox and send us a bug report (see the section Report a Bug) including your operating system in the description. +Save .blend File - This should definitely be on to insure that you do not lose data. UltiMaze will automatically save your blend file before executing time-consuming operations. +Save Images - This should definitely be on to insure that you do not lose data. UltiMaze will automatically save your images before executing time-consuming operations. Note that this will disregard the render result and viewer node images. +Save Texts - This should definitely be on to insure that you do not lose data. UltiMaze will automatically save your text blocks before executing time-consuming operations. Note that this will disregard “internal” texts as they will be saved if the blend file is saved. So to save “internal” texts, enable Save .blend File. +Use Large Menus Where Applicable - Uses menus with large icon previews wherever it can. Currently this is only for the tileset selector. +Still Show Names In Menus - For use when Use Large Menus Where Applicable is enabled, if this is enabled, it will still show the name of the element. +Icon Size - Size of the preview icons for large menus. +Tile Path - Path where the tilesets are stored. +Force Rescan - Rescans the tilesets in the Tile Path. +Load Original - Sets the Tile Path to the default one in the add-on directory. +Render Previews - This will search the Tile Path for blend files that do not have a corresponding png file and give the option to render out a preview image and save it correctly. Your current blend file will be reloaded after rendering is finished. You should render out ones that are prefixed with a “*” so that you can select those tilesets in the tiles panel. Items in this menu not marked with an asterisk have previews already rendered. Select one of those if you want to re-render a preview. There are some limitations with Blender’s preview system that requires you to restart Blender for the re-rendered preview to take full effect, so after it is finished, close and re-open Blender. +Samples - Number of samples to use when rendering out the preview. +Show Advanced Settings - Don’t go into here! Tampering with these settings could cause some serious problems! From 097192c6f72984d7bb991669a34322f6995f0b86 Mon Sep 17 00:00:00 2001 From: Jake Dube Date: Tue, 3 Jan 2017 13:41:44 -0500 Subject: [PATCH 2/2] Bumped version number --- __init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/__init__.py b/__init__.py index 9ee4a24..0f42f20 100644 --- a/__init__.py +++ b/__init__.py @@ -50,7 +50,7 @@ bl_info = { "name": "UltiMaze [PRO]", "author": "Jake Dube", - "version": (2, 3, 1), + "version": (2, 3, 2), "blender": (2, 76, 0), "location": "3D View > Tools > Maze Gen", "description": "Generates 3-dimensional mazes.",