View Issue Details

IDProjectCategoryView StatusLast Update
0005224DarkRadiantMap Editingpublic25.04.2020 09:52
ReporterDragofer Assigned To 
PrioritynormalSeveritynormalReproducibilityalways
Status confirmedResolutionopen 
Product Version2.8.0 
Summary0005224: 'Thicken Selected Patches' along vertex normals on a cylinder cap produces deformed shape
DescriptionAfter the changes in:
0005132: Undo after thickening a cylinder cap along vertex normals causes crash

Running "Thicken Selected Patches" along vertex normals on a cylinder cap now produces visible patches, but they're not fully what one would expect:
- the 2nd cylinder cap forming the bottom is wedge-shaped instead of flat
- the shape isn't symmetrical
- 2 patches are used for the side wall, even though 1 would be enough
- the texture on the side wall isn't projected correctly

Having the option to go in both directions, cylinder <-> cap, would be useful for patch-based building.
Steps To Reproduce1) Patch -> Create Cylinder -> Cap Selection -> Cylinder -> Ok. This creates a cylinder cap.
2) Deselect everything, select one of the cap patches and move it to somewhere else in the map.
3) Patch -> Thicken Selected Patches -> Extrude along Vertex Normals, 16 units, Create Seams -> Ok. This creates a deformed shape instead of a cylinder.
TagsNo tags attached.

Relationships

related to 0005132 closedgreebo Undo after thickening a cylinder cap along vertex normals causes crash 

Activities

Dragofer

Dragofer

24.04.2020 12:21

developer  

image.png (131,447 bytes)   
image.png (131,447 bytes)   
greebo

greebo

24.04.2020 15:33

administrator   ~0012389

Yes, the thicken algorithm for vertex normals has troubles with that kind of patches, because they have multiple control points located at the same point in space. The algorithm tries to locate neighbouring vertices to calculate the normals, but for vertices sharing the same spot this fails and the normal can't be deduced.

I guess in this case it'd be better to select "Extrude along Z-Axis" instead of vertex normals (let alone choosing the Patch > Create Cylinder option to create a cylinder in the first place, but I guess that's not the point here).
Dragofer

Dragofer

24.04.2020 21:54

developer   ~0012393

Yeah, I suppose at some point one could expect the mapper to get a little creative, as in try option B if option A doesn't yield the desired result. Extrude along n-axis is perfectly fine for making a cylinder from a cap.
greebo

greebo

25.04.2020 04:14

administrator   ~0012396

It's possible to extend the vertex normals algorithm to try to produce something that is better than this wedge thingy, but the extrusion code is not very beautiful already. I'd rather not make it uglier unless it's really important.
Dragofer

Dragofer

25.04.2020 09:38

developer   ~0012398

I can only really imagine "extrude along normals" getting used if the mapper wants to make a cylinder from a rotated cap, so it's fairly marginal compared to all the other uses he'd have for "extrude along normals". I agree that if it makes the current implementation uglier (and risk compromising the function in other situations) I'd rather put this on the backburner.
greebo

greebo

25.04.2020 09:52

administrator   ~0012399

I'll then leave this issue in status confirmed for the moment being.

Issue History

Date Modified Username Field Change
24.04.2020 12:21 Dragofer New Issue
24.04.2020 12:21 Dragofer File Added: image.png
24.04.2020 12:21 Dragofer Relationship added related to 0005132
24.04.2020 12:23 Dragofer Description Updated View Revisions
24.04.2020 15:33 greebo Note Added: 0012389
24.04.2020 15:33 greebo Status new => feedback
24.04.2020 21:54 Dragofer Note Added: 0012393
24.04.2020 21:54 Dragofer Status feedback => new
24.04.2020 21:55 Dragofer Assigned To => greebo
24.04.2020 21:55 Dragofer Status new => feedback
25.04.2020 04:14 greebo Note Added: 0012396
25.04.2020 09:38 Dragofer Note Added: 0012398
25.04.2020 09:38 Dragofer Status feedback => assigned
25.04.2020 09:38 Dragofer Status assigned => feedback
25.04.2020 09:52 greebo Assigned To greebo =>
25.04.2020 09:52 greebo Status feedback => confirmed
25.04.2020 09:52 greebo Note Added: 0012399