Difference between revisions of "LlCloud"

From Second Life Wiki
Jump to navigation Jump to search
Line 1: Line 1:
{{LSL_Function
{{LSL_Function|func_id=43|func_sleep=0.0|func_energy=10.0|func=llCloud|return_type=float|p1_type=vector|p1_name=offset|func_footnote
|func_id=217|func_sleep=0.1|func_energy=10.0
|return_text=that is the cloud density at the object position + offset
|sort=GetNotecardLine
|sort=Cloud
|func=llGetNotecardLine
|spec|caveats|examples|helpers|also_functions=*{{LSLG|llWind}}|notes= How clouds work:
|return_type=key
 
|p1_type=string|p1_name=name|p1_desc=Notecard name or {{LSLG|UUID}}.
* SL features a cellular automata-based weather system.
|p2_type=integer|p2_name=line|p2_desc=Line number of a notecard.
* There are 16x16 square cloud "cells" per sim (which means each is 16x16m in size).
|func_desc=Requests the line '''line''' of the notecard '''name''' from the dataserver.
* The cloud density data is sent from the server to the client once every time the agent connects to a simulator via logging in or teleporting into a simulator.
|return_text=that is the handle for a {{LSLG|dataserver}} event responce.
* The client attempts to render clouds from the cloud algorithm results sent from the server, which is why different clients can see different cloud formations and de-synchronizes cloud view from the server over time.
|func_footnote=If '''line''' is passed the end of the notecard {{LSLG|EOF}} is returned by the {{LSLG|dataserver}}. If the return is a {{LSLG|NULL_KEY}} then notecard could not be found in inventory???
* The Z value in the vector is irrelevant (clouds are always between about 180-200m absolute height).
|spec
* It returns a value between 0.0 and 1.0, with 0.0 being no clouds, and 1.0 very dense clouds.
|caveats=* If the notecard cannot be found in inventory and it is not a UUID then an error will shouted on {{LSLG|DEBUG_CHANNEL}}.
* Values returned above 1.0 - 2.0 indicate rainfall, but the option for rain is not currently implemented so values are capped at 1.0.
|constants
* Clouds and wind are related.
|examples
 
|helpers
 
|also_functions=* {{LSLG|llGetNumberOfNotecardLines}}
The cloud seed/growth/dissipation algorithm uses a solenoidal vector field, which is a vector field with zero-divergence: nabla dot v = 0
|also_events=* {{LSLG|dataserver}}
 
|also_articles
This condition is satisfied whenever v has a vector potential, because if v = nabla times A then nabla dot v = nabla dot (nabla times A) = 0.}}
|notes
{{LSLC|Stub|Cloud}}
|permission
}}
{{LSLC|Stub|GetNotecardLine}}
{{LSLC|Notecard|GetNotecardLine}}
{{LSLC|Inventory|GetNotecardLine}}

Revision as of 21:26, 29 January 2007

Summary

Function: float llCloud( vector offset );

Returns a float that is the cloud density at the object position + offset

• vector offset

Examples

Notes

How clouds work:

  • SL features a cellular automata-based weather system.
  • There are 16x16 square cloud "cells" per sim (which means each is 16x16m in size).
  • The cloud density data is sent from the server to the client once every time the agent connects to a simulator via logging in or teleporting into a simulator.
  • The client attempts to render clouds from the cloud algorithm results sent from the server, which is why different clients can see different cloud formations and de-synchronizes cloud view from the server over time.
  • The Z value in the vector is irrelevant (clouds are always between about 180-200m absolute height).
  • It returns a value between 0.0 and 1.0, with 0.0 being no clouds, and 1.0 very dense clouds.
  • Values returned above 1.0 - 2.0 indicate rainfall, but the option for rain is not currently implemented so values are capped at 1.0.
  • Clouds and wind are related.


The cloud seed/growth/dissipation algorithm uses a solenoidal vector field, which is a vector field with zero-divergence: nabla dot v = 0

This condition is satisfied whenever v has a vector potential, because if v = nabla times A then nabla dot v = nabla dot (nabla times A) = 0.

See Also

Functions

Deep Notes

Search JIRA for related Issues

Signature

function float llCloud( vector offset );