Page MenuHome

Modifiers on curves/text objects in 2.8
Closed, ResolvedPublic

Description

System Information
Win 10 , GTX-1050/80

Blender Version

Broken: 2.80-63150511a29-win64

Short description of error

It seems like there are a couple of issues for text/curve objects with modifiers in 2.8:

1. deforming modifiers

  • I see a TODO comment in `MOD_get_mesh_eval(): /* TODO(sybren): get evaluated mesh from depsgraph once that's properly generated for curves. */
  • Then for following modifiers:
    • we are asserting BLI_assert(mesh_src->totvert == numVerts);
    • if I remove the assert, the modifiers are actually working seemingly fine for e.g. text objects
    • @Bastien Montagne (mont29): do you know the status of this (are these neccessary only for mesh objects)?
    • Cast
    • Curve
    • Shrinkwrap
    • Smooth
    • Warp

2. generative modifiers on curves not working (basically all of them):

  • Array
  • Bevel (wasnt even there in 2.79)
    • What is the point here? Bevel of surfaces???
  • Build
  • Decimate
  • Mirror
  • Remesh (had bad results in 2.79, but not working at all in 2.8)
  • Screw
  • Solidify
  • I havent looked into the cause of this yet...
  • maybe @Bastien Montagne (mont29) would know right away?

Exact steps for others to reproduce the error

1. e.g. Cast modifier asserts

Add text object
Add cast modifier -> assert

2. e.g. Solidify modifier doesn't increase thickness of text objects in 2.8

Add text object
Add solidify modifier
increase thickness -> text remains flat

Details

Type
Bug

Event Timeline

Philipp Oeser (lichtwerk) triaged this task as Confirmed, Medium priority.

We have a similar (curve/modifier related) report in T57958.

Taking a step back, it seems like there are a couple of issues (for text/curve objects):

1. deforming modifiers

  • I see a TODO comment in `MOD_get_mesh_eval(): /* TODO(sybren): get evaluated mesh from depsgraph once that's properly generated for curves. */
  • Then for Cast, Curve, Displace, Shrinkwrap, Smooth, Warp:
    • we are asserting BLI_assert(mesh_src->totvert == numVerts);
    • if I remove the assert, the modifiers are actually working seemingly fine for e.g. text objects
    • @Bastien Montagne (mont29): do you know the status of this (are these neccessary only for mesh objects)?

2. generative modifiers on curves not working (basically all of them):

  • Array
  • Bevel (wasnt even there in 2.79)
  • Build
  • Decimate
  • Mirror
  • Remesh (had bad results in 2.79, but not working at all in 2.8)
  • Screw
  • Solidify
Philipp Oeser (lichtwerk) renamed this task from Solidify modifier doesn't work with text objects in 2.8 to Modifiers on curves/text objects in 2.8.

@Peter Krauspe (jb0815): altered the task description (as it turned out to be a much broader "issue"), hope that's OK.
(This way we can also merge in T57958)

Yes sure , makes sense .

@Bastien Montagne (mont29): before this gets forgotten in the abyss: could you take care of this / have a look (thx in advance - not sure who would be responsible otherwise?)?

reg. Bevel on Curves: seems weird, but rB75149b429f15... [no idea how to use it, or what it is good for... can check tomorrow]

Generative issue is actually a drawing issue (see T58107).

Deforming modifiers shall all now work OK I think, so we can close that one, yeah!

Clément Foucault (fclem) reopened this task as Open.

I've fixed modifier display for curves.

Seems like all Deforming modifiers are working correctly except the solidify modifier.

Solidify is not a deforming modifier, it’s a generative one, would rather have another report for that, that one already had way too many different issues in it!

Forgive the necro post, but I wanted to check something before creating a new bug report about it, as all searches seem to lead to this report...

Putting the Array modifier on a Curve and using the 'Object Offset' (without Relative or Constant Offset) causes the arrayed Curve objects to render incorrectly in Cycles (it's correct in EEVEE), as if the wrong transform location/rotation are being used for the offset source object, making them splay/scatter all over the place. The selection outline shows them in the correct place though. It works fine in 2.79 as well.

Is this behaviour because of the above issues mentioned, or something else? Is it worth creating a bug report for it, or will it be fixed later? Cheers.

@db (phocomelus) Yes, please open a new report, if its working in eevee but not in Cycles it's likely something with cycles itself, and/or our rendering pipeline/API…