OsSetProjectionParams
From OpenSimulator
(Difference between revisions)
| Line 11: | Line 11: | ||
Command: osSetProjectionParams(key prim, bool projection, key texture, double fov, double focus, double amb); | Command: osSetProjectionParams(key prim, bool projection, key texture, double fov, double focus, double amb); | ||
| − | + | ===Example=== | |
| + | This example will control the projection map in the host prim and another prim identified by it's uuid | ||
| + | |||
| + | <source lang="lsl"> | ||
| + | integer pstate = FALSE; | ||
| + | |||
| + | // These variables corospond to the settings found in the | ||
| + | // "Features" tab of the build editor | ||
| + | float FOV = 1.5; // Values 0.00 - 3.00 | ||
| + | float Focus = 15.0; // Values -20.00 - 20.00 | ||
| + | float Ambiance = 0.4; // Values 0.00 - 1.00 | ||
| + | key Texture = "b4c6b075-4940-4270-bb10-d293fd6f8091"; | ||
| + | |||
| + | // UUID of other prim that we wnat to control | ||
| + | key Remote = "9772974a-a0f6-43ec-b1a2-da558b0b0d59"; | ||
| + | |||
| + | default | ||
| + | { | ||
| + | state_entry() | ||
| + | { | ||
| + | llSay(0, "Script running"); | ||
| + | llSetText((string)llGetKey(),<0.3,0.5,0.75>,1.0); | ||
| + | llSetPrimitiveParams([]); | ||
| + | |||
| + | // Light must be enabled in "Features" | ||
| + | |||
| + | // This one controls this prim... | ||
| + | osSetProjectionParams(pstate, Texture, FOV, Focus, Ambiance); | ||
| + | // This one controls the remote prim... | ||
| + | osSetProjectionParams(Remote, pstate, Texture, FOV, Focus, Ambiance); | ||
| + | |||
| + | } | ||
| + | |||
| + | touch_start(integer _det) | ||
| + | { | ||
| + | |||
| + | if (pstate == TRUE) | ||
| + | { | ||
| + | pstate = FALSE; | ||
| + | } | ||
| + | else | ||
| + | { | ||
| + | pstate = TRUE; | ||
| + | } | ||
| + | |||
| + | // Control this prim... | ||
| + | osSetProjectionParams(pstate, Texture, FOV, Focus, Ambiance); | ||
| + | // Control the remote prim... | ||
| + | osSetProjectionParams(Remote, pstate, Texture, FOV, Focus, Ambiance); | ||
| + | } | ||
| + | } | ||
| + | <source> | ||
[[Category:OSSL]] | [[Category:OSSL]] | ||
Revision as of 07:32, 13 February 2011
Threat-Level=High
Returns: NULL
2 Variations possible.
bool = TRUE / FALSE. double = float.
Command: osSetProjectionParams(bool projection, key texture, double fov, double focus, double amb);
Command: osSetProjectionParams(key prim, bool projection, key texture, double fov, double focus, double amb);
Example
This example will control the projection map in the host prim and another prim identified by it's uuid
integer pstate = FALSE; // These variables corospond to the settings found in the // "Features" tab of the build editor float FOV = 1.5; // Values 0.00 - 3.00 float Focus = 15.0; // Values -20.00 - 20.00 float Ambiance = 0.4; // Values 0.00 - 1.00 key Texture = "b4c6b075-4940-4270-bb10-d293fd6f8091"; // UUID of other prim that we wnat to control key Remote = "9772974a-a0f6-43ec-b1a2-da558b0b0d59"; default { state_entry() { llSay(0, "Script running"); llSetText((string)llGetKey(),<0.3,0.5,0.75>,1.0); llSetPrimitiveParams([]); // Light must be enabled in "Features" // This one controls this prim... osSetProjectionParams(pstate, Texture, FOV, Focus, Ambiance); // This one controls the remote prim... osSetProjectionParams(Remote, pstate, Texture, FOV, Focus, Ambiance); } touch_start(integer _det) { if (pstate == TRUE) { pstate = FALSE; } else { pstate = TRUE; } // Control this prim... osSetProjectionParams(pstate, Texture, FOV, Focus, Ambiance); // Control the remote prim... osSetProjectionParams(Remote, pstate, Texture, FOV, Focus, Ambiance); } } <source> [[Category:OSSL]]