SetDrivenKeyEXMasterMC
(LScript version 2.5 only)
BRIEF If you havent read the readme for SetDrivenEXKeyCF, please do so before proceeding to this documentation. There I cover the topic of Relations Channels which is essential to know to operate this LScript. This LScript enhances the useability of SetDrivenEXKeyCF, not only by easier application of the SDKCF through batch loading, but also having complete control over the settings of every SDKEXCF instance from this interface. The functionality is now much closer to Maya's Set Driven Key than it was with SDKCF. Good thing? You decide.
INTERFACE The interface is resizable. The interface is separated into four distinct sections: Driver Channels, Driven Channels and Channel-Related Commands, SDKCF Settings-Related Commands, and Key. I'll explain them briefly before moving to an example for usage. 1.) Driver Channels (Targets): the driver, or target is the channel that is being looked on for reference. Literally it drives the channels of the driven. Only the first selected driver is recognized and valid when any operation relating to the drivers is executed (i.e. Key A and Key B). 2.) Driven Channels (Sources) and Channel-Related Commands: the driven are the channels that SDKCF will be applied to. Think of this as similar to the Graph Editor's Channel Bin. 2a.)Add Lyt (Add Layout), Append Lyt (Append Layout), Add Fav (Add Favorites), Remove (Selected / Unselected): similar to the commands found in Graph Editor, these buttons add, append, or remove channels from the driven channel list. Add Fav will give you a list of existing channel favorites sets in the Graph Editor (not the Scene Editor). Select a set and you will see it added into the list. If you've added new Favorites and do not see them listed, click on Update Favorites and pull down the Add Fav menu again. 2b.) Apply SDKCF/ Remove SDKCF: you must check the boxes to activate the buttons (fail-safe). Apply SDKCF will load the SDKCF LScript to the selected channel(s). Note that you can select as many channels as you want and they will all be applied an SDKCF instance. Also note that the LScript cannot / does not make a check whether or not the LScript has been loaded before, so pressing the Apply SDKCF twice will create two instances of the LScript in the channel(s). Remove SDKCF will remove the LScript from the channel. Note that it requires an index numbner (Ndx) because this is how LightWave locates plug-ins loaded into channels. If you have other plugs or LScripts loaded into your channel, make sure that the index of SDKCF is inputted correctly. 2c.) Driven > GE: this button will clear the Channel Bin and then load the selected driven channels in them. This is useful when you want to ascertain the existence of the SDKCF LScript on particular channels, since no provision has been made (nor is it possible to, given the current LScript version - see BUGS & LIMITATIONS) to detect which of the channels in the system have SDKCF loaded in them. 3.) SDKCF-Related Commands: this section enables you to change some of the settings of the currently selected driven channel. If no SDKCF instance is found on a selected driven channel, then it will be ignored; this will not create an SDKCF instance for you. 3a.) Setup Mode: this checkbox is a toggle to put the selected driven channels into Setup Mode, or put them out of it. Setup Mode is explained in the SetDrivenKeyEXCF readme. Note that this button does not detect the actual state of Setup Mode in the SDKCF instances that may exist in the driven channels. It may mislead you to think that just because the Setup Mode is checked that the SDKCF instances are in Setup Mode. To be sure, click on the Setup Mode once and then proceed to check or uncheck it depending on your choice. The first click 'refreshes' the instances with the new information and would be properly 'synched' with SDKMMC. 3a.) Start / End Frame: input a frame number and click on either Start or End to denote what settings field you want to apply the frame number to. 3c.) Change Driver: this will change the Target Channels (or Driver) of all selected Driven channels to the selected Driver channel above. I should have included this in the previous version, too. 3d.) RChan > GE: this will locate the Relations Channels of all selected Driven channels and append them to the Channel Bin. 4.) Key: this button is the equivalent of pressing Key on the SDKEXCF interface, only that the it will press all of the buttons of the SDKEXCF instances that exist in your selection of Driven channels. I must stress that the buttons located in the Driven Channels section, the SDKCF-Related Command section, and the Key section require that you explicitly select the driven channel you wish to apply the command(s) to. Tip: if you cant find a particular channel that should exist in the list, try closing the interface and bring it back up again. This refreshes the channels list; you might have created new items, hence new channels, when the interface was open. SDKEXMMC is not necessary to successfully operate SDKEXCF. However, because of its connection with the instances of SDKEXCF existing in your scene, it makes editing those instances faster.
SETTING UP A HAND'S FINGERS Okay, we'll go through this tutorial again, but the using EX-way of setting up. STEP 1: ORGANIZING CHANNELS USING FAVORITES 1.) We'll be using the Camera's Position.X to control the folding of the fingers this time. 2.) Organize the finger's Rotation.P channels into a Favorites Set called "fingers_pitch". This will make it easier to select them later in the SDKEXMMC interface. 3.) With your new Favorite Set created, load SDKEXMMC and open up the panel. 4.) Click on the Add Fav menu button and select "finger_pitch" from the menu. If "finger_pitch" or whichever set name you used does not appear in the menu, click on Update Favorites to refresh the list. You should see it afterwards. 5.) You should now see your Favorite Set load into the driven channels list. STEP 2: APPLYING SDKEXCF 6.) Select all of these driven channels. Click on the Apply SDKEXCF fail-safe checkbox and press the button. If you have your Graph Editor open, you will see SDKCF being applied at each of the channels. STEP 3: SETTING UP RELATIONS 7.) Since each SDKEXCF instance will load with Setup Mode activated, you can immediately start with setting up your connections. Remember to always put the instances in Setup Mode of you wish to edit their relations. Also, I highly recommend using keyframes when setting up your relations because it is easier to edit later on. 8.) Select the Camera and create two keyframes for it: one at frame -2 and another at frame -1. Do not delete the keyframe at frame 0. Do the same for the four fingers. 9.) In the driven channels list, make sure all of the channels are still selected. 10.) In the driver channels list (SDKEXMMC interface), select Camera.Position.X. 11.) Click on Change Driver. When SDKEXCF is applied to the channels for the first time, the drivers of those instances are themselves, the Self Channels. Thus, it is imperative to always specify the driver before proceeding to key anything. 12.) Set the hand in neutral position and the Camera.Position.X at 0 meters at frame 0. 13.) Set the hand in clenched position and the Camera.Position.X at 1 meter at frame -1. 14.) Set the the hand in hyperextension position (the fingers point up) and the Camera.Position.X at .3 meters. This weird setup is for demonstrating the behavior of the Relations Channels. 15.) With all three positions set in place all you have to do is key them: 16.) Go to frame 0 and press Key. Go to frame -1 and press Key. Do the same for frame -2. STEP 4: INSPECTING THE CONNECTIONS 17.) Now it's just a matter of testing the relations. With the driven channels still selected, toggle the Setup Mode off. 18.) Then create a keyframe at frame 10 for the Camera.Position.X (or for the all of the of the Camera's channels) and move it 1 meter along the X-axis. 19.) Scrub the timeline. You'll notice that at about .3 meters along the Camera's path you'll see that hand point up due to the hyperextended pose you created. Then it will rush back down to the clenched position when it reaches 1 meter.
BUGS & LIMITATIONS It is unfortunate that a particular LScript bug has disallowed me to interactively marking, manipulating, and deleting SDKCF instances for better control. Expect some revisions along these lines at a later time. If you wish to report a bug, it will be appreciated. However, for the report to be truly effective, you must be able to reproduce the bug. Write down the steps that led to the bug and email it to me.
Contact me at: faulknermano1@yahoo.com |
|