JB_Pose |
This tool saves and loads character pose (into its own format). Mainly used for setting propper starting poses for different animation. It's almost same functionality like in Motion Builder (Kaydara's Filmbox at that time) |
JB_StabilizeBone |
stabilize bone in time at place of another objects. It's something that was quite unique in LW days - imagine that you character has a sword on his back. And in one scene, he put it on the table ... But the prop bone (onto which the sword is parented) is child of spine bone.... You simply put another instance of the sword on the table and specify the frame range. Then the bone _on the back_ which is child of the hand will be baked on that range to lay still on the table even if the characters moves. It's maybe funny these days with constrains in MB and all plotting, but it was nightmare those times ... |
JB_BakePath |
Bake path frame by frame. Pretty unbreakeble bake of anything, so you can use almost anything as a motion controller and you still endup with motion that you could export outside (let say... to the game engine? ;) |
JB_Bake_IK |
Bake IK on all items - Bake that bakes only IK enabled items |
JB_CopyPath |
Copy path from one item to another. We're mainly using it to create rigs in which we need to "save" remporarily the motion or use it on expression for example. Or in situations where you need to reparent something which already has motion on itself ;) |
JB_DeletePath |
Quickly delete all keyframes on current item (works with multiselection - of course) |
JB_KeyRestPose |
keyframe skeleton rest position on selected frame |
JB_MakeGoal |
It creates Null on selected bone, set IK and position this null on Schematic view. This was pretty cool, because it creates goals for IK chains and according to naming convention, it position the item icon in the schematic view on coresponding side of the skeleton item - left or right. Also it setup that null to be the goal and turn on reach and strength according to the name of the bone - if it is shoulder, elbow or knee, it was only helper... |
JB_RotatePath |
Rotate path on current item in Y axes. Center is current item position.LW Comunity always told me on the forums that it's impossible to be done - mainly because Holy Newtek give us only MovePath tool and not Rotate Tool - so in their heads, it was undenieable truth that if Newtek was unable to do it, it's impossible ;) But.. we desperadely need it, because when we were dealing with motion captured animation (lots of them), the actor doesn't walk always in the axis. I needed to strait him up in Z axes... So I wrote the SIMPLE rotate path tool in the Lscript ;), and it takes the offset, set the player to the zero in space and time and rotate it automaticaly so he was walking on the Z axis. But you were able to specify the angle - of course. |
JB_PatchMapSave |
Shade-Game Tool - Creates Enforce Map based on the polygons in current layer. The map was mostly brush based (same as Quake..) so it also saves Quake levels from the polygon meshes... cool to make spiral staircases or rounded corridors. |
JB_ShadeDebrisExporter |
Shade-Game tool - This tool exports debris objects and definition for Enforce engine. You position all the debris inside the main object and it creates the definition for the engine. Later, It became even more sophisticated tool which automaticaly create collision envelopes for AlphaPrime - our next game |
JB_Chainer |
It creates nice chain along the curve. From the simple 4point polygon that can be texturemapped by alpha clip texture for realtime rendering to complex chain pieces. We simply needed lots of chains (ingame and for artworks) for Shade: Wrath of Angels. |
JB_HipsOffset |
Shade-Game Tool. We have Motion Captured animations in our games (fortunately in all our games - we were lucky bastards), but the characters itself needed to be physics driven - obviously. So how to do it to have motion captured animation but still velocity driven entities? I actualy create linear path along the real one and then - by this script - alter the hips movement so main translation in the scene was done by the mesh (the master parent of the skeleton) and the rest of the natural motion was then computed and putted to the hips (by nature, the mesh was static and all translation and rotation was on the hips bone). By this, you could have realy complex mocap motions (even drunk people turning around and falling) and you still get linear, easily simulated motion on the main mesh. |
JB_Shade_CameraSave |
Shade-Game Tool - Complete system that saves cameras from layout. Even that the Shade and Alpha Prime has brushed based levels, we were able to export the generated geometry, so we were able to does WYSIWYG camera flybys in Layout and then just export that motion to the game.. At the end, it evolves to JB_CutSceneSave, which saves whole cutscenes from Layout. |
JB_AddPlayerPivots |
Shade Tool - Add Shade weapon pivot to game character. Just helper. Adds all the pivots for props, weapons and other rig stuff to the plain skeleton. It was created mainly because I was lazy to always go back to the main setup, so this will create our main character setup from any game skeleton ;) |
JB_Attack_Info |
Shade Tool - Saves attack range info based on the animation and hand pivot. First we need that for being able to estimate average values and also for being able to fill all the ingame tables with those numbers. It gets height of the swings, rates, speed, lenght of the swings, times for start, hit and end of the swings and those boring statistics... |
JB_Collision_Export |
Shade Tool - Saves collision setups for game characters. We used collision sheres to detect hits in the Shade, so I wrote this to be able to visualy create (and then endlessly tweak later) collision spheres (real slightly transparent ones) over the particular bones and try to cover whole part into those in most possible poses. Then, it saves the setup for that collision spheres, in which bones they belong to, the offsets, sizes and other flags like body parts and damage weigt. |
JB_CutSceneSave |
Shade-Game Tool - Complete system that saves cutscene directly from layout. For Shade, I created all cutscenes in Lightwave Layout and saved them directly to our fileformats. For AlphaPrime, it then evolved and all Alpha Prime cutscenes was done in the Motion Builder. I then wrote scripts even for MB to, for example, process the camera switcher and export the camera cuts with from MB. |
JB_Enforce_Coords |
Shade Tool - Thias tool converts Layout positions of current selected item into Enforce coordinate system and open them in notepad for direct copy/pasting into level definition file |
JB_EntLights |
Shade Tool - This tool creates propper lights in layout based on the game map file. So we have same lighting in layout as in the game itself. First, I though that I will be able to generate lightmaps with radiosity and AO and soft shadow for the game, but then we scratch that idea (baking was so slow). But still I had same light in the Layout as in the game when I was creating all those cutscenes. That was cool ;) |
JB_FirstLastFrameSetPreview |
Shade tool - This tool looks at character root bone and sets the Preview first and last frame according to first and last frame on that bone. It's used for quick scene setup when lots of animations from Motion Capture is processed |
JB_GiveHimSword |
Shade tool - This tool add a sword to player's hand. We doesn't have other models in the exported scenes than the character mesh itself and his bones. The scenes was cleaned. So sometimes, I just need to quickly load the propper mesh, parent it to the weapon bone in his hand and - most importantly - set the pripper affset. And because there were few of them according to the actual weapon, I rather create this script to be able to forgot those number ;) The script remembers them for me... |
JB_save/loadbonemot |
It saves bone motion by one click - I was using it more like a clipboard to copy the motion from one item to another... |
Lots of other stuff |
Through out the next years, I created lots of other scripts for Alpha Prime in Black Element, Centauri Production - I actualy reverse ingeneered their game-scene format and create complete wysiwyg import/export for it, then at Pragofilm/Bross for movie production of Saxana2 and finaly now at 2k games, where I'm working as a senior animator and sort of TD. Because I'm working with Motion Capture and mainly in Motion Builder, I'm scripting MB in python most of the time |
Just a quick personal note - archijam: I'm not messing with anybody ;)