Jump to content
  • Sign in to follow this  

    Project Muscadine


    Project Muscadine is a set of new features and bug fixes related to animesh customization. Currently the project has implemented LSL scripting commands that allow customization of animesh objects, similar to the kinds of customizations you can do with your avatar using sliders. In its current state the project will be of interest primarily to content creators who want to experiment with upcoming features for animesh.

    Behavior will likely change as we add more features and fix bugs. The behavior of any current features may change in future builds.

    Where to test

    To take advantage of the new commands, you will need to be in a region that supports them, and will need to be using a supported viewer. Currently some regions of the Aditi test grid have the necessary support, including Animesh1, Animesh2, Animesh3, and Animesh Adult. These regions also have a gift box where you can get test objects that demonstrate various animesh capabilities. Objects rezzed in these areas will be returned after 1 day. The latest muscadine viewer can be found on the alternate viewers page.

    How to test

    If you want to see animesh visual params in action, visit one of the animesh test regions listed above, and click on the gift box in the center of the region. This will give you various items, including one with a name starting “Aditya Visual Params Demo”. Rez one of these and right click->touch it. You will see a dialog with various options. “Tall”, “Short” and “Medium” can be used to set the dimensions of the test object.

    The test object is using new LSL commands to modify its visual param (slider) values. The new scripting commands are llGetAnimatedObjectVisualParams() and llSetAnimatedObjectVisualParams(). These commands can be run in any script contained in an animesh object.

    llSetAnimatedObjectVisualParams() takes a list of alternating params and values, and has no return value. Parameters are specified by integer id. There are corresponding LSL constants for the parameters that are known to be useful. For any slider listed in the Bento skeleton guide, there is a corresponding constant VP_<name>. For example, slider Hand Size (id 675) corresponds to the LSL constant VP_HAND_SIZE, and slider Height (id 33) corresponds to the constant VP_HEIGHT. Values are floats in the range [0..1]. So you could set the height and hand size of an animesh object to their maximum values using:

    llSetAnimatedObjectVisualParams([VP_HEIGHT, 1.0, VP_HAND_SIZE, 1.0]);

    or

    llSetAnimatedObjectVisualParams([33, 1.0, 675, 1.0]);

    llGetAnimatedObjectVisualParams() works similarly for querying visual params. It takes a list of visual param IDs (specified as numbers or VP_ constants), and returns a list of values. If you query a visual param that is valid but has never been set, you will get the value -1. For example, after running one of the above commands for llSetAnimatedObjectVisualParams(), you could say:

            list values = llGetAnimatedObjectVisualParams([VP_HEIGHT, VP_HAND_SIZE, VP_BIG_EARS]);
            integer i = 0;
            integer end = llGetListLength(values);
            llOwnerSay("Got " + (string)end + " values");
            for (; i<end; ++i)
            {
                llOwnerSay(llList2String(values,i));
            }

    This would fetch and display the values [1.0, 1.0, -1.0].

    Speed limit: currently you can only change params for an animesh object every few seconds. If you exceed this rate, you will get an LSL error. This limit is intended to prevent very expensive uses of the feature, such as for real time animation. The exact limit may change in the future.

    Known bugs and limitations

    There is currently no constant defined for VP_HOVER. You can use the numeric value 11001. Note that this sets the Hover parameter normally associated with the avatar shape, which is not the same thing as the Hover Height avatar property. Hover Height is not currently supported for animesh objects.

    Editing the vertical position of an animesh object does not persist correctly. The object tends to return to ground level over a few seconds. This will be fixed in a future build.

    How to report issues

    Note that because this is a project viewer, it may not be as stable as a normal release viewer. It is based on the EEP (environment enhancements project) viewer codebase, so it may have any graphics issues that are present in the EEP viewer. Please report any issues you find by filing a JIRA with [Muscadine] in the title.
     

    Sign in to follow this  


    User Feedback


    There are no comments to display.


×
×
  • Create New...