Difference between revisions of "LlSetLinkMotorParam"

From Second Life Wiki
Jump to navigation Jump to search
(new feature idea to go with Havok 4)
 
m
Line 11: Line 11:


|func_footnote
|func_footnote
|func_desc=Due to Havok 4 update coming along the way, a new way of setting force/motor source placement on a object (linkset).  It can be used as a wheel on a car, a cog in a big-ben style clock, jet engine for planes, wheel-fins in a water-pedal boat, or a servo piston for hydraulic lift. For even more complex creation...  could be a physical walking robot!  This function would have to be tied with Havok's vehicle/machine system to work gracefully.
|func_desc=Havok 4 update is coming along on beta grid, to add a new way of setting force/motor source placement on a object (linkset) would have to make this suggestion.  It can be used as a wheel on a car, jet engine for planes, wheel-fins in a water-pedal boat, or a servo piston for hydraulic lift.   This function would need to tied with Havok's vehicle/machine system to work.
===List Parameters===
===List Parameters===



Revision as of 12:48, 1 January 2008

Emblem-important-yellow.png LSL Feature Request
The described function does not exist. This article is a feature request.

Summary

Function: llSetLinkMotorParam( integer linkset, list param, integer local, integer motor type );

Havok 4 update is coming along on beta grid, to add a new way of setting force/motor source placement on a object (linkset) would have to make this suggestion. It can be used as a wheel on a car, jet engine for planes, wheel-fins in a water-pedal boat, or a servo piston for hydraulic lift. This function would need to tied with Havok's vehicle/machine system to work.

List Parameters

[DAMPER_SHOCK, (vector)Strength] 0.0-1.0, Zero for soild static. How much it takes to cancel out reaction to the whole on each axis.

[SPRING_RECOIL, (vector)Rate] 0.0-1.0, Zero for no recoil. How fast it returns to its place on each axis.

[SET_AXLE, (vector)Range] 0.0-1.0, Zero for no rotational. Assigns which vector as an free rotating axle with given range. 1.0 = 360* degree.

[SET_FRICTION, (float)Strength] 0.0-1.0, Zero for none, One for complete grip(think like a gear cog). For set of grip to climb on.

[MOTOR_DRIVE, (vector)Power] 0.0-1.0, Zero for no drive, One for full drive power from the main Vehicle's Linear/Angular Motor input. Using 0.1 to 0.99 divides the power usage from the main motor as given.

If Motor type is LINEAR, it moves along the axis.
If Motor type is ANGULAR, it rotate around the axis. ANGULAR is limited by SET_AXLE range on given axle.
If Motor type is NONE, it cancels MOTOR_DRIVE Param.
If Motor type is OMEGA, it uses both Motor drive. ANGULAR is limited by SET_AXLE range on given axle.

• integer linkset assigns which child prim in a linkset, can not be parent prim.
• list param assign which child prim in a linkset, can not be parent prim.
• integer local boolean, if TRUE assign as local to parent prim. If FALSE assigned as global to region coordinate system.
• integer motor type assigns to give type of motor to be given from Vehicle's Param motor, Linear and Angular motors.

Caveats

The object would have to be physical, unless it can be proven done with setting the child prim to be only physical.

All Issues ~ Search JIRA for related Bugs

Examples

Notes

Those Child-prims are actually meant to be physical in-world, to the surface. However, They should ignore collision to itself and the whole linkset they are linked to. Whenever a child-prim is set with a motor type of "Linear", the vehicle param's linear motor should be disabled from applying to parent prim. Same for Angular motor as well... However, when one child-prim has Omega motor type, it disable both of Linear & Angular from the parent-prim. They would need to be disabled for possible force source issue with steering and fine movements.

With llSetVehicleType(); should apply the behavior of the child-prim motor.
Examples:

  • VEHICLE_TYPE_SLED & VEHICLE_TYPE_NONE would results as having no motor param.
  • VEHICLE_TYPE_CAR would result having a rotational motor push from an axle's path.
  • VEHICLE_TYPE_BOAT & VEHICLE_TYPE_AIRPLANE would result having a rotational motor push along its axis in screw style. (like a fan blowing one way)

Deep Notes

Search JIRA for related Issues

Signature

//function void llSetLinkMotorParam( integer linkset, list param, integer local, integer motor type );