Difference between revisions of "LlWind"

From Second Life Wiki
Jump to navigation Jump to search
(+example)
m (Replaced <source> with <syntaxhighlight> and added haiku generated by https://tasklab.ai/haiku)
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{LSL_Function
{{LSL_Function
|inject-2={{LSL Function/offset|offset|noZ=*|sim=*}}
|func=llWind
|func=llWind
|sort=Wind
|sort=Wind
Line 9: Line 10:
|p1_name=offset
|p1_name=offset
|func_footnote
|func_footnote
|return_text=that is the wind velocity at the object position + '''offset'''
|return_text=that is the wind velocity at the prim's [[llGetPos|position]] + {{LSLPT|offset}}
|spec
|spec
|caveats
|caveats
|examples=<pre>
|examples=
<syntaxhighlight lang="lsl2">
default
default
{
{
Line 20: Line 22:
     }
     }
}
}
</pre>
</syntaxhighlight>
<syntaxhighlight lang="lsl2">
// wind interpretation as angle and speed
default
{
    state_entry()
    {
        vector windVector = llWind( ZERO_VECTOR);
        float windSpeed = llVecMag( windVector);
        float windDirection = llAtan2( windVector.y, windVector.x);
        integer compassWind = ( 450 - (integer)( RAD_TO_DEG*windDirection))%360;
        llOwnerSay( "\nWind direction: "+(string)compassWind+"°\nWind speed: "+(string)windSpeed+" m/S");
    }
}
</syntaxhighlight>
|helpers
|helpers
|also_functions=*{{LSLG|llCloud}}
|also_functions={{LSL DefineRow||[[llCloud]]}}
|also_articles={{LSL DefineRow||{{LSLGC|Weather}}|SL Weather information}}
{{LSL DefineRow||[[User:Dora_Gustafson/moderated_world_wind|Moderated in-world wind]]}}
|notes
|notes
|issues={{Issue/V1|SVC-3131|llWind() and viewer wind effects do not match}}
|haiku={{Haiku|Softly blowing breeze|Calmly rustling through the tree|A gentle whisper}}
|cat1=Region
|cat1=Region
|cat2
|cat2=Weather
|cat3
|cat3
|cat4
|cat4
}}
}}

Latest revision as of 07:52, 12 October 2023

Summary

Function: vector llWind( vector offset );
0.0 Forced Delay
10.0 Energy

Returns a vector that is the wind velocity at the prim's position + offset

• vector offset offset relative to the prim's position and expressed in local coordinates

The requested position needs to be in the same region. Only the x and y coordinates in offset are important, the z component is ignored.

Examples

default
{
    touch_start(integer num)
    {
        llSay(0, "Wind velocity: " + (string)llWind(ZERO_VECTOR));
    }
}
// wind interpretation as angle and speed
default
{
    state_entry()
    {
        vector windVector = llWind( ZERO_VECTOR);
        float windSpeed = llVecMag( windVector);
        float windDirection = llAtan2( windVector.y, windVector.x);
        integer compassWind = ( 450 - (integer)( RAD_TO_DEG*windDirection))%360;
        llOwnerSay( "\nWind direction: "+(string)compassWind+\nWind speed: "+(string)windSpeed+" m/S");
    }
}

See Also

Functions

•  llCloud

Articles

•  Weather SL Weather information
•  Moderated in-world wind

Deep Notes

Signature

function vector llWind( vector offset );

Haiku

Softly blowing breeze
Calmly rustling through the tree
A gentle whisper