Is there a way to turn smoothing on and off globally?

When posing a figure smoothing slows down workflow, is there a way to turn off all smoothing on all figures without having to select everything which also takes time to do.

Comments

  • I would love this feature.   It's one of the most challenging parts of my workflow.   AFAIK it doesn't exist yet though.

  • kitakoredazkitakoredaz Posts: 3,526
    edited January 2017

    I modified scripts  whch  offered by Richard for my purpose, before... ( I needed  to keep smooth modifier setting, or not hope to apply new modifier , and hope them work for all props or figures in current scene, at same time)

    first 2 scripts,  can turn all smooth modifier (which already you applied) of figure or props of current scene,, "on" and "off".   and other 2 scripts,  turn real time up-date "on" and "off"  of smooth modifier. 

    those 4 just change property of smooth modifier which already you appleid , then not auto-apply smoothmodifer. (so that it not change if you have not applied smooth modifier, about prop or figure,, and not change collison settings)

    I believe, some one can offer more good one,(eg gathered them as one, then toggle switch or add option to choose,,  but I do not play with daz scripti much, then at current just use those 4 scripts from smart content or content library when I need,  I must use them untill I save scene,, or pose,, then when I render, I use "on" script.

    or when I need to export obj with current smooth modified shape,  I may use "interective up-date" "on".   you can set them as user Action. too.

    because  it is pefectly beta , , then not hope to pack them as downloadable,  , but you can use them  if you need. copy and paste code then save them as dsa and name as you like,, smoothon.dsa, smoothoff.dsa etc.  and if you like to modify (or others) use them as you like, if you need. (no limitation)

    anyway,, just save them as. dsa,, and name them as you like, then  locate them in your library>script>sub directory which you made. 

    1.smooth "off"

    // DAZ Studio version 4.6.3.29 filetype DAZ Scriptvar nArray = Scene.getNodeList();var oArray = [];var pSmoothArray = [];var pUpdateArray = [];if (nArray){	if (nArray.length >= 1){		for( var i = 0; i < nArray.length ; i++ ){ 		  			var cNode = nArray[i];  	  				if (cNode.getObject()){  	  				  oArray.push(cNode.getObject()); 	  						  	  				}  	  			}   	  		}  	  	}   	  	if (oArray.length >= 1){  			for( var i = 0; i < oArray.length ; i++ ){  			var cObj = oArray[i]; 			print (cObj.getName()); 			var modSmooth = cObj.findModifier("DzMeshSmoothModifier");	 				if (modSmooth){ 					   print (modSmooth.getName()); 					   var pSmoothingOn = modSmooth.findPropertyByLabel( "Enable Smoothing" ); 					   var pUpdate = modSmooth.findPropertyByLabel( "Interactive Update"); 					   pSmoothArray.push(pSmoothingOn); 					   pUpdateArray.push(pUpdate); 					    print("smoothing On and Off --)" + pSmoothingOn.getBoolValue());  					    				 				} 			} 	} 	if (pSmoothArray.length >= 1){  			for( var i = 0; i < pSmoothArray.length ; i++ ){ 				pSmoothArray[i].setBoolValue(false); 				} 		   MessageBox.information("All Enable Smoothing-Off","Smooth off","&OK"); 		}else{ 		   MessageBox.information("There is no Modifier","no Modifier","&OK") 		   };

    2. smooth "on"

    // DAZ Studio version 4.6.3.29 filetype DAZ Scriptvar nArray = Scene.getNodeList();var oArray = [];var pSmoothArray = [];var pUpdateArray = [];if (nArray){	if (nArray.length >= 1){		for( var i = 0; i < nArray.length ; i++ ){ 		  			var cNode = nArray[i];  	  				if (cNode.getObject()){  	  				  oArray.push(cNode.getObject()); 	  						  	  				}  	  			}   	  		}  	  	}   	  	if (oArray.length >= 1){  			for( var i = 0; i < oArray.length ; i++ ){  			var cObj = oArray[i]; 			print (cObj.getName()); 			var modSmooth = cObj.findModifier("DzMeshSmoothModifier");	 				if (modSmooth){ 					   print (modSmooth.getName()); 					   var pSmoothingOn = modSmooth.findPropertyByLabel( "Enable Smoothing" ); 					   var pUpdate = modSmooth.findPropertyByLabel( "Interactive Update"); 					   pSmoothArray.push(pSmoothingOn); 					   pUpdateArray.push(pUpdate); 					    print("smoothing On and Off --)" + pSmoothingOn.getBoolValue());  					    				 				} 			} 	} 	if (pSmoothArray.length >= 1){  			for( var i = 0; i < pSmoothArray.length ; i++ ){ 				pSmoothArray[i].setBoolValue(true); 				} 		   MessageBox.information("All Enable Smoothing-ON","Smoothing-ON","&OK"); 		}else{ 		   MessageBox.information("There is no Modifier","No modifier","&OK") 		   };

    3. interactive up-date off  (if you have already set interective up-date = on,, it wil turn them off about all smoothing modifier)

    // DAZ Studio version 4.6.3.29 filetype DAZ Scriptvar nArray = Scene.getNodeList();var oArray = [];var pSmoothArray = [];var pUpdateArray = [];if (nArray){	if (nArray.length >= 1){		for( var i = 0; i < nArray.length ; i++ ){ 		  			var cNode = nArray[i];  	  				if (cNode.getObject()){  	  				  oArray.push(cNode.getObject()); 	  						  	  				}  	  			}   	  		}  	  	}   	  	if (oArray.length >= 1){  			for( var i = 0; i < oArray.length ; i++ ){  			var cObj = oArray[i]; 			print (cObj.getName()); 			var modSmooth = cObj.findModifier("DzMeshSmoothModifier");	 				if (modSmooth){ 					   print (modSmooth.getName()); 					   var pSmoothingOn = modSmooth.findPropertyByLabel( "Enable Smoothing" ); 					   var pUpdate = modSmooth.findPropertyByLabel( "Interactive Update"); 					   pSmoothArray.push(pSmoothingOn); 					   pUpdateArray.push(pUpdate); 					    print("smoothing On and Off --)" + pSmoothingOn.getBoolValue()); 					    print("interective update Off --)" + pUpdate.getBoolValue());  					    				 				} 			} 	} 	if (pUpdateArray.length >= 1){  			for( var i = 0; i < pUpdateArray.length ; i++ ){ 				pUpdateArray[i].setBoolValue(false); 				} 		   MessageBox.information("All interactive update OFF","OFF update","&OK"); 		}else{ 		   MessageBox.information("There is no Modifier","No modifier","&OK") 		   };

    4 interective on

    // DAZ Studio version 4.6.3.29 filetype DAZ Scriptvar nArray = Scene.getNodeList();var oArray = [];var pSmoothArray = [];var pUpdateArray = [];if (nArray){	if (nArray.length >= 1){		for( var i = 0; i < nArray.length ; i++ ){ 		  			var cNode = nArray[i];  	  				if (cNode.getObject()){  	  				  oArray.push(cNode.getObject()); 	  						  	  				}  	  			}   	  		}  	  	}   	  	if (oArray.length >= 1){  			for( var i = 0; i < oArray.length ; i++ ){  			var cObj = oArray[i]; 			print (cObj.getName()); 			var modSmooth = cObj.findModifier("DzMeshSmoothModifier");	 				if (modSmooth){ 					   print (modSmooth.getName()); 					   var pSmoothingOn = modSmooth.findPropertyByLabel( "Enable Smoothing" ); 					   var pUpdate = modSmooth.findPropertyByLabel( "Interactive Update"); 					   pSmoothArray.push(pSmoothingOn); 					   pUpdateArray.push(pUpdate); 					    print("smoothing On and Off --)" + pSmoothingOn.getBoolValue()); 					    print("interective update Off --)" + pUpdate.getBoolValue());  					    				 				} 			} 	} 	if (pUpdateArray.length >= 1){  			for( var i = 0; i < pUpdateArray.length ; i++ ){ 				pUpdateArray[i].setBoolValue(true); 				} 		   MessageBox.information("All interactive update ON","ON update","&OK"); 		}else{ 		   MessageBox.information("There is no Modifier","No modifier","&OK") 		   };

     

    smoothon1.JPG
    1032 x 546 - 82K
    smoothon2.JPG
    1149 x 758 - 128K
    Post edited by kitakoredaz on
  • GutoCraftsGutoCrafts Posts: 50

    I modified scripts  whch  offered by Richard for my purpose, before... ( I needed  to keep smooth modifier setting, or not hope to apply new modifier , and hope them work for all props or figures in current scene, at same time)

    first 2 scripts,  can turn all smooth modifier (which already you applied) of figure or props of current scene,, "on" and "off".   and other 2 scripts,  turn real time up-date "on" and "off"  of smooth modifier. 

    those 4 just change property of smooth modifier which already you appleid , then not auto-apply smoothmodifer. (so that it not change if you have not applied smooth modifier, about prop or figure,, and not change collison settings)

    I believe, some one can offer more good one,(eg gathered them as one, then toggle switch or add option to choose,,  but I do not play with daz scripti much, then at current just use those 4 scripts from smart content or content library when I need,  I must use them untill I save scene,, or pose,, then when I render, I use "on" script.

    or when I need to export obj with current smooth modified shape,  I may use "interective up-date" "on".   you can set them as user Action. too.

    because  it is pefectly beta , , then not hope to pack them as downloadable,  , but you can use them  if you need. copy and paste code then save them as dsa and name as you like,, smoothon.dsa, smoothoff.dsa etc.  and if you like to modify (or others) use them as you like, if you need. (no limitation)

    anyway,, just save them as. dsa,, and name them as you like, then  locate them in your library>script>sub directory which you made. 

    1.smooth "off"

    // DAZ Studio version 4.6.3.29 filetype DAZ Scriptvar nArray = Scene.getNodeList();var oArray = [];var pSmoothArray = [];var pUpdateArray = [];if (nArray){	if (nArray.length >= 1){		for( var i = 0; i < nArray.length ; i++ ){ 		  			var cNode = nArray[i];  	  				if (cNode.getObject()){  	  				  oArray.push(cNode.getObject()); 	  						  	  				}  	  			}   	  		}  	  	}   	  	if (oArray.length >= 1){  			for( var i = 0; i < oArray.length ; i++ ){  			var cObj = oArray[i]; 			print (cObj.getName()); 			var modSmooth = cObj.findModifier("DzMeshSmoothModifier");	 				if (modSmooth){ 					   print (modSmooth.getName()); 					   var pSmoothingOn = modSmooth.findPropertyByLabel( "Enable Smoothing" ); 					   var pUpdate = modSmooth.findPropertyByLabel( "Interactive Update"); 					   pSmoothArray.push(pSmoothingOn); 					   pUpdateArray.push(pUpdate); 					    print("smoothing On and Off --)" + pSmoothingOn.getBoolValue());  					    				 				} 			} 	} 	if (pSmoothArray.length >= 1){  			for( var i = 0; i < pSmoothArray.length ; i++ ){ 				pSmoothArray[i].setBoolValue(false); 				} 		   MessageBox.information("All Enable Smoothing-Off","Smooth off","&OK"); 		}else{ 		   MessageBox.information("There is no Modifier","no Modifier","&OK") 		   };

    2. smooth "on"

    // DAZ Studio version 4.6.3.29 filetype DAZ Scriptvar nArray = Scene.getNodeList();var oArray = [];var pSmoothArray = [];var pUpdateArray = [];if (nArray){	if (nArray.length >= 1){		for( var i = 0; i < nArray.length ; i++ ){ 		  			var cNode = nArray[i];  	  				if (cNode.getObject()){  	  				  oArray.push(cNode.getObject()); 	  						  	  				}  	  			}   	  		}  	  	}   	  	if (oArray.length >= 1){  			for( var i = 0; i < oArray.length ; i++ ){  			var cObj = oArray[i]; 			print (cObj.getName()); 			var modSmooth = cObj.findModifier("DzMeshSmoothModifier");	 				if (modSmooth){ 					   print (modSmooth.getName()); 					   var pSmoothingOn = modSmooth.findPropertyByLabel( "Enable Smoothing" ); 					   var pUpdate = modSmooth.findPropertyByLabel( "Interactive Update"); 					   pSmoothArray.push(pSmoothingOn); 					   pUpdateArray.push(pUpdate); 					    print("smoothing On and Off --)" + pSmoothingOn.getBoolValue());  					    				 				} 			} 	} 	if (pSmoothArray.length >= 1){  			for( var i = 0; i < pSmoothArray.length ; i++ ){ 				pSmoothArray[i].setBoolValue(true); 				} 		   MessageBox.information("All Enable Smoothing-ON","Smoothing-ON","&OK"); 		}else{ 		   MessageBox.information("There is no Modifier","No modifier","&OK") 		   };

    3. interactive up-date off  (if you have already set interective up-date = on,, it wil turn them off about all smoothing modifier)

    // DAZ Studio version 4.6.3.29 filetype DAZ Scriptvar nArray = Scene.getNodeList();var oArray = [];var pSmoothArray = [];var pUpdateArray = [];if (nArray){	if (nArray.length >= 1){		for( var i = 0; i < nArray.length ; i++ ){ 		  			var cNode = nArray[i];  	  				if (cNode.getObject()){  	  				  oArray.push(cNode.getObject()); 	  						  	  				}  	  			}   	  		}  	  	}   	  	if (oArray.length >= 1){  			for( var i = 0; i < oArray.length ; i++ ){  			var cObj = oArray[i]; 			print (cObj.getName()); 			var modSmooth = cObj.findModifier("DzMeshSmoothModifier");	 				if (modSmooth){ 					   print (modSmooth.getName()); 					   var pSmoothingOn = modSmooth.findPropertyByLabel( "Enable Smoothing" ); 					   var pUpdate = modSmooth.findPropertyByLabel( "Interactive Update"); 					   pSmoothArray.push(pSmoothingOn); 					   pUpdateArray.push(pUpdate); 					    print("smoothing On and Off --)" + pSmoothingOn.getBoolValue()); 					    print("interective update Off --)" + pUpdate.getBoolValue());  					    				 				} 			} 	} 	if (pUpdateArray.length >= 1){  			for( var i = 0; i < pUpdateArray.length ; i++ ){ 				pUpdateArray[i].setBoolValue(false); 				} 		   MessageBox.information("All interactive update OFF","OFF update","&OK"); 		}else{ 		   MessageBox.information("There is no Modifier","No modifier","&OK") 		   };

    4 interective on

    // DAZ Studio version 4.6.3.29 filetype DAZ Scriptvar nArray = Scene.getNodeList();var oArray = [];var pSmoothArray = [];var pUpdateArray = [];if (nArray){	if (nArray.length >= 1){		for( var i = 0; i < nArray.length ; i++ ){ 		  			var cNode = nArray[i];  	  				if (cNode.getObject()){  	  				  oArray.push(cNode.getObject()); 	  						  	  				}  	  			}   	  		}  	  	}   	  	if (oArray.length >= 1){  			for( var i = 0; i < oArray.length ; i++ ){  			var cObj = oArray[i]; 			print (cObj.getName()); 			var modSmooth = cObj.findModifier("DzMeshSmoothModifier");	 				if (modSmooth){ 					   print (modSmooth.getName()); 					   var pSmoothingOn = modSmooth.findPropertyByLabel( "Enable Smoothing" ); 					   var pUpdate = modSmooth.findPropertyByLabel( "Interactive Update"); 					   pSmoothArray.push(pSmoothingOn); 					   pUpdateArray.push(pUpdate); 					    print("smoothing On and Off --)" + pSmoothingOn.getBoolValue()); 					    print("interective update Off --)" + pUpdate.getBoolValue());  					    				 				} 			} 	} 	if (pUpdateArray.length >= 1){  			for( var i = 0; i < pUpdateArray.length ; i++ ){ 				pUpdateArray[i].setBoolValue(true); 				} 		   MessageBox.information("All interactive update ON","ON update","&OK"); 		}else{ 		   MessageBox.information("There is no Modifier","No modifier","&OK") 		   };

     

    this is just what I needed. Thank you very much love s2

Sign In or Register to comment.