BulletSim/Functionality/de

From OpenSimulator

Jump to: navigation, search


BulletSim-Funktionalität

Diese Seite listet die Physik-Operationen von OpenSimulator auf und insbesondere die detaillierten Fahrzeugparameter. Der Implementierungsstatus von BulletSim wird ebenso aufgeführt wie einige Kommentare zur Funktionalität.

Funktion Impl Kommentar
osGetPhysicsEngineType Y Gibt "BulletSim" zurück.
linksets Y BulletSim hat zwei Implementierungen von Linksets: Constraints und Compound. Der Standard ist "Compound". Der Typ wird durch eine INI-Datei-Einstellung ausgewählt. "Constraint" erstellt das Linkset durch das Erstellen statischer physikalischer Verbindungen zwischen den Objekten des Linksets. Dies ist gut für kleine Linksets und wird in Zukunft erweitert, um andere als statische Verbindungen zu ermöglichen (Scharniergelenke, Schiebegelenke, ...). "Compound" erstellt das Linkset, indem alle Kind-Netze zu einer einzigen zusammengesetzten physikalischen Form kombiniert werden. Dies schafft eine sehr stabile physikalische Form und funktioniert gut für große Linksets.
llApplyImpulse Y Abgestimmt, sodass die Impulswirkung ähnlich wie bei SL ist.
llApplyRotationalImpulse N
llMoveToTarget semi BulletSim implementiert eine Bewegung zum Ziel, die derzeit (20130120) durch Änderung der Position des Objekts erfolgt.
llCastRay N
llGetAccel N
llGetBoundingBox semi Die aktuelle Implementierung (20130117) berechnet die Begrenzungsbox des Haupt-Prims oder des Avatars. Linksets sind nicht implementiert. Diese Berechnung erfolgt im LSL-Implementierungscode und nicht durch die Physik-Engine.
llGetCenterOfMass Y OpenSimulator implementiert dies derzeit (20130120), indem der geometrische Mittelpunkt des Prims oder Linksets zurückgegeben wird, nicht der tatsächliche Schwerpunkt.
llGetForce Y
llGetGeometricCenter Y
llGetMass Y Berücksichtigt Formschneiden oder -aushöhlen.
llGetMassMKS N Diese Funktion ist noch nicht in OpenSimulator implementiert (20130117).
PRIM_TYPE_* Y Der OpenSimulator Meshmerizer erstellt Netze für alle Arten von Primformen, einschließlich Sculpties. Für bessere Speicherung und Leistung verwendet BulletSim native Physik-Engine-Formen für Würfel, Rechtecke und Kugeln. Die Netzformen werden einmal erstellt und dann für alle Instanzen derselben Größe gemeinsam genutzt.
PRIM_SLICE N
PRIM_PHYSICS_SHAPE_CONVEX semi OpenSimulator setzt oder gibt diesen Wert nicht zurück. BulletSim konvertiert intern alle physikalischen Formen zu konvexen Hüllen für die Leistung. Dies wird mit dem | HACD : Hierarchical Approximate Convex Decomposition Algorithmus gemacht. Derzeit (20130117) ist der Code in C# und in OpenSimulator-Core eingecheckt, aber zukünftige Versionen werden die in Bullet enthaltene Version verwenden. Zukünftige Implementierungen sollten jede mit dem Netz gelieferte konvexe Hülle verwenden.
PRIM_MATERIAL_* Y Das Festlegen von Materialien ändert die Reibung und Rückprallkraft des physikalischen Prims. Die Dichte wird nicht verändert.
PRIM_PHANTOM Y
llGetTorque Y
llGetVel Y
llGround Y Intern wandelt BulletSim die Höhenkarte der Region in ein Netz um, sodass das Gelände tatsächlich ein statisches Netz ist.
llPushObject Y Der Hauptteil dieser Funktionalität ist in LSL_Api implementiert.
llSetAngularVelocity Y
llSetBuoyancy Y Der Auftrieb wird durch Variieren der Schwerkraft auf das einzelne Prim/Linkset implementiert.
llSetForce Y Die Kraft wird kontinuierlich angewendet, bis die Kraft auf Null gesetzt wird.
llSetForceAndTorque N
llSetHoverHeight semi Verwenden Sie dies nicht mit Fahrzeugen, da sonst Chaos entsteht.
llSetPhysicsMaterial N OpenSimulator fügte die Möglichkeit hinzu, diese Eigenschaften aus V3-Viewer-Dialogen festzulegen, aber hat diese Funktion noch nicht (Stand 20130207).
: DENSITY Y Durch PRIM_MATERIAL auf Materialwert gesetzt.
: FRICTION Y Durch PRIM_MATERIAL auf Materialwert gesetzt.
: RESTITUTION Y Durch PRIM_MATERIAL auf Materialwert gesetzt.
: GRAVITY_MULTIPLIER Y
llSetScale Y
llSetStatus Y
: STATUS_PHYSICS Y
: STATUS_ROTATE_X Y
: STATUS_ROTATE_Y Y
: STATUS_ROTATE_Z Y
: STATUS_PHANTOM Y
llVolumeDetect Y Grundlegende Volumenerkennung funktioniert (statisches Prim/Linkset). Phantom- und physische Volumenerkennungsobjekte fallen auf Nullhöhe, bevor sie stoppen.
llSetVelocity Y
llSetVehicleType Y Alle Fahrzeugtypen werden unterstützt.
: VEHICLE_FLAG_NO_DEFLECTION_UP N
: VEHICLE_FLAG_LIMIT_ROLL_ONLY N
: VEHICLE_FLAG_HOVER_WATER_ONLY Y
: VEHICLE_FLAG_HOVER_TERRAIN_ONLY Y
: VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT Y
: VEHICLE_FLAG_HOVER_UP_ONLY Y
: VEHICLE_FLAG_LIMIT_MOTOR_UP semi Wenn das Fahrzeug mit nichts kollidiert, wird jede positive Z-Kraft (nach oben) aus der Fahrzeuggeschwindigkeit entfernt. Die Schwerkraft sollte dann dafür sorgen, dass das Fahrzeug zu Boden fällt.
: VEHICLE_FLAG_MOUSELOOK_STEER N
: VEHICLE_FLAG_MOUSELOOK_BANK N
: VEHICLE_FLAG_CAMERA_DECOUPLED N
: VEHICLE_LINEAR_MOTOR_DIRECTION Y Richtungsfunktionen wurden so skaliert, dass sie ähnlich wie bei SL sind.
: VEHICLE_LINEAR_MOTOR_TIMESCALE Y
: VEHICLE_LINEAR_FRICTION_TIMESCALE Y
: VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE Y
: VEHICLE_LINEAR_MOTOR_OFFSET N
: VEHICLE_REFERENCE_FRAME N
: VEHICLE_ANGULAR_MOTOR_DIRECTION Y Die Winkelrichtung wurde so skaliert, dass sie ähnlich wie bei SL ist. DIES IST ANDERS ALS BEI ODE. Die ODE-Motor-Richtungsfunktion war um den Faktor 10 falsch, sodass auf ODE abgestimmte Fahrzeuge sich sehr schnell drehen, wenn sie auf einer BulletSim-basierten Region betrieben werden.
: VEHICLE_ANGULAR_MOTOR_TIMESCALE Y
: VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE Y
: VEHICLE_ANGULAR_FRICTION_TIMESCALE Y
: VEHICLE_LINEAR_DEFLECTION_TIMESCALE Y
: VEHICLE_LINEAR_DEFLECTION_EFFICIENCY Y
: VEHICLE_ANGULAR_DEFLECTION_TIMESCALE Y
: VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY Y
: VEHICLE_BANKING_TIMESCALE N
: VEHICLE_BANKING_EFFICIENCY N
: VEHICLE_BANKING_MIX N
: VEHICLE_HOVER_HEIGHT Y
: VEHICLE_HOVER_TIMESCALE Y
: VEHICLE_HOVER_EFFICIENCY N
: VEHICLE_VERTICAL_ATTRACTION_TIMESCALE Y
: VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY Y
Objektkollisionen Y
Linkset-Kind-Kollisionen N
Energielimits N
Top-Kollidierer


Y Versucht, die Anzahl der Kollisionen anhand der vergangenen Zeit zu skalieren, sodass die Liste die jüngsten Kollisionen enthalten sollte.
Personal tools
General
About This Wiki