This repository has been archived by the owner on Feb 11, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 137
/
Changelog.txt
249 lines (227 loc) · 19.8 KB
/
Changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
1.4.0:
Added experimental support for procedural CSG usage, this can be activated in the SabreCSG tab in Unity Preferences
Added the start of per face vertex color support
Added draw brush tool
Added option to set up a 4 split optimised for level design (Window -> CSG 4 Split)
Improved results from Select All
Fixed clipping not resetting brush pivot immediately
Default brush is now created on top of the grid (at 0,1,0) rather than centered on 0,0,0 as this is more consistent with brush drawing
Pressing D activates Draw mode, pressing C activates Clip mode
Added default physics material to build settings
Added new icon buttons for creating brushes instead of the old Create drop down
Started on a new default material type that tints based on vertex color
Started on new shaders for vertex color and tri-planar support
Created new docs for the 1.4 procedural API at http://sabrecsg.com/docs/
Started on a shortcut for swapping the active scene view to the closest axis-aligned iso view (Edit -> Iso Align Nearest Angle), this will have a nicer shortcut in a later beta
NoCSG brushes are now displayed differently to add and subtract brushes to make it clearer that they behave differently. Both brush color and hierarchy icon are new.
While copying material with the C key held, you can now click and drag it over multiple polygons rather than each polygon requiring a click
New radial menu when you press the J key in the scene view for aligning the camera more quickly
UI for CSG Model build settings has been rewritten, making it much clearer and easier to use
Added option in Build Settings for setting the default visual material
Three new presets for default visual material - lit texture, lit texture that tints by vertex color, unlit vertex color
Changing the visual material on the CSG Model instantly updates the built meshes and doesn't require a rebuild
Brushes from other CSG Models are now displayed while editing a CSG Model and are selectable. Selecting a brush from a different CSG Model will automatically switch the active CSG Model to the new selection's parent.
Copy material and follow last face now support copying vertex colors
Removed the margin from the Create Brush buttons so they look a little nicer
When you change any of the build settings, the build engine is now aware that a full rebuild is necessary. If auto rebuild is on this build will occur immediately, otherwise it will occur when you next activate rebuild. Note that the build engine compares against the last rebuild, so changing a flag and changing it back before a rebuild occurs will not trigger an unnecessary full rebuild.
The tag on the CSG Model object is now copied to built meshes in addition to the existing support for layer and static flags
When duplicating objects inside a CSG Model, the order of the objects is now respected. This works around a Unity bug by transparently overriding the duplication command when CSG is being edited.
Key mappings have been moved to a ScriptableObject, you can reconfigure key mappings from the Inspector now
You can now change cylinder and sphere side counts in the same way as a prism
Fixed an changing physics material doesn't require a rebuild, but one takes place. It actually instantly marks the built meshes correctly, so no rebuild is necessary
Fixed an error from dragging a brush prefab into the scene, note that brushes must still be under a CSGModel to build
Added new visualisation of excluded faces which can be turned on in Prefs
Fixed an error that was displayed when deleting a prefab that included multiple intersecting brushes
Brushes and CSG Models are now stripped out at build time rather than on first play. This makes final builds significantly more optimal and fixes serializer warnings. The CSGModelRuntime component previously required on CSG Models is now obsolete and will be automatically removed from existing CSG Models.
Fixed some issues with missing polygons
Fixed a rare case where a build would error
Material meshes and collision meshes are now generated local to the CSG Model, making it easier to manipulate them at runtime
As part of the new experimental run-time support, you can now build a CSG Model in a background thread via scripting
Excluding and reincluding a face in the face tool now respects vertex colors
Stopped polygon hovering when your mouse is over the face tool UI
Fixed subtractions not using vertex colors
Fixed issues with translating vertices resetting vertex normals for smoothed polygons
Fixed selecting a brush prefab in the project producing a null reference exception
Fixed dragging a brush prefab into the scene but not under a CSG Model producing an error
Fixed flipped UVs when drawing brushes in certain situations
Fixed regression in 1.4 Beta 1 with layer and static flags not being preserved in built objects
Fixed static flags, layer and tag not being copied when transferring polygon material (which creates a temporary new mesh game object)
Fixed an issue with lightmap UV unwrapping producing overlapping UVs that caused lightmap artefacts
Fixed an issue with hidden geometry not being removed
Fixed a performance slow down when deleting a brush in scenes that have huge numbers of brushes
When reincluding a polygon, tangents are now generated in all cases where the last build had generate tangents enabled
Fixed issues with auto rebuild and partial rebuilds not picking up changes to nested brushes if the parent is transformed
Fixed some performance issues in the Face tool
1.3.2:
Lightmap UV unwrapping can now be configured on the CSG Model build settings
Fixed issue with unloading a level with high brush counts taking longer
Fixed building hanging in certain situations
Fixed issue with extraneous polygons
Fixed issue with missing polygons
Rewritten subtraction code
Fixed some inconsistencies in moving a CSG Model and rebuilding
Fixed an issue where a Force Rebuild could ignore root transform changes
1.3.1:
Includes support for Unity 5.4 Retina Editor
Fixes some issues relating to a serialiser conflict
Fixed minor errors thrown if you delete a brush while currently translating or rotating the UVs on its face
1.3.0:
SabreCSG build engine has been rewritten from the ground up, it now tracks changes and only rebuilds brushes that have actually changed
Added an option for Auto-Rebuild, when enabled this will continually check for changes to brushes and rebuild them while you work
Meshes built when Generate Lightmap UVs is set will always have the lightmap static flag set
Built meshes now also inherit layer from the CSG Model
Built mesh objects now inherit the static flags of the CSG Model
Can now press Shift-Enter to split a brush in clip tool (in addition to the existing Enter shortcut for clip)
Clip tool now supports multi-select
When you split brushes all parts are now selected rather than just the original brush
Clip tool now traces the intersected geometry in black
Added option to clip tool to insert an edge loop (shortcut is L)
Added an option in resize tool for snapping a brush center to the absolute grid
Added buttons to the resize tool for local flipping a brush at its pivot
In axis-aligned isometric modes you can now resize a brush by using the edge of the brush, rather than just the resize handles, making it quicker to resize
Edge tool has been merged into the vertex tool, this makes it a lot more intuitive as when you split an edge the vertex is selected, or when you join two vertcies the edge is selected without changing mode.
Added option to vertex tool to split edges, inserting a vertex at their mid point. When used in conjunction with the vertex connect option this allows lots of new topologies, such as connecting a corner vertex to the centre of an edge. The previous "Split" button which would split two edges and then connect them has been renamed "Connect Mid-Points".
Vertex auto-merge is now done when you release the mouse rather than at build time. This now makes it possible to undo and redo vertex auto-merges
Added multi-select support to the vertex tool
Vertex tool now selects newly welded vertices
Connecting mid-points now supports dealing with multiple polygons across multiple brushes
Vertex tool's connect now supports vertices across multiple faces
Added an align to centre button on the face tools
Ctrl+Alt left click to paste the last selected face's material on faces
Added support for flatten and smoothing face normals
Added support to the UV scale value to take both a uniform value (e.g. 5) and a U/V scale pair (e.g. 5,2), making it possible scale U and V independently
Added support for Follow Last Face (Ctrl+Shift left click), taking the material and UVs from the last selected face and mapping them across the next selected face.
Added Copy Material - while holding C and clicking a face will apply the last selected polygon's material
Fixed some errors if you select a brush's faces and try to align them when some of them haven't actually been built. E.g. two cubes overlap, you select one which results in 6 source polygons being selected but in reality there's only 5 built polygons.
Current texture scale values are now displayed for selected faces, you can also change the values by enterring a new scale and hitting enter
Improved surface tool's handling of certain topologies
Selection helpers have been moved to a foldable section on the same page
Extrude brush now uses face orientation as a basis for the new brush's rotation, making it easier and more intuitive to resize
Face mode UI has been greatly improved, now displays a preview of both the active material and the material's main texture
Added UV offset to Face tool, works in a similar way to adjusting the UV scale.
Added axis-aligned planar mapping to Face tool
Completely new SabreCSG Grid implementation, fixes numerous issues in the old grid
Green triangulation lines on brushes have been removed and brush selection has been moved to a new method
Brushes that don't interact with CSG calculations have been renamed from Detail to NoCSG to be less confusing
Changing brush boolean mode on the toolbar now supports multiselect
Changing NoCSG, Collision and Visible flags on the toolbar now supports multiselect
Added support for changing brush boolean mode with shortcuts whith the hierarchy window focussed
Added shortcut for toggle brushes hidden (H)
Removed free mode as it is now obsolete with the changes to support disabling CSG UI when a non-CSG object is selected and the introduction of a brushes hidden shortcut
Added support for group and ungroup (shortcuts are G for group and Shift+G for ungroup)
Reintroduced the green tint for selected faces, but at a fainter level
Hierarchy ordering buttons on the brush inspector now support multiselect, also renamed as Set as First and Send Earlier, etc as it's easier to understand and less ambiguous
Added option on the brush inspector to resize a brush to fit a specified certain local bounds in addition the the existing rescale option
Fixed some issues with pressing , and . in face UI changing grid
Can now hit enter to apply resize/rescale values on the brush inspector
Fixed some issues with vertex sharing occuring when it shouldn't leading to weird problems in the surface tool
Selection cycle now resets if the selection possibilities change, this should make selection a bit more intuitive
When creating a new brush by clicking Create from the toolbar it now determines the position of the new brush by raycasting against the existing brushes, if no brushes are hit it will position the new brush at the scene view camera pivot point
Added button the brush inspector to shell a brush (create a new brush from the source brush inset by the current positional snapping value)
Added a requested preference to hide the grid in perspective scene views
Fixed the grid displaying incorrect horizontal lines when in iso horizontal views (left, front etc). The grid also now colours origin lines by axis
OBJs are now exported local to the CSG Model (this affects vertex positions and normals).
Active tool no longer resets each time you recompile
Fixed some issues with the grid drawing over brushes in certain situations
Integrated a new Linear FPS Cam which can be enabled in preferences, this overrides the scene view FPS camera with one that moves at a constant speed
Added shortcuts for changing the angular snapping (the same as the position snapping shortcuts, but with Shift held)
Angular snapping increase/decrease behaviour has now changed. While the angle is above 15 degrees it changes in 15 degree increments, below 15 degrees it changes in 5 degree increments.
Added IPostBuildListener, scripts implementing the interface that are attached or under a CSG Model will recieve a call to OnBuildFinished when the associated CSG Model build completes. This is useful if you want to use CSG Models for dynamic objects such as moving platforms.
Shell brush will no longer create invalid brushes if you try to shell a brush that is too small
Fixed some issues with resizing by bound edge with rotated bounds in Isometric Axis-Aligned scene views
Fixed some of the textures being marked as compressed, all textures that ship with SabreCSG are now marked as true color for faster import times
Fixed some issues with vertex connecting
Fixed some issues with follow last face, it will now also handle following over edges that don't share a vertex
Fixed an issue with it being difficult to resize a brush far from the origin if Unity was set to both local orientation and center pivot.
Fixed an issue with undoing a multi-select resize not rescaling all the brushes correctly
Fixed a null-reference if you undid a weld, then try to weld again without reselecting
Fixed error when selecting a CSG Model that has been disabled after changing scene
Fixed rotated brushes not displaying correct handles in axis-aligned views
Fixed exporting OBJ from a disabled CSG Model in a reloaded scene
New faces created from using the clip tool no longer use the default material, instead they use the material of one of the clipped source faces
Fixed use of Generate Lightmap UVs causing errors in Face tool
Changing a polygon's material in the face tool now preserves any UV2 or tangent information without a rebuild
Fixed a couple of errors relating to changing material when multiple polygons with a particular material set up
Fixed some issues with bounds resizing of complicated brushes with position snapping on causing vertices to drift or brushes becoming concave
Fixed an issue with handles not drawing in deferred HDR setups
1.2.0:
Fixed new obsolesence code warnings in 5.3 relating to the multiscene changes
OBJ Exporter will now reset any values that are non-rational (e.g. NaN), this fixes importing into some modelling tools. This is mainly relevant to overlapping geometry built with < 1.2.
Auto UV now works off world position, rather than local position. When Auto UV'ing multiple coplanar faces they will now lay out more intuitively.
Worked around a bug in 5.3 that was throwing a passive error error "srcAttach < m_CurrentFramebuffer.colorCount && "We should always resolve only current RT""
Fixed a null reference when selecting the face of a built brush that has been deleted and hasn't been rebuilt yet
Brush rescaling on the Inspector now supports scale triplets (e.g. 6,1,6)
Fixed handles rendering incorrectly (too dark) when Linear color space is selected
Interior geometry is now removed when building CSG
Added support to select adjacent wall faces
Added support to select adjacent ceiling or floor faces
Added support to select all adjacent geometry
Added support to select excluded faces
When you click a brush in the hierarchy in face mode, the brush faces will now be selected
Added extrude brush from face feature in face mode
Added option to weld vertices to their center in vertex mode
Added option to weld nearby vertices together within a distance tolerance
Overlapping vertices will now automatically merge on build. This means you can now collapse geometry just by moving vertices together in vertex mode.
Prisms and cylinders are now constructed with their cap faces containing a mid vertex
Added support for marquee selection of brushes in resize mode
Fixed an issue where brushes would report as being concave when they were rotated and resized
Added undo to Face tools
Added ability to select all faces with the current material (select a face with desired material first)
Added vertex connect option for splitting a face between two vertices
Added new edge mode, similar to the vertex mode, but selection is tied to edges
Added edge splitting for splitting a face between the mid-points of two edges
New rescale triplet now updates normals
Resize tool now updates normals
Fixed some bugs relating to UVs not setting dirty
Fixed a bug with brushes not automatically retracking until rebuild when restored via undo/redo
Fixed some issues relating to brush preview meshes being displayed when they should be hidden
Fixed some issues relating to the new 1.2 multiple CSG model support
Extrude brush from face will now switch to Resize mode with the new brush selected
Backfire selection is now prevented in face mode, making it easier to select faces
Fixed occasional lockup of resizing brushes
Resize cursor should no longer persist when changing modes
New 1.2 welding now updates normals and UVs
Multiselected brush tools should now work correctly with brushes nested within brushes
Fixed some issues with face aligning not working correctly with undo
Fixed issues with wrong grid being displayed in certain situations
Fixed some false negatives with concave detection to do with winding order.
Fixed some false positives with concave detection to do with scaling of angular geometry (e.g. scale a prism by 900)
Fixed some issues with missing polygons
Translation in face mode now respects UV scale and will now stay exactly aligned with the cursor at non-default scales
UV snapping in face mode now respects the positional snap distance including with faces at different UV scales
Before clicking the "x 2" button or entering a scaler of 2 would make the face twice as tiled but that seemed counterintuitive. UV scaling values have been inverted. Now clicking x 2 will make the UVs twice as big (and half as tiled).
Fixed brush resizing going off integer in some cases
1.1.0:
Added support for All, None and Invert face selection modes
Added support for Auto Fit face
Added support for aligning faces to edges
Added support for excluding faces from final geometry
Resize bounds is now for the entire selection and works with local/global modes
Added support for multi-select translation by dragging the face of the resize box
Added support for multi-select translation by box handle (and ctrl)
Added support for multi-select rotation by ctrl-dragging resize handles
Added support for local/global modes in resizing
Added support for multi-select resizing
Added support for multi-select ctrl-drag copying
Added support for widgeted translation
Added support for widgeted rotation (Global pivot only)
SabreCSG interface will disappear if you select a non SabreCSG object in the hierarchy
Removed the need for CurrentSettings game object, these will auto cleanup from existing scenes
Add support for post build points, e.g. if using SuperCharacterController then you could have a hook which adds a BSPTree component to the collider
OBJ Exporter now groups exported geometry by material
Added support for prefab brushes
SabreCSG folder location is no longer hard coded, you can move the SabreCSG folder inside subfolders in Assets/
Fixed deleted brushes remaining in brush count until rebuild
Fixed clip tool having issues with scaled brushes
Fixed shortcut issues on Windows (Rebuild is now Ctrl-Shift-R on Windows and Cmd-Shift-R on OSX)
Fixed compiler issue on Web Player platform
Fixed some issues with shift selection picking the wrong objects
Fixed some issues with disabling SabreCSG interface not persisting
Fixed issues with Unity 5.3 display
Fixed prefab support
Fixed Create and Grid dropdowns now display in correct place
Split parts from the clip tool now share the source position in the hierarchy (before one part was going to the end)
1.0.1:
Fix for a build issue
1.0.0:
Initial release