Skip to content

Commit d11c1cc

Browse files
authored
Readme update (#81)
1 parent 755a556 commit d11c1cc

3 files changed

Lines changed: 132 additions & 77 deletions

File tree

251 KB
Loading
70 KB
Loading

‎README.md‎

Lines changed: 132 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -1,85 +1,140 @@
1-
# [Chisel](https://github.com/RadicalCSG/com.chisel/wiki) (WIP)
2-
3-
Chisel is an extension for **Unity** that allows for _rapid_, iterative, **non destructive** level editing!
4-
5-
![Example](Documentation~/Images/chisel_example.png)
6-
7-
---
8-
* You can find [installation instructions here](INSTALLATION.md)
9-
* [Click here for information on how to get started](GETTING_STARTED.md)
10-
* Every feature is explained on [the wiki](https://github.com/RadicalCSG/com.chisel/wiki)
11-
* Want to help out? Read [how to contribute](CONTRIBUTING.md), and see [what is planned](https://github.com/orgs/RadicalCSG/projects/1)
12-
* ![Discord](Documentation~/Images/discord-mark-blue-small.png) If you have questions be sure to ask in the discord! **[Click here to join the official Discord server!](https://discord.gg/zttNkPQ)**
13-
14-
---
15-
16-
Note:
17-
- Chisel *requires Unity 6.6 or newer*, and the *Universal Render Pipeline (URP)*
18-
- UX is *still under development*
19-
- Feature set is *still under development*
20-
- It is *not yet* ready for production, but please feel free to try it out, or better yet, help out!
21-
22-
---
23-
24-
## Features (incomplete)
25-
26-
Building geometry
27-
* [Constructive Solid Geometry](https://github.com/RadicalCSG/com.chisel/wiki/Real-time-CSG) that generates geometry in real-time, exactly, without cracks where shapes meet
28-
* [Add, remove and intersect geometry](https://github.com/RadicalCSG/com.chisel/wiki/Operations) to your level using CSG, for fluid, interactive, non destructive workflows
29-
* Higher level ["generators"](https://github.com/RadicalCSG/com.chisel/wiki/Generators) that create more complicated geometry to perform CSG with, while retaining context of what it is you're creating (if you create stairs, these will remain stairs that you can edit and tweak)
30-
* [Hierarchical Constructive Solid Geometry](https://github.com/RadicalCSG/com.chisel/wiki/Hierarchical-CSG): generators and brushes grouped in a composite act as one whole, to perform CSG on other objects with
31-
* [Subtractive Workflow](https://github.com/RadicalCSG/com.chisel/wiki/Subtractive-Workflow)
32-
* Works well with [prefabs](https://github.com/RadicalCSG/com.chisel/wiki/Prefabs): drag and drop windows onto walls including their holes
33-
* [Draw 2D shapes](https://github.com/RadicalCSG/com.chisel/wiki/Drawing-2D-Shapes) (possible to turn straight lines into curves) on existing CSG surfaces and extrude them
34-
* [Brush contents](https://github.com/RadicalCSG/com.chisel/wiki/Brush-Contents): solid, glass, water; faces stay where different contents meet
35-
36-
Precision
37-
* [Snapping](https://github.com/RadicalCSG/com.chisel/wiki/Snapping) to grid lines, of the pivot or bounds of what you move
38-
* [Rotatable & movable grid](https://github.com/RadicalCSG/com.chisel/wiki/Grid)
39-
40-
Surfaces and texturing
41-
* [Normal smoothing](https://github.com/RadicalCSG/com.chisel/wiki/Normal-Smoothing)
42-
* [Double sided surfaces](https://github.com/RadicalCSG/com.chisel/wiki/Double-Sided-Surfaces): a material can make its surfaces drawn from behind too
43-
* [Hotspot mapping](https://github.com/RadicalCSG/com.chisel/wiki/Hotspot-Mapping): surfaces take their texture coordinates from the best matching tile of a layout (borders, repeats, shaped tiles and trim sheets), with a layout editor
44-
* [Decals](https://github.com/RadicalCSG/com.chisel/wiki/Decals): boxes that project a material onto the surfaces they reach, drawn over them or replacing them, their image repeated in x and y, from the whole texture or an image in a trim sheet
45-
* [Trim decals](https://github.com/RadicalCSG/com.chisel/wiki/Trim-Decals): a decal on the edge between two surfaces, the lower half of its image on one and the upper half on the other (or mirrored), stretched, repeated or fitted along the edge or one image placed on it, running round corners, its image from the whole texture or a trim sheet, following the edge when either brush changes; placed by picking an edge in the scene view, or on every edge where two materials meet
46-
47-
Output
48-
* Ordinary Unity meshes and colliders, that work with Unity's lightmapping, occlusion culling and navigation meshes
49-
* [Chunking](https://github.com/RadicalCSG/com.chisel/wiki/Chunking): a model's output is split into a mesh per material, and divided into chunks of space, for better occlusion and culling handling
50-
* [Debug visualizations](https://github.com/RadicalCSG/com.chisel/wiki/Debug-Visualizations) of user-hidden, shadow-only, shadow-casting, shadow-receiving, collider and discarded (removed by the CSG) surfaces
51-
52-
## Planned Features (incomplete, and in random order)
53-
54-
See [the project](https://github.com/orgs/RadicalCSG/projects/1) for everything that is planned.
55-
* Decals, still to do:
56-
* [Omni directional decals](https://github.com/RadicalCSG/com.chisel/issues/33)
57-
* [Skewed decals](https://github.com/RadicalCSG/com.chisel/issues/34)
58-
* [Fade distances](https://github.com/RadicalCSG/com.chisel/issues/35)
59-
* [Snapping to vertices, edges and surfaces of other geometry](https://github.com/RadicalCSG/com.chisel/issues/42)
60-
* [Brushes that stay visible and editable while their shape is invalid](https://github.com/RadicalCSG/com.chisel/issues/12)
61-
* [Vertex Painting](https://github.com/RadicalCSG/com.chisel/issues/36)
62-
* [Extrusion from existing surface](https://github.com/RadicalCSG/com.chisel/issues/37)
63-
* [2D shape editor](https://github.com/RadicalCSG/com.chisel/issues/38)
64-
* [Grid Objects](https://github.com/RadicalCSG/com.chisel/issues/39)
65-
* [Clip Tool](https://github.com/RadicalCSG/com.chisel/issues/40)
66-
* [Node Based Generators](https://github.com/RadicalCSG/com.chisel/issues/41) for easy procedural content generation
1+
<p align="center">
2+
<img src="Documentation~/Images/chisel_banner.png" alt="Chisel — real-time CSG level editor for Unity" width="100%">
3+
</p>
4+
5+
<p align="center">
6+
<a href="https://unity.com/releases/editor"><img src="https://img.shields.io/badge/unity-6.6%2B-222c37?logo=unity" alt="Unity 6.6+"></a>
7+
<img src="https://img.shields.io/badge/pipeline-URP-222c37" alt="Universal Render Pipeline">
8+
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-007ec6" alt="MIT license"></a>
9+
<img src="https://img.shields.io/badge/status-work%20in%20progress-c4520a" alt="Status: work in progress">
10+
<a href="https://github.com/RadicalCSG/com.chisel/stargazers"><img src="https://img.shields.io/github/stars/RadicalCSG/com.chisel" alt="GitHub stars"></a>
11+
<a href="https://discord.gg/zttNkPQ"><img src="https://img.shields.io/badge/discord-join%20chat-5865f2?logo=discord&logoColor=white" alt="Join the Discord"></a>
12+
</p>
13+
14+
<p align="center">
15+
<a href="INSTALLATION.md">Installation</a> ·
16+
<a href="GETTING_STARTED.md">Getting started</a> ·
17+
<a href="https://github.com/RadicalCSG/com.chisel/wiki">Wiki</a> ·
18+
<a href="#roadmap">Roadmap</a> ·
19+
<a href="#extensions">Extensions</a> ·
20+
<a href="http://www.youtube.com/watch?v=Iqmg4gblreo">GDC talk</a> ·
21+
<a href="https://discord.gg/zttNkPQ">Discord</a>
22+
</p>
23+
24+
<p align="center">
25+
<img src="Documentation~/Images/chisel_warning.png" alt="Warning: Chisel is a work in progress and not yet ready for production. The UX and the CSG algorithm are still under development." width="100%">
26+
</p>
27+
28+
![Chisel in the Unity editor](Documentation~/Images/chisel_example.png)
29+
30+
## About
31+
32+
Chisel is a Unity extension for rapid, iterative, **non-destructive** level editing. Block out a level with brushes, carve it with subtractive shapes, refine it with generators and texture it with hotspots and decals — every operation stays live, so nothing is baked until you want it to be.
33+
34+
Every feature is documented in the [wiki](https://github.com/RadicalCSG/com.chisel/wiki).
35+
36+
## Features
37+
38+
### Surfaces & texturing
39+
40+
<table>
41+
<tr>
42+
<td width="33%"><b><a href="https://github.com/RadicalCSG/com.chisel/wiki/Hotspot-Mapping">Hotspot mapping</a></b><br>UVs come from the best-matching tile of a layout. Layout editor included.</td>
43+
<td width="33%"><b><a href="https://github.com/RadicalCSG/com.chisel/wiki/Decals">Decals</a></b><br>Project a material over or in place of surfaces. Omni-directional, skewed, with fade distances.</td>
44+
<td width="33%"><b><a href="https://github.com/RadicalCSG/com.chisel/wiki/Trim-Decals">Trim decals</a></b><br>Decals that wrap the edge between two surfaces and follow it as brushes change.</td>
45+
</tr>
46+
<tr>
47+
<td><b>Vertex painting</b><br>Paint directly onto CSG surfaces.</td>
48+
<td><b><a href="https://github.com/RadicalCSG/com.chisel/wiki/Double-Sided-Surfaces">Double-sided surfaces</a></b><br>A material can draw its surfaces from behind too.</td>
49+
<td><b><a href="https://github.com/RadicalCSG/com.chisel/wiki/Normal-Smoothing">Normal smoothing</a></b><br>Smooth shading across CSG surfaces.</td>
50+
</tr>
51+
</table>
52+
53+
### Building geometry
54+
55+
<table>
56+
<tr>
57+
<td width="33%"><b><a href="https://github.com/RadicalCSG/com.chisel/wiki/Real-time-CSG">Real-time CSG</a></b><br>Exact geometry, generated in real time, without cracks where shapes meet.</td>
58+
<td width="33%"><b><a href="https://github.com/RadicalCSG/com.chisel/wiki/Operations">Add, remove, intersect</a></b><br>Fluid, interactive, non-destructive CSG operations.</td>
59+
<td width="33%"><b><a href="https://github.com/RadicalCSG/com.chisel/wiki/Generators">Generators</a></b><br>Higher-level shapes keep their context: stairs stay editable as stairs.</td>
60+
</tr>
61+
<tr>
62+
<td><b><a href="https://github.com/RadicalCSG/com.chisel/wiki/Hierarchical-CSG">Hierarchical CSG</a></b><br>Grouped brushes and generators act as one whole.</td>
63+
<td><b><a href="https://github.com/RadicalCSG/com.chisel/wiki/Brush-Contents">Brush contents</a></b><br>Solid, glass or water. Faces stay where different contents meet.</td>
64+
<td><b><a href="https://github.com/RadicalCSG/com.chisel/wiki/Subtractive-Workflow">Subtractive workflow</a></b><br>Start from solid space and carve rooms out of it.</td>
65+
</tr>
66+
</table>
67+
68+
### Editing
69+
70+
<table>
71+
<tr>
72+
<td width="33%"><b><a href="https://github.com/RadicalCSG/com.chisel/wiki/Prefabs">Prefabs</a></b><br>Drop a window onto a wall and its hole comes with it.</td>
73+
<td width="33%"><b><a href="https://github.com/RadicalCSG/com.chisel/wiki/Drawing-2D-Shapes">2D shapes</a></b><br>Draw on CSG surfaces, bend lines into curves, extrude.</td>
74+
<td width="33%"><b>Forgiving brushes</b><br>Brushes stay visible and editable while their shape is invalid.</td>
75+
</tr>
76+
<tr>
77+
<td><b><a href="https://github.com/RadicalCSG/com.chisel/wiki/Snapping">Snapping</a></b><br>Snap the pivot or bounds of what you move to grid lines.</td>
78+
<td><b><a href="https://github.com/RadicalCSG/com.chisel/wiki/Grid">Rotatable grid</a></b><br>Move and rotate the grid to work at any angle.</td>
79+
<td><b><a href="https://github.com/RadicalCSG/com.chisel/wiki/Debug-Visualizations">Debug visualizations</a></b><br>See hidden, shadow-only, collider and CSG-discarded surfaces.</td>
80+
</tr>
81+
</table>
82+
83+
### Output
84+
85+
Ordinary Unity meshes and colliders that work with lightmapping, occlusion culling and navigation meshes — split into a mesh per material and into [spatial chunks](https://github.com/RadicalCSG/com.chisel/wiki/Chunking).
86+
87+
## Getting started
88+
89+
Requires **Unity 6.6** or newer and the **Universal Render Pipeline** (URP).
90+
91+
1. Open <kbd>Window › Package Manager</kbd>
92+
2. Click <kbd>+</kbd> and choose *Install package from git URL…*
93+
3. Paste the URL below and press Enter.
94+
95+
```
96+
https://github.com/RadicalCSG/com.chisel.git
97+
```
98+
99+
The first start-up takes a while: Burst compiles a lot of code. This only happens once.
100+
101+
[Read the getting started guide →](GETTING_STARTED.md)
102+
103+
## Roadmap
104+
105+
Planned, in no particular order. Discussion lives in the linked issues.
106+
107+
- [ ] Snapping to vertices, edges and surfaces of other geometry — [#42](https://github.com/RadicalCSG/com.chisel/issues/42)
108+
- [ ] Extrusion from existing surfaces — [#37](https://github.com/RadicalCSG/com.chisel/issues/37)
109+
- [ ] 2D shape editor — [#38](https://github.com/RadicalCSG/com.chisel/issues/38)
110+
- [ ] Grid objects — [#39](https://github.com/RadicalCSG/com.chisel/issues/39)
111+
- [ ] Clip tool — [#40](https://github.com/RadicalCSG/com.chisel/issues/40)
112+
- [ ] Node-based generators for procedural content — [#41](https://github.com/RadicalCSG/com.chisel/issues/41)
67113

68114
## Extensions
69-
* [Source Engine 2006 Map Importer for Chisel Editor](https://github.com/Henry00IS/Chisel.Import.Source)
70-
* [Decals on models that aren't Chisel geometry, for the importer](https://github.com/Henry00IS/Chisel.Decals)
71-
* [VPK import support for importer](https://github.com/nukeandbeans/com.chisel.import.source.vpktools)
72-
* [Quake1 Importer](https://github.com/Quixotic7/Chisel.Import.Quake1)
73115

74-
## Reporting problems
116+
| Extension | Repository |
117+
|---|---|
118+
| Source Engine 2006 map importer | [Henry00IS/Chisel.Import.Source](https://github.com/Henry00IS/Chisel.Import.Source) |
119+
| ↳ Decals on models that aren't Chisel geometry | [Henry00IS/Chisel.Decals](https://github.com/Henry00IS/Chisel.Decals) |
120+
| ↳ VPK import support for the importer | [nukeandbeans/com.chisel.import.source.vpktools](https://github.com/nukeandbeans/com.chisel.import.source.vpktools) |
121+
| Quake 1 importer | [Quixotic7/Chisel.Import.Quake1](https://github.com/Quixotic7/Chisel.Import.Quake1) |
75122

76-
If you find any failure cases, please [open an issue](https://github.com/RadicalCSG/com.chisel/issues/new/choose), and if possible provide us with a reproducible scene so we can more easily fix it!
123+
## How it works
77124

78-
## License
125+
The core algorithm is explained in the GDC 2020 talk *Geometry in Milliseconds: Real-Time Constructive Solid Geometry*.
126+
127+
[![Geometry in Milliseconds: Real-Time Constructive Solid Geometry — GDC 2020](https://img.youtube.com/vi/Iqmg4gblreo/0.jpg)](http://www.youtube.com/watch?v=Iqmg4gblreo)
128+
129+
## Community
79130

80-
Chisel is available under the [MIT license](LICENSE).
131+
- Questions, showcases and dev chat: [join the Discord server](https://discord.gg/zttNkPQ)
132+
- Want to contribute? Start with a [good first issue](https://github.com/RadicalCSG/Chisel/labels/good%20first%20issue)
81133

82-
---
83-
The core technology is based on the algorithm explained in [this GDC 2020 talk](http://www.youtube.com/watch?v=Iqmg4gblreo)
134+
## Reporting problems
135+
136+
Found a case where Chisel fails? [Open an issue](https://github.com/RadicalCSG/com.chisel/issues/new/choose) — a scene that reproduces it helps a lot.
137+
138+
## License
84139

85-
[![GDC Video](http://img.youtube.com/vi/Iqmg4gblreo/0.jpg)](http://www.youtube.com/watch?v=Iqmg4gblreo "Geometry in Milliseconds: Real-Time Constructive Solid Geometry")
140+
Chisel is released under the [MIT license](LICENSE).

0 commit comments

Comments
 (0)