DAZ 3D sink

· 3D animation · Application · #note/sink ·

DAZ University

Exporting

Basic config

to export a rigged char with rigged clothes
[x] Merge Followers
[-] Make Followers Static
[x]Allow Degraded Skinning
[x]Allow Degraded Scaling
[-] Base Pose Only

Objects

Props checkmark when enabled exports the props (wardrobe, etc) as separate rigged geometry. Other wise it's capture together with the character.

Figures

Merge followers
When off, the props will not be rigged.

Merge followers static.
When on the props will not be rigged. Guess it's suitable for simulations.

Allow Degraded Skinning ???

Allow Degraded Scaling.
FBX doesn't support full DAZ scaling, thus requires this on.

Properties

Installing downloaded pack

Place zip into DAZ\InstallManager\Downloads
Name manifest file after the zip name and place it to DAZ\InstallManager\ManifestFiles
If there's no xml title in the manifest files add the first line <?xml version="1.0" encoding="UTF-8"?>
Run DAZ manager, go to Downloaded and hit Install

Exporting

JS script

To export materials and textures
Open the tab Script IDE (if I remember well) , copy the script in the window, change line 8 to where you want the texture to be saved, then execute the script and you'll see in the log all copied textures

const aNodes = Scene.getNodeList();
var allImgs = [];
var uniqueImgs;
var imgMgr = App.getImageMgr();
var oSettings = new DzFileIOSettings();

// Path to copy images to
var saveImgPath = 'C:/Users/You/Pictures/Dump';
function processNode(node) {
	var obj = node.getObject();
	if (obj) {
		//print("Node", node.name, "Object", obj.name);
		var shape = obj.getCurrentShape();
		if (shape) {
			var aMaterials = shape.getAllMaterials();
			print("Shape ", shape.name);
			print("Num materials ", shape.getNumMaterials());
			aMaterials.forEach(
				function(mat) {
					//print(mat.name)
					// Collect images for this 'material'
					var aMaps = mat.getAllMaps();
					var aMatImgs = aMaps.map(function(m) {return m.getFilename()});
					// Add images for this material to all images array
					var aTmpImgs = allImgs;
					allImgs = aTmpImgs.concat(aMatImgs); 
				}
			);
			// Strip out dupes
			var uniqueImgs = allImgs.filter(function(v, i, self) {return self.indexOf(v) === i;});
			// Copy each unique image file to the save path
			uniqueImgs.forEach(
				function(i) {
					 print("Image filename: ", i);
					 var img = imgMgr.findImage(i);
					 var imgFile = new DzFile(i);
					 rtn = imgFile.copy([saveImgPath, '/', i.split('/').pop()].join(''));
					 if (rtn) {
						print("File copied");
					 } else {
						 print("File copy failed!");
					 }
				}
			);
		}
	}
}
aNodes.forEach(processNode);

Sagan plugin

Alembic exporter

https://www.daz3d.com/forums/discussion/428856/sagan-a-daz-studio-to-blender-alembic-exporter/p20

Diffeomorphic

Great 3rd party exporter for Blender

https://bitbucket.org/Diffeomorphic/import_daz/wiki/Home