SDK SkinningControl Properties Panel

Hi guys,
could you add in the next version of the SDK, the checkbox for the hardwareSkinningPreferred boolean attribute to the SkinningControl property panel?
It would be really very useful.

Thanks

1 Like

I had a quick bash at adding to the Property Sheet:

But upon closing / reopening the Scene Composer the property resets to True. I beleive because it is transient in SkinningControl and so doesn’t get saved in the .j3o??

/**
  * User wishes to use hardware skinning if available.
  */
private transient boolean hwSkinningDesired = true;

Somebody with a better knowledge of the Animation system might be able to advise / suggest a way forward…

2 Likes

Hi,
thanks for analyzing my report.

I think the keyword ‘transient’ is used incorrectly in jme. The engine’s data persistence algorithm is based on the com.jme3.export.Savable interface (not java.io.Serializable) and the read(JmeImporter im) & write(JmeExporter ex) methods. If the read/write of the hwSkinningDesired attribute is not handled in the read/write methods (and in the SkinningControl class it is not handled), then any change in the value of the variable is lost.

I had not considered this aspect of the SkinningControl class. No matter, I can always manage the persistence of variables and data with a custom AbstractControl if needed. Here is a tutorial I did in which I modified the hwSkinningDesired field.

We have two alternatives:

  1. Add the hwSkinningDesired field in the properties panel as a simple feature, even though the change in value is not permanent with data saving. I am afraid that this will create even more confusion.
  2. Ignore my request and leave things as they are by focusing efforts on the other problems I reported (I’m leaning toward this one). :wink: