コード例 #1
0
def Cloth_Control_ClearSyflexCache_OnClicked():
	scene = XSI.ActiveProject2.ActiveScene
	
	folder = XSI.InstallationPath(constants.siProjectPath)
	scene = XSI.ActiveProject.ActiveScene
	folder = XSIUtils.BuildPath(folder,"Caches",scene)
	
	prop = PPG.Inspected(0)
	cloth = Cloth_Control_GetClothObjects(prop)
	model = cloth[0].Model
	
	# Reset to First Frame
	remote = XSI.Dictionary.GetObject("PlayControl")
	v = remote.Parameters("In").Value
	remote.Parameters( "Current" ).Value = prop.Parameters("FirstFrame").Value
	
	#deactivate delta storing state
	previousdelta = uti.DeactivateDelta(model)
	
	for c in cloth:
		syflex = c.ActivePrimitive.ConstructionHistory.Find( "syCloth" )
		#clear all cache.
		XSI.LogMessage("{Cloth_Control] Delete All Syflex Cache File for " + c.FullName)
		syflex.Parameters("ClearCache").Value = 2
		syflex.Parameters("Cache").Value = ""

	#reactivate delta
	if previousdelta>-1:
		uti.ReactivateDelta(model,previousdelta)
	'''
コード例 #2
0
def Cloth_Control_SetSyflexCache_OnClicked():
	scene = XSI.ActiveProject2.ActiveScene
	
	folder = XSI.InstallationPath(constants.siProjectPath)
	scene = XSI.ActiveProject.ActiveScene
	folder = XSIUtils.BuildPath(folder,"Caches",scene)
	
	prop = PPG.Inspected(0)
	cloth = Cloth_Control_GetClothObjects(prop)
	for c in cloth:
		syflex = c.ActivePrimitive.ConstructionHistory.Find( "syCloth" )
		modelfolder = XSIUtils.BuildPath(folder,prop.Parent3DObject.FullName)
		XSIUtils.EnsureFolderExists(modelfolder,False)
		
		path = XSIUtils.BuildPath(modelfolder,c.Name+".")
		syflex.Parameters("Cache").Value = path
		XSI.LogMessage("--------------------------------------------------")
		XSI.LogMessage("[Cloth_Control] Set Syflex Cache Path done for " + c.FullName + " : ")
		XSI.LogMessage(path)