From 220cee5e379f38ebc2dcde280bcc03bf8181a626 Mon Sep 17 00:00:00 2001 From: Cameron Date: Wed, 27 Sep 2023 23:15:25 -0700 Subject: [PATCH] docs are becoming better --- .../Importer/topic_ProjectImporter.md | 58 --------------- .../Importer/topic_Section_IntGrids.md | 13 ++-- .../Importer/topic_TilesetImporter.md | 31 ++++++-- DocFX/documentation/Installation/toc.yml | 3 + .../Installation/topic_SetupGuide.md | 67 ++++++++++++++++++ DocFX/documentation/Topics/img.png | Bin 26202 -> 0 bytes DocFX/documentation/Topics/toc.yml | 4 +- .../documentation/Topics/topic_IntGridTile.md | 4 +- DocFX/images/img_Unity_SpriteEditor.png | Bin 0 -> 18528 bytes 9 files changed, 102 insertions(+), 78 deletions(-) create mode 100644 DocFX/documentation/Installation/topic_SetupGuide.md delete mode 100644 DocFX/documentation/Topics/img.png create mode 100644 DocFX/images/img_Unity_SpriteEditor.png diff --git a/DocFX/documentation/Importer/topic_ProjectImporter.md b/DocFX/documentation/Importer/topic_ProjectImporter.md index d3e6c4c2d..8263349ad 100644 --- a/DocFX/documentation/Importer/topic_ProjectImporter.md +++ b/DocFX/documentation/Importer/topic_ProjectImporter.md @@ -1,62 +1,5 @@ # Project Importer -This will be a step-by-step guide for how to use the Unity importer for LDtk. -Lower down in the page contains information regarding the project's importer inspector. - -## Setup Guide - -The importer is structured where it separates the handling of tileset definitions into separate **[Tileset Files](topic_TilesetImporter.md)**. -For that reason, this initial setup process is required so that tileset files are automatically generated after saving in LDtk. - -This guide entails three major steps: -- Adding a LDtk project to the unity project -- Installing an exporter app into the Library folder -- Configuring the LDtk project to run a custom command on the exporter app - -### 1. Add to the Project - Store the LDtk project file in the Unity project so that it can be imported. - - The file format must be `.ldtk`. - ![Use Extension](../../images/img_ldtk_UseLDtkExtension.png) - - If the LDtk project was outside the unity project originally, - make sure that all images are also transferred, and maintain their relativity with the LDtk project. - LDtk files require a direct relative connection to the image files. - - You can test if the images were successfully moved by opening the LDtk project and seeing if the images were loaded successfully in LDtk. - -### 2. Install the Export App - The export app will generate tileset files. - - Select the LDtk project in Unity to show the importer inspector. - - You will notice an error displayed at the top instructing to install the export app. - ![Install Button](../../images/img_Unity_InstallTilesetExporter.png) - - Click the Install button. - - After clicking, a new app is added to the Unity project's Library folder. - - The code of the app available here: - **[LDtkTilesetExporter on GitHub](https://github.com/Cammin/LDtkTilesetExporter)** - -### 3. Add a Custom Command - Now that the app is installed, LDtk can execute a command to run this app. But we still need to add the command to LDtk. - - Again, select the LDtk project in Unity to show the importer inspector. - - You will notice an error displayed at the top instructing to configure the project with a custom command. - ![Fix Button](../../images/img_Unity_FixTilesetExporter.png) - - From here, there are two ways to add the command to the project: automatically, or manually. - - **Automatic:** - Click the "Fix" button. - A new dialogue will appear. - Ensure all LDtk apps are closed, and click the "Auto-add command" button. - A new dialogue will appear, asking to open the project and save. - Open & save your LDtk project, and you're ready! - - **Manual:** - Click the "Copy" button. This copies the command to the clipboard. - Open the LDtk project, and open the project settings. From there, find the "Custom Commands" area. - Once there, create a new command, paste the command in the field, and change the timing to "Run after saving". - Save your LDtk project, and you're ready! - ![Fix Button](../../images/img_ldtk_customCommands.png) - - When saving with a custom command for the first time, LDtk will display a disclaimer. Select "I understand the risks, allow commands". - - If you're in doubt, the code of the app is available **[here](https://github.com/Cammin/LDtkTilesetExporter)**. - -After you're ready drag the project from the project window into the scene or the hierarchy. -![Drag-N-Drop](../../images/gif_DragNDrop.gif) -Tip: Double clicking the LDtk file in the project window will conveniently open the project in LDtk. - ## Inspector The importer inspector is composed of several sections: [**Main**](topic_Section_Main.md), @@ -68,7 +11,6 @@ and [**Dependencies**](topic_Section_Dependencies.md). - After making any changes, click the apply button at the bottom to reimport. - If any section is hidden, it's because there were no associated definitions in the LDtk project. - ## Hierarchy The imported project generates a hierarchy of GameObjects. All of the objects have accompanying scripts that contain useful data. diff --git a/DocFX/documentation/Importer/topic_Section_IntGrids.md b/DocFX/documentation/Importer/topic_Section_IntGrids.md index 48adddda1..2af20c39c 100644 --- a/DocFX/documentation/Importer/topic_Section_IntGrids.md +++ b/DocFX/documentation/Importer/topic_Section_IntGrids.md @@ -1,15 +1,12 @@ # IntGrids Section -Assign [**IntGrid Tiles**](../Topics/topic_IntGridTile.md) for collision. +Assign [**IntGrid Tiles**](../Topics/topic_IntGridTile.md) for collision. + Create a new Int Grid Tile with the button at the top-right region of the inspector. ![Section](../../images/img_Unity_Section_IntGrids.png) - - All of the IntGrid layers and their values are displayed here for assigning. - - The IntGrid Tiles are intended for collision first and foremost. - However there are also options for simple rendering, or GameObjects in tile-space. - -- If a field is left empty, then a default tile would be used. - - This tile is a square with no collision. + - The IntGrid Tiles are primarily used for collision, however there are also options for simple rendering, or GameObjects in tile-space. -- Choose whether to render IntGrid Tiles in the [**Main Section**](topic_Section_Main.md). \ No newline at end of file +- Choose whether to render IntGrid Tiles in the [**Main Section**](topic_Section_Main.md). +- The fields also accept TileBase, so any kind of custom tile is allowed. However if you use IntGrid tiles, there's options for separating Tag/Layer/PhysicsMaterial. diff --git a/DocFX/documentation/Importer/topic_TilesetImporter.md b/DocFX/documentation/Importer/topic_TilesetImporter.md index d7f470055..1f0828d2e 100644 --- a/DocFX/documentation/Importer/topic_TilesetImporter.md +++ b/DocFX/documentation/Importer/topic_TilesetImporter.md @@ -1,13 +1,11 @@ # Tileset Importer The importer creates tileset files, which generate the sprites and tiles. - - The file format for tileset files is `.ldtkt`. - - The files are required to use the importer, and are not generated initially. - - Only modified tileset files will reimport, resulting in less unnecessary imports when applicable. Generating sprites and tiles are a marginal portion of the heavy work. - - Tileset files can be added to a SpriteAtlas asset, and will pack all the sub-sprites generated. - -## Sprite Editor -This importer interacts with the sprite editor window much like a Texture Importer. You can define physics shapes through this file! +- The file format for tileset files is `.ldtkt`. +- The files are required to use the importer, and are not generated initially. +- Only modified tileset files will reimport, resulting in less unnecessary imports when applicable. Generating sprites and tiles are a marginal portion of the heavy work. +- Tileset files can be added to a SpriteAtlas asset, and will pack all the sub-sprites generated. +- Tiles have their CustomData and EnumTags available inside them ## Inspector The importer inspector displays a reference to the level's project which can be clicked to locate the project in the hierarchy window. @@ -19,3 +17,22 @@ Tile assets pixels per unit. This should always match with the project's Pixels ### Depend On Dependencies Used by all LDtk assets. [See here.](topic_Section_Dependencies.md#depend-on-dependencies) + +## Sprite Editor +This importer interacts with the sprite editor window similar to a Texture Importer. +Select a Tileset file and open the sprite editor window. + +You can define physics shapes which will reflect in +![Sprite Editor](../../images/img_Unity_SpriteEditor.png) +If you are unfamiliar with the sprite editor window, you can explore more of it's use [**here**](https://docs.unity3d.com/Manual/SpriteEditor.html). + +Tile/Auto layers will include these tiles, and have the corresponding collision, if defined. + +#### Note +- Unlike the TextureImporter, this sprite editor will always have a fixed amount of rectangles and their rectangle\names will revert back upon applying changes. +Everything else is adjustable. This includes: + - Secondary Textures + - Physics Shape + - Pivot + - Border +- The imported tilemaps with these collisions shapes currently have no options for assigning tag/layer/physics material, and so will require postprocessing to have finer control. However, options may come later. \ No newline at end of file diff --git a/DocFX/documentation/Installation/toc.yml b/DocFX/documentation/Installation/toc.yml index 9afdeb56f..9c79eca90 100644 --- a/DocFX/documentation/Installation/toc.yml +++ b/DocFX/documentation/Installation/toc.yml @@ -1,6 +1,9 @@ - name: Install href: topic_Install.md +- name: Setup Guide + href: topic_SetupGuide.md + - name: Update href: topic_Update.md diff --git a/DocFX/documentation/Installation/topic_SetupGuide.md b/DocFX/documentation/Installation/topic_SetupGuide.md new file mode 100644 index 000000000..ac8d85d62 --- /dev/null +++ b/DocFX/documentation/Installation/topic_SetupGuide.md @@ -0,0 +1,67 @@ +# Setup Guide +This will be a step-by-step guide for how to use the Unity importer for LDtk. +Lower down in the page contains information regarding the project's importer inspector. + + +The importer is structured where it separates the handling of tileset definitions into separate **[Tileset Files](topic_TilesetImporter.md)**. +For that reason, this initial setup process is required so that tileset files are automatically generated after saving in LDtk. + +This guide entails three major steps: +- Adding a LDtk project to the unity project +- Installing an exporter app into the Library folder +- Configuring the LDtk project to run a custom command on the exporter app + +### 1. Add to the Project +Store the LDtk project file in the Unity project so that it can be imported. +- The file format must be `.ldtk`. + ![Use Extension](../../images/img_ldtk_UseLDtkExtension.png) +- If the LDtk project was outside the unity project originally, + make sure that all images are also transferred, and maintain their relativity with the LDtk project. + LDtk files require a direct relative connection to the image files. +- You can test if the images were successfully moved by opening the LDtk project and seeing if the images were loaded successfully in LDtk. + +### 2. Install the Export App +The export app will generate tileset files. +- Select the LDtk project in Unity to show the importer inspector. +- You will notice an error displayed at the top instructing to install the export app. + ![Install Button](../../images/img_Unity_InstallTilesetExporter.png) +- Click the Install button. +- After clicking, a new app is added to the Unity project's Library folder. + - The code of the app available here: + **[LDtkTilesetExporter on GitHub](https://github.com/Cammin/LDtkTilesetExporter)** + +### 3. Add a Custom Command +Now that the app is installed, LDtk can execute a command to run this app. But we still need to add the command to LDtk. +- Again, select the LDtk project in Unity to show the importer inspector. +- You will notice an error displayed at the top instructing to configure the project with a custom command. + ![Fix Button](../../images/img_Unity_FixTilesetExporter.png) +- From here, there are two ways to add the command to the project: automatically, or manually. + - **Automatic:** + Click the "Fix" button. + A new dialogue will appear. + Ensure all LDtk apps are closed, and click the "Auto-add command" button. + A new dialogue will appear, asking to open the project and save. + Open & save your LDtk project, and you're ready! + - **Manual:** + Click the "Copy" button. This copies the command to the clipboard. + Open the LDtk project, and open the project settings. From there, find the "Custom Commands" area. + Once there, create a new command, paste the command in the field, and change the timing to "Run after saving". + Save your LDtk project, and you're ready! + ![Fix Button](../../images/img_ldtk_customCommands.png) + - When saving with a custom command for the first time, LDtk will display a disclaimer. Select "I understand the risks, allow commands". + - If you're in doubt, the code of the app is available **[here](https://github.com/Cammin/LDtkTilesetExporter)**. + +After you're ready, drag the project from the project window into the scene or the hierarchy. +![Drag-N-Drop](../../images/gif_DragNDrop.gif) +Tip: Double clicking the LDtk file in the project window will conveniently open the project in LDtk. + +# Collision +There are two options to configure collision for the importer. + +### Tileset Files +You can configure the physics shape of every individual Tileset tile. +View more information [**here**](../Importer/topic_TilesetImporter.md#sprite-editor) + +### IntGrid Files +You can create and add IntGrid Tiles into the importer and configure a collision shape for every IntGrid value, among other things. +View more information [**here**](../Topics/topic_IntGridTile.md#collider-type) \ No newline at end of file diff --git a/DocFX/documentation/Topics/img.png b/DocFX/documentation/Topics/img.png deleted file mode 100644 index 9b159435a636ca60bc890c9b75708225ab58ab02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26202 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 NljG)wmHJK*{{x9+?hOC{ diff --git a/DocFX/documentation/Topics/toc.yml b/DocFX/documentation/Topics/toc.yml index 9ce3cbd80..fbcb8df88 100644 --- a/DocFX/documentation/Topics/toc.yml +++ b/DocFX/documentation/Topics/toc.yml @@ -13,8 +13,8 @@ - name: Custom Importing href: topic_CustomImporting.md -- name: Export Native Prefab - href: topic_ExportNativePrefab.md +#- name: Export Native Prefab + #href: topic_ExportNativePrefab.md - name: Project Settings href: topic_ProjectSettings.md diff --git a/DocFX/documentation/Topics/topic_IntGridTile.md b/DocFX/documentation/Topics/topic_IntGridTile.md index e2acd5a6f..cce097145 100644 --- a/DocFX/documentation/Topics/topic_IntGridTile.md +++ b/DocFX/documentation/Topics/topic_IntGridTile.md @@ -1,9 +1,7 @@ # IntGrid Tile [_**Scripting Reference**_](../../api/LDtkUnity.LDtkIntGridTile.yml) -In the importer's [**IntGrid section**](../Importer/topic_Section_IntGrids.md), you can assign Int Grid Tiles, which has options for tags, layers, custom collision, rendering colors, and GameObjects. - -Make some in the [**IntGrid section**](../Importer/topic_Section_IntGrids.md). +In the importer's [**IntGrid section**](../Importer/topic_Section_IntGrids.md), you can create and assign Int Grid Tiles, which has options for tags, layers, custom collision, rendering colors, and GameObjects. ![Level Inspector](../../images/img_Unity_IntGridTile.png) diff --git a/DocFX/images/img_Unity_SpriteEditor.png b/DocFX/images/img_Unity_SpriteEditor.png new file mode 100644 index 0000000000000000000000000000000000000000..74a0749f9348a58309422fdd3a11e1cef2c18f59 GIT binary patch literal 18528 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 literal 0 HcmV?d00001