Motores de Fisica
From OpenSimulator
(→ODE Compilar desde el código fuente (Windows)) |
m (Robot: Replacing 'OpenSim' to 'OpenSimulator', which is the precise name) |
||
(15 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{CabeceraOSS}} | {{CabeceraOSS}} | ||
{{Aviso_Traduccion|1=[[PhysicsEngines]]}} | {{Aviso_Traduccion|1=[[PhysicsEngines]]}} | ||
− | Hay varios motores de física para su uso en | + | Hay varios motores de física para su uso en OpenSimulator. Actualmente, son "basicphysics", "OpenDynamicsEngine", "RealPhysX" & "BulletX" (versión modificada). El plugin "basicphysics" es el valor por defecto y se puede ver en el archivo <tt> OpenSim.ini </tt>. |
− | * Al arrancar | + | * Al arrancar OpenSimulator en Windows o Linux, se puede añadir |
<tt>-physics=OpenDynamicsEngine</tt> - para ejecutar el OpenDynamicsEngine (ODE) en lugar de basicphysics, o cambiar el parámetro correspondiente en <tt> OpenSim.ini </tt>. | <tt>-physics=OpenDynamicsEngine</tt> - para ejecutar el OpenDynamicsEngine (ODE) en lugar de basicphysics, o cambiar el parámetro correspondiente en <tt> OpenSim.ini </tt>. | ||
− | * Al arrancar | + | * Al arrancar OpenSimulator en Windows, se puede añadir |
− | <tt>-physics=RealPhysX</tt> si se tiene las DLLs que no están incluídas en el paquete de | + | <tt>-physics=RealPhysX</tt> si se tiene las DLLs que no están incluídas en el paquete de OpenSimulator debido a las limitaciones de la licencia. |
− | * Al arrancar | + | * Al arrancar OpenSimulator en Windows o Linux, se puede añadir |
− | <tt>-physics=modified_BulletX</tt> | + | <tt>-physics=modified_BulletX</tt> para ejecutar una versión modificada de la motor de Física BulletX alias ''BulletX Modificado''. Véase la siguiente [[Motores de Fisica # Modificado BulletX|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). | 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). | ||
Line 16: | Line 16: | ||
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. | 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. | ||
− | == Compilar desde el código fuente | + | == 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 | + | Si uno quiere compilar el OpenDynamicsEngine (ODE) por su cuenta, se pueden obtener las últimas el código fuente en las librerías OpenSimulator (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: | Cambiar el directorio de ode y compilar de la siguiente manera: | ||
Line 37: | Line 37: | ||
Luego compilar como de costumbre. | Luego compilar como de costumbre. | ||
− | == ODE Plugin en | + | == ODE Plugin en OpenSimulator == |
− | Actualmente, | + | 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 es actualmente | + | 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 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. | * 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 | + | * Introducir más tipos de forma de Prim a parte del cubo utilizando el generador tri-mesh Meshmerizer . |
* Corregir errores | * Corregir errores | ||
− | * | + | * Implementar ''agarrar y tirar'' |
* Linksets | * Linksets | ||
* Vehículos | * Vehículos | ||
==== Errores conocidos ==== | ==== Errores conocidos ==== | ||
− | * | + | * Colisiones con el terreno: ''Algunos terrenos pueden causar al avatar que rebote en el aire sin ningún aviso'' |
− | * | + | * Terreno desalineados: ''El terreno visible está levemente desalineado con el mapa de altura. Esto hace al avatar aparecer como estando en un espacio vacío y provoca que éste aparezca con las rodillas dobladas.'' |
− | * Linksets no funcionan:'' | + | * Los Linksets no funcionan: ''Hacer un linkset físico, deja el geometrías de sus prims hijos donde se encuentran... incluso si el prim padre se mueve.'' |
− | * | + | * Arrastrar es tratado como 'moverse':''arrastrar un prim dentro de otro hace que se interpenetren y la fuerzas restaurativas los golpean enviando el prim fuera de órbita.'' |
==== Cambios Recientes ==== | ==== Cambios Recientes ==== | ||
− | * Avatar altura se obtiene traducido a ODE | + | * La altura del Avatar altura se obtiene traducido a ODE |
− | * 30m Espacio separación | + | * 30m Espacio separación por prim. |
− | == BulletX Plugin en OpenSim: | + | == BulletX Plugin en OpenSim: BulletX Modificado == |
− | BulletX Plugin en | + | BulletX Plugin en OpenSimulator se ejecuta con una versión modificada de BulletX. La versión original de BulletX se ejecuta y tiene dependencias de código con MS.XNA. La versión original BulletX se puede encontrar en [http://www.codeplex.com/xnadevru XNADev.ru]. La versión modificada elimina la totalidad de las dependencias de código con MS.XNA. Por otra parte, es necesario trabajar con otra librería. Esta biblioteca se basa en Mono.Xna y se llama MonoCompactMaths. BulletX modificado y MonoXnaCompactMaths pueden encontrarse en el svn de OpenSimulator. Debido a su independencia código de MS.XNA, BulletX modificado se puede ejecutar tanto en MS.Net como Mono y, por lo tanto, ya sea Windows o Linux (obviamente puede combinar Windows + Mono) |
− | Actualmente, BulletX | + | Actualmente, el plugin de BulletX soporta colisiones Avatar vs Avatar, Avatar vs Prim y Prim vs Prim. El movimiento de Prims y avies está soportado. Por cierto, las colisiones necesitan afinarse. El comportamiento de las colisiones es el siguiente: |
− | * Para avies, y como esfera de 1m de | + | * Para avies, y como esfera de 1m de radio y 50Kg de masa |
− | * Para | + | * Para los prims, como un cubo de del tamaño del tamaño del prim y una masa que depende de su tamaño. La masa es la masa de un cubo lleno de agua de densidad = 1Kg / L = 1Kg/dm3 = 1000Kg/m3 (Be water my friend! :D). |
− | === | + | === Lista de tareas a hacer (próximos cambios) === |
− | * | + | * Afinar las colisiones |
− | * Introducir Prim | + | * Introducir el tipo de forma de Prim para tener más que solo la forma de cubo. |
* Más de 1 región en un Sim y luego más de 1 sim (red) | * Más de 1 región en un Sim y luego más de 1 sim (red) | ||
* Corregir errores | * Corregir errores | ||
==== Errores conocidos ==== | ==== Errores conocidos ==== | ||
− | * | + | * Bug de pista de hielo:'' el avatar actúa como si estuviese sobre hielo y tiende a irse fuera de los límites del sim después de un tiempo'' |
− | * Crash sobre BulletX. | + | * Crash sobre BulletX. Se puede dar el siguiente mensaje en la consola: ''Overflow in AABB, object removed from simulation If you can reproduce this, please email bugs@continuousphysics.com Please include above information, your Platform, version of OS. Thanks.'' |
− | * <del> | + | * <del> Las rotaciones parecen no funcionar </del> <br /> |
− | == POS Plugin en | + | == POS Plugin en OpenSimulator == |
− | POS es la simplicidad | + | POS es Physics Of Simplicity (física de la simplicidad). Es BasicPhysics con colisiones. |
− | + | El algoritmo que está implementado en POS '' no '' modela el avatar como una esfera, sino más bien como un sólido rectilíneo, lo mismo que los prims. Sin embargo, la detección de colisiones siempre se hacen el marco rotacional del prim, a sí que por lo que dependiendo del prim sobre el cual se actue el avatar se orienta de manera diferente. | |
− | === | + | === Lista de tareas a hacer (al lado próximos cambios) === |
− | * | + | * (A hacer) |
==== Errores conocidos ==== | ==== Errores conocidos ==== | ||
− | * | + | * (A hacer) |
+ | |||
+ | == Videos de test de la Física == | ||
− | == | + | === '''ODE''' === |
+ | * 360 Prims (Sim 'peta') [11/08/2007 rev.2308]<br /> | ||
+ | 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 'peta') [11/08/2007 rev.2308]<br /> | ||
+ | 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 'peta') [11/08/2007 rev.2308]<br /> | ||
+ | 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 | + | * 360 Prims (Sim 'peta') [11/08/2007 rev.2308]<br /> |
− | + | 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 'peta') [11/08/2007 rev.2308]<br /> | |
− | * 180 Prims (Sim | + | QuickTime > http://www.nebadonizumi.com/vid/opensim/opensim_BulletX_physics_test_02.mov |
− | + | * 90 Prims (Sim 'peta') [11/08/2007 rev.2308]<br /> | |
− | + | QuickTime > http://www.nebadonizumi.com/vid/opensim/opensim_BulletX_physics_test_03.mov | |
− | + | ||
− | * 90 Prims (Sim | + | |
− | + | ||
− | + | ||
− | + | ||
− | === | + | === '''Second Life Havok 1''' === |
− | * 360 Prims | + | * 360 Prims [11/08/2007]<br /> |
− | + | http://www.nebadonizumi.com/vid/opensim/SecondLife_physics_test_01.mov | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | === | + | === '''Second Life Havok 4''' === |
− | * 360 Prims [11/08/2007] <br> | + | * 360 Prims [11/08/2007]<br /> |
− | + | http://www.nebadonizumi.com/vid/opensim/SecondLifeBetaHavok_physics_test_01.mov | |
+ | * 1000 Prims [11/09/2007]<br /> | ||
+ | http://www.nebadonizumi.com/vid/opensim/SecondLifeBetaHavok_physics_test_02.mov | ||
+ | * 1000 Prims [11/09/2007]<br /> | ||
+ | http://www.nebadonizumi.com/vid/opensim/SecondLifeBetaHavok_physics_test_03.mov | ||
− | + | [[Category:Espanol Translations]] | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |
Latest revision as of 22:44, 3 March 2012
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
Hay varios motores de física para su uso en OpenSimulator. 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 OpenSimulator 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 OpenSimulator en Windows, se puede añadir
-physics=RealPhysX si se tiene las DLLs que no están incluídas en el paquete de OpenSimulator debido a las limitaciones de la licencia.
- Al arrancar OpenSimulator 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 |
[edit] 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 OpenSimulator (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!]
[edit] 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.
[edit] ODE Plugin en OpenSimulator
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.
[edit] 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
[edit] Errores conocidos
- Colisiones con el terreno: Algunos terrenos pueden causar al avatar que rebote en el aire sin ningún aviso
- Terreno desalineados: El terreno visible está levemente desalineado con el mapa de altura. Esto hace al avatar aparecer como estando en un espacio vacío y provoca que éste aparezca con las rodillas dobladas.
- Los Linksets no funcionan: Hacer un linkset físico, deja el geometrías de sus prims hijos donde se encuentran... incluso si el prim padre se mueve.
- Arrastrar es tratado como 'moverse':arrastrar un prim dentro de otro hace que se interpenetren y la fuerzas restaurativas los golpean enviando el prim fuera de órbita.
[edit] Cambios Recientes
- La altura del Avatar altura se obtiene traducido a ODE
- 30m Espacio separación por prim.
[edit] BulletX Plugin en OpenSim: BulletX Modificado
BulletX Plugin en OpenSimulator se ejecuta con una versión modificada de BulletX. La versión original de BulletX se ejecuta y tiene dependencias de código con MS.XNA. La versión 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 con otra librería. Esta biblioteca se basa en Mono.Xna y se llama MonoCompactMaths. BulletX modificado y MonoXnaCompactMaths pueden encontrarse en el svn de OpenSimulator. Debido a su independencia código de MS.XNA, BulletX modificado se puede ejecutar tanto en MS.Net como Mono y, por lo tanto, ya sea Windows o Linux (obviamente puede combinar Windows + Mono)
Actualmente, el plugin de BulletX soporta colisiones Avatar vs Avatar, Avatar vs Prim y Prim vs Prim. El movimiento de Prims y avies está soportado. Por cierto, las colisiones necesitan afinarse. El comportamiento de las colisiones es el siguiente:
- Para avies, y como esfera de 1m de radio y 50Kg de masa
- Para los prims, como un cubo de del tamaño del tamaño del prim y una masa que depende de su tamaño. La masa es la masa de un cubo lleno de agua de densidad = 1Kg / L = 1Kg/dm3 = 1000Kg/m3 (Be water my friend! :D).
[edit] Lista de tareas a hacer (próximos cambios)
- Afinar las colisiones
- Introducir el tipo de forma de Prim para tener más que solo la forma de cubo.
- Más de 1 región en un Sim y luego más de 1 sim (red)
- Corregir errores
[edit] Errores conocidos
- Bug de pista de hielo: el avatar actúa como si estuviese sobre hielo y tiende a irse fuera de los límites del sim después de un tiempo
- Crash sobre BulletX. Se puede dar el siguiente mensaje en la consola: Overflow in AABB, object removed from simulation If you can reproduce this, please email bugs@continuousphysics.com Please include above information, your Platform, version of OS. Thanks.
-
Las rotaciones parecen no funcionar
[edit] POS Plugin en OpenSimulator
POS es Physics Of Simplicity (física de la simplicidad). Es BasicPhysics con colisiones.
El algoritmo que está implementado en POS no modela el avatar como una esfera, sino más bien como un sólido rectilíneo, lo mismo que los prims. Sin embargo, la detección de colisiones siempre se hacen el marco rotacional del prim, a sí que por lo que dependiendo del prim sobre el cual se actue el avatar se orienta de manera diferente.
[edit] Lista de tareas a hacer (al lado próximos cambios)
- (A hacer)
[edit] Errores conocidos
- (A hacer)
[edit] Videos de test de la Física
[edit] ODE
- 360 Prims (Sim 'peta') [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 'peta') [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 'peta') [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
[edit] BulletX
- 360 Prims (Sim 'peta') [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 'peta') [11/08/2007 rev.2308]
QuickTime > http://www.nebadonizumi.com/vid/opensim/opensim_BulletX_physics_test_02.mov
- 90 Prims (Sim 'peta') [11/08/2007 rev.2308]
QuickTime > http://www.nebadonizumi.com/vid/opensim/opensim_BulletX_physics_test_03.mov
[edit] Second Life Havok 1
- 360 Prims [11/08/2007]
http://www.nebadonizumi.com/vid/opensim/SecondLife_physics_test_01.mov
[edit] Second Life 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