LlTargetOmega/it

From Second Life Wiki
< LlTargetOmega
Revision as of 07:52, 26 July 2009 by Silyus Payne (talk | contribs) (Created page with '{{LSL Function/it |func_id=133 |func_sleep=0.0 |func_energy=10.0 |func=llTargetOmega |p1_type=vector|p1_name=axis|p1_desc=asse arbitrario su cui ruotare l'oggetto |p2_type=float|...')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Sommario

Function: llTargetOmega( vector axis, float spinrate, float gain );
133 ID funzione
0.0 Ritardo
10.0 Energia

Ruota l'oggetto attorno all'asse axis alla velocità di spinrate * llVecMag(axis) in radianti per secondo con la forza gain.

• vector axis asse arbitrario su cui ruotare l'oggetto
• float spinrate frequenza di rotazione, in radianti per secondo
• float gain modula lo spinrate e, nel caso in cui sia 0, disabilita la rotazione

Specificazione

Physics

  • Se l'oggetto non è fisico l'effetto è interamente lato client. Quindi la rotazione vista dall'utente non potrà essere rilevata da scripts (risiedendo sul server).
  • Se l'oggetto è fisico, la sua rappresentazione fisica è aggiornata regolarmente. Di conseguenza la rotazione vista dall'utente potrà essere rilevata da scripts.

Link Sets

  • Se lo script è inserito nella primitiva root, l'intero oggetto ruoterà attorno l'asse regionale
    • Se l'oggetto è indossato, ruoterà attorno l'asse del possessore
  • Se lo script è inserito in una primitiva figlia, essa ruoterà attorno l'asse locale
    • Una primitiva figlia può ruotare lungo il suo 'asse mentre l'intero oggetto ruota lungo un'altro asse.

Avvertimenti

  • Se l'oggetto non è fisico, la rotazione è solo lato client e le collisioni avverranno secondo una geometria statica.

Esempi

<lsl>//Compie una rivoluzione sull'asse x una volta per secondo, // Compie una rivoluzione sull'asse y tre volte per secondo, // Compie una rivoluzione sull'asse z una volta ogni due secondi. // Le rivoluzioni combinate sono circa 3.20156 per secondo

llTargetOmega(<1.0,3.0,0.5>,TWO_PI,1.0);</lsl>

Note

  • Usare llVecNorm sull'asse affinchè spinrate rappresenti realmente la frequenza di rotazione.
  • Settare gain a 0 per disabilitare e rimuovere la rotazione, es. llTargetOmega(ZERO_VECTOR, 0, 0);
    • Uno spinrate di 0 con un gain diverso da 0, impone all'oggetto di cercare di fermare ogni rotazione, invece di rimuovere semplicemente una precedente chiamata di llTargetOmega().

Note approfondite

Search JIRA for related Issues

Prove

•  llTargetOmega test

Firma

function void llTargetOmega( vector axis, float spinrate, float gain );