Forum: Poser Technical


Subject: MT5 - any variations known?

kuroyume0161 opened this issue on Mar 29, 2007 · 10 posts


kuroyume0161 posted Thu, 29 March 2007 at 4:46 PM

All of the MT5/MZ5 files that I've checked use this:

actor $CURRENT
{
...
}

Is there any variation of this in use at all?  Yes, I already know about the MC6/MCZ format.  More interested to know if '$CURRENT' might have replacements!

Thank you very much,
Robert

C makes it easy to shoot yourself in the foot. C++ makes it harder, but when you do, you blow your whole leg off.

 -- Bjarne Stroustrup

Contact Me | Kuroyume's DevelopmentZone


lesbentley posted Fri, 30 March 2007 at 5:12 AM

It's hard for me to imagin what replacements for "actor $CURRENT" might possibly exist, other than to address the actor by its specific internal name, which of course does work, eg:
 
actor leftEye
actor Mag Base 3
actor box_2
actor LIGHT3

If you don't address the actor by name, or by saying "use the currently selected actor", what other method could be used to specify it? To answer my own question the only thing I can think of would be "actor $ALL", but I doubt that's implimented.

Les: I can’t imagin it.
kuroyume0161: That is why you fail.


lesbentley posted Fri, 30 March 2007 at 6:04 AM

As a little aside on the MT5 format. The reason we started reffering to things like;

actor box_1

and

actor Mag  3

Rather than;

prop box_1

and

magnetDeformerProp Mag  3

Is that, in P4,  using "actor" allowed poses to be applied to props even if the prop was not parented to a figure, but there still needed to be a figure in the document for any pose file to work, you wouldn't even get the check mark to load a pose at the bottom of the pose pallet untill a figure was loaded, nor would a Pose Dot work without a figure in the scene.

MT5 format seems to have changed all that. In P6 I can apply a pose to a prop (or light or camera) by saving it to the 'materials' folder and giving it an MT5 file extension. This works even if no figure exists in the document, and you can address the prop either by "actor $CURRENT", or by its own name, eg "prop box_1".


kuroyume0161 posted Fri, 30 March 2007 at 9:05 AM

I never assume anything with Poser although I agree that there probably aren't any other formats except direct and this one. ;)

There is also a test that I'm going to do to verify another assumption - that the MT5 is applied to any selected material in the Material Room.  I note that the material within sometimes has a very specific material zone mentioned and want to see if the material will be applied to any old selected material zone or if the names must match.  Not a biggie for me as I'm planning on allowing application to 'any old selected material' in my plugin.

Indeed it does. :)

C makes it easy to shoot yourself in the foot. C++ makes it harder, but when you do, you blow your whole leg off.

 -- Bjarne Stroustrup

Contact Me | Kuroyume's DevelopmentZone


lesbentley posted Fri, 30 March 2007 at 1:07 PM

It does seem to apply to the material selected in the material room, irrespective of the material name in the MT5 file, but I haven't done any exhaustive tests.


kuroyume0161 posted Sat, 31 March 2007 at 2:16 AM

That just makes me wonder more about "actor $CURRENT".  What is the purpose?  Can the Material Room only get the current material zone through the current actor?  My plugin completely ignores that line and just goes straight for the selected materials.  I can't see Poser working much differently here (except for only one material at a time).

Maybe this is another instance of how it was going to work and how it wasn't used afterwards after all.  These Poser developers don't seem to think file formats through very solidly - look at the PMD changes.  Or they are still somewhat strapped to archaic processes that leave little alternative. :)

Thanks!

C makes it easy to shoot yourself in the foot. C++ makes it harder, but when you do, you blow your whole leg off.

 -- Bjarne Stroustrup

Contact Me | Kuroyume's DevelopmentZone


lesbentley posted Sat, 31 March 2007 at 10:54 AM

Don't know if the following is of any interest to you, but I thought I would pass it on just in case, as it does relate to the actor line in the mt5.

You have gotten me interested now, I like a good mystery. I did some experiments with the Poser primitives in P6.

Loaded a box prop, applied the GROUND texture, sved an MT5. Edited the MT5 to read:

actor box_1
 {
 material xxx

Loaded new scene with Jessi and several Poser box props, some parented to Jessi.

The MT5  worked on any selected box, and on  the figure. I then loaded some more props, cones cylinders, etc, the MT5 worked on everything.

I edited the the MT5 to reffer to a ball prop:

actor ball_1
 {
 material xxx

I Reverted to the original scene with Jessi and the boxes. Now the MT5 would not work on anything! I added a ball prop to the scene. Now the MT5 worked on everything again.

I'm not sure what conclusions to draw from this, other than that the actor name is significant, and that it seems that an actor with the name used in the MT5 must exist in the scene before the MT5 will work. I haven't done any experiments using body part names as yet.

The material name seems to be irrelivent, you can even leave it blank, but there must be a 'material' statement, eg:

actor $CURRENT
 {
 material


kuroyume0161 posted Sat, 31 March 2007 at 1:05 PM

So 'actor $CURRENT' doesn't care, but actor [somename] requires that the actual somename be present to apply - but it will then apply to anything.  Interesting indeed.

C makes it easy to shoot yourself in the foot. C++ makes it harder, but when you do, you blow your whole leg off.

 -- Bjarne Stroustrup

Contact Me | Kuroyume's DevelopmentZone


Cage posted Thu, 05 April 2007 at 2:27 AM

Perhaps that restriction is similar to the need to have a figure in a scene before a pose can be applied to a prop?  Kind of suggests a similarity between pose implementation and mt5 implementation.  Maybe....

===========================sigline======================================================

Cage can be an opinionated jerk who posts without thinking.  He apologizes for this.  He's honestly not trying to be a turkeyhead.

Cage had some freebies, compatible with Poser 11 and below.  His Python scripts were saved at archive.org, along with the rest of the Morphography site, where they were hosted.


kuroyume0161 posted Thu, 05 April 2007 at 12:57 PM

Very plausible, cage.

C makes it easy to shoot yourself in the foot. C++ makes it harder, but when you do, you blow your whole leg off.

 -- Bjarne Stroustrup

Contact Me | Kuroyume's DevelopmentZone