1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
    Information ausblenden
  3. Wir freuen uns, wenn du dich in unserem Forum anmeldest. Bitte beachte, dass die Freigabe per Hand durchgeführt wird (Schutz vor Spammer). Damit kann die Freigabe bis zu 24 Stunden dauern.
    Information ausblenden

Textur mit script ändern

Dieses Thema im Forum "Scripting" wurde erstellt von Whitefalcon, 29. März 2016.

Schlagworte:
  1. Whitefalcon

    Whitefalcon Nutzer

    Beiträge:
    20
    Zustimmungen:
    4
    Punkte für Erfolge:
    3
    Hallo Forum!

    Ich möchte mit einem LSL eine Textur verändern. Wie ghe ich da vor?

    Chris
     
  2. sven Homewood

    sven Homewood R.I.P.

    Beiträge:
    1.894
    Zustimmungen:
    85
    Punkte für Erfolge:
    48
    Hallo,

    Kommt darauf an, was du darunter verstehst: Eine Texture austauschen:
    http://wiki.secondlife.com/wiki/LlSetTexture

    Eine Texture verschieben: http://wiki.secondlife.com/wiki/LlOffsetTexture

    Eine Texture rotieren: http://wiki.secondlife.com/wiki/LlRotateTexture

    Eine Texture in der Grösse ändern: http://wiki.secondlife.com/wiki/LlScaleTexture

    Dazu kommen dann noch die Möglichkeiten, eine Texture zu "animieren", bzw ähnlich einem GIF durchzuflippen, Material (Bump- und Shininesstexturen) zu nutzen. Oder eben in einem Linkset zu ändern.

    Die ganze Übersicht über die Texturenbefehle findest Du hier: http://wiki.secondlife.com/wiki/Category:LSL_Texture
     
    Uli Jansma und Durandir Darwin gefällt das.
  3. Whitefalcon

    Whitefalcon Nutzer

    Beiträge:
    20
    Zustimmungen:
    4
    Punkte für Erfolge:
    3
    Danke Sven für die Hilfe. Die LSL-Wiki habe ich mir schon mal angesehen. Erfahrung mit LSL habe ich allerdings nicht. Programmieren in JAVA oder C# macht mir keine Probleme.

    IMHO sind die von dir genannten Funktionen nicht zum Ändern einer Textur. Vielleicht verstehe ich da aber was falsch (keine Erfahrung mit LSL).

    Lass mich deshalb noch ein wenig konkreter werden: Ich möchte mit einem LSL eine Textur verändern. Z.B. möchte ich die Textur, die ich als Alpha-Layer für meinen Avatar nutze per Script verändern und so mehr oder weniger von meinen Avatar verstecken.

    Die Funktion soll so sein, wie das die HUDs der Mesh-Bodys tun. Hier werden auch Teile der Skin-Textur durchsichtig gemacht. Das passiert auch per LSL.

    Chris
     
  4. Archon Short

    Archon Short Administrator Mitarbeiter

    Beiträge:
    5.195
    Zustimmungen:
    758
    Punkte für Erfolge:
    124
    Hi, also das funktioniert leider noch nicht, aber es gibt irgendwo bei LL die Anfrage zu der Funktion via HUD die Texturen am Körper bearbeiten zu können.
    Mit dem RLV wäre es jedoch möglich Dinge aus dem Inventar anziehen zu lassen.

    LSL ist ja Java sehr ähnlich, daher sollte es für Dich auch einfach sein Dich via http://wiki.secondlife.com/wiki/Category:LSL_Functions einzulesen.
     
    Uli Jansma gefällt das.
  5. Whitefalcon

    Whitefalcon Nutzer

    Beiträge:
    20
    Zustimmungen:
    4
    Punkte für Erfolge:
    3
    Archon Short schrieb:
    "Hi, also das funktioniert leider noch nicht…"

    Da täuscht du dich. Ich habe das an- und abschalten von Skin-Teilen selbst mit einen Demo von Maitreya probiert. Klappt einwandfrei. Die Frage ist nur: Wie machen die das?

    Chris
    PS: Danke für den Link zum Wiki. Die LSL-Wiki habe ich mir schon mal angesehen. Ich finde: Nicht 100% exakt, aber ein schöner Einstieg.
     
  6. sven Homewood

    sven Homewood R.I.P.

    Beiträge:
    1.894
    Zustimmungen:
    85
    Punkte für Erfolge:
    48
    Du redest vom Avatar. Dort ist es definitiv nicht möglich. Ein Meshbody ist ja was anderes. Ein Meshbody ist ja ein extra, ein Attachment wie ein Prim. Und das kann man auch scripten und durchsichtig schalten. Es wird auch keine Texture verändert, sondern nur die Transparenz. Dazu hat jeder Meshbody verschiedene Faces, die dann gesondert angesprochen werden können. In dem Fall wäre dir mit llSetAlpha mehr geholfen.
    Der Avatar selber kann nicht gescripted werden, mann kann nur über Sensoren etc bestimmte Daten abfragen.
    Scripte müssen immer in einem Objekt liegen, das kann ein Mesh, Sculpty oder Prim sein.
     
    Zuletzt bearbeitet: 30. März 2016
  7. Archon Short

    Archon Short Administrator Mitarbeiter

    Beiträge:
    5.195
    Zustimmungen:
    758
    Punkte für Erfolge:
    124
    Bei Mesh-Sachen, die modify sind, arbeite ich auch immer gern mit eigenen Scripten, vor allem da 95% der Shopbesitzer ihre Textur-UUID´s nicht ausreichend schützen und diese somit inworld per Script auslesbar sind.
    Auch haben die Bodys weit mehr Faces zum an-/ausschalten, als man via mitgeliefertem HUD einzeln ansteuern kann.

    Bei vielen fertigen Mesh-Bodys gibt es jedoch nicht die Option diese zu bearbeiten und eigene Scripte zu integrieren.
    Einige Hersteller geben jedoch die Kommunikationskanäle und benötigten Befehle an vertrauensvolle Scripter heraus, da diese sogenannte 3rd-Party Dinge für sie anbieten und somit einen Mehrwert erschaffen.
    Für Neulinge ist es so gut wie unmöglich da auch nur einen Fuß in die Tür zu bekommen.

    Also:
    1. Ein Meshbody kann bei Faces im Linkset jederzeit die Textur und Transparenz verändern
    2. Der LL-Avatarkörper benötigt Alphatexturen, die als ein Kleidungsstück gespeichert werden, die man im Normalfall nicht automatisiert an oder ausziehen kann. (Ausnahme ist das RLV bei einem RLV fähigen Viewer)
     
  8. Whitefalcon

    Whitefalcon Nutzer

    Beiträge:
    20
    Zustimmungen:
    4
    Punkte für Erfolge:
    3
    Okay. Mein Vergleich war nicht gut. Ich habe mich zu weit aus dem Fenster gelehnt mit der Vermutung, dass bei Mesh-Bodys eine Alpha-Layer verändert wird. Das haben wir ja jetzt.

    @Sven:
    Danke für die Erklärung. Das ein Mesh-Body einzelne Flächenteile unabhängig durchsichtig schalten kann wusste ich noch nicht. Das erklärt was ich im Maitreya Demo gesehen habe.

    @Archon:
    1. Den Hinweis "Für Neulinge ist es so gut wie unmöglich da auch nur einen Fuß in die Tür zu bekommen." habe ich verstanden. Find ich aber unnötig. Ich will auch keinem Mesh-Hersteller etwas stehlen - auch wenn "Dinge nicht ausreichend gesichert sind". Da kommen wir nicht auf einen Nenner!

    2. Diese Aussage find ich cool und du bist mir wieder sympatisch: "Ein Meshbody kann bei Faces im Linkset jederzeit die Textur und Transparenz verändern" => Textur und Transparenz ändern. Bedeutet doch das sowohl die Transparenz als auch die Textur (vom Meshbody) v e r ä n d e r t werden kann. Und genau das will ich: ein Textur v e r ä n d e r n. Zitat von oben: "Ich möchte mit einem LSL eine Textur verändern. Wie gehe ich da vor?". Erzähl mehr!

    Ich versuch nochmal zu erklären wofür ich das benötige:
    Ich möchte mit einem LSL die Textur auf die ein Alpha-Layer basiert verändern. Dies soll mir den Umweg ersparen neue Texturen am PC zu erstellen und Hochzuladen. Ich könnte dann die Klamotten anziehen die ich will und mit einem Script (mit HUD) einzelne Flecken das Alpha-Layers hinzufügen oder wegnehmen. Dafür benötige ich einfache Bildbearbeitungsfunktionen.

    Chris
     
  9. sven Homewood

    sven Homewood R.I.P.

    Beiträge:
    1.894
    Zustimmungen:
    85
    Punkte für Erfolge:
    48
    Also wirklich die Texture bearbeiten. Soweit ich weiss, geht das nicht. Sonst würde das ja schon jeder machen und nicht den Umweg über die Faces gehen. Wenn man den Meshavatar zerschnippelt vorm hochladen, sind ja dann auch mehr als die 8 faces pro Mesh möglich und mit dem "neuen" Meshimport sogar noch mehr (soweit ich weiss).
     
  10. Archon Short

    Archon Short Administrator Mitarbeiter

    Beiträge:
    5.195
    Zustimmungen:
    758
    Punkte für Erfolge:
    124
    Ok, das wird so nichts, da Du ja die Alphalayer Texturen dafür genau angepasst benötigst.
    Dann muss RLV im Viewer aktiviert sein.
    Im Inventar müssen Ordner RLV-spezifisch benannt werden und dort den Alpha als Inhalt haben.
    Das kann man dann per Scriptbefahl anziehen.
     
  11. Whitefalcon

    Whitefalcon Nutzer

    Beiträge:
    20
    Zustimmungen:
    4
    Punkte für Erfolge:
    3
    Mesh (im Sinne von Avatar-Körper damit zu beschreiben) ist für mich vorerst nicht so wichtig. Ich kenn eiben auch kein InWold-Tool zur Bildbearbeitung. Das würde Sens Theorie unterstützen. Gut ich bin noch nicht lange dabei (gebrauchter Avatar), aber SL ist auch nicht sooo schrecklich komplex.

    Was haltet ihr vom Umweg über ein Foto. A) Prims so vor einem Hintergrund platzieren wie ich das benötige. B) Kamera einstellen. C) Bild machen. D) Bild abholen und ins Inventar bringen. Könnte das klappen?

    Chris.
     
  12. Archon Short

    Archon Short Administrator Mitarbeiter

    Beiträge:
    5.195
    Zustimmungen:
    758
    Punkte für Erfolge:
    124
  13. sven Homewood

    sven Homewood R.I.P.

    Beiträge:
    1.894
    Zustimmungen:
    85
    Punkte für Erfolge:
    48
    Was sich mir auch nicht so ganz erschliesst, wenn du den Standart Avatar trägst und willst Meshklamotten tragen, dann sind doch da die Alphalayer bei und die muss man nur entsprechend anziehen, dazu muss man doch nicht jedesmal eine neue Texture erstellen oder ändern. Und 64 Layer hat der Avatar, dass sollte doch genug sein, um deine Bedürfnisse zu decken.
     
  14. Whitefalcon

    Whitefalcon Nutzer

    Beiträge:
    20
    Zustimmungen:
    4
    Punkte für Erfolge:
    3
    Ja, Sven, da stimme ich dir 100% zu!

    Ich hatte nur das Problem das irgendwie meine Hose manchmal aus den Stiefel raus geguckt (oder durchgeguckt) haben. An sich nichts Großes. Da habe ich wahrscheinlich den falschen Alpha verwendet. Meine Versuche dann einen ordentlichen Alpha selbst zu machen sind gescheitert. (Anmerkung: 1. Nein, ich hatte keine technischen Probleme. 2. Ja, ich habe die Tutorials durchgearbeitet. 3. 'robinwood' kenne ich.), Entweder war zu viel oder zu wenig sichtbar. Für mich ist es schwierig abzuschätzen wo genau der Übergang verlaufen muss. Nachdem ich 3 Texturen hochgeladen habe, hatte ich die Nase voll und habe nach einer InWorld-Lösung gesucht; jedoch Nichts gefunden.

    Dies war alles bevor ich mich an das Forum gewendet habe. Dem Forum eilt ein gewisser Ruf voraus, wie es mit Neulingen umspringt – mein Leidensdruck war jedoch größer.

    Ich habe mich ein wenig im WWW umgesehen und wahrscheinlich (kann ich nicht zu 100% sagen) ist es so, das Objekte generell statisch sind. M.a.w Objekte können nicht beliebig verändert werden. Ich vermute (kann ich nicht beweisen) dass die Infrastruktur um Objektänderungen (Achtung Archon: Ich meine verändern eines Objekts und nicht verwenden eines bestehenden anderen Objekts oder ändern der Referenz auf ein Objekt) in SL einfach nicht vorhanden ist, bzw. sehr hohe Kosten verursacht. Das hängt letztlich damit zusammen wie Objekte auf die verbundenen Viewer ausgerollt werden. Um der Sache auf den Grund zu gehen ist sicher LibOpenMetaverse ein guter Startpunkt. Vielleicht findet sich im Forum eine mitleidige Seel die da Licht ins Dunkel (=Fakten, keine Vermutungen) bringen kann.