TESCS : SetScale
SetScale permet de modifier l'échelle de l'objet.
Cette commande est Tribunal requis ; SetScale admet des variables en argument.
Syntaxe
ref->SetScale x
Remarques
- Le tescs via la fenêtre « reference data » permet de fixer une échelle à une référence comprise entre 0.5 et 2, par rapport à la taille initiale (échelle = 1 ).
- Curieusement, pour les créatures, l'échelle est liée à la créature même(c'est à dire définie dans son id) et donc a priori non modifiable pour une référence particulière; mais on peut le faire tout de même avec la commande S+clic gauche continu sur la créature + mouvement de souris, ce qui permet d'ailleurs de dépasser les limites 0.5 et 2 en dupliquant la référence ainsi mise à l'echelle, (probablement un bug).
- SetScale permet de modifier cette échelle en s'affranchissant de la limite 0.5x – 2x la taille initiale. N'importe quelle valeur est acceptée, y compris très grande ou très petite. On peut même appeler SetScale continûment à chaque frame pour créer des effets d'expansion ou de contraction. Toutefois, il ne faut pas appeler SetScale à chaque frame sur un grand nombre d'objets sous peine d'une perte sensible de performances.
- Il semblerait que l'utilisation de cette commande créé des problèmes de boîte de collision avec certains meshes, notamment les meshes animées, il faut donc en général ne pas trop s'écarter de la valeur 1 sous peine de problèmes de ce type.
Perte de la valeur d'échelle courante
Si l'échelle d'un objet est supérieure à 2 ou inférieure à 0.5, elle est réajustée au chargement d'une partie (cela peut être un moyen de détecter le chargement d'une partie, et autrement, il faut que le script s'occupe de remettre l'objet à l'ancienne échelle dans ce cas de figure).
Un objet que l'on peut prendre dans son inventaire est toujours ramené à l'échelle 1 lorsqu'on le droppe, même si son échelle est autre dans le tescs (à moins qu'un script n'appelle à nouveau un setscale). Tout objet que l'on peut équiper et qui est visible est, visuellement, proportionné à l'échelle du NPC, et non à l'échelle de l'objet, même si celui-ci est scripté pour réajuster toujours l'objet à cette échelle. Par exemple définir une épée avec un scale de 2 ne rendra pas l'épée deux fois plus grande lorsque le PJ la brandira. La seule façon d'obtenir ce résultat est de modifier l'échelle même du mesh (par exemple avec Nifskope).
Exemples d'applications de SetScale
- l'expansion de l'ego dans Nova Magica
- La taille réglable des labyrinthes de LabyConnection.