Seeking to understand the Daz content library file system
My desire to figure out how to manually install third-party assets on macOS has led me through a myriad of posts, videos, tutorials and blog entries. While I have eventually been able to muddle through to the point where I have been able to successfully have some success, the underlying reasoning as to how things is still opaque to me. In effect, when it comes to the structure of the assets folders there seems to be an odd mixture of rules and chaos - which makes understanding more difficult. Is the following at all correct?
Content: The ‘root’ of Daz’s default content library. If you are using multiple content folders, each is treated as a separate root - which may or may not be named “Content” (e.g. it could be “Aux Content Library”, etc.)
Runtime: Lives in the Content folder and its contents are organized based on Poser’s file structure. Any content you get which follows Poser’s format is broken up into one or more files which can go into one or more of these folders based on their specific file type or purpose. Q: Is it possible to determine which folder a file should go in based on its extension?
My confusion arises from the rest of Daz’s content folder in that it’s difficult to determine what rules exist about what subfolders (other than “Runtime”) should exist and what files should go in each? It doesn’t appear to be a straightforward matter of “files with extension .abc go into folder Xyz”, etc. as the UI in Studio supports arbitrary file structure - which content providers often take advantage of by sticking their name in the path (i.e. Characters/CoolStuffInc/Genesis/8/Female/Hobbit/Eleanor). The arbitrary nature of those paths is where I get lost. Q: Is there really no rhyme or reason to what file(s) go where? (Again, I’d love “extension X goes into folder Y, but that doesn’t seem to exist here.)
Presumably context filters come into play here - meaning that if something is in a “Genesis8/Female” folder would be available if the context filter was active and the currently selected figure were the appropriate type.
Making things more complicated for me is the fact that I’m on macOS - and that most of the tutorials assume Windows which appears to have some kind of auto-merge functionality when folders of like names are copied over each other. That’s why I’m looking for more explicit information as to what should go where. I’d be thrilled if official documentation existed somewhere, but if it does I haven’t been able to find it (although there is an interesting RFC here: https://www.daz3d.com/forums/uploads/FileUpload/73/4eeb0125b62a3cd287e1d67f4af2f3.pdf )
Thanks!
Aaron
Comments
As someone who installs stuff on Mac I also share your frustration with the "merging" of folder structures which doesn't happen by default when unzipping on the Mac. I have splatted the library folder once with a misplaced drag&drop causing many hours of work to go up in flames. After that I not only gave up on doing it manually and bought Content Wizard to handle installation but also started adding third party assets to a separate base folder from Daz store content.
Here are some of my findings while working to get stuff added:
Despite what some documentation says you cannot just unzip all packages into the base folder - even if merge was an option. Sometimes a PA will package something weird so when you unzip there will be something like "Package_Name/My Library/Runtime" etc - even Content Wizard chokes on these packages. In this instance you have to ignore the first two folders since "Runtime" must be a direct child of the base folder otherwise the asset will not work and you will get missing file errors.
I am too new to know the history behind why these things are the way they are. Some of it will be down to a reduced QA on some of the third party stores and maybe those assets are from less experienced PAs who haven't yet got to grasps with packaging products. But I am sure there is also legacy reasons with things being one way and then later things are done a different way and so depending how old the asset is it will be confirming to the old way of doing things verses the new way etc.
In theory, I believe that you can customise the structure if you really wanted - I have heard that some people work like that. However, I think Runtime and data should be left alone as those mainly contain support and configuration assets whose paths are explicitly defined. As I am a new user I don't really use the folder structure much and mainly rely on the Smart Content - that has it's own much discussed issues tho so is not a perfect solution either.
I use Windows but I expect the basic layout is the same.
Poser stuff that appears in the library - .cr2 files go in libraries\character, .pz2 files go in libraries\pose, .cm2 files go in libraries\camera, .fc2 files go in libraries\face, .hr2 files go on libraries\hair, .hd2 files go in libraries\hand, .lt2 files go in libraries\light, .pp2 files go in libraries\props, .mc5 and .mc6 files go in libraries\materials.
Poser support files - .obj files go in geometries and texture files (usually .jpg) go in textures
The directories under libraries can have sub-directories, most stuff is put in sub-directories. You can put stuff in whatever sub-directory layout you want as long as it's in the correct directory under libraries (in fact Poser doesn't care if you put stuff with the wrong extension in the wrong directory as long as it is one of the standard directories under libraries, I don't know if this is true for Studio).
Files in geometries and texures need to go in the correct sub-directory that the content expects them to be in.
For Daz Studio most recent content uses .dsf for support files and I think they have to be in the correct sub-directory under the data directory. Some older stuff has .dsf files for content that appears in the library.
Daz Studio .duf and .dsa files are content files which can go anywhere in the library as long as it isn't in runtime or data. As far as I know there is no way to tell what sort of content it is from the extension. There is a sort of convention over what content goes where but it isn't enforced by the software. Not all content follows the conventions and it seems to me that stuff sold by sites other than Daz is less likely to conform.
I don't think the smart content system uses the directory layout, it's all based on the metadata (but I don't use smart contentv so I wouldn't know if it was broken).
From what I know:
- Data: is the folder containing figure info (like basic loading settings, UV) and morphs. The directory isn't showed inside DAZ to avoid user editing. You can manually open files with a text edior and look.
- Runtime/Texture: contain al textures. If a Texture isn't placed inside this directory, DAZ can't load it if you load a new asset into scene
- Runtime/Support: contain files to group asset into products (so you can find them in Smart Content)
All others files can be placed everywhere inside your Library main direcotry.. it's a PA choise where to put them. So you can have dress, materials, etc..all inside the self custom directory or splitted inside many directories. Usually DAZ gives a standard for their PA (using exisitng direcotries).
PS all Poser compatible files (like old figures assets V4/M4) are placed inside Runtime because Poser can't read anything outside Runtime directory... so in a Poser product: models, UV, Materials, etc.. are all inside Runtime
It all started with Poser and while the idea of Poser categorization has probably sounded logical at the start, when one had gathered significant amount of assets, it quicly lost the luster... First you were digging for hours for the base geometry, then you did the same for textures for that geometry and started pulling your hairs out if the texture you were looking for, was made by someone else than the one who created the original geometry
When they came up with Mat Poses (material poses), that were actually 'textures' but placed within poses, the content library had become ones worst nightmare and was one of the reasons I took a 5 year break from even touching 3D modelling. Came back to DS 4.8 and found the content library structure much more logical and faster to use, although one can still see the Poser's legacy on some creators organization of the files, when they throw stuff that should be kept together all over the place.
The huge number of creators with their own ideas together with beginning creators that are still looking for the idea, counts for a portion of the mess as well
DAZ has not enforced standards for the folder structure for the User Facing files as they feel what the creator has decided, is the creators choice, apart from adhering to rules within 'Data* and 'Runtime' folders that need to be created correctly for the product to work.
The good thing with DS is, that apart from 'Data', 'Runtime' and to keep it safe 'Scripts', one can organize the library to please one own preferences... With two catches... If a product uses scripts to load assets, like the UltraScenery, all the files must be kept in their original folders for it to work (better create a content library of it's own) and the other catch is that if one moves the files within the folders used for 'User Facing files', one can't use DIM of DAZ Central to uninstall them anymore.
I install all the content manually, because it lets me place the 'User Facing files' to the location, where I think it should be and when this is done at the time of installation, it doesn't take much more time, but saves a LOT of time, when one doesn't have to hunt down products in a jungle of vanity folders and stuff that's obviously located in a wrong place. There's a house, should it be in Environments\Architecture, Props or even Poses? - Where one finds it, is anybody's guess if left where the creator thought it should be.
Wrote this earlier; https://www.daz3d.com/forums/discussion/comment/7635596/#Comment_7635596
I use custom categories to organise my content. I use DIM to install Studio content and I don't move it so DIM can update it. DIM can automatically find what products have been updated and apply the updates.
Custom categries take a bit of time to set up but once I had categorised everything already installed I just have to categorise new stuff as I install it. They also have the advantage that content can be in more than one category without being installed more than once. For example, I have a lot of clothes that are categorised both under historical and fantasy, some Sci Fi vehicles categorised under both air and space vehicles if I think they look OK in both types of scene.
If one is comfortable using the 'Smart' Content and trusts the database doesn't get sick, it's one way to do it, but I hear it too has it's limitations when the number of products increases.
I like having the same structure in Content Library and the folder structure I see with Windows Explorer and being able to find stuff fast in logical locations in both.
I already see what is the next place that's going to be a problem with categorizing stuff... The Parameters Tab and the locations where the dials are thrown into...
Thank you to each and every one of you who took the time to respond to my initial post. The amount of information and history you've provided is VERY helpful and answered a lot of questions that I didn't even know I had.
Clearly, this is one of those "yeah, it's complicated - but it's also flexible so as to allow you to structure your content in whatever way you see fit"-kinds of situations. Unfortunately, as I am new to DS it's all still extremely confusing - primarily because I'm finding myself having difficulty understanding what kind of content is used in what ways and with what compatibility considerations. (Not to mention I still learning DAZ's rather complicated and - to me at least - non-intuitive UI.) That puts me at a disadvantage in terms of being able to come up with my own categorization scheme. So until I clear those hurdles I may have to just punt and go with Content Wizard to get me going and make adjustments from there over time should it become useful.
The information on Poser files and where they go was also of great interest - and I assume that it's probably worth some additional research time to figure out just how interchangeable content is between the two apps. I used Poser a long, long (long) time ago but went with DAZ this time as it's free and I'm not sure how deeply I want to wade into back into these waters. If DAZ's learning curve turns out to be too steep then I may just jump ship and go back to Poser at some point. But for now, DAZ is the one I'm going to dance with.
To that end, I've done some reading and watched some videos for Content Wizard and I like how it helps manage metadata - whichI presume would help overcome my limited ability to define a good folder hierarchy for the browser. I figure that even if I can't drill down to an outfit that will work with a selected model (for instance) then at least the context-aware tools and search functionality can help show me what the available options are.
So as to help me organize my thoughts, are there any examples out there of what kind of content structures people use for their own files? I'm sure that seeing how other people organize things would help me understand the conceptual differences and similarities between (for instance) Genesis models, Poser models, morphs of each, clothing and accessories designed for specific models, etc.
Thanks again to everybody! All of your assistance had been extremely enlightening and helpful!
Best,
Aaron