Motores de Fisica

From OpenSimulator

Revision as of 04:17, 16 December 2007 by Darok (Talk | contribs)

Jump to: navigation, search

OpenSimIcon ALPHAespañol.png

AVISO: Esta página es una traducción de la original en inglés y puede no estar actualizada. La original en inglés se puede encontrar aquí: PhysicsEngines

Template:Aviso Traduccion Provisional Hay varios motores de física para su uso en OpenSim. Actualmente, son "basicphysics", "OpenDynamicsEngine", "RealPhysX" & "BulletX" (versión modificada). El plugin "basicphysics" es el valor por defecto y se puede ver en el archivo OpenSim.ini .

  • Al arrancar OpenSim en Windows o Linux, se puede añadir

-physics=OpenDynamicsEngine - para ejecutar el OpenDynamicsEngine (ODE) en lugar de basicphysics, o cambiar el parámetro correspondiente en OpenSim.ini .

  • Al arrancar OpenSim en Windows, se puede añadir

-physics=RealPhysX si se tiene las DLLs que no están incluídas en el paquete de OpenSim debido a las limitaciones de la licencia.

  • Al arrancar OpenSim en Windows o Linux, se puede añadir

-physics=modified_BulletX para ejecutar una versión modificada de la motor de Física BulletX alias BulletX Modificado. Véase la siguiente información acerca de los detalles y el progreso.

Para concluir, basicphysics y OpenDynamicsEngine ambos son apropiados para Linux y además, RealPhysX es adecuadopara Windows si se tienen sus DLLs. BulletX Modificado debería funcionar bien para Windows y Linux (no el original BulletX).

A partir del 10/9/07, ODE ha sido sometido a un testeo bastante importante. Soporta colisiones básicas con primitivas con forma de cubo, así como primitivas con esta forma que tenga con agujeros con forma de cubo. BulletX soporta primitivas con forma de cubo y parece ser estable; pero ha sido poco provado y se sabe que tiene problemas con la fricción (se patinan en torno a las superficies sin nivel). Physx no se ha actualizado en mucho tiempo.

Contents

Compilar ODE desde el código fuente (Linux)

