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]]