Thanks Alok ! good ol' VBS code in these Python days :D
I'll give it a try ! Thanks again! M.Yara On Tue, Jul 3, 2012 at 2:26 AM, Alok <[email protected]> wrote: > sure thing, here it is (I am not attaching it, instead copying the code, > because google blocks vb scripts as attachments.) > > Also please note that it is very old and was written in a hurry. If I were > to rewrite this, I would write that with python with optimization wherever > possible. > > <code> > > > '----------------------------------------------------------------------------------------- > '................................................ > '...............FBX Exporter..................... > '................................................ > '................Alok Gandhi .................... > '................................................ > > 'Scene Preparation for exporting to FBX Format > 'Please Save your original scene before running this code as this will > 'delete absolutely everything except the Geo and Export Nulls for the FBX > > '----------------------------------------------------------------------------------------- > > > > > '----------------------------------------------------------------------------------------- > 'Declaring Variables > > '----------------------------------------------------------------------------------------- > Dim str, oNullList, oGeo, PickedElement, ButtonPressed, > ModifierPressed, oStart, oEnd > Dim oWeights, nWeights, tempWeights, srcObj, aweights, env > Dim env2, modelName, oDelList, nullCount > > > > '------------------------------------------------------------------------------------------ > 'Initializing Variables > > '------------------------------------------------------------------------------------------ > DeselectAll > Set oRoot = ActiveProject.ActiveScene.Root > str = "FBX_null" > modelName = "" > Set oNullList = GetValue("SelectionList") > Set oDelList = GetValue("SelectionList") > nullCount = 0 > > > > > '---------------------------------------------------------------------------------------- > 'Getting Information from User > > '---------------------------------------------------------------------------------------- > MsgBox "Please Pick the Geo of the Character" > > call PickElement( "polygon_mesh", "Select Geo", "Select Geo",_ > PickedElement, ButtonPressed, ModifierPressed) > > if ButtonPressed <> 0 Then > set oGeo = PickedElement > end if > > > > oStart = InputBox("Start Frame number to Plot Animation from.") > oEnd = InputBox("End Frame number to Plot Animation up to.") > > > > > > '----------------------------------------------------------------------------------------- > 'Making list of Envelop existing Deformers > > '----------------------------------------------------------------------------------------- > Set env = oGeo.Envelopes(0) > Set oSelection = env.Deformers > > > > > > '----------------------------------------------------------------------------------------- > 'Taking a Snapshot of Existing Weight Envelopes > > '----------------------------------------------------------------------------------------- > aWeights = env.Weights.Array > > > > > > > '---------------------------------------------------------------------------------------- > 'Making nulls and contraining them to Existing Deformers and Adding them > to a list > > '---------------------------------------------------------------------------------------- > For Each item In oSelection > > if item.type <> "eff" then > nullCount = nullcount+1 > set onull = GetPrim ("null",str & nullcount) > SIApplyCns "Position", onull.name, item.model & "." & > item.name > SIApplyCns "Orientation", onull.name, item.model & "." & > item.name > oNullList.Add onull > > end if > > Next > > > > > > > '--------------------------------------------------------------------------------------- > 'Applying new Nulls as deformers and resetting the envelope > > '--------------------------------------------------------------------------------------- > FreezeObj env > > For each nullitem in oNullList > > ApplyFlexEnv oGeo.model & "." & oGeo.name &";"&nullitem.name, > , 2 > > Next > > > set env02 = oGeo.Envelopes(0) > > env02.Weights.Array = aWeights > > > > > > > '---------------------------------------------------------------------------------------- > 'Plotting Animation on the new Nulls > > '---------------------------------------------------------------------------------------- > For Each item In oNullList > Set onullObj = item > PlotAndApplyAction, onullObj & "/kine.local.pos" , "plot",oStart ,_ > oEnd, , 20, 3, , , ,True , True, True > PlotAndApplyAction, onullObj & "/kine.local.ori" , "plot",oStart ,_ > oEnd, , 20, 3, , , ,True , True, True > DeleteObj "Mixer" > RemoveAllCns onullObj > Next > > > > > > '--------------------------------------------------------------------------------------- > 'Scene Cleanup > > '--------------------------------------------------------------------------------------- > modelName = oGeo.model.name > > If oGeo.model.name <> oRoot.name then > CopyPaste oGeo.FullName, , "Scene_Root", 1 > end if > > oGeo.Name = "FBX_Geo" > > set oDelList = oRoot.FindChildren( ,,, False) > > For each item in oDelList > if item.type <> "CameraRoot" then > if item <> oGeo then > > for each nullobject in oNullList > if nullobject = item then > flag = True > end if > next > > if flag = False then > DeleteObj "B:" & item > end if > > end if > end if > Next > > </code> > > On 02/07/2012 1:21 PM, Martin wrote: > > Is that script downloadable? I was writing an script like that a few > months ago, and I was considering to continue it but if there is already > something done I would like to take a look at it, if is possible. > > M.Yara > > > > On Mon, Jul 2, 2012 at 8:12 AM, Alok <[email protected]> wrote: > >> That is why in my script you will find that I am skipping the roots and >> create nulls only at joints. >> >> On 01/07/2012 7:01 PM, Eric Thivierge wrote: >> >> heads up. >> >> >> >> > > >
<<image/gif>>
<<Alok_Signature_email_.gif>>

