Hi I'm trying to understand reference layers.
I have to create around 30 identical layers, which will need tweaking, so I though best to create one original and then the rest as reference layers. That way I can tweak the original and see all the rest change in sync. I understand that I have to be careful which channels I use, to ensure they don't go out of sync, so for example I used the layer transform to move the 30 layers into the different positions they need to be in, instead of using point transform as I need to keep this channel in sync as I will use it when tweaking the original.
But what I discovered is that not all tweaks seem to sync across the reference layers. For example when I change the fill colour of the shape it syncs perfectly and all the reference layers change, but when I add a stroke to the original shape it isn't reflected in the reference layers. Also I noticed that if the original already has a stroke then any colour change of the stroke will effect the reference layers, but changing the stroke width is ignored. What am I doing wrong.
Thank you for any insights.
Reference layers
Moderators: Víctor Paredes, Belgarath, slowtiger
- synthsin75
- Posts: 10280
- Joined: Mon Jan 14, 2008 11:20 pm
- Location: Oklahoma
- Contact:
Re: Reference layers
Only animated properties are instantly synced. Changing fill or stroke color can be animated, so those sync immediately.
Adding a stroke or changing the stroke width from the style window are not animatable. To update those kinds of changes, you need to right-click the reference layer and select Update Layer Reference. For things like new strokes and style widths, you'll want to "Replace mismatched vectors."
And if you want to adjust stroke width and have it update immediately, you just need to change point width (which is animatable) instead of style stroke width.
Adding a stroke or changing the stroke width from the style window are not animatable. To update those kinds of changes, you need to right-click the reference layer and select Update Layer Reference. For things like new strokes and style widths, you'll want to "Replace mismatched vectors."
And if you want to adjust stroke width and have it update immediately, you just need to change point width (which is animatable) instead of style stroke width.
- Wes
Donations: https://www.paypal.com/paypalme/synthsin75 (Thx, everyone.)
https://www.youtube.com/user/synthsin75
Scripting reference: https://mohoscripting.com/
Donations: https://www.paypal.com/paypalme/synthsin75 (Thx, everyone.)
https://www.youtube.com/user/synthsin75
Scripting reference: https://mohoscripting.com/
Re: Reference layers
When you want to update the reference layers, you must edit the original layer. The changes should then transfer to the references automatically.
If this doesn't happen, there are a few reasons for the failure.
1. A reference was updated instead of the original. To fix this, you need to make the changes to the original layer (maybe simply copying and pasting the keyframes,) and then select Sync All Channels To Original for the out-of-sync reference.
2. If the original was updated but the changes did not affect the reference, it might mean the reference was already out-of-sync with the original. In this case, go to each out-of-sync reference layer and select Sync All Channels To Original.
3. The reference had been converted to a regular layer. In this case, you will need to create a new reference from the original and replace the 'broken' one.
Note that using Sync All Channels updates all channels in the layer. If you only want to update certain channels, go to the timeline, r-click the channel icon and select Sync Channel To Original. This will sync only this channel and leave any other keyframes alone.
Tips...
I like to add the text REF_ in front of the name of my reference layers, for example 'REF_Hand_R'. This makes is more obvious to me that I probably shouldn't edit this layer. I might also color code the layer red to make it really obvious.
An almost surefire way to prevent accidentally editing a reference layer is to lock the layer using Synthsin75's Lock Layer tool.
Hope this helps.
If this doesn't happen, there are a few reasons for the failure.
1. A reference was updated instead of the original. To fix this, you need to make the changes to the original layer (maybe simply copying and pasting the keyframes,) and then select Sync All Channels To Original for the out-of-sync reference.
2. If the original was updated but the changes did not affect the reference, it might mean the reference was already out-of-sync with the original. In this case, go to each out-of-sync reference layer and select Sync All Channels To Original.
3. The reference had been converted to a regular layer. In this case, you will need to create a new reference from the original and replace the 'broken' one.
Note that using Sync All Channels updates all channels in the layer. If you only want to update certain channels, go to the timeline, r-click the channel icon and select Sync Channel To Original. This will sync only this channel and leave any other keyframes alone.
Tips...
I like to add the text REF_ in front of the name of my reference layers, for example 'REF_Hand_R'. This makes is more obvious to me that I probably shouldn't edit this layer. I might also color code the layer red to make it really obvious.
An almost surefire way to prevent accidentally editing a reference layer is to lock the layer using Synthsin75's Lock Layer tool.
Hope this helps.
NEW! Visit our Little Green Dog Channel on YouTube!
D.R. Greenlaw
Artist/Partner - Little Green Dog
Little Green Dog Channel | Greenlaw's Demo Reel Channel
D.R. Greenlaw
Artist/Partner - Little Green Dog
Little Green Dog Channel | Greenlaw's Demo Reel Channel
Re: Reference layers
Thank you Wes for the swift response, also for logically explaining why it doesn't work - makes a lot of sense now.
I tried "Update Reference Layer" -> "Replace mismatched vectors" to sync stroke width but it didn't seem to work ? Even when I selected "Sync all channels to original" it didn't sync the stroke width (though of course it screwed up my seperate positions of the reference layers). Maybe ONLY animated properties can be synced?
Is "Point width" same as "Line Width" in the fill tools pallete?
I tried "Update Reference Layer" -> "Replace mismatched vectors" to sync stroke width but it didn't seem to work ? Even when I selected "Sync all channels to original" it didn't sync the stroke width (though of course it screwed up my seperate positions of the reference layers). Maybe ONLY animated properties can be synced?
Is "Point width" same as "Line Width" in the fill tools pallete?
- synthsin75
- Posts: 10280
- Joined: Mon Jan 14, 2008 11:20 pm
- Location: Oklahoma
- Contact:
Re: Reference layers
Oh yeah, you have to add a single vector line to the reference layer so Moho recognizes that there are mismatched vectors. That will then fix the stroke width when using "Replace mismatched vectors."ggoblin wrote: ↑Sun May 01, 2022 8:48 pm Thank you Wes for the swift response, also for logically explaining why it doesn't work - makes a lot of sense now.
I tried "Update Reference Layer" -> "Replace mismatched vectors" to sync stroke width but it didn't seem to work ? Even when I selected "Sync all channels to original" it didn't sync the stroke width (though of course it screwed up my seperate positions of the reference layers). Maybe ONLY animated properties can be synced?
Is "Point width" same as "Line Width" in the fill tools pallete?
And yeah, the line width tool is what changes point width.
- Wes
Donations: https://www.paypal.com/paypalme/synthsin75 (Thx, everyone.)
https://www.youtube.com/user/synthsin75
Scripting reference: https://mohoscripting.com/
Donations: https://www.paypal.com/paypalme/synthsin75 (Thx, everyone.)
https://www.youtube.com/user/synthsin75
Scripting reference: https://mohoscripting.com/
Re: Reference layers
Thank you Greenlaw, sound advice as always.
Thank Wes, it works! By adding even a single point to the original layer causes Moho to recognise that there are mismatched vectors and hence was able to sync everything including stroke width changes. These undocumented 'features' and methods around them are very useful to know.

Thank Wes, it works! By adding even a single point to the original layer causes Moho to recognise that there are mismatched vectors and hence was able to sync everything including stroke width changes. These undocumented 'features' and methods around them are very useful to know.
- synthsin75
- Posts: 10280
- Joined: Mon Jan 14, 2008 11:20 pm
- Location: Oklahoma
- Contact:
Re: Reference layers
Yeah, replace mismatch vectors obviously wasn't design to handle mismatched style widths, but luckily it can be tricked into doing it.
- Wes
Donations: https://www.paypal.com/paypalme/synthsin75 (Thx, everyone.)
https://www.youtube.com/user/synthsin75
Scripting reference: https://mohoscripting.com/
Donations: https://www.paypal.com/paypalme/synthsin75 (Thx, everyone.)
https://www.youtube.com/user/synthsin75
Scripting reference: https://mohoscripting.com/