problema teleport verticale.

Aperto da cactus, Novembre 01, 2010, 12:26:47 PM

Discussione precedente - Discussione successiva

PaolOh

Caspita... ottimo trucchetto.

Effettivamente il linguaggio di Twinity presenta parechie limitazioni e i comandi implementati spesso non funzionano perfettamente.
[align=center]DON\'T PANIC[/align]
[align=center]The doctor is IN (psychiatric help 5c)[/align]

cactus

Grazie per il link al file delle specifiche twml, era proprio basandomi su quello ho visto questo strano comportamento sulla gestione delle coordinate y per le sedute.

A quanto pare però le specifiche non sono del tutto esatte, almeno per quanto riguarda l'offest delle sedute, in quanto pare proprio ignorare il valore dell'altezza, e al suo posto definisce un punto fisso e non modificabile situato a circa 0.5mt dalla base inferiore dell'oggetto (punto che si accorda con la  posa seduta dell'avatar).

Non potendo agire sulle y ho pensato ad un workaround.
In pratica ho creato due sedute (i due cubi nello snapshot) una alle origini degli assi (cubo verde) e una a 3.10mt sopra di essa (cubo arancio), 3.10mt  corrisponde alla distanza tra un piano e l'altro, tenendo conto anche dello spessore del soffitto/pavimento.



Dopodichè le ho importate in twinity come unico oggetto associandolo al classico .twml per le sedie.

Il risultato è che quando sono al piano superiore, posso cliccare sulla seduta sul pavimento, ma la posizione che effettivamente raggiungo è quella della seduta posta al piano sottostante, realizzando così un TP dal piano superiore a quello inferiore.

Per realizzare un tp inverso (da un piano a quello sopra) la procedura è la stessa, ma si deve avere l'accortezza di piazzare una delle due sedute 3.10 mt SOTTO le origni degli assi prima generare il .dae, in questo modo ci si assicura che il punto di arrivo, quando ci si siede, sia la seduta più in alto (quindi quella alle origini degli assi).



Una volta importati sarà sufficiente fare il 'place' per entrambi sul piano che si intende usare come arrivo e automaticamente si avrà una coppia di TP per spostarsi tra uno o più piani senza dover ricorrere a strane combinazione di tasti e sopratutto senza perdere tempo a spiegarli ai newbie. ^_^

Neuromancer

Avendo qualche minuto libero ho fatto una ricerchina veloce in rete ed ho trovato questo

http://create.twinity.com/static/twml_specification.pdf

Dove ci sono le specifiche del TWML – Twinity Markup Language

Lo inserisco anche come allegato qui nel forum in caso ci fossero problemi di download dal sito ufficiale

Spero possa essere di aiuto :)
Aggiungo anche il sito diretto

http://create.twinity.com/
"Ogni volta che achievement viene tradotto come archivio un gattino muore. E nel trade di Crushridge, per la cronaca, è una strage di gattini." (cit.)

cactus

Innanzitutto grazie per i link, stasera non posso proprio dedicarmici ma domani proseguo nelle prove, se non sarà un sit sarà un evento di prossimità ma qualcosa devo(voglio) trovare.

Per quanto riguarda i valori dei parametri, le coordinate sono locali (le origini sono il 'pivot' dell'oggetto, o quasi) ma, almeno sul piano orizzontale non ci sono limiti predefiniti (TP che mi spostano svariati metri fuori dall'appartamento, facendomi restare sospeso nel nulla funzionano perfettamente.

Purtroppo non ho mai avuto un account facebook...e non so se ho voglia di farlo costretto SOLO da questo motivo. Nell'office-hour di ieri lo staff di Twinity ha detto che leggerà con maggior attenzione il forum ufficiale (che al momento è piuttosto abbandonato a se stesso) , se mi va male proverò a postare qualche domanda lì.

Ancora grazie per l'aiuto. : )

PaolOh

Avevo provato a fare un paio di script tempo fa ma la documentazone sul linguaggio e' quantomeno scarsa.
Oltre a questo non si trovamo molti esempi di script in giro sui vari siti ed e' difficile fare dei confronti, cosi' a occhio lo script che hai scritto e' corretto ma bisogna sempre vedere a cosa cavolo riferiscono loro quei parametri.
Puo' essere che i parametri debbano comunque cadere allì'interno dell'oggetto.. se tu metti la y in un punto piu' alto dell'altezza complessiva dell'oggetto puo' darsi che non ne tenga conto considerandolo come un errore.
Ad esempio in questo script mette la y a 0.35 m per far si che l'animazione parta dalla seduta del divano:
http://twinizen.wordpress.com/2010/04/19/chairs-and-seats/#more-67

Penso pero' che tu abbia gia' provato valori piu' piccoli e se non si muove neanche cosi' potrebbe essere un baco e l'unica e' chiedere spiegazioni sul loro account facebook che pare quello dove rispondono piu' in fretta:
http://www.facebook.com/topic.php?uid=12284040977&topic=15927#topic_top
[align=center]DON\'T PANIC[/align]
[align=center]The doctor is IN (psychiatric help 5c)[/align]

cactus

Sto cercando di realizzare un TP tra un piano e l'altro di un appartamento tramite il semplice gesto di sedersi da parte dell'avatar su un oggetto.

L'idea di base consiste nell'impostare un vettore di coordinate nell' attributo "position" dell'elemento in modo da modificare l'offset della posizione in cui si trova l'avatar quando si siede.


...

 

    //dovrebbe spostare l'avatar di 4mt in Y, ma viene ignorato
   

    ....
 


...


Facendo qualche prova sono riuscito a far sì che l'avatar effettivamente venga traslato, ma solo nelle coordinate X e Z (che corrispondono agli assi orrizontali del piano) ma se provo a fare la stessa cosa con l'asse y questo non succede, sia che si tratti di piccoli spostamenti, cioè quelli che sarebbero necessri per adattare l'altezza di chi si siede all'altezza della sedia/sgabello/poltrona sia che si tratti di grandi spostamenti (di qualche metro, quel tanto per attraversare il piano di un appartamento).

Qualcuno ha fatto qualche prova in questo campo?