How to set up smart content connections for props and presets ?
Edit: the first severalposts are mainly me trying to follow the video and documentation to set up Smart Content for something I've just about completed.
Once I'd got that sorted out it was time to start asking sensible questions.
The last time I released a DS-native prop was 5 years ago (DS4.5).
I'm getting ready to release a new one - some books.
'Categories' and 'Smart Content'are something I ignored last time (assuming they existed back then). I don't personally use Categories or Smart Content, so I'm in the dark about them.
I saw Richard's comment here about Categories, but I don't see any appropriate category - Default>Props>General/Other are the only ones I see that would suit. Any comments ?
As well as the props I have Material and Properties presets. I assumethat somehow I can associate these with the props using Smart Content. But how ?
(I know these questions have certainly been covered many,many times so a couple of links to approprate threads, posts, or text articles (I dislike videos) would suffice)
Edit: with theright search terms Google just found this post in the How do I set up Smart content for DS4.6? and can I save autofitted clothing/hair into smart content? thread which has a couple of old links, this Adding things to Smart Content thread,anda few others.Many of them point to these two things:
- Documentation Centre - Adding Metadata to Products
- Youtube video - Adding MetaData in DAZ Studio 4 6 (aka Slosh's tutorial)
( Ah ! Now I remember why I didn't bother with it last time ! )
Comments
Based on those two links (Documentation Centre and Youtube) I started playing.
Slosh's video uses conforming clothing, but I'm working with a prop. Well, what used to be referred to as a prop, i.e. from a Poser PP2 file. But not a Prop type as far as the Content DB Manager is concerned (more on that later perhaps) Edit: I've realized I was talking rubbish there !
Anyway, the first thing Slosh does is to tell DS what the stuff is by loading it all and creating a new root compatibility base for the product.
I think I can do something along the same lines, so here's a rather jumbled screenshot collage for setting up the compatibility base for one prop (note:this is a test run - I'll be recreating the props from scratch once I've got all this sorted out). Halfway through the process I realized that my compatibility base is really something like "Books using my 64 book UV map". I have 14 separate props, 6 material presets, and a properties preset.All the presets can be used on any of the props, and the presets are all specific to these props.
Edit:whoops! that collage missed out the selection of Edit > Set Default Compatibility Bases from the Scene tab context menu. Plus I have my Scene tab on the left which confuses things.But hey,this is just a test run. Maybe I'll redo the image and upload the corrected one tomorrow (New image created and uploaded, old incorrect onedeleted)
Note: I have my Scene tab on the left - most people willhave it on the right.
The first step is to load the prop and select it in the Scene tab (1), then I followed the number sequence in the image below:
The next step on the video (around 4m23) is to go into the Content DB Editor and set up metadata.
This is where I noticed that there's no 'Type' that a stack of 64 books would fit. It's not a 'Prop' (in the way the Content DB seesthings). Neither is it an Actor>Character, Follower (of any sort), etc. Scene and Set are the closest - but it's neither a Scene nor a Set. Edit:It is in fact (and of course!) a Prop. I was labouring under the misapprehension that I had to select Prop > BodyPart,which of course I don't. I can simply select Prop.
So what 'Type' should a stack of 64 books be ? (Edit:I should have clarified that my 'stack of 64 books' is a single item, and not 64 separate items in a stack.And thequestion is answered by simply clearing up my misunderstanding of the previous paragraph. So of course it's a Prop! )
Anyway, I had a look at the Documentation Centre link and noticed that the process there starts with 'Create Product Database Entry',followed by 'Link SceneID and Compatibility Base',then 'Finalize Metadata in Content DB Editor' and 'Add Product Icon'.
So maybe I should create a product database entry while I wait for somebody to tell me what 'Type' my stack of books should be ?
But zebedee tells me it's time for bed...
Right, morning coffee in hand it's back to creating a product database entry. I'm working in 'My Library', which I only use for temporary stuff, so the stuff I want is in here along with some junk. So I'm using the slightly more fiddly way under the "Start Product Entry (To create meta-data for a product installed into a Content/Runtime structure containing other products, follow these steps) " part. It doesn't actually say (unless I missed it) how to remove unwanted items that you've added to the product, but I managed to work that out for myself !
(DS4.8 screenshot collage)
So now I have all my props,presets and scripts assigned to a new product
(N.B. don't forget that this is a test run, so the files and icons aren't the finalized ones)
(DS4.8 annotated screenshot)
Next step from the Documentation link is to 'Categorize Product and Files'...
A stack of books might be a "Set".
I couldn't see any distinction between 'Set' and 'Scene' - I'd assumed that 'Set' was intended to be the equivalent of things like movie sets... so like a complete scene. But then having 'Set' and 'Scene' makes no sense.
Soooo... if things like a big terracotta pot, a log, a frying pan, etc would be considered as Type 'Set' too then I'd probably be happy to go with that. Edit: sorry,I forget to mention that the stack of books was a single item, not a stack of separate items. Edit2: I realized later that I wastalking rubbish! Of course my stack of books is a Prop !
P.S. I've just started doing the 'Categorize Product and Files' in accordance with the documentation link and realized that 'Type' (which seems to consider a 'Prop' as something attached to the body) [Edit: I was talking rubbish there!] is different from 'Category'. My books would seem to fit the 'Props' Category. But I'm not sure about how the presets should be categorized. And I have a few other queries about categorization too - points 4 to 7 on the attached image.
(DS4.8 annotated screenshot collage)
Since this is just a test run...
- Props>General
- Materials>Other (for the 3Delight mat presets)
- Materials>Iray>Other (for the Iray mat presets)
- Presets>Poses (for the properties preset)
- Utilities>Scripts
Next step from the documentation link - 'Link SceneID and Compatibility Base'. Fairly straightforward, but changed slightly since that document was written.
Loaded the three props and then set upthe compatibilty base stuff for each in turn. I also set 'Type' to Set (as suggested by Barbult, but based on a misunderstanding that was completely my fault! ), and Preferred Compatibility Base to the same thing as Compatibility Base.
(DS4.8 screenshot collage)
Next step in the documentation link is 'Finalize Metadata in Content DB Editor', which was where I'd got to in Slosh's video... ah! Going back to the video I see that Slosh now sets up categories and types from the Content DB editor. So maybe I should have just stuck with the video ?
Anyway, and regardless, the next step is the Content DB Editor...
(going to the Smart Content pane now I get stuff that's unrelated, probably because the next stepis essential-ish...)
It appears that I have to set up compatibility base again,but in the Content DB Editor, as per the video.
(DS4.8 screenshots / collages)
And now the Smart Content pane for any of the three props contains all the other items
I also tried loading the same 64-book row prop into DS4.9 (on the same laptop) - Smart Content working fine there too.
So now I think I have a basic idea of what I need to do.And I think I canstart asking sensible questions about specific bits of the procedure.
Edit: (Added to this post because I'd sorted out the basics of the procedure by this time, and I want to restrict new posts to being specific questions).
Next step is to delete everything and start again, doing it properly this time.
I started my copying eveything from my 'ongoing work' content library (which happens to be 'My Library') to a backup and then deleting everything.
However, the 'Product' still appears in Smart Content (with nothing loaded/selected in the scene) and Content Library tabs.
So I restored the files from my backup,opened DS4.8, and deleted the product via the Content Library (note: there's no way to delete them from the Smart Content tab).
The Product disappeared from Content Library > Products and Smart Content > Products but the files are still there (both in Content Library > DAZ Formats > My Library and Smart Content > Files, and also if I look in Windows Explorer) and I can still load the props.
So I tried closing and restarting DS4.8 - the files are still there.
Closed DS4.8 again, manually deleted everything from My Library, and re-ran DS4.8. That seems to do the trick.
So the procedure for completely deleting a product seems to be:
1) Content Library > Products,select product name,right-click,select Delete
2) Delete all the files associated with theproduct (I did this in Windows Explorer, but I guess doing it from the DS Content Library pane would work too)
A pot, a log, or a frying pan would be props. Props are not just things attached to a person. Look at your content library. I bet you have thousands of props that are things like furniture and books. I thought you were describing your group of 64 books as a combination of things. If they load as one object, I'd say they are a prop.
Yes indeed, my thoughts exactly.
(I should have clarified that my stack of 64 books was a single item, and not 64 separate items in a stack - I've amended that post to note my mistake and my stupidity ! )
I appear to have confused myself into thinking that if you set 'Type' to Prop in the Content DB Editor you have to specify one of the subcategories, which are body parts... which is where this odd comment of mine came from:
But you don't, so I was talking rubbish* ! (nothing unusual there then)
So Type should indeed be 'Prop'.
(attached image to help prevent me labouring under this misapprehension again)
*original comment struck through and marked as being rubbish !
Time for my first sensible question.
Q1: If my scene contains just one of my props, nothing else, and I select that prop and look at the Smart Content pane, why do I also see three other unrelated products ?
(ignore the yellow triangle with an exclamation mark on my 'product' - I think I just need to allocate an icon but missed that step. Edit: yes - 'Add Product Icon' near the bottom and quite simple, except that the Runtime/Support folder is put in the default DS content folder, not my working one. Have to remember that when I'm gathering the files for the final zip)
All the individual items that make up my product seem to appear correctly under Smart Content, but I have these spurious things from those other three products showing up too (DS helpfully highlights them in blue).
It depends on what the items in the other sets are compatible with - it may be that there are some shaders or the like that are compatible with everything (though I'm surprsied the Default Resources don't show then).
Thanks Richard, that appears to be the correct answer as those three products show up in Smart Content regardless of what item I have loaded and selected.
Unless of course those three items have incorrectly set up compatibility bases?
Edit: separate Any way to prevent Smart Content showing non-specific content ? thread on DS Discussion forum.
Confirmed - the spurious items do indeed have Compatibility Base set to 'AnyObject'.
So I can ignore that problem.
(That's the sort of problem I like !)
Looks fair, since they will presumably target any node.
Second sensible question
Q2: How does one use the .dsa and .dsx file pair from <Content Library>/Runtime/Support to add a product (which wasn't installed using DIM) to Smart Content ? Is it simply a case of running the <Content Library>/Runtime/Support/<product>.dsa script from within DAZ Studio ?
I know (from previous posts in this thread) how to create the support file pair fom scratch within DAZ Studio, and that process appears to add the product to Smart Content.
I also know from reviewing my content library that all products that were downloaded and installed using DIM appear in Smart Content.
However, I didn't use DIM for most of my content and, although a fair proportion of those products have the support file pair, they don'tappear in Smart Content. I've just ignored this till now.
Content Library option menu>Content DB Maintenance>Reimport Metadata will let you import metadata. The script will also do the job - it used to get placed in the RunOnce folder, in the days of Bitrock installers.
That only seems to show products that already have metadata installed, which is probably why it says 'reimport' rather than 'import', so it doesn't seem to help.
And I thought that only stuff I'd downloaded and installed via DIM was in the Content DB, but I also see (highlighted on the Import Metadata popupin the screenshot):
- Other DAZ stuff that I didn't use DIM for, mainly for generation 4 (not shown on screenshot)
- Dusk and Dawn from Hivewire. (I can't recall whether these had installers or a manual procedure, which may have included running the support script)
- three items from ShareCG.
I'm 99.9% certain that I didn't run the support DSA files from the three ShareCG items. So how did they get into the Content DB ?
Creating a product puts the DSX file in the Support folder, so it should show in the re Import dialogue (that will show new metadata as well as existing, which you obviously don't need to reimport) - of coruse you do need to copy the files across to the system on which you want to import the metadata. If the items weren't installed via DIM/Bitrock and you didn't manually import the metadata I'm not suer how they could have been added.
Third sensible question:
Q3: When I try to 'Add Root Catergories To Selected File(s)' from the Content DB Editor the huge list of categories is too big for the screen, but it doesn't scroll (note: I'm using DS4.8*). So how do I see the columns of categories that are off the screen ?
(I found a fairly easy workaround - see below the first screenshot)
*Is this still the case on DS4.10/4.11 ? If so another bug report may be in order.
Edit: To get around that I can manually categorize the item(s) via the Content Library. But that doesn't update the FBX file. I have to select Products > WhateverMyProductIs fromthe Content Library, open the Content DB Editor from the Content Library context menu, check that the category I've just added is shown, and Accept (without changing anything) in order to update the FBX file.
I'm not sure if it's been fixed in recent versions - I think so. But I usually do my caegorisation in the folder view, apart from anything else it makes it much easier to see which are 3Delight materials and which Iray.
The freebie this thread was related to was released a year ago. The smart content worked fine in my tests, and I've had no reports of any problems.
However, while trying to answer a question that was raised recently I've just spotted an oddity - in the smart content for this 'product' there's an icon consisting of an exclamation mark in a triangle in a picture frame, with no associated file.
It also appears on the Content Library pane in the Product section for this item.
Here's a list of all the DUfs, DSAs, and DSXs that are part of the product:
Metadata (Support) Files
------------------------
\DS Content\Runtime\Support\Books_(64_Book_Mapping).dsa
\DS Content\Runtime\Support\Books_(64_Book_Mapping).dsx
Props
-----
\DS Content\Props\3DCheapskate\Books\64 Book Mapping\Books (Row Of 01) Map64.duf
\DS Content\Props\3DCheapskate\Books\64 Book Mapping\Books (Row Of 02) Map64.duf
\DS Content\Props\3DCheapskate\Books\64 Book Mapping\Books (Row Of 04) Map64.duf
\DS Content\Props\3DCheapskate\Books\64 Book Mapping\Books (Row Of 08) Map64.duf
\DS Content\Props\3DCheapskate\Books\64 Book Mapping\Books (Row Of 16) Map64.duf
\DS Content\Props\3DCheapskate\Books\64 Book Mapping\Books (Row Of 32) Map64.duf
\DS Content\Props\3DCheapskate\Books\64 Book Mapping\Books (Row Of 64) Map64.duf
\DS Content\Props\3DCheapskate\Books\64 Book Mapping\Books (Stack Of 01) Map64.duf
\DS Content\Props\3DCheapskate\Books\64 Book Mapping\Books (Stack Of 02) Map64.duf
\DS Content\Props\3DCheapskate\Books\64 Book Mapping\Books (Stack Of 04) Map64.duf
\DS Content\Props\3DCheapskate\Books\64 Book Mapping\Books (Stack Of 08) Map64.duf
\DS Content\Props\3DCheapskate\Books\64 Book Mapping\Books (Stack Of 16) Map64.duf
\DS Content\Props\3DCheapskate\Books\64 Book Mapping\Books (Stack Of 32) Map64.duf
\DS Content\Props\3DCheapskate\Books\64 Book Mapping\Books (Stack Of 64) Map64.duf
Scripts
-------
\DS Content\Scripts\3DCheapskate\Books\64 Book Mapping\Connect_Existing_Tiling_Offset_Proxies.dsa
\DS Content\Scripts\3DCheapskate\Generic\PostLoad_Select_This_Props_Node.dsa
Properties Preset
-----------------
\DS Content\Presets\Properties\3DCheapskate\Books\64 Book Mapping\Zero All Book Adjustments.duf
3Delight Material Presets
-------------------------
\DS Content\Presets\Materials\3DCheapskate\Books\64 Book Mapping\3Delight\Classics 01 (3Delight).duf
\DS Content\Presets\Materials\3DCheapskate\Books\64 Book Mapping\3Delight\Pulp 01 (3Delight).duf
\DS Content\Presets\Materials\3DCheapskate\Books\64 Book Mapping\3Delight\Pulp 02 (3Delight).duf
Iray Material Presets
---------------------
\DS Content\Presets\Materials\3DCheapskate\Books\64 Book Mapping\Iray\Classics 01 (Iray).duf
\DS Content\Presets\Materials\3DCheapskate\Books\64 Book Mapping\Iray\Pulp 01 (Iray).duf
\DS Content\Presets\Materials\3DCheapskate\Books\64 Book Mapping\Iray\Pulp 02 (Iray).duf
So any ideas where that spurious exclamation-mark-in-a-triangle-in-a-picture-frame icon for a non-existent zero byte file icon comes from ? (yes, I started a new thread for it)
Yes, I'm aware that you get that icon if a file that should exist is missing - e.g. I have all my content on an external hard drive, so if I open DS without connecting that drive then I get that icon for every item as shown below:
However, it normally has a name below the icon, and it normally tells me the missing file's name on the hover popup (as shown in that screenshot... but why doesn't it show me the file path as well ? Edit: it appears that it does show the path, the full path drive letter and all, but only if the file exists)
As far as I can see there's a correct icon for each of the DUF files and a correct icon for each of the two scripts that I wrote.
The metadata files are still there in the correct place, so I don't think it's the...
...hang on a mo',
...ah !
...looking at the XML file in Notepad++ I think I see the culprit...
<ContentDBInstall VERSION="1.0">
<Products>
<Product VALUE="Books (64 Book Mapping)">
<GlobalID VALUE="7bcf566f-4861-4003-959b-e5ce6b68f42c"/>
<Assets>
<Asset VALUE="Scripts/3DCheapskate/Books/64 Book Mapping/Creation/AddMy4ParametersWith2ERC.dsa">
<ContentType VALUE="Script"/>
<Audience VALUE="Teens"/>
<Categories>
<Category VALUE="/Default/Utilities/Scripts"/>
</Categories>
<Compatibilities>
<Compatibility VALUE="/Books (64 Book Mapping)"/>
</Compatibilities>
</Asset>
<Asset VALUE="Props/3DCheapskate/Books/64 Book Mapping/Books (Row Of 01) Map64.duf">
...
That's a script that was only needed when I was creating the books.
D'you reckon that's the culprit then ?
But that still begs the question "why doesn't it show the name of the missing file ?" If it had then I wouldn't have had to go through all this.