BulletSim/de

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Funktionen der BulletSim-Skripterweiterung)
(Bullet Implementierungen)
 
(10 intermediate revisions by one user not shown)
Line 1: Line 1:
'''BulletSim'''
+
{{Quicklinks|BulletSim}}{{BulletSim}}
 
+
= BulletSim =
 
__TOC__
 
__TOC__
 
BulletSim ist das Modul für OpenSimulator, das mithilfe der [http://bulletphysics.org Bullet Physics Engine]. BulletSim ist das Modul für OpenSimulator, das mithilfe der [http://secondlife.com Second Life] kompatibel ist .
 
BulletSim ist das Modul für OpenSimulator, das mithilfe der [http://bulletphysics.org Bullet Physics Engine]. BulletSim ist das Modul für OpenSimulator, das mithilfe der [http://secondlife.com Second Life] kompatibel ist .
Line 30: Line 30:
  
 
=== Bullet Implementierungen ===
 
=== Bullet Implementierungen ===
BulletSim ist ein Wrapper für die Bullet-Physik-Engine. Die Schnittstelle aus der virtuellen Welt, die BulletSim an die Physik-Engine anpasst, wird durch die abstrakte Klasse beschrieben BSAPITemplate. Es gibt zwei Instanzen dieser Klasse BSAPIXNAund BSAPIUnman.
+
BulletSim ist ein Wrapper für die Bullet-Physik-Engine. Die Schnittstelle aus der virtuellen Welt, die BulletSim an die Physik-Engine anpasst, wird durch die abstrakte Klasse beschrieben BSAPITemplate. Es gibt zwei Instanzen dieser Klasse BSAPIXNA und BSAPIUnman.
  
 
BSAPIUnman enthält die Verbindung zur nicht verwalteten DLL/SO, die die C++ Version der Bullet Physik Engine ist. Die Quellen und Build-Anweisungen sind verfügbar unter <code>git://opensimulator.org/git/opensim-libs/trunk/unmanaged/BulletSim</code>.  
 
BSAPIUnman enthält die Verbindung zur nicht verwalteten DLL/SO, die die C++ Version der Bullet Physik Engine ist. Die Quellen und Build-Anweisungen sind verfügbar unter <code>git://opensimulator.org/git/opensim-libs/trunk/unmanaged/BulletSim</code>.  
Line 71: Line 71:
 
== Funktionen der BulletSim-Skripterweiterung ==
 
== Funktionen der BulletSim-Skripterweiterung ==
  
Die Physikerweiterungsschnittstelle wird von BulletSim verwendet, um viele neue Physikfunktionen zu implementieren. Damit diese Funktionen funktionieren, muss die Schnittstelle [[OSSL_Script_Library/ModInvoke|mod_invoke]].
+
Die Physikerweiterungsschnittstelle wird von BulletSim verwendet, um viele neue Physikfunktionen zu implementieren. Damit diese Funktionen funktionieren, muss die Schnittstelle [[OSSL_Script_Library/ModInvoke|mod_invoke]]aktiviert sein.
  
 
[[BulletSim/ScriptFunctions]]
 
[[BulletSim/ScriptFunctions]]
  
== Avatar Walking Up Stairs ==
+
== Avatar Treppen begehen ==
The avatar movement actor include special checks to allow avatars to move up stepped objects (think stairs). The code works by checking for collisions close to the avatar's feet and, if trying to walk forward and not flying, pushing the avatar up to get over the object. This is a different algorithm than ODE which relies on the curvature of the avatar's capsule to move up and over low obstacles.
+
Der Avatar-Bewegungs-Akteur enthält spezielle Überprüfungen, die es Avataren ermöglichen, sich gestufte Objekte hinaufzubewegen (denken Sie an Treppen). Der Code funktioniert, indem er auf Kollisionen in der Nähe der Füße des Avatars prüft und den Avatar nach oben drückt, um über das Objekt zu gelangen, wenn er versucht, vorwärts zu gehen und nicht zu fliegen. Dies ist ein anderer Algorithmus als ODE, der auf der Krümmung der Kapsel des Avatars beruht, um sich nach oben und über niedrige Hindernisse zu bewegen.
  
There are five INI parameters that control stairs:
+
Es gibt fünf INI-Parameter, die Treppen steuern:
 
{| class="wikitable" |
 
{| class="wikitable" |
 
|AvatarStepHeight
 
|AvatarStepHeight
|The maximum height of a step. If the avatar collides with something of less than this height, it will be considered a step and the avatar will consider moving up to get over it;
+
|Die maximale Höhe einer Stufe. Wenn der Avatar mit etwas unter dieser Höhe kollidiert, wird dies als Stufe betrachtet und der Avatar erwägt, sich nach oben zu bewegen, um darüber hinwegzukommen.
 
|-
 
|-
 
|AvatarStepAngle
 
|AvatarStepAngle
|The maximum angle of the collision surface to consider it a step. If set to zero, for instance, the step faces must be perfectly vertical before it would be considered a step surface. Typical value is 0.3f which allows some step variability;
+
|Der maximale Winkel der Kollisionsfläche, um ihn als Stufe zu betrachten. Wenn beispielsweise auf Null gesetzt, müssen die Stufenflächen perfekt vertikal sein, bevor sie als Stufenfläche betrachtet werden. Der typische Wert ist 0,3f, was eine gewisse Schrittvariabilität ermöglicht.
 
|-
 
|-
 
|AvatarStepGroundFudge
 
|AvatarStepGroundFudge
|A small fudge factor subtracted from the computed base of the avatar when checking if the collision is close to the avatar's feet. The base of the avatar computation can be a little high (above the ground) so this factor allows comparing lower for the step. This can prevent small bumps on the ground being too small to be considered a step (which causes the bump to act like a wall);
+
|Ein kleiner Fudge-Faktor, der von der berechneten Basis des Avatars abgezogen wird, wenn überprüft wird, ob sich die Kollision in der Nähe der Füße des Avatars befindet. Die Basis der Avatar-Berechnung kann etwas hoch sein (über dem Boden), sodass dieser Faktor es ermöglicht, die Stufe niedriger zu vergleichen. Dies kann verhindern, dass kleine Unebenheiten auf dem Boden zu klein sind, um als Stufe betrachtet zu werden (was dazu führt, dass die Unebenheiten wie eine Wand wirken).
 
|-
 
|-
 
|AvatarApproachFactor
 
|AvatarApproachFactor
|The angle the step must be approached. This is the radians of the angle between the avatar and the colliding step surface. This prevents walking up things when approached from a wide angle. The default of 0.6 is about a 45 degree approach angle. Setting this down to 0.3, for instance, requires the avatar to be walking nearly directly into the step to get the up actions.
+
|Der Winkel, in dem die Stufe angefahren werden muss. Dies ist das Bogenmaß des Winkels zwischen dem Avatar und der kollidierenden Stufenoberfläche. Dies verhindert das Hochgehen von Gegenständen, wenn man sich aus einem weiten Winkel nähert. Der Standardwert von 0,6 entspricht etwa einem Anflugwinkel von 45 Grad. Wenn Sie dies beispielsweise auf 0,3 einstellen, muss der Avatar fast direkt in die Stufe gehen, um die Aufwärtsaktionen auszuführen.
 
|-
 
|-
 
|AvatarStepUpCorrectionFactor
 
|AvatarStepUpCorrectionFactor
|A multiplication factor for changing the avatar's position to get over the step. The height of the collision with the step is multiplied by this factor and that number is added to the avatar's Z coordinate. This moves the avatar up in relation to the step. If this factor is less than zero, the AvatarStepHeight is used.
+
|Ein Multiplikationsfaktor, um die Position des Avatars zu ändern, um die Stufe zu überwinden. Die Höhe der Kollision mit der Stufe wird mit diesem Faktor multipliziert und diese Zahl wird zur Z-Koordinate des Avatars addiert. Dadurch wird der Avatar im Verhältnis zum Schritt nach oben verschoben. Wenn dieser Faktor kleiner als Null ist, wird AvatarStepHeight verwendet.
 
|-
 
|-
 
|AvatarStepForceFactor
 
|AvatarStepForceFactor
|A force factor to push the avatar up to get over the step. An up force of the step collision height times the avatar mass times this factor is applied to the avatar. These last two factors can be used in combination for moving the avatar when a step is collided with.
+
|AEin Kraftfaktor, um den Avatar nach oben zu drücken, um die Stufe zu überwinden. Eine Auftriebskraft von der Stufenkollisionshöhe mal der Avatarmasse mal diesem Faktor wird auf den Avatar angewendet. Diese letzten beiden Faktoren können in Kombination verwendet werden, um den Avatar zu bewegen, wenn eine Stufe kollidiert.
 
|-
 
|-
 
|AvatarStepSmoothingSteps
 
|AvatarStepSmoothingSteps
|when an avatar walks up the steps, collisions go on and off as the steps are hit and moved over. This is the number of simulator ticks (about 10 per second) that walking up steps will still be performed after the last step collision is sensed. This smooths out the action a little.
+
|Wenn ein Avatar die Stufen hinaufgeht, gehen Kollisionen ein und aus, wenn die Stufen getroffen und über sie bewegt werden. Dies ist die Anzahl der Simulator-Ticks (ca. 10 pro Sekunde), die das Aufsteigen von Stufen noch ausgeführt wird, nachdem die Kollision der letzten Stufe erkannt wurde. Das glättet die Aktion ein wenig.
 
|-
 
|-
 
|}
 
|}
  
The default values are:
+
Die Standardwerte sind:
 
<code><pre>
 
<code><pre>
 
[BulletSim]
 
[BulletSim]
Line 114: Line 114:
 
</pre></code>
 
</pre></code>
  
== Other Notes ==
+
== Weitere Hinweise ==
  
=== Adjusting Avatar Height ===
+
=== Anpassen der Avatar-Höhe ===
  
As of May 13, 2013, BulletSim uses the Bullet capsule shape to approximate a standing avatar. One oddity of the capsule is its height which doesn't scale nicely in the way OpenSimulator would like. To fix this, several adjustment parameters are available to correct the avatar capsule height so that an avatar properly appears to be standing on the ground rather than floating over or sunk into the ground.
+
Seit dem 13. Mai 2013 verwendet BulletSim die Kapselform Bullet, um sich einem stehenden Avatar anzunähern. Eine Besonderheit der Kapsel ist ihre Höhe, die sich nicht so gut skalieren lässt, wie es OpenSimulator gerne hätte. Um dies zu beheben, stehen mehrere Einstellparameter zur Verfügung, um die Höhe der Avatarkapsel so zu korrigieren, dass ein Avatar richtig auf dem Boden steht und nicht über oder im Boden versenkt.
  
These parameters are:
+
Diese Parameter sind:
 
{| class="wikitable" |
 
{| class="wikitable" |
 
|-
 
|-
 
! INI varaible
 
! INI varaible
! Default
+
! Standard
! Description
+
! Beschreibung
 
|-
 
|-
 
| AvatarHeightMidFudge
 
| AvatarHeightMidFudge
 
| 0.0
 
| 0.0
| This is a fudge factor added to the 50% avatar height (about 1.87 meters). This number is added to the total height so adjusting this number moves the whole capsule up and down by roughly this distance.
+
| Dies ist ein Fudge-Faktor, der zu der Avatargröße von 50% (ca. 1,87 Meter) hinzukommt. Diese Zahl wird zur Gesamthöhe addiert, so dass die Anpassung dieser Zahl die gesamte Kapsel um ungefähr diesen Abstand nach oben und unten bewegt.
 
|-
 
|-
 
| AvatarHeightLowFudge
 
| AvatarHeightLowFudge
 
| 0.0
 
| 0.0
| This factor is added to the height at the low end of the height scale ("0%" height which is about 1.62 meters). This number is scaled proportionally from the mid height to the low height. Adjusting this number adjusts the height of the capsule for small shapes.
+
| Dieser Faktor wird zu der Höhe am unteren Ende der Höhenskala addiert ("0%" Höhe, die etwa 1,62 Meter beträgt). Diese Zahl wird proportional von der mittleren Höhe zur niedrigen Höhe skaliert. Durch Anpassen dieser Zahl wird die Höhe der Kapsel für kleine Formen angepasst.
 
|-
 
|-
 
| AvatarHeightHighFudge
 
| AvatarHeightHighFudge
 
| 0.0
 
| 0.0
| This is similar to AvatarHeightLowFudge but it is applied to the high end of height ("100%" height which is about 2.12 meters). It is also added proportionally from the mid height to the large height.
+
| Dies ähnelt AvatarHeightLowFudge, wird jedoch auf das obere Ende der Höhe angewendet ("100%" Höhe, die etwa 2,12 Meter beträgt). Es wird auch proportional von der mittleren Höhe zur großen Höhe hinzugefügt.
 
|}
 
|}
 +
 +
[[Category:Users]]
 +
[[Category:Developers]]
 +
[[Category:German Translations]]

Latest revision as of 14:11, 12 January 2022

Template:BulletSim

[edit] BulletSim

Contents

BulletSim ist das Modul für OpenSimulator, das mithilfe der Bullet Physics Engine. BulletSim ist das Modul für OpenSimulator, das mithilfe der Second Life kompatibel ist .

[edit] Projekt Information

BulletSim/Functionality listet die möglichen physischen Operationen, ihren Implementierungsstatus und alle Hinweise zu ihrer Verwendung auf. Dies ist besonders nützlich für den Fahrzeugbetrieb.

[edit] Building

[edit] BulletSim-Architektur

[edit] BSScene

Simulations Stepper. Step Events (Pre-Step-Event, Post-Step-Event).

Voraussetzung für die Steuerung von Physik-Engine-Modifikationen mit dem Taint-System (normale Taints, Post-Taints).

Detailprotokollierungssystem.

Parametersystem.

[edit] BSPhysObject

Children klassen von BSPrim und BSCharacter.

[edit] Terrain

[edit] Einschränkungen

[edit] Bullet Implementierungen

BulletSim ist ein Wrapper für die Bullet-Physik-Engine. Die Schnittstelle aus der virtuellen Welt, die BulletSim an die Physik-Engine anpasst, wird durch die abstrakte Klasse beschrieben BSAPITemplate. Es gibt zwei Instanzen dieser Klasse BSAPIXNA und BSAPIUnman.

BSAPIUnman enthält die Verbindung zur nicht verwalteten DLL/SO, die die C++ Version der Bullet Physik Engine ist. Die Quellen und Build-Anweisungen sind verfügbar unter git://opensimulator.org/git/opensim-libs/trunk/unmanaged/BulletSim.

BSAPIXNA ist die Verbindung zu einer C# Version von Bullet, deren Quellen hier gehostet werden https://code.google.com/p/bullet-xna/.

Die Auswahl der Physik-Engine erfolgt zur Startzeit der Region. Sie wird pro Simulator mit folgenden INI-Einstellungen angegeben:

    [Startup]
    physics = BulletSim
    [BulletSim]
    BulletEngine = BulletUnmanaged  ; The default
    ; BulletEngine = BulletXNA      ; uncomment this line for C# version of Bullet

[edit] Managed/Unmanaged Interface

[edit] Linksets

[edit] "Actor" Architecture and the Actors

Jedes physische Objekt von BulletSim kann mit einer beliebigen Anzahl von "actors" verbunden sein. Die Aktoren registrieren sich für Simulationsereignisse (in der Regel vor jedem Simulationsschritt aufzurufen) und ändern die physikalischen Parameter des Objekts. Die derzeit implementierten Akteure sind:

   *BSActorAvatarMove: steuert Bewegungen und Treppenlaufen von Avataren;
   *BSActorHover: implementiert vertikales Schweben für Objekte und Avatare;
   *BSActorLockAxis: wendet eine Beschränkung auf physische Objekte an, um eine oder mehrere Winkelachsenbewegungen zu sperren;
   *BSActorMoveToTarget: bewegt ein physisches Objekt an einen Ort;
   *BSActorSetForce: wendet eine kontinuierliche Kraft auf ein physisches Objekt an;
   *BSActorSetTorque: wendet ein kontinuierliches Drehmoment auf ein physisches Objekt an;
   *BSDynamic (Name ändert sich): implementiert SecondLife(r)-Fahrzeugmodell.


[edit] Vehicles

BulletSim/Vehicles

BulletSim/VehicleTuning

Siehe auch die archivierte Seite: Vehicles

[edit] Funktionen der BulletSim-Skripterweiterung

Die Physikerweiterungsschnittstelle wird von BulletSim verwendet, um viele neue Physikfunktionen zu implementieren. Damit diese Funktionen funktionieren, muss die Schnittstelle mod_invokeaktiviert sein.

BulletSim/ScriptFunctions

[edit] Avatar Treppen begehen

Der Avatar-Bewegungs-Akteur enthält spezielle Überprüfungen, die es Avataren ermöglichen, sich gestufte Objekte hinaufzubewegen (denken Sie an Treppen). Der Code funktioniert, indem er auf Kollisionen in der Nähe der Füße des Avatars prüft und den Avatar nach oben drückt, um über das Objekt zu gelangen, wenn er versucht, vorwärts zu gehen und nicht zu fliegen. Dies ist ein anderer Algorithmus als ODE, der auf der Krümmung der Kapsel des Avatars beruht, um sich nach oben und über niedrige Hindernisse zu bewegen.

Es gibt fünf INI-Parameter, die Treppen steuern:

AvatarStepHeight Die maximale Höhe einer Stufe. Wenn der Avatar mit etwas unter dieser Höhe kollidiert, wird dies als Stufe betrachtet und der Avatar erwägt, sich nach oben zu bewegen, um darüber hinwegzukommen.
AvatarStepAngle Der maximale Winkel der Kollisionsfläche, um ihn als Stufe zu betrachten. Wenn beispielsweise auf Null gesetzt, müssen die Stufenflächen perfekt vertikal sein, bevor sie als Stufenfläche betrachtet werden. Der typische Wert ist 0,3f, was eine gewisse Schrittvariabilität ermöglicht.
AvatarStepGroundFudge Ein kleiner Fudge-Faktor, der von der berechneten Basis des Avatars abgezogen wird, wenn überprüft wird, ob sich die Kollision in der Nähe der Füße des Avatars befindet. Die Basis der Avatar-Berechnung kann etwas hoch sein (über dem Boden), sodass dieser Faktor es ermöglicht, die Stufe niedriger zu vergleichen. Dies kann verhindern, dass kleine Unebenheiten auf dem Boden zu klein sind, um als Stufe betrachtet zu werden (was dazu führt, dass die Unebenheiten wie eine Wand wirken).
AvatarApproachFactor Der Winkel, in dem die Stufe angefahren werden muss. Dies ist das Bogenmaß des Winkels zwischen dem Avatar und der kollidierenden Stufenoberfläche. Dies verhindert das Hochgehen von Gegenständen, wenn man sich aus einem weiten Winkel nähert. Der Standardwert von 0,6 entspricht etwa einem Anflugwinkel von 45 Grad. Wenn Sie dies beispielsweise auf 0,3 einstellen, muss der Avatar fast direkt in die Stufe gehen, um die Aufwärtsaktionen auszuführen.
AvatarStepUpCorrectionFactor Ein Multiplikationsfaktor, um die Position des Avatars zu ändern, um die Stufe zu überwinden. Die Höhe der Kollision mit der Stufe wird mit diesem Faktor multipliziert und diese Zahl wird zur Z-Koordinate des Avatars addiert. Dadurch wird der Avatar im Verhältnis zum Schritt nach oben verschoben. Wenn dieser Faktor kleiner als Null ist, wird AvatarStepHeight verwendet.
AvatarStepForceFactor AEin Kraftfaktor, um den Avatar nach oben zu drücken, um die Stufe zu überwinden. Eine Auftriebskraft von der Stufenkollisionshöhe mal der Avatarmasse mal diesem Faktor wird auf den Avatar angewendet. Diese letzten beiden Faktoren können in Kombination verwendet werden, um den Avatar zu bewegen, wenn eine Stufe kollidiert.
AvatarStepSmoothingSteps Wenn ein Avatar die Stufen hinaufgeht, gehen Kollisionen ein und aus, wenn die Stufen getroffen und über sie bewegt werden. Dies ist die Anzahl der Simulator-Ticks (ca. 10 pro Sekunde), die das Aufsteigen von Stufen noch ausgeführt wird, nachdem die Kollision der letzten Stufe erkannt wurde. Das glättet die Aktion ein wenig.

Die Standardwerte sind:

[BulletSim]
    AvatarStepHeight = 0.6
    AvatarStepGroundFudge = 0.1
    AvatarStepApproachFactor = 0.6
    AvatarStepUpCorrectionFactor = 1.0
    AvatarStepForceFactor = 2.0
    AvatarStepSmoothingSteps = 1

[edit] Weitere Hinweise

[edit] Anpassen der Avatar-Höhe

Seit dem 13. Mai 2013 verwendet BulletSim die Kapselform Bullet, um sich einem stehenden Avatar anzunähern. Eine Besonderheit der Kapsel ist ihre Höhe, die sich nicht so gut skalieren lässt, wie es OpenSimulator gerne hätte. Um dies zu beheben, stehen mehrere Einstellparameter zur Verfügung, um die Höhe der Avatarkapsel so zu korrigieren, dass ein Avatar richtig auf dem Boden steht und nicht über oder im Boden versenkt.

Diese Parameter sind:

INI varaible Standard Beschreibung
AvatarHeightMidFudge 0.0 Dies ist ein Fudge-Faktor, der zu der Avatargröße von 50% (ca. 1,87 Meter) hinzukommt. Diese Zahl wird zur Gesamthöhe addiert, so dass die Anpassung dieser Zahl die gesamte Kapsel um ungefähr diesen Abstand nach oben und unten bewegt.
AvatarHeightLowFudge 0.0 Dieser Faktor wird zu der Höhe am unteren Ende der Höhenskala addiert ("0%" Höhe, die etwa 1,62 Meter beträgt). Diese Zahl wird proportional von der mittleren Höhe zur niedrigen Höhe skaliert. Durch Anpassen dieser Zahl wird die Höhe der Kapsel für kleine Formen angepasst.
AvatarHeightHighFudge 0.0 Dies ähnelt AvatarHeightLowFudge, wird jedoch auf das obere Ende der Höhe angewendet ("100%" Höhe, die etwa 2,12 Meter beträgt). Es wird auch proportional von der mittleren Höhe zur großen Höhe hinzugefügt.
Personal tools
General
About This Wiki