26.11.2018, 11:48
Das Problem liegt im Befehl llSetStatus(STATUS_ROTATE_X | STATUS_ROTATE_Y, FALSE). Ich habe mal kurz auf Metropolis unter Linux mit OpenSim 0.8.3 mit Bulletsim und ODE getestet.
Unter ODE funktioniert das Script mit llSetStatus(STATUS_ROTATE_X | STATUS_ROTATE_Y, FALSE), aber unter Bulletsim funktioniert es nicht. Mit OpenSim 0.9.x oder mit ubODE habe ich nicht getestet. Aus meiner Sicht handelt es sich um einen Bug.
Hinweis um meine Aussage zu verifizieren: Das setzen des Status im Objekt ist permanent. Entweder du erstellst ein neues Objekt mit einem Script das den Befehl nicht enthält, oder du änderst FALSE auf TRUE.
Der Befehl bewirkt in seiner ursprünglichen Form, dass sich das Objekt nur um die Z-Achse drehen kann.
Unter ODE finde ich das Verhalten des Scripts aber extrem ruckelnd. Ganz allgemein würde ich nach einer Methode suchen, die weniger Lag verursacht. Es kommt natürlich darauf an, was du genau machen willst.
Unter ODE funktioniert das Script mit llSetStatus(STATUS_ROTATE_X | STATUS_ROTATE_Y, FALSE), aber unter Bulletsim funktioniert es nicht. Mit OpenSim 0.9.x oder mit ubODE habe ich nicht getestet. Aus meiner Sicht handelt es sich um einen Bug.
Hinweis um meine Aussage zu verifizieren: Das setzen des Status im Objekt ist permanent. Entweder du erstellst ein neues Objekt mit einem Script das den Befehl nicht enthält, oder du änderst FALSE auf TRUE.
Code:
llSetStatus(STATUS_ROTATE_X | STATUS_ROTATE_Y, TRUE);
Der Befehl bewirkt in seiner ursprünglichen Form, dass sich das Objekt nur um die Z-Achse drehen kann.
Unter ODE finde ich das Verhalten des Scripts aber extrem ruckelnd. Ganz allgemein würde ich nach einer Methode suchen, die weniger Lag verursacht. Es kommt natürlich darauf an, was du genau machen willst.