Main Menu

copy labels

Started by andy.engelkemier, April 17, 2017, 06:52:39 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

andy.engelkemier

So I'll admit, this is one of those things that confuses the Heck out of me.

Mapping, which would include labels, is done on objects. But in Keyshot it's stored in the material?
So, If I have a material assigned to 3 duplicate objects, add a label to 1, it's just one. It doesn't indicate Which object that's on in any way. But it's there. So that could be cleared up a bit.

What I'd like to do is apply that label to the other 2 objects as well. Textures seem to work. If I apply a bitmap texture, it's on all 3. If I make a change, it's on all 3, with the same orientation, all based on their object space (if that's what I chose).
So why can't I do the same thing with labels?

Yeah, I might not want all the labels to be the same. So I have that going for me now. But it would be nice to be able to duplicate a label to other objects using the same location....however that's stored. I mean, on the backend it's Got to be based on the object's original UV's in Some way right? That's the part I'm confused about.

In 3d software that are a bit more straight forward, each differently mapped item just uses a different map channel. I'm guessing that's what's going on here as well, only they aren't showing you. Also, that would be nice. If I have already set up 5 map channels for my label locations, it would be nice to just Use them.

Will Gibbons

So, by default in KeyShot 6, it's not based upon 'original UV' as you say, but the center of that object. Then, of course this will change based upon your mapping type.

I think one thing that might be throwing you off is the linking of materials. If you link 3 materials and they have labels on them, the label is going to be trying to map onto all of the geometry that has that linked material. Your best bet is to unlink the material of the parts that will have labels and then the label positioning won't be affected by the other geometry.

andy.engelkemier

But wait, that's not how it's working.

I have 3 objects. I'm trying to fix someone else's file. So I don't know to what extent they are "the same." But essentially, they are the same object 3 times. But there are 3 attachments that are different and have been grouped. As you may know from getting warnings, once you change the grouping in keyshot, you're pretty much hosed if you need to update something, if you've moved things around.

So I have these 3 objects, all with one material. I put a logo on. It's only on one object. I duplicate it, and can keep positioning them on new objects.

And that is definitely what is throwing me off. I would Much rather have a map channel for each map with a physical size. Someone Always says, "hmmm, doesn't quite look right, is that the right size?" Well, close. That's pretty much as good as you can do in keyshot for the mostpart. So then I put it on in a different software in the correct orientation and size, use that as an overlay to position it, and sure enough, it's like 1.5mm off, and the scale is about 3% off.

In making a quick and easy way to apply labels, I'm missing a way to actually control the size when that's important.
Usually I model in the labels. But that doesn't always make sense to do. Also, when I say model "in" I prefer modeling "on". The labels actually hover a tiny tiny amount over the actual surface in most cases. Otherwise you end up with possible trim issues.

So I guess since the label mapping is only based on the group's world space then it's not really possible to duplicate a label keeping it's settings for another object. That's a huge bummer. Would have been a Huge time saver.

DriesV

#3
In KeyShot 6, how a label is instanced within a linked material depends on whether the material is linked across parts (within a model) or models.
Scenario 1: Material linked across parts in one model
- All parts in the model have the same linked material.
- A single label is applied to that material.
--> RESULT: Only a single label is shown across the entire model.
Scenario 1: Material linked across parts in two models
- All parts of both models have the same linked material.
- A single label is applied to that material.
--> RESULT: The label is shown on each model. This is because under the hood, each label is model-centered (instanced per model).
The actual position and orientation of Labels is defined relative to the Model's center, but this is indeed something we don't expose in KeyShot 6.

Labels and textures should behave consistently, as they're basically the same thing. It's just that Labels default to Normal projection.

I hope that helps.

Dries

DriesV

#4
As for your other remarks, then Keyhot 7 will have majorly overhauled texture/label mapping.

Instead of an "arbitrary" scale, textures will by default be defined in physical sizes (with scene units). The DPI setting will also be positioned much more obviously in the UI.
We will also expose the texture transforms, relative to the center of the part or model. We have added the ability to center a texture on either each individual part the material is assigned to or the top-level model.
There will also be a mapping node in the Material Graph to share texture mapping properties across different textures/labels (in a single material).
If you're just creating material variations of a single model, and you want to have consistent placement of labels on different material variations, then we have a whole new infrastructure to deal with that as well (a 'Multi-Material' that can switch between different 'Sub-Materials').

Dries

andy.engelkemier

yes, that all sounds great.
Unfortunately, I have to work on this Now, without keyshot 7.
¯\_(ツ)_/¯

DriesV

At least I hope the behavior of Label instancing is clearer now?
The core message is that Labels in KeyShot 6 are always model-centered.

Dries