ElZagna opened this issue on Aug 19, 2013 · 14 posts
ElZagna posted Mon, 19 August 2013 at 6:49 PM
Like this:
Of course for Poser you would replace the slashes with colons.
I know they can use paths relative to the runtime, so why not relative to the containing file?
OS: Windows 10 64-bit, Poser: 10
ockham posted Mon, 19 August 2013 at 7:10 PM
For instance, in the above tree, a prop file needs to reference an OBJ in the geom folder.
Under current Poser practice, it's
objFileGeom ":runtime:Geometries:SignalHouse:periscope.obj"
By HTML practice, it would be
objFileGeom "../../Geometries/SignalHouse/periscope.obj"
Saves some characters but loses some clarity. It would allow a different directory structure not based on a folder named Runtime, but again I'm not sure the flexibility is worth the increased difficulty in automatic searching.
Specifically, when adding a set of folders to Poser's library, you'd have to navigate to the proper level without any definite landmarks. As it is, Poser is able to find the proper 'foundation point' automatically by looking for the folder named Runtime.
ElZagna posted Mon, 19 August 2013 at 8:13 PM
Good point about Geometries and Textures, but I was assuming that those folders would be referenced as they are now starting with "Runtime".
The reason I brought this up now is because I just downloaded Dawn and I noticed that they use the cursed pmd files. Pmd files are always referenced by the parent file with an essentially absolute path starting at "Runtime", e.g., the cr2 file for Dawn's String Bikini as ":Runtime:libraries:Character:HiveWire 3D:Dawn:Clothing:String Bikini:String Bikini.pmd". I'll call these things "runtime absolute paths" for the moment.
So why is that a problem? Well, many of us - maybe most of us - have abandoned the default directory structure and have implemented a structure that makes at least some kind of sense to the user. For the most part you can put characters, clothes, props.etc. anywhere that works for you. The main limitation is that you have to keep everything under the directories that come with the Library window (Character, Hair, Materials, Pose, etc.) For example, I put all my outfits in the Material directory tree. For materials, I put them in a subfolder under the item it was made for.
That works beautifully except when there is a pmd file because they are always referenced by a "runtime absolute path" which means that you can't move the item out of the exact directory tree that the vendor set up.
If Poser could recognize HTML style relative paths you could have the cr2 reference the pmd like this: morphBinaryFile "String Bikini.pmd". There's no leading path structure, so you assume it's in the same directory as the cr2. Now you can relocate everything to your heart's desire.
OS: Windows 10 64-bit, Poser: 10
andolaurina posted Mon, 19 August 2013 at 8:44 PM
I never understand why other content creators don't put PMDs in the Geometries folder or a separate morphs folder. That would free up the cr2 or pz2 file and folder to be moved wherever.
Poser Ambassador;
Poser 11 & 12 / DS4 / Metasequoia / Silo / Zbrush / realityPaint / UVMapperPro / XD 4
/ Ps CC / Fw / Ai / Painter 12 / Clip Studio Paint / Comipo /
Reality 3 / Windows 10 /
Units = Poser Native
lmckenzie posted Mon, 19 August 2013 at 9:00 PM
Very off the cuff thought (i.e. an excuse if I say something stupid).
From a programming standpoint, you'd have to have a way to say push the current folder on a stack and pop it off as you traversed the hirearchy - a fancy way of saying keep track of where you are. How many times you'd have to do that depends on how deep the references go. Not a huge challenge but then I say that every time I write code and am too often proved wrong, especially considering that I know nothing of how Poser is coded. It's much easier IMO, to do it explicitly. There's also the matter of handling both formats; again possibly easy or maybe not.
Can you not "simply" change the .pmd reference in the .cr2? It would be easy (I would think) to have a utility that would allow you to drag the .cr2 and the .pmd onto it and have it move the .pmd to the location of the .cr2 and automatically change the reference(s) in the .cr2, or select the .cr2 folder etc. Not as nice as having Poser do it but it wouldn't require re-jiggering Poser's code. Also, I wonder if souch a change might not require updates to other utilities out there that are written based on the current way of doing things,
"Democracy is a pathetic belief in the collective wisdom of individual ignorance." - H. L. Mencken
Keith posted Tue, 20 August 2013 at 12:57 PM
There's at least one Javascript utility out there that takes the PMD and inserts the morphs into the character (object, whatever) file, so you don't need the pmd at all. I use it all the time.
lmckenzie posted Tue, 20 August 2013 at 5:03 PM
*"There's at least one Javascript utility out there that takes the PMD and inserts the morphs into the character " *
Possibly Kuroyumes's MorphExchange - indeed works very well. I don't know if the link is still valid.
"Democracy is a pathetic belief in the collective wisdom of individual ignorance." - H. L. Mencken
bevans84 posted Tue, 20 August 2013 at 8:27 PM
For my personal pmd files, I make a directory under Libraries under my name, then put all my pmd files in that directory. Then modify the inj/rem files to address that directory.
That let's me move them anywhere I want.
Keith posted Tue, 20 August 2013 at 9:54 PM
Quote - *"There's at least one Javascript utility out there that takes the PMD and inserts the morphs into the character " *
Possibly Kuroyumes's MorphExchange - indeed works very well. I don't know if the link is still valid.
Yep, that's it. I use it all the time.
Netherworks posted Wed, 21 August 2013 at 12:31 AM
Quote - I never understand why other content creators don't put PMDs in the Geometries folder or a separate morphs folder. That would free up the cr2 or pz2 file and folder to be moved wherever.
Agree with you. I do. :)
.
msg24_7 posted Wed, 21 August 2013 at 4:44 AM
Quote - > Quote - I never understand why other content creators don't put PMDs in the Geometries folder or a separate morphs folder. That would free up the cr2 or pz2 file and folder to be moved wherever.
Agree with you. I do. :)
Even worse, when you find the .obj anywhere but the geometries folder :))
It's funny, when you have a look at the Poser manual...
you can read about Posers file structure and where every kind of file should go.
Like .obj in a subfolder of geometries, only to find, that most of Posers native content
has the .obj next to the cr2 within the library folder...
They should make it mandatory to put all .obj as well as .pmd (and all other kind of injection) into a subfolder within geometries.
Yesterday's the past, tomorrow's the future, but today is a gift. That's why it's called the present.
Snarlygribbly posted Wed, 21 August 2013 at 6:57 AM
Remove the path to the pmd, leaving just the name of the file.
In the absence of a path Poser will look for the pmd in the same directory as the CR2.
Free stuff @ https://poser.cobrablade.net/
ElZagna posted Wed, 21 August 2013 at 11:54 AM
I think that only works if you have file search preference set to shallow or deep.
OS: Windows 10 64-bit, Poser: 10
lmckenzie posted Wed, 21 August 2013 at 3:21 PM
“Even worse, when you find the .obj anywhere but the geometries folder :))”
I can only guess that the original intent was for ‘multi-use’ files to be in a central location. There were a slew of early items that referred to the gold reflection map for instance. Even today we have multiple .cr2s referring to Vickie’s geometry etc. so it makes sense. The alternative seems to be multiple copies or needing to be careful not to delete an .obj when deleting a .cr2 etc. when it still may be being used by something else. It would take an internal database tracking every reference to at least warn you in the latter case I would think. Oops, even then, you’d need to have a way to uninstall from within Poser or a constantly running service monitoring the file system., otherwise Poser would have no way of telling if you deleted something manually.
Now for ‘one off’ items I can see the utility of putting the .cr2 and .obj in the same folder, though it does violate consistency. Neither strategy is without its drawbacks and either one will irk some people I’m sure.
"Democracy is a pathetic belief in the collective wisdom of individual ignorance." - H. L. Mencken