This is a thread purposely dedicated to complaints, rants or simply discussions, but specifically about those annoying issues and limitations found by modders in their work every day, that define the envelope or boundaries for the modding endeavours, and which will hopefully be fixed in upcoming versions of Moviestorm.
In any case, a constructive attitude is called for.
So I will start this thread with an issue I researched some time ago, put it aside because of my atention was called for other subjects, and I have revisited only in the last days.
You may know by now that the shape of almost every aspect of the look of your characters/puppets is or can be modified or morphed to a more or less large extent. All these assets (bodies, heads, hair, beards, accessories) are included in a large category globally known as "bodyparts", and they all have a few common defining characteristics and properties, but probably the most important is that they all are rigged to the puppet skeleton and, thus, won't accept any specific animation.
For example, there are a few of morphable bodies or dresses, like those created by Chris Ollie, 3DTree or Squirrelygirl:
Morphable body.jpg 78.86KB 0 downloads
No need to mention faces, probably the most configurable bodypart. There are also the large category of decals: they use to be tintable and re-positionable, but they're a completely different animal.
On the other hand, there are only few examples of morphable hairstyles and beards, like those by AVK or Chris Ollie:
Morphable hair.jpg 105.35KB 0 downloads
Now, there is a third kind of assets included in the "bodyparts" super-class: the accessories. There's something I've always found irritating about accessories, both as a modder and as a user: AFAIK they can't be organized in collections and, my real complain, they can't be morphed, so their position and size can't be modified by the user to match the particular character they're attached to.
I've been trying to create a working morphable accessory, but the most I've got is something like this:
Morphable accessory full.jpg 89.55KB 0 downloads
It's a simple accessory, a semispheric bonnet or cap, for which I created a few morph meshes and put together a definition file, according to the template for a morphable bodypart:
<mscope.things.BodyPart class="mscope.things.BodyPart$MorphPart"> <baseMesh>Accessories/MorphSphere/base</baseMesh> <partsCovered class="enum-set" enum-type="mscope.things.BodyPart$Category">ACCESSORY</partsCovered> <name>MorphSphere</name> <description></description> <slot>0</slot> <tags/> <morphTargets> <mscope.things.BodyPart_-MorphTarget> <mesh>Accessories/MorphSphere/large</mesh> <region>FULL</region> <menuName>Large</menuName> </mscope.things.BodyPart_-MorphTarget> <mscope.things.BodyPart_-MorphTarget> <mesh>Accessories/MorphSphere/high</mesh> <region>FULL</region> <menuName>High</menuName> </mscope.things.BodyPart_-MorphTarget> <mscope.things.BodyPart_-MorphTarget> <mesh>Accessories/MorphSphere/wide</mesh> <region>FULL</region> <menuName>Wide</menuName> </mscope.things.BodyPart_-MorphTarget> <mscope.things.BodyPart_-MorphTarget> <mesh>Accessories/MorphSphere/up</mesh> <region>FULL</region> <menuName>Up</menuName> </mscope.things.BodyPart_-MorphTarget> <mscope.things.BodyPart_-MorphTarget> <mesh>Accessories/MorphSphere/front</mesh> <region>FULL</region> <menuName>Front</menuName> </mscope.things.BodyPart_-MorphTarget> <mscope.things.BodyPart_-MorphTarget> <mesh>Accessories/MorphSphere/back</mesh> <region>FULL</region> <menuName>Back</menuName> </mscope.things.BodyPart_-MorphTarget> </morphTargets> <meshes> <string>Accessories/MorphSphere/base</string> </meshes> <materials> <entry> <int>0</int> <list> <material> <name>Accessories/MorphSphere/Sphere </name> <ambientColor>0.0 0.0 0.0 0.99609375</ambientColor> <diffuseColor>0.0 0.0 0.0 0.99609375</diffuseColor> <emissiveColor>0.0 0.0 0.0 1.0</emissiveColor> <specularColor>0.0 0.0 0.0 1.0</specularColor> <shininess>8.0</shininess> <maps/> <parameters/> </material> </list> </entry> </materials> <bindings> <boneBindings/> </bindings> </mscope.things.BodyPart>
As a matter of fact, this is only one of the many approaches I've tried. My first idea was to link every variant to a different morphing region, and so I did, but the result was the same: when selected, one and only one morphing slider control shows up, but the morphing cursor/selector is missing.
So I went for a more simple and unsatisfactory solution: a unique slider control for the FULL morphing region, but no progress was made: still no morphing cursor.
Analyzing the log file when selecting the experimental morphing accessories, a large number of exception messages are found, related to an error when the morphing slider control is going to be displayed:
Error while drawing component swingx.TransparentPanel[,0,0,1280x972,layout=mscope.ui.scenario.HUDLayout$1,alignmentX=0.0,alignmentY=0.0,border=,flags=16777217,maximumSize=,minimumSize=,preferredSize=] java.lang.NullPointerException at mscope.ui.charactershop.FeatureMorpher$FeatureSliderUI.paintThumb(FeatureMorpher.java:376) at javax.swing.plaf.basic.BasicSliderUI.paint(BasicSliderUI.java:918) at mscope.ui.charactershop.FeatureMorpher$FeatureSliderUI.paint(FeatureMorpher.java:350) ...
No wonder the slider cursor does not appear at all! Trying to display it wreaks havoc in the related code.
Replacing the FULL morphing region by other possible candidates, such as BASE or VARIANT1 was useless: the region icon changes but still no cursor:
Morphable accessory variant1.jpg 62.52KB 1 downloads
Maybe I'm missing anything and some workaround is feasible, but as of this date I get the impression the class accessory extending the superclass bodypart has no morphing region associated/defined, so objects in that class can't be morphed at all.