Struggling to understand Runtime file structure and content...



  • @eclark1849 just so you're aware, there are gzip-aware text editors on both Windows (Notepad++) and macOS (BBEdit) which can transparently open, edit and save any compressed poser file (with the exception of pmd files which are not gzipped).

    It is also straightforward (if one has done the necessary research) to support these compressed format files within Python scripts, using:

    import gzip
    
    def LoadUVFile( path ):
    	gzipMagic = '\x1f\x8b\x08'
    	UVObj = object()
    	with open( path ) as file:
    		magic = file.read( len( gzipMagic ) )
    	if magic == gzipMagic: # Probably a gzip compressed .obz file
    		with gzip.open( path, mode='rb' ) as file:
    			UVObj.load( file )
    	else: # Try reading as uncompressed text file
    		with open( path, mode='rU' ) as file:
    			UVObj.load( file )
    	return UVObj
    
    

    As long as the gzip module is imported, and ignoring references to UVObj, which are only specific to the example code posted, if the initial file.read() detects the gzipMagic, you can open the file with gzip.open() or else just use the standard open().

    Doing both opens within the with block just means everthing gets closed in an orderly manner when the with block exits, but you can just as easily user the file handle returned by gzip.open() or open() and continue doing file.read() or other parsing at your leisure.

    This way, you don't need to bother with parsing file extensions the user may select, they just get handled appropriately.



  • Thank you for your responses, everyone. On the plus side, I'm relieved that largely what you're suggesting is aligned with what I've been trying - I think my issue is that I don't have enough experience with Poser to instinctively try different ways of achieving this.

    I've now gone back to my friend who sent the files to me and we're going to go from there. I avoided asking him in the first place because I didn't want him to think I was a complete idiot. At least now I have some evidence to prove that I sort of am...

    Also, I'm going to invest even more time in tutorials so that I can get a better feel for what to expect and what to do.

    @anomalous: thank you for taking the time to write your detailed description. I fear that I need to learn a few more skills before we can relate... :)



  • Thanks for the above - I've been doing just that: opening Poser Scenes and saving individual characters to the library.

    What I find odd (or at odds with my sense of order!) is that downloaded items end up in unexpected places. For example:

    The skin textures that come from DAZ's V4.2 are found in the Pose library (why the Pose library for a skin texture?) Other items I've bought from Renderosity and DAZ (such as hair and props) end up in Character or Pose (why not Props?)

    I don't mind this once I've learnt where to find them but it does make life difficult when I'm trying to place items in Runtime folders myself and decide where they should go.

    I bought (for free) a DAZ Sweater for V4. The readme told me to unzip the runtime to my Poser root directory which I did but I can find no trace of it in Poser. I eventually moved the files myself manually in Windows File Explorer.
    I can now see them in Poser but nothing will load (presumably I missed something).

    I have so many files in so many places now that I'm seriously thinking of uninstalling Poser completely, and re-installing it again.

    I'm generally pretty good at PC file housekeeping but Poser is driving me insane!!!



  • @rsk Hi,

    The problem with manually moving files around is that the files often contain pointers to other files, for example a prop, pp2 file will often point to an obj file
    :Runtime:Geometries:vendeor:productname:myobject.obj

    This means you can move the prop file anywhere within the SAME runtime and it will still be able to find the required obj file. If you move the prop file to a different runtime it wont be able to find the obj file. Same goes for characters, pose files that reference mat files etc.



  • Older content often has out of date instructions as to how to install.

    You should not add any content to the poser root directory which is installed in program files. It is also a good idea not to install anything into the poser 11 runtime in public users.

    Look at the contents of the zip file. If the first folder you come to is a folder called runtime you can use the install from zip archive feature in poser. This just automates the function of unzipping the file to the correct location. I've just noticed that you say a DAZ sweater. All DAZ from DAZ has a folder "content" that contains the runtime and so you can't use this method.

    If it is not, I find the easiest way is to unzip the file and then copy the runtime folder from it to the runtime I want it to go in. This means I can check it has merged properly.



  • Thanks for the info guys.
    In addition to this I've googled as much info as I can about Poser files, meanings and locations to help me tidy up a bit. Sadly, a lot of the articles are from a Poser 4 age so the info may be a bit behind the times as I'm using Poser 11. In any case, I'm guessing the basics are still OK.

    Out of interest, my install put the Runtime in C:\Users\Public\Public Content. Whilst most online docs have a root of C:\Program Files\Poser etc.

    I'm assuming that this doesn't matter as long as one is consistent...?


  • Poser Ambassadors

    It does matter. Don't put data in Program Files. Don't put 3rd party data in your Smith Micro runtime.

    Much of the advice conflict has to do with older Poser where multiple runtimes didn't exist, there was only one, and it was where your programs are kept. Also at the time, Windows didn't mess with your data in Program Files. Today that's a Windows no-no and there is no benefit either.



  • Wow, thanks for that - I didn't realise. A lot of my current 'mess' has been caused by self-extracting files from various sites throwing stuff everywhere.

    As I'm quite new to Poser, it's not too much of a big job to uninstall, wipe out the existing runtimes and start building (carefully) again.

    I suspect the best setup will be to preserve the ready-made Poser runtime and then create new ones for downloads and my own creations. I think DAZ likes to create its own runtime as well. I'm assuming that I can target any of these locations exactly when I'm unzipping.

    Many thanks,


  • Poser Ambassadors

    Here's a tip regarding downloads. Most come with the proper runtime structure and can directly be merged into an existing runtime. But for me, quite often, after trying out the freebie, I hate it and want to remove it.

    Only - if I merge right into an existing runtime that's very difficult.

    So I don't merge! I extract the zipped runtime into an empty folder, one dedicated to experimental downloads. That folder gets added to my Poser as an external runtime. All that I see in there is from the downloaded item. If it's crap I just blow it away. If it's not crap, I move/merge that into one of my permanent runtimes.



  • That's something I inadvertently did last night! Having previously failed to get the clothing prop installed, I created a completely new folder as you describe, added it to Poser and it worked. I'll now merge as you suggested.

    One other point that brings me back to an earlier question I had: the prop I installed is a DAZ Sweater that conforms to V4. One of the reasons it was confusing me is that the sweater itself appears in Characters, whilst the 4 colour options all appear in Poses.

    Call me picky but a sweater is neither a character nor a pose! I was rather expecting it to appear in Props!!
    I'm guessing that it's because there are so many morphs on it to make the sweater fit, it's treated more as a character than a prop, right?

    Either way, I'm still hoping for 'Poser for Dummies' :) :)



  • @rsk Hi, the sweater is in in characters because it is "conforming", i.e. it has the same bones as V4 so when you add it to the scene and choose conform, the bones in the sweater mirrors the movements of V4s own. Props do not have bones and cannot be conformed. If a prop, say a bracelet only covers one bone, it can be parented to that bone but you can only parent to the one bone.

    The material sets in the Pose is just a convention, sometimes they are in the pose folder, sometimes materials it doesn't really make any difference.



  • Basically Smith micro puts all its clothes in props, virtually everybody else puts conforming clothes in characters and dynamic clothes in props.

    As for skin textures and clothing, they can be two types of file.

    They can be .pz2 files. As it suggests these are pose files., and this is an older way of letting the user to automatically apply textures to a character.

    The other type of files are .mc6. These are material collections. If the vendor supplies pz2 files these are put by them in pose. If they supply .mc6 files these are normally in the materials folder, however I've come across at least one case where mc6 files have been put in pose. (There are other files in materials .mt5. These apply a single material, so while an mc6 file would apply textures to a complete item, the mt5 file only applies it a single material zone so for example on a piece of clothing you might be able to apply it to the main body, or the lining etc. Mc6 files only work properly on the items for which they have been made, mt5 files can be used on any item.)

    I would suggest if you are using Windows to get it to display file extensions if you don't have it this way already. This really helps when you are trying to sort out where files go from some freebies which are not properly structured.



  • @rsk said in Struggling to understand Runtime file structure and content...:

    That's something I inadvertently did last night! Having previously failed to get the clothing prop installed, I created a completely new folder as you describe, added it to Poser and it worked. I'll now merge as you suggested.

    One other point that brings me back to an earlier question I had: the prop I installed is a DAZ Sweater that conforms to V4. One of the reasons it was confusing me is that the sweater itself appears in Characters, whilst the 4 colour options all appear in Poses.

    Call me picky but a sweater is neither a character nor a pose! I was rather expecting it to appear in Props!!
    I'm guessing that it's because there are so many morphs on it to make the sweater fit, it's treated more as a character than a prop, right?

    Either way, I'm still hoping for 'Poser for Dummies' :) :)

    Until relatively recently, Poser originally filed conforming clothing under the heading of characters, as they were considered "figures", not props. The program still regards them as figures, in fact. However, the programmers apparently want them to be regarded as props. Most users and content creators still regard them as figures and put them in the characters library.


  • Poser Ambassadors

    Another point about the pose files for material collections.

    Before Poser 6, it was discovered, by users, that you could combine many materials into a "pose" file and even though the file was officially for poses, the Poser 4 and 5 code worked correctly to load ANYTHING that affects figures, not just the pose. The expressions, materials, scaling, etc. could all be packed together in a "pose" file.

    The developers thought that packing materials together was cool (it had not occurred to them) but made it official by introducing a dedicated file type for this, the .mc6 and added this as a new feature in Poser 6.

    The vendors, who didn't want to do pose files for Poser 5 AND material files for Poser 6 were all like "well why should I do both - the pose files still work".

    And here we are 12 years later and vendors are still refusing to make mc6 files, or, as noted, they're making them but then foolishly putting them in the Pose folder.

    Poser vendors are a strange lot.


  • Poser Ambassadors

    Poser developers started doing what new users expect about 9 years ago. They officially abandoned the antique idea that content that has bones and can be posed is called a figure and must be located in the "character" part of the content library. This astonishes new users and makes little sense.

    So a sweater, officially, should be in props now, but again the old vendors refuse to listen to how things are done and are still placing sweaters in where humans and horses go.


  • Poser Ambassadors

    The moral of the story:

    Unzip new content into a fresh runtime.

    Browse the FILE SYSTEM before you even load into Poser so you have some idea what's there and where.

    Only after you already know what to expect do you go into Poser's library and start visiting the various folders. Go in knowing already that you're going to find the materials in the pose folder, the clothes in the character folder, the hair in the lights folder, and the cameras in the materials folder. (Note that modern Poser lets you do nonsense like this.)



  • Thanks everyone - that all makes me feel slightly less dumb... :)



  • @bagginsbill said in Struggling to understand Runtime file structure and content...:

    Poser developers started doing what new users expect about 9 years ago. They officially abandoned the antique idea that content that has bones and can be posed is called a figure and must be located in the "character" part of the content library. This astonishes new users and makes little sense.

    So a sweater, officially, should be in props now, but again the old vendors refuse to listen to how things are done and are still placing sweaters in where humans and horses go.

    Well, in fairness to the vendors, the only thing that really changed was WHERE the programmers told you the clothes props should go and the file abbreviation to use. I get it, it made sense to the programmers, for some unknown reason, which they still haven't fully explained to anyone.



  • Hi

    I'm going to reply because I was working on this myself a few days ago, after not using Poser for a while, and having to get with it again.

    I have a suggestion if someone else didn't already suggest this.

    In your Smith Micro or Poser Directory create a new folder named My Poser and a subfolder named Runtime 2.
    In Poser go to the Library and import the new Runtime into it, you should now see both Runtime and Runtime 2 listed as well as a downloads folder. The Downloads Folder can be used as a Runtime but I'm going to ignore that for now because to the termanology.

    Try adding new content to the Runtime 2 folder instead of the original Runtime and see how it works.
    You won't mess up your original Runtime and if you screw up the new one you can just fix it or delete it.

    That's pretty much the way I add new content having it seperate from my master Runtime, and it also makes it easier to find the new stuff.

    This is important...

    When you download some addon for Poser and it contains a Runtime folder with all the sub files in place, place the Runtime in the My Poser folder, Not the Runtime folder that's already there. This is one of the most common errors that people who are new to this make.

    Don't paste the Runtime Folder into the Runtime Folder, it has to go into the parent folder.

    When you paste the new Runtime in the My Poser Folder it will merge the Runtime with the one that is already there and not just paste it into the existing one, putting all the content in it's correct place automatically.

    If you used the default settings when you installed Poser you probable have your real Runtime Folder in your Users folder but the new one you create can be anyplace, I prefer to put mine in the Smith Micro or Poser folder where it's easy to find.

    So installing new stuff that's correctly packaged is an easy one step process.

    But if you get a bunch of sub folders i.e. Characters, Textures etc, paste the folders into the Runtime folder and they should merge into the correct setup inside the Runtime folder.

    I hope this helps a little I remember how much trouble I had with this when I first started using Poser many, many years ago.

    Mike


  • Poser Ambassadors

    @bagginsbill
    The reason why content developers make mt5/mc6 and pose files, is that DS users can also use our content.