<div dir="ltr"><div><div><div><div><div><div><div><div><div>I suspect the copy/paste pose tool is probably the one causing these issues. IIRC, last time I checked (and I didn't check the details carefully), from the API call name at least, I think it was just doing a simple copy over all the custom properties. All the other tools which do touch custom properties (e.g. propagate, breakdowner, etc.) don't try to do any mirroring magic, so should be fine.<br><br><br></div>At risk of derailing this thread (perhaps this should be in a new thread?), I'm aware that there have been problems where sometimes Blender's tools are operating on custom properties that shouldn't be touched. AFAIK, the problems here stem from the fact that custom properties are being used for 2 things in Blender:<br></div>1) Custom controls for artists/animators to manipulate (e.g. for controlling shape keys, or adjusting the behaviour of the controls)<br></div>2) Internal metadata, that gets used by addons/etc. to store their settings/data<br><br></div>Currently, all the pose tools that do things with bones end up assuming that all properties fall into the first category, since that's all there were initially (at least with rigify rigs from 2.5/6). However, with the rise of addons and more sophisticated rig systems such as blenrig, we're seeing that much more metadata is getting stored now, some of which really shouldn't be touched by the tools.<br><br></div>So, where to from here? We clearly need some way of distinguishing between the two cases. The question is how we should go about this:<br></div>  A) Add a flag of some sort that needs to be set when defining custom properties to say whether they're for "internal" use<br></div>  B) Adopt an informal convention (similar to the "DEF_" and "GEO_" prefixes used already in many rigs) for tagging properties<br></div>  C) Have all addons store their settings under a designated "__INTERNAL__" or "__SETTINGS__" namespace/property. So, instead of having<br>              pose.bones["Bone1"].my_addon.my_internal_data_prop, <br>       we now have <br>              pose.bones["Bone1"].__INTERNAL__.my_addon.my_internal_data_prop<br><br><br></div>Comments? Thoughts?<br><div><div><div><br></div><div>Regards,<br></div><div>Joshua<br></div><div><br><div><div><div><div><div><div><div><br><br><br><br></div></div></div></div></div></div></div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Nov 13, 2015 at 4:37 PM, Juan Pablo Bouza <span dir="ltr"><<a href="mailto:jpbouza@hotmail.com" target="_blank">jpbouza@hotmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div><div dir="ltr">Hi guys! I stumbled across a small problem here, and I wanted to listen to everybody's thoughts before I ask someone to change this.<div><br></div><div>The thing is that Blender is kind of mirroring the data inside custom properties of bones.</div><div><br></div><div>For example, if I have bone called 'xx_L' and another one called 'xx_R', and both bones have a property that has the same exact name, Blender tries to mirror the data inside the property. </div><div><br></div><div>In  my opinion, this shouldn't happen. For instance, I want to store  a list of bones inside the property, but in the bone 'xx_L', the list has all bones with the '_L' suffix, while in the 'xx_R' bone, the list has bones with '_R' suffix. Now, I don't know how or when, but some times Blender mirrors the property's content, so the list inside 'xx_L' is copied into the list of 'xx_R'. </div><div><br></div><div>This shouldn't happen, mirroring the inner data of the properties is like too much for me. It becomes messy and unpredictable, and it breaks custom things you might want to store in the properties.</div><div><br></div><div>The solution for my case would be that the property shouldn't have the same name in 'xx_L' and 'xx_R'. So I know I can work it out, but I think this kind of mirroring attempt is way too intrusive, not to mention that the behavior is not too consistent, as the mirroring doesn't always occur.</div><div><br></div><div>Let me know what you think!</div>                                         </div></div>
<br>_______________________________________________<br>
Bf-animsys mailing list<br>
<a href="mailto:Bf-animsys@blender.org">Bf-animsys@blender.org</a><br>
<a href="http://lists.blender.org/mailman/listinfo/bf-animsys" rel="noreferrer" target="_blank">http://lists.blender.org/mailman/listinfo/bf-animsys</a><br>
<br></blockquote></div><br></div>