Bug: decal doesn't show up on block instance

It seems like I and others already reported this issue in the past for various versions of Rhino. Although there’s a workaround for my current use case, I find it disappointing that it’s still an issue. I love the whole concept of blocks in Rhino and use them extensively (blocks within blocks within blocks….), so issues like this tend to slow down my modeling work a lot because I have to rework parts of the model.

Previous reports:

Attached is a trivial Rhino model that exhibits the problem - the left object is an embedded block instance (with a simple surface inside), the right one is just a simple surface. The same decal is defined on both objects; it shows up for the surface but not for the block instance. The problem is the same if the block definition is linked.

rhino-decal-issue.3dm (123.3 KB)

Decal file:

System info:

systeminfo.txt (3.2 KB)

For my current use case, I can just leave out the flat surface from the block definition and add it to the top-level model as an individual surface. This works, but it circumvents the whole point of using blocks, which is to reduce repetition.

Hi Gyorgy -

I’ve put this on the list as RH-90838 Rendering: Decals: On Block Instance

Note that, with your workflow, you are placing a decal on an individual block instance, not on a repetitive block definition. If you turn the simple surface that has the decal showing into a block, this block instance of the new block definition does show the decal.
-wim

@wim Thank you for the response and creating the bug.

As for the use case, I’m creating these block instances so that the instance mesh gets reused during rendering, but each instance has a different decal applied (think of painting hanging on the wall, where the painting model (frame + painting surface) is the block instance and then the painting visual is the decal). Because of this, turning the surface-with-the-decal into a block definition doesn’t work for me, since that would mean all paintings look the same.

For now, my workaround was to remove the painting surface from the block definition and just recreate it in the top-level model, but the current scene has 25 of these (in addition to other, similar objects) and then I apply the decal on these top-level surfaces.

I typically use Rhino to create computer game backgrounds, so each scene typically has a large number of block definitions for each object in the scene. Blocks and decals would be a wonderful combination if they worked, because of ease of reuse and then ease of customizing. The workaround isn’t terrible, but it’s an additional step that I must keep in mind when I create the individual objects that go into these scenes.