Roi / Reine
|
Bonjour,
J'ai une question relative aux prims fantômes. Comment faire pour intégrer des prims fantômes à une structure liée ? Faut il un script ? Merci |
11/01/2010, 00h29 |
|
Aller à la page... |
[Aide] Script pour prim fantôme ?
Suivre Répondre |
|
Partager | Rechercher |
Bagnard
|
Un artifice permet de le faire, à condition que la (les) prims qui doivent être fantômes soient des prims child (pas la prim root).
Le processus est le suivant :
J'avais trouvé cette information sur le site du groupe Constructeurs & Scripteurs. Le lien donné ci-dessus propose une nouvelle solution. Suivez le, ce groupe mérite votre attention. |
11/01/2010, 00h45 |
|
Roi / Reine
|
Merci
|
15/01/2010, 20h21 |
|
|
ca serait pas mal à wikiser ca
|
15/01/2010, 23h47 |
|
Roi / Reine
|
J'ai trouvé cet autre script dans la SL Library, mais il ne fonctionne pas non plus.
Les nouveaux viewers ne semblent pas les supporter. Code:
default { state_entry() { llSetPrimitiveParams([PRIM_TYPE, PRIM_TYPE_BOX, 0, <0,1,0>, 0, <0,0,0>, <1,1,0>, <0,0,0>, PRIM_FLEXIBLE, TRUE, 0, 0, 0, 0, 0, <0,0,0>, PRIM_TYPE] + llGetPrimitiveParams([PRIM_TYPE])); } on_rez(integer s) { llResetScript(); } //-- This event/test will reset the script on sim restart. changed (integer vBitChanges){ if (CHANGED_REGION_START & vBitChanges){ llResetScript(); } } collision_start(integer num_detected){ llResetScript(); } } |
05/03/2010, 19h25 |
|
|
Bonjour,
Après un essai sur le dernier viewer 2.0, ça marche parfaitement , il suffit de suivre à la lettre les indications données par Mingyar Ishtari !
__________________
Le fait que le monde soit peuplé de crétins permet à chacun de nous de ne pas se faire remarquer Kentoc'h mervel eget bezañ saotret
|
06/03/2010, 17h24 |
|
|
hello,je déterre ce post, car j'ai utilisé ce "nouveau" script pour rendre des childs fantômes (trouvé là : http://wiki.secondlife.com/wiki/Phantom_Child) :
New Functions New functions brought in with MESH now make setting a child prim to phantom very simple. This can be applied to any number of prims in the linkset, but not the root prim. default{ state_entry() { llSetLinkPrimitiveParamsFast(LINK_THIS,[ PRIM_PHYSICS_SHAPE_TYPE,PRIM_PHYSICS_SHAPE_NONE]); }} bon, mais voilà, ce script qui semble idéal car non plus basé sur un bug comme son "ancêtre" semble se comporter de façon bizarre. Je l'ai utilisé pour rendre fantômes des tours de porte (intégrés dans une maison) sculpts de 1 prim chacun(sinon je passais plus la porte ). Avant "intégration" du script dans le premier sculpt la baraque faisait 121prims, après, elle en faisait..135 !!! bon, pas trop grave, car après "traitement" de 10 tours de porte la maison s'est retrouvée à 135 prims après des hauts et des bas..mais, en bref, ce script "détraque" le comptage de prims..mais enfin, c'est bizarre...... y a t-il une explication dans sa syntaxe ? qu'en pensez-vous, l'utiliseriez-vous néanmoins les yeux fermés dans vos builds ? Je vais tenter, mais ça m'inquiète un peu . (PS : pour info, ceux que ça intéresse, il faut avec ce script lier d'abord l'élément qui doit devenir fantôme sans le script au reste du build, puis intégrer le script dans son contenu une fois cet élément lié au reste du build.) caterina Dernière modification par caterina ; 01/05/2012 à 23h11. Motif: oups 121 prims et pas 122 ! |
30/04/2012, 22h54 |
|
Alpha & Oméga
|
J ai ma petite idée mais peux tu tester avec ce script .
Code PHP:
Je pense que lorsque ton objet lié a l ensemble des prims en SHAPE_PRIM ( le type par défaut ) , ton coût affiché est celui du coût serveur . Le cout serveur est généralement de 1 par prims pour les prims régulières , et de 0.5 par mesh si les meshs ne sont pas scriptées http://wiki.secondlife.com/wiki/Mesh/Mesh_Server_Weight En revanche , dès que tu changes le PRIM_PHYSICS_SHAPE_TYPE pour une autre valeur , ton coût affiché est le maximum entre le coût serveur et le coût téléchargement et le coût physique Or, parmi les prims "classiques" , le coût téléchargement est le plus important pour les prims sculpties et surtout il est très souvent supérieur à 1 qui est le coût serveur ( perso , je n ai jamais vu le coût de téléchargement d un sculptie < 1.8 ) De plus , contrairement à certaines prims comme les cubes , le coût du téléchargement des sculpties peut augmenter rapidement avec la taille. Exemple : Dans un ensemble de 9 prims liées étant toutes des cubes , je change la shape d une seule prim : cout téléchargement pour un cube de 1mx1mx1m = 0.54 cout téléchargement pour un sculptie de 1mx1mx1m = 1.98 ( soit 4 fois plus ) cout serveur = 9 * 1 = 9 cout téléchargement pour un cube de 10mx10mx10m = 0.54 cout téléchargement pour un cube de 10mx10mx10m avec un twist debut -180 , fin 180, et avec un creux = 8.46 cout téléchargement pour un tore torturé avec un twist debut -360, fin 360, et avec un creux en carré et 4 révolutions = 242 cout téléchargement pour un sculptie de 10mx10mx10m = 13.10 ( soit 25 fois plus ) cout serveur = 9 * 1 = 9 ( biseautages , et inclinaisons ne semblent pas avoir d impacts sur le coût du téléchargement ; les découpes simplifient la shape , donc ont un impact positif et non négatif sur le coût du téléchargement ) Evidemment , cela peut être très variable suivant la forme de ton sculptie , Du coup , ton coût téléchargement devient supérieur à ton coût serveur, et ton coût affiché devient le coût du téléchargement Solution de contournement si tu veux changer l attribut type de forme physique : soit faire une approximation du sculptie en une shape plus simple , comme un cube , si possible non twisté soit changer le sculptie en mesh afin d optimiser le nombre de triangles Dernière modification par redpurple ; 01/05/2012 à 15h20. |
01/05/2012, 14h45 |
|
Dauphin / Dauphine
|
l'inverse ...
Bonjour, justement l'inverse, j'aimerais que le fantôme soit le root et pas les autres ... comment faire ?
|
07/06/2012, 17h48 |
|
Alpha & Oméga
|
Pas franchement .
D une part , une prim phantom ne déclenche pas de collisions . En revanche tu peux avoir une prim qui laisse passer des objets et qui déclenchera des collisions en jouant avec la fonction llvolumedetect et cela ne détectera que les collision_start et collision_end , pas les collision Mais tout ton objet laissera passer les objets ( de la même facon que si il etait phantome ) si tu mets le script positionnant llvolumedetect dans la prim root Donc qu est ce qui t empêche que ce soit ton cone qui soit la prim child et ta prim plate qui soit la prim root ? Exemple : tes 2 objets sont déliés puis dans ta prim plate rentrer le script Code PHP:
Code PHP:
SI tu as besoin de svaoir qui a été touché , llDetectedLinkNumber renverra 0 si c est la prim child ( c est la valeur qui est retournée pour toutes les prims qui sont en llvolumedetect , indépendamment de son numéro de link) et renverra 1 si c est la prim root Penser à délier puis relier a chaque fois que llSetStatus est ré -exécuté , sinon le comportement de collision se comportera uniformément sur tout l objet . Ceci dit , c est une faiblesse de design de lier ensemble des prims qui ont un gestionnaire de collisions différent au sein du même objet . As tu vraiment intéret à lier ces deux objets ? Surtout qu a ce que tu me diis , la prim plate ne fait strictement rien , ne réagit pas à des évenements .. En quoi elle fait office de "déclencheur" ? Dernière modification par redpurple ; 08/06/2012 à 00h39. |
07/06/2012, 23h32 |
|
Dauphin / Dauphine
|
je te contacte par MP ^^
|
08/06/2012, 00h56 |
|
Elenia Boucher |
Voir le profil public |
Trouver plus de messages par Elenia Boucher |
Suivre Répondre |
Fil d'ariane
Connectés sur ce fil1 connecté (0 membre et 1 invité)
Afficher la liste détaillée des connectés
|