Si uno quiere compilar el OpenDynamicsEngine (ODE) por su cuenta, se pueden obtener las últimas el código fuente en las librerías OpenSim (Ver. 0,9 como de Octubre'07) en el SVN: http://opensimulator.org/svn/opensim-libs Cambiar el directorio de ode y compilar de la siguiente manera:

./configure -- enable-shared make -k

(Se solía sugerir --with-trimesh=gimpact, pero ya no. Desde ODE 0,9, se prefiere Opcode porque soporta mejor la librería de colisiones)

Esto debería crear los archivos libode.a y lidode.so en el archivo subdirectorio src/ode . Copie estos dos archivos al directorio de opensim bin (después de haber hecho una copia de los archivos originales). [-er, No creo que el archivo .a sea necesario de poner en el bin!]

Compilar ODE desde el código fuente (Windows)

La distribución estándar de ode.org tiene una compilación, en el cual se encuentran subdirectorios para diferentes compiladores de Microsoft.

Los archivos .sln estándars (por lo menos para VS2005) compilan ode.dll tal que dependen de al menos dos runtime dlls de Microsoft. Esto puede causar que falle y algo de confusión, así que hacer lo siguiente: Pulsar con el botón derecho en ode en el Explorador de Soluciones, y seleccione Propiedades. Bajo Configuración Propiedades/General, cambiar "Usar MFC" por "Usar MFC en una librería estática".

Luego compilar como de costumbre.

ODE Plugin en OpenSim

Actualmente, el plugin de ODE suporta colisiones Avatar vs Avatar, Avatar vs Prim y Prim vs Prim. Avies y prims (activos) físicos están soportados.

El comportamiento de las colisiones es actualmente:

  • Para avies, una cápsula de .2 m de radio y una longitud de .9 m y 50Kg de masa
  • Para la posición, como un recuadro con una masa de una Caja de = 0.5Kg / L = 0.5Kg/dm3 = 500Kg/m3.
  • Los prims están separados en espacios de ~30m con su propio cubo de contorno para accelerar el cálculo de proximidad.
  • La fricción está reducida en el avatar con las colisiones objeto/terreno cuando este se mueve.

Lista de tareas a hacer(próximos cambios)

  • Afinar todas las colisiones
  • Introducir más tipos de forma de Prim a parte del cubo utilizando el generador tri-mesh Meshmerizer .
  • Corregir errores
  • Implementar agarrar y tirar
  • Linksets
  • Vehículos

Errores conocidos

  • Ground Collisions:Algunas causas encarnación terreno terreno a rebotar en el aire sin previo aviso
  • Mis alineados Terreno:El terreno es levemente visibles errores alineados contra la heightmap. Esto hace que la encarnación a aparecer como si es de pie en el espacio vacío y un poco fuera de una colina y las causas de la encarnación parece como si las rodillas están dobladas o pies en el terreno en el otro lado.
  • Linksets no funcionan:Realización de una linkset física, deja el geometrías de los niños es donde se encuentran prim .. Incluso si la raíz se mueve prim.
  • Grab es tratado como 'moverse':arrastrar un prim prim a otro hace que se interpenetran y la restaurativa en las fuerzas de tiro para enviar el prim en órbita.

Cambios Recientes

  • Avatar altura se obtiene traducido a ODE
  • 30m Espacio separación de prim.

BulletX Plugin en OpenSim: Modificado BulletX

BulletX Plugin en OpenSim corre la versión modificada de BulletX. La versión original de BulletX ejecuta bajo y tiene código de las dependencias con MS.XNA. El original BulletX se puede encontrar en XNADev.ru. La versión modificada elimina la totalidad de las dependencias de código con MS.XNA. Por otra parte, es necesario trabajar a otra biblioteca. Esta biblioteca se basa en Mono.Xna y se llama MonoCompactMaths. El modificados BulletX y la MonoXnaCompactMaths puede encontrarse en la propiedad svn de OpenSim. Debido a su independencia código de MS.XNA, la modificación BulletX que se puede ejecutar como bien MS.Net o Mono y, por lo tanto, ya sea Windows o Linux (obviamente puede combinar Windows + Mono)

Actualmente, BulletX Plugin suports colisiones Av2Av, Av2Prim y Prim2Prim. Prims y avies movimiento apoyado. Por cierto, las colisiones necesidades tunning. La colisión actualmente la behavoir son:

  • Para avies, y como esfera de 1m de radious y 50Kg de masa
  • Para la posición, como un cuadro de la prim tamaño y una masa que depende de su tamaño. La masa es la masa de agua con la Caja de densidad = 1Kg / L = 1Kg/dm3 = 1000Kg/m3 (Be agua mi amigo!: D).

Para lista de tareas (al lado de los cambios)

  • Tune colisión
  • Introducir Prim Shape Tipo tener más de la caja forma.
  • Más de 1 región en un Sim y luego más de 1 sim (red)
  • Corregir errores

Errores conocidos

  • Icy error:actúa como un avatar es sobre hielo y tiende a la deriva fuera de los límites de la sim después de un tiempo
  • Crash sobre BulletX. Usted encontrará el siguiente mensaje en la consola a veces:Overflow en AABB, objeto eliminado de simulación Si usted puede reproducir este, por favor envíe un mensaje bugs@continuousphysics.com Por favor, incluya información anterior, su Plataforma, la versión de OS. Gracias.
  • Rotación no parece funcionar

POS Plugin en OpenSim

POS es la simplicidad de la Física. Es BasicPhysics con colisiones.

Me sacó a mi viejo de wiki cosas porque era, simplemente, está mal. El algoritmo que se aplica en POS no , modelo de la encarnación como una esfera, sino más bien modelos como un sólido rectilíneo, el mismo que la posición. Sin embargo, la detección de colisiones es siempre hecho en el marco de la rotación de prim, por lo que dependiendo de que usted llega prim contra, el avatar es realmente orientada hacia diferente.

Para lista de tareas (al lado de los cambios)

  • TODO

Errores conocidos

  • TODO

Física Testing Videos

, ODE ,

  • 360 Prims (Sim Crashes) [11/08/2007 rev.2308]
  QuickTime> http://www.nebadonizumi.com/vid/opensim/opensim_ODE_physics_test_01.mov
  Stage6> http://stage6.divx.com/user/3dlibre/video/1847652/
  YouTube> http://www.youtube.com/watch?v=Y0olsWlTc0A
  • 180 Prims (Sim ¿No Crash) [11/08/2007 rev.2308]
  QuickTime> http://www.nebadonizumi.com/vid/opensim/opensim_ODE_physics_test_02.mov
  Stage6> http://stage6.divx.com/user/3dlibre/video/1847715/
  YouTube> http://www.youtube.com/watch?v=9lR_2H7VODU
  • 90 Prims (Sim ¿No Crash) [11/08/2007 rev.2308]
  Quicktime> http://www.nebadonizumi.com/vid/opensim/opensim_ODE_physics_test_03.mov
  Stage6> http://stage6.divx.com/user/3dlibre/video/1847731/
  YouTube> http://www.youtube.com/watch?v=t9ulYO8I26Q

, BulletX ,

  • 360 Prims (Sim Crashes) [11/08/2007 rev.2308]
  QuickTime> http://www.nebadonizumi.com/vid/opensim/opensim_BulletX_physics_test_01.mov
  Stage6> http://stage6.divx.com/user/3dlibre/video/1847745/
  • 180 Prims (Sim Crashes) [11/08/2007 rev.2308]
  QuickTime> http://www.nebadonizumi.com/vid/opensim/opensim_BulletX_physics_test_02.mov
  • 90 Prims (Sim Crashes) [11/08/2007 rev.2308]
  QuickTime> http://www.nebadonizumi.com/vid/opensim/opensim_BulletX_physics_test_03.mov

, SecondLife Havok 1 ,

  • 360 Prims [11/08/2007]
  Http://www.nebadonizumi.com/vid/opensim/SecondLife_physics_test_01.mov

, SecondLife Havok 4 ,

  • 360 Prims [11/08/2007]
  Http://www.nebadonizumi.com/vid/opensim/SecondLifeBetaHavok_physics_test_01.mov
  • 1000 Prims [11/09/2007]
  Http://www.nebadonizumi.com/vid/opensim/SecondLifeBetaHavok_physics_test_02.mov
  • 1000 Prims [11/09/2007]
  Http://www.nebadonizumi.com/vid/opensim/SecondLifeBetaHavok_physics_test_03.mov
Personal tools
General
About This Wiki