Speckle 2.4.0 Connector Changes - Enhanced Material Support

Hi Community,

With the latest release of our connectors, we’ve seen some huge material related improvements in almost all of our connectors! :sparkles:

Check out our blog post :point_down: and be sure to share your thoughts here!

11 Likes

Can I assume that no objects will have displayMesh and displayValue, or is this an edge case to consider handling?

depends on your appetite for backwards compatibility, but afaik @Jedd took this into account in .NET (displayMesh will return the first item from displayValue). He will confirm/infirm my knee jerk reply :slight_smile:

1 Like

Good question, We are taking the approach to expect objects to have one or the other. As Dim mentioned, we even enforce this in the .NET Objects Kit.

In our converters, we check first for a displayValue, and then if not found, a displayMesh. displayMesh is being kept just for backwards compatibility with older commits.

In theory, custom Kits can do their own thing, but I think you might run into some inconsistent behaviour in some connectors that perform displayValue checks outside the converter.

1 Like

Hi all, has the release also changed anything about the display in Speckle? I have created several rooms in Rhino to which I have assigned materials (name “Kunststoff”).

However, these materials are not visually displayed in Speckle. You can see in Speckle that the material information is available, but there is no visual representation of different colours?

What am I doing wrong or what do I have to do so that a colour differentiation of all rooms is possible in Speckle?

2 Likes

Hi @Maximilian

I can reproduce the bug, this wasn’t an intentional regression. :frowning_face:

You’re not doing anything wrong
I’ll do some investigating and try and find the source of the issue.
The problem seems limited to rhino brep geometry.

I’ll let you know what we find!

Hi @Maximilian

I can reproduce some issues with Rhino Materials that might lead to completely black materials in the viewer, but I think you are seeing a different issue. From your screenshot it, looks to be completely ignoring the RenderMaterial on the Brep object.

Could you add me as a collaborator to that stream please?

Speckle.
…don`t know how to add you as a collaborator :slight_smile:

No worries, I didn’t realise it was on an Ekkodale server. :sweat_smile:


Ok, I’ve taken a closer look at your stream, and I think I’ve found the problem.

This issue seems to be with older versions of the web viewer are unable to properly display certain geometry sent from ≥2.4.0 connectors. So this issue already has a fix, you will need to update your server.

The bad news is, even with that update, some materials from rhino will still look a bit odd in the viewer. It seems that some materials become WAY TOO metallic in our rhino conversions, and this leads to them looking like a black hole :frowning_face:.
This is something I’ve tracked an issue for, and will try and get a fix out this week.


Thanks for discovering these issues! Improving material support is my :top: priority.

hey Jedd, thanks for your quick reply.

Hi Jedd,
any news on that black hole display issue?

Thanks for your patience, I have some good news!

Regarding rhino materials, I’ve managed to fix some bad conversion logic.
This should fix the issue where non-metallic materials were becoming metallic in Speckle.
Kunststoff/Plastic materials now send correctly, and look better in the viewer. (It’s still not perfect, but much better)

Keep an eye out for the next Rhino connector release (this week) for this fix.

(See Rhino 7 will now output the correct PBR material properties by JR-Morgan · Pull Request #1180 · specklesystems/speckle-sharp · GitHub)


However, this only solves the issue for non-metallic materials. Genuinely metallic materials will still look black in the viewer. :frowning_face:

I will investigate what we can do to better render metallic materials in our web viewer. To make them less of a black whole :sweat_smile:. I doubt this viewer fix will be ready anytime this week, so metallic materials will still look a little broken in the viewer for now.
But I’ll keep you updated on this.

1 Like

Hi @Maximilian,

Just wanted to follow up, have you had a chance to try out our new release?

This is a great improvement! One thing that occurred to me while using the blender connector was the ability to set a default colour, based on the average texture colour of the blender material, on export. This could be a good interim solution to full texture support, currently the texture is stripped and the colour returned to default grey. Maybe I’m missing something and there is a better way?

1 Like

That’s a good suggestion, I’ll look into how possible it would be.
It certainly would be an improvement over the grey.

1 Like

Another option, that may be easier to implement, would be to set the viewport colour in Blender (averaged from a texture input and material shader parameters), I beleive there is an add-on which already does this. Could Speckle then use this as viewport colour as the display colour in the web viewer.

Hey @ChubbyQuark ,

We have created a ticket for this and will address it in upcoming releases. Here is the GitHub ticket link:

Thank you for your suggestion.

2 Likes

Amazing, look forward to the update!