{"id":13662599,"url":"https://github.com/JanMalitschek/Grid-Placer","last_synced_at":"2025-04-25T10:32:34.668Z","repository":{"id":65617268,"uuid":"386073559","full_name":"JanMalitschek/Grid-Placer","owner":"JanMalitschek","description":"A Unity3D package to alleviate the pain of creating grid-based maps by hand","archived":false,"fork":false,"pushed_at":"2023-09-02T17:40:58.000Z","size":188,"stargazers_count":31,"open_issues_count":1,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-08-03T05:14:19.685Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JanMalitschek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-07-14T20:52:20.000Z","updated_at":"2024-05-28T07:39:18.000Z","dependencies_parsed_at":"2024-01-14T15:21:12.117Z","dependency_job_id":"92b151ad-a8be-4640-84b0-828233adf8da","html_url":"https://github.com/JanMalitschek/Grid-Placer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JanMalitschek%2FGrid-Placer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JanMalitschek%2FGrid-Placer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JanMalitschek%2FGrid-Placer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JanMalitschek%2FGrid-Placer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JanMalitschek","download_url":"https://codeload.github.com/JanMalitschek/Grid-Placer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223996820,"owners_count":17238377,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T05:02:03.102Z","updated_at":"2024-11-10T18:30:57.973Z","avatar_url":"https://github.com/JanMalitschek.png","language":"C#","funding_links":[],"categories":["C\\#","Open Source Repositories"],"sub_categories":["Level Editor"],"readme":"# Grid-Placer\n![Grid Placer Logo](/Resources/Icon_LightMode.png)\n\nA Unity3D package to alleviate the pain of creating grid-based maps by hand\n\n# Installation\nOpen the Package Manager Window, click the little + button in the top left corner and choose Git URL.\nMake sure to copy the URL from the green Code button instead of taking it from the browser URL field.\n\n# The Grid Placer Window\nIn the Toolbar go to Tools \u003e Grid Placer to open the Grid Placer Window. I suggest docking it next to the inspector.\nSaid window contains the following settings:\n* **Grid**\n  * **Origin** defines where the grid's origin lies. Can be used to offset the grid cells or change their height.\n  * **Rotation** defines how the grid is rotated around the origin.\n  * **Size X** defines the grid cell size on the x-axis with respect to the grid rotation.\n  * **Size Z** defines the grid cell size on the z-axis with respect to the grid rotation.\n* **Height Offset**\n  * **Height** defines the currently selected prefab's height offset perpendicular to the grid.\n  * **Small Step** defines the amount the height offset will change when scrolling while holding down Shift in the scene view.\n  * **Big Step** defines the amount the grid height will change when scrolling in the scene view.\n* **Rotation**\n  * **Rotation** defines the currently selected prefab's rotation around it's local y-axis.\n  * **Randomize** defines if the currently selected prefab's rotation around it's local y-axis should be randomized after each placement.\n  * **Small Step** defines the amount the rotation will change when pressing E/Q while holding down Shift in the scene view.\n  * **Big Step** defines the amount the rotation will change when pressing E/Q in the scene view.\n* **Scale**\n  * **Scale** defines the currently selected prefab's uniform scale.\n  * **Randomize** defines if the currently selected prefab's uniform scale should be randomized after each placement.\n    * **Min Scale** defines the minimum random uniform scale.\n    * **Min Scale** defines the maximum random uniform scale.\n* **Grid Snapping**\n  * **Center** makes the currently selected prefab snap to the center of the active grid cell.\n  * **Edges** makes the currently selected prefab snap to one of the four edges of the active grid cell.\n  * **Corners** makes the currently selected prefab snap to one of the four corners of the active grid cell.\n  * **None** disables snapping all together.\n  * The Snap Settings are also displayed in the scene view.\n* **Scene Sampling**\n  * **Sample Height Offset** samples the current height offset relative to the grid.\n  * **Sample Origin Transform** sets the grid origin equal to the sample point and aligns the grid rotation to the sampled normal.\n    * When in **Sample Origin Transform**-mode, some additional options are available\n    * **Sample Position** determines if the grid origin position should be sampled.\n    * **Sample Rotation** determines if the grid origin rotation should be sampled.\n    * **Sample Continuously** determines if the the origin should be sampled automatically at every frame.\n  * **Sample Prefab** tries to use the sampled object as a prefab to instantiate. Only works on objects that are already an instance of a prefab (no unpacked prefabs).\n* **Pool**\n  * To place prefabs into the scene, they need to be inside the **Pool**.\n  * This can be just one prefab, or as many as you like. \n  * When placing the prefabs they will be chosen from the pool randomly. This is very useful for placing different prop variations.\n  * To remove a specific prefab from the **Pool** simply click on it.\n  * **Clear Pool** removes all prefabs from the pool.\n* **Palette**\n  * **Instance Parent** - Assign a scene Transform here to automatically parent all placed prefabs to it.\n  * **Drag Prefabs here** to add them to the active prefab palette.\n  * **Clear Palette** removes all prefabs from the active palette.\n  * **Palette Display Mode**\n    * **List** displays the prefabs in a vertical list format showing their thumbnails and names.\n    * **Compact** displays the prefabs in a grid format showing only their thumbnails.\n  * All prefabs in the active palette will be listet below\n    * Click the **Prefab Thumbnail** to add it to the **Pool**.\n    * Prefabs which are in the **Pool** will marked in green.\n    * Click on a green **Prefab Thumbnail** to remove it from the **Pool**\n    * The **X** button removes this prefab from the palette.\n\n# The Scene Gizmos\nIn the scene view you will notice the Grid Gizmo which is constantly following your cursor.\n* The **white lines** display the grid's cell which your cursor is currently pointing at as well as indicate it's neighboring cells.\n* The **green dot** displays your cursors position projected onto the grid. With Snapping disabled it's also the position the selected prefab will be placed at.\n* The **orange dots** display the currently available snapping positions according to the active Snap Setting. The selected prefab will be placed at the orange dot which is closest to the green dot.\n* The **orange lines** that appear between the grid lines and the snapping positions are a visual indicator of the height offset when using snapping.\n* The **green line** that appears between the projected cursor position and the prefab are a visual indicator of the height offset when using no snapping.\n\n# Shortcuts\nKey (In the Scene View) | Action\n----|-------\n1 | Switch to **Center** Snap Mode\n2 | Switch to **Edges** Snap Mode\n3 | Switch to **Corners** Snap Mode\n4 | Disable Snapping\nScroll | Change **Height** using **Big Step**\nScroll+Shift | Change **Height** using **Small Step**\nE | Rotate the selected prefab clockwise using **Big Step**\nE+Shift | Rotate the selected prefab clockwise using **Small Step**\nQ | Rotate the selected prefab counterclockwise using **Big Step**\nQ+Shift | Rotate the selected prefab counterclockwise using **Small Step**\nR | Cycle through all the prefabs in the **Pool**\nR+Shift | Cycle through all the prefabs in the **Pool** in reverse\nLMB | Place the selected prefab\nLMB+Alt | Sample the height of whatever you clicked on (Requires a collider to work)\n\n# Prefab Palettes\n![Prefab Palette Icon](/Icons/PrefabPalette.png)\n\nPrefab Palettes are a custom asset type which can be used to group prefabs. They can then be dragged into the **Drag Prefabs here** field in the Grid Placer Window to add all prefabs contained in the Prefab Palette to the active palette.\n\nTo create a Prefab Palette right click in the Project Browser \u003e Create \u003e GridPlacer \u003e Prefab Palette.\nYou will notice that the UI looks very similar to the Prefab Palette UI in the Grid Placer Window.\nYou can drag prefabs into the **Drag Prefabs here** field to add them to the Prefab Palette and click on the Prefab thumbnails in the list to remove them.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJanMalitschek%2FGrid-Placer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJanMalitschek%2FGrid-Placer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJanMalitschek%2FGrid-Placer/lists"}