Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Bug Report in Open-SIM? HowTo?
#10
Ich wollte gerade einen etwas ausführlicheren Zwischenbericht schreiben, aber Manni war schneller. Mein einfachstes Test-Script war fast so wie das von Manni geschrieben.

Wie ich gestern schon geschrieben hatte, funktionierte es bei mir nicht. Heute hat sich dann herausgestellt, dass es einmal funktioniert, dann wieder nicht. Dann vielleicht dreimal perfekt und dann wieder nicht. Reiner Zufall, mal so und mal so und mal irgendwo dazwischen, bzw. mit kleiner Abweichung..

Und genau das gleiche Verhalten habe ich mit dem Script von Manni, das ich 1:1 übernommen habe und nur den Namen der Region von "Welcome" auf "Homes" geändert habe.

Bei mir läuft OpenSim 0.9.2.2 Yeti Dev 1afe46d vom 14.1.2023 unter Linux mit Mono. Ich benutze ebenfalls YEngine. Beim Viewer habe ich den Firestorm 6.5.6 (66221) Jul 16 2022 11:36:34 (64bit / SSE2) (Firestorm-Releasex64) with OpenSimulator.

Die wichtigste Erkenntnis, die ich bei meinen bisherigen Experimenten gewonnen habe war, dass sich der LookAt nicht auf die Koordinaten einer bestimmten Position (z.B. eines Objektes, wie dem Eingang zum Club, einem Laden etc) bezieht, sondern auf die Blickrichtung. Man kann es als einen Richtungsvektor entlang der X-Achse (von -1 [West] nach +1 [Ost]) und der Y-Achse (von -1 [Süd] nach +1 [Nord ]) mit dem Avatar als Nullpunkt betrachten. Die Z-Achse spielt keine Rolle, da der Avatar immer geradeaus und nie nach unten oder nach oben blickt.

Mit diesem System sind natürlich nicht nur Blickrichtungen nach Nord, Ost, Süd oder West möglich, sondern auch beliebige Zwischenrichtungen, wie z.B. <-1,1,0> für Nord-West oder <0.5,-1.0,0.0> für Süd-Süd-Ost usw.

Es ist auch möglich die Blickrichtung auf ein Ziel-Objekt mit einer Formel zu bestimmen. Bei einer normalen 256x256m Region könnte das dann so aussehen.
Code:
:
string Destination = "Welcome"; // your target destination here
vector LookAtTarget = <100.50, 140.0, 27.5>; // X,Y,Z of object to look at
vector LandingPoint = <128.0, 128.0, 25.0>; // X,Y,Z landing point for avatar to arrive at
// Test Blickrichtung Stehbar
vector LookAt = (lookAtTarget  - landingPoint) / 128; // the object they look at when arriving
:
Neu ist hier die Variable LookAtTarget und die Formel zur Berechnung von LookAt. Der Rest wäre wie in Manni's Beispiel.

Das Problem ist jetzt offensichtlich noch nicht gelöst. Eine detaillierte Analyse scheint auch mit einem grösseren Aufwand verbunden zu sein. Dafür fehlt mir aber die Zeit, so dass ich das auch mal so im Raum stehen lassen muss. Sad
Zitieren


Nachrichten in diesem Thema
Bug Report in Open-SIM? HowTo? - von Anachron - 09.02.2023, 18:56
RE: Bug Report in Open-SIM? HowTo? - von Pius Noel - 11.02.2023, 18:21

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste