Todo Funciones Grupos Páginas
model 3D

Funciones

MODEL3D model3d.load (STRING path)
 Carga un modelo 3D en formato OBJ y MTL. Más...
 
MODEL3D model3d.load (STRING path, NUMBER css)
 Carga un modelo 3D en formato OBJ y MTL. Más...
 
NUMBER model3d.countobj (MODEL3D model)
 Permite conocer el número de objetos que forman un modelo 3D. Más...
 
NIL model3d.shading (MODEL3D model, NUMBER cs)
 Permite activar o no el Cel-Shading a un modelo 3D. Más...
 
NIL model3d.shading (MODEL3D model, NUMBER cs, COLOR linecolor)
 Permite activar o no el Cel-Shading a un modelo 3D. Más...
 
NIL model3d.lighting (MODEL3D model, NUMBER object, NUMBER lt)
 Permite indicar qué objeto indicado dentro de un modelo 3D, será afectado o no por las luces. Más...
 
NIL model3d.render (MODEL3D model, NUMBER draw_type)
 Renderiza todo un modelo 3D con tipo de renderizado. Más...
 
NIL model3d.render (MODEL3D model, NUMBER draw_type, NUMBER object)
 Renderiza un modelo 3D o un objeto dentro del modelo 3D (si contiene varios sub-objetos), y con tres tipos de renderizado. Más...
 
NIL model3d.rotation (MODEL3D model, NUMBER object, TABLE rot)
 Permite rotar un objeto dentro del modelo 3D. Más...
 
TABLE model3d.getrotation (MODEL3D model, NUMBER object)
 Permite obtener los valores actuales de la Rotación en un objeto dentro del modelo 3D. Más...
 
NIL model3d.position (MODEL3D model, NUMBER object, TABLE pos)
 Permite cambiar de posición un objeto dentro del modelo 3D. Más...
 
TABLE model3d.getposition (MODEL3D model, NUMBER object)
 Permite obtener los valores actuales de la Posición en un objeto dentro del modelo 3D. Más...
 
NIL model3d.scaling (MODEL3D model, NUMBER object, TABLE scal)
 Permite escalar un objeto dentro del modelo 3D. Más...
 
TABLE model3d.getscaling (MODEL3D model, NUMBER object)
 Permite obtener los valores actuales de la escala en un objeto dentro del modelo 3D. Más...
 
NIL model3d.startreflection (MODEL3D model, NUMBER object)
 Renderiza y activa el motor de sombras y reflejos. Más...
 
NIL model3d.mirror (MODEL3D model, NUMBER object, NUMBER eje)
 Renderiza el reflejo de un modelo en el suelo. Más...
 
NIL model3d.shadow (MODEL3D model, NUMBER object, NUMBER light)
 Renderiza la sombra. Más...
 
NIL model3d.blitshadow (MODEL3D model, NUMBER object, NUMBER light, NUMBER alpha, NUMBER type)
 Inicia el dibujado de sombras volumétricas, Dibuja el modelo que recibe las sombras. Más...
 
NIL model3d.finishreflection ()
 Finaliza el motor de sombras y reflejos. Más...
 
NIL model3d.initphysics (NUMBER max_objects)
 Inicializa el motor de físicas. Más...
 
NIL model3d.initphysics (TABLE world_size1, TABLE world_size2, NUMBER max_objects)
 Inicializa el motor de físicas. Más...
 
NIL model3d.modelphysics (MODEL3D Model)
 Enlaza un modelo 3D para ser simulado. Más...
 
NIL model3d.deletephysics (MODEL3D Model)
 Desenlaza un modelo 3D del motor de físicas. Más...
 
NIL model3d.updatephysics ()
 Actualiza las físicas 3D. Más...
 
NIL model3d.setphysics (MODEL3D Model, NUMBER Object, TABLE Origin, TABLE Position, NUMBER Mass, NUMBER ShapeType)
 Establece los componentes físicos de un objeto 3D. Más...
 
NIL model3d.finishphysics ()
 Termina con el motor de Fisicas. Más...
 
NIL model3d.setvelocity (MODEL3D Model, NUMBER object, TABLE vel)
 Establece la velocidad lineal de un objeto 3D. Más...
 
TABLE model3d.getvelocity (MODEL3D Model, NUMBER object)
 Obtiene la velocidad lineal de un objeto 3D. Más...
 
BOOLEAN model3d.collision (MODEL3D Model1, NUMBER object1, MODEL3D Model2, NUMBER object2)
 Comprueba si dos objetos 3D están en colisión. Más...
 
NIL model3d.setdamping (MODEL3D Model, NUMBER object, NUMBER lineal, NUMBER angular)
 Establece el coeficiente de amortiguación para un objeto 3D. Más...
 
NUMBER model3d.getdamping (MODEL3D Model, NUMBER object)
 Obtiene la amortiguación de un objeto 3D. Más...
 
MODEL3D model3d.newmap (STRING path)
 Permite crear un mapa de alturas a partir de una imagen a escala de grises. Más...
 

Descripción detallada

Principales funciones sobre el manejo de modelos 3D.

Documentación de las funciones

MODEL3D model3d.load ( STRING  path)

Carga un modelo 3D en formato OBJ y MTL.

Parámetros
pathLa ruta del archivo .OBJ (soporta directorios).
Devuelve
Un objeto tipo model3d, listo para usarse.
MODEL3D model3d.load ( STRING  path,
NUMBER  css 
)

Carga un modelo 3D en formato OBJ y MTL.

Parámetros
pathLa ruta del archivo .OBJ (soporta directorios).
cssEs el tamaño del Cel-Shading.
Devuelve
Un objeto tipo model3d, listo para usarse.
NUMBER model3d.countobj ( MODEL3D  model)

Permite conocer el número de objetos que forman un modelo 3D.

Parámetros
modelEs el modelo 3D.
Devuelve
El número total de objetos contenido en un modelo 3D.
NIL model3d.shading ( MODEL3D  model,
NUMBER  cs 
)

Permite activar o no el Cel-Shading a un modelo 3D.

Parámetros
modelEs el modelo 3D.
csEs un número para activar/desactivar el Cel-Shading. Los valores son 1: Activar, 0: No activar.
Nota
Activar luces antes de usarlo.
Devuelve
Nada.
NIL model3d.shading ( MODEL3D  model,
NUMBER  cs,
COLOR  linecolor 
)

Permite activar o no el Cel-Shading a un modelo 3D.

Parámetros
modelEs el modelo 3D.
csEs un número para activar/desactivar el Cel-Shading. Los valores son 1: Activar, 0: No activar.
linecolorColor para el Cel-Shading.
Nota
Activar luces antes de usarlo.
Devuelve
Nada.
NIL model3d.lighting ( MODEL3D  model,
NUMBER  object,
NUMBER  lt 
)

Permite indicar qué objeto indicado dentro de un modelo 3D, será afectado o no por las luces.

Parámetros
modelEs el modelo 3D.
objectEs el objeto dentro del modelo 3D, que será o no afectado por las luces.
ltEs un número para activar/desactivar el Lighting. Los valores son 1: Activar, 0: No activar.
Devuelve
Nada.
NIL model3d.render ( MODEL3D  model,
NUMBER  draw_type 
)

Renderiza todo un modelo 3D con tipo de renderizado.

Parámetros
modelEs el modelo 3D.
draw_typeTipo de renderizado de caras, alguno de las siguientes valores:
  • 0 (FRONT) Dibuja solo las caras frontales, Muy rápido.
  • 1 (TRANS) Dibuja las caras traseras y luego las frontales, para objetos transparentes, Puede ser lento.
  • 2 (ALL) Dibuja todas las caras.
Nota
Si el segundo argumento se omite su valor sera 0.
Devuelve
Nada.
NIL model3d.render ( MODEL3D  model,
NUMBER  draw_type,
NUMBER  object 
)

Renderiza un modelo 3D o un objeto dentro del modelo 3D (si contiene varios sub-objetos), y con tres tipos de renderizado.

Parámetros
modelEs el modelo 3D.
draw_typeTipo de renderizado de caras, alguno de los siguientes valores:
  • 0 (FRONT) Dibuja solo las caras frontales, Muy rápido.
  • 1 (TRANS) Dibuja las caras traseras y luego las frontales, para objetos transparentes, Puede ser lento.
  • 2 (ALL) Dibuja todas las caras de una vez.
objectSelecciona un objeto dentro del modelo.
  • Si el valor es positivo, sólamente dibujará el objeto indicado del modelo 3D.
  • Si el valor es negativo, dibujará todo el modelo 3D, a excepción del objeto indicado.
Devuelve
Nada.
NIL model3d.rotation ( MODEL3D  model,
NUMBER  object,
TABLE  rot 
)

Permite rotar un objeto dentro del modelo 3D.

Parámetros
modelEs el modelo 3D.
objectEs el objeto a rotar del modelo 3D.
rotEs una tabla donde contiene los valores de la rotación en sus 3 ejes: X,Y,Z.
Devuelve
Nada.
TABLE model3d.getrotation ( MODEL3D  model,
NUMBER  object 
)

Permite obtener los valores actuales de la Rotación en un objeto dentro del modelo 3D.

Parámetros
modelEs el modelo 3D.
objectEs el objeto a obtener sus valores de rotación.
Devuelve
Una TABLA que contiene los valores de la rotación en sus 3 campos correspondientes: x,y,z.
NIL model3d.position ( MODEL3D  model,
NUMBER  object,
TABLE  pos 
)

Permite cambiar de posición un objeto dentro del modelo 3D.

Parámetros
modelEs el modelo 3D.
objectEs el objeto a mover del modelo 3D.
posEs una tabla donde contiene los valores de posición en sus 3 ejes: X,Y,Z.
Devuelve
Nada.
TABLE model3d.getposition ( MODEL3D  model,
NUMBER  object 
)

Permite obtener los valores actuales de la Posición en un objeto dentro del modelo 3D.

Parámetros
modelEs el modelo 3D.
objectEs el objeto a obtener sus valores de posición.
Devuelve
Es una tabla que contiene los valores de la posición en sus 3 campos correspondientes: x,y,z.
NIL model3d.scaling ( MODEL3D  model,
NUMBER  object,
TABLE  scal 
)

Permite escalar un objeto dentro del modelo 3D.

Parámetros
modelEs el modelo 3D.
objectEs el objeto a escalar del modelo 3D.
scalEs una tabla donde contiene los valores de la escala en sus 3 ejes: X,Y,Z.
Devuelve
Nada.
TABLE model3d.getscaling ( MODEL3D  model,
NUMBER  object 
)

Permite obtener los valores actuales de la escala en un objeto dentro del modelo 3D.

Parámetros
modelEs el modelo 3D.
objectEs el objeto a obtener sus valores de escala.
Devuelve
Es una tabla que contiene los valores de la escala en sus 3 campos correspondientes: x,y,z.
NIL model3d.startreflection ( MODEL3D  model,
NUMBER  object 
)

Renderiza y activa el motor de sombras y reflejos.

Parámetros
modelEs el modelo 3D, en el que uno de sus objetos hará de suelo
objectEs el objeto que será el "suelo".
Devuelve
Nada.
NIL model3d.mirror ( MODEL3D  model,
NUMBER  object,
NUMBER  eje 
)

Renderiza el reflejo de un modelo en el suelo.

Parámetros
modelEs el modelo 3D.
objectEs el objeto "reflejo".
ejeEl eje donde se hará el reflejo, alguno de los siguientes valores:
  • 0 Sobre el eje X.
  • 1 Sobre el eje Y.
  • 2 Sobre el eje Z.
Devuelve
Nada.
NIL model3d.shadow ( MODEL3D  model,
NUMBER  object,
NUMBER  light 
)

Renderiza la sombra.

Parámetros
modelEs el modelo 3D.
objectEs el objeto "sombra".
lightEl número de la luz que proyecta la sombra.
Devuelve
Nada.
NIL model3d.blitshadow ( MODEL3D  model,
NUMBER  object,
NUMBER  light,
NUMBER  alpha,
NUMBER  type 
)

Inicia el dibujado de sombras volumétricas, Dibuja el modelo que recibe las sombras.

Parámetros
modelEl modelo 3D que proyecta la sombra.
objectSelecciona objeto dentro del modelo que recibe la sombra.
lightLa luz utilizada para proyectar la sombra.
alphaLa transparencia de la sombra.
typeParámetro de sombra, estática o dinámica: 1 para girar la sombra y 0 estática.
Nota
Esta función proyectará sombras solamente sobre los objetos dibujados antes de que sea utilizada.
Devuelve
Nada.
NIL model3d.finishreflection ( )

Finaliza el motor de sombras y reflejos.

Devuelve
Nada.
NIL model3d.initphysics ( NUMBER  max_objects)

Inicializa el motor de físicas.

Parámetros
max_objectsEl número máximo de objetos 3D.
Nota
El tamaño del mundo se considera infinito en esta versión de la función.
Devuelve
Nada.
NIL model3d.initphysics ( TABLE  world_size1,
TABLE  world_size2,
NUMBER  max_objects 
)

Inicializa el motor de físicas.

Parámetros
world_size1El tamaño del mundo 3D (coordenadas mínimas).
world_size2El tamaño del mundo 3D (coordenadas máximas).
max_objectsEl número máximo de objetos 3D.
Devuelve
Nada.
NIL model3d.modelphysics ( MODEL3D  Model)

Enlaza un modelo 3D para ser simulado.

Parámetros
ModelEs el modelo 3D a enlazar.
Devuelve
Nada.
NIL model3d.deletephysics ( MODEL3D  Model)

Desenlaza un modelo 3D del motor de físicas.

Parámetros
ModelEs el modelo 3D a desenlazar.
Devuelve
Nada.
NIL model3d.updatephysics ( )

Actualiza las físicas 3D.

Devuelve
Nada.
NIL model3d.setphysics ( MODEL3D  Model,
NUMBER  Object,
TABLE  Origin,
TABLE  Position,
NUMBER  Mass,
NUMBER  ShapeType 
)

Establece los componentes físicos de un objeto 3D.

Parámetros
ModelEl modelo 3D.
ObjectEl objeto 3D, el cual será configurado.
OriginEl punto de origen del objeto 3D (normalmente el centro).
PositionLa posición inicial del objeto 3D en el mundo.
MassLa masa del objeto 3D (si se pone a 0 se tratará como un suelo).
ShapeTypeEl tipo de forma que tiene este objeto, pueden ser:
  • __BOX
  • __SPHERE
  • __CONE
  • __CYLINDER
  • __CONVEX (Este funciona para cualquier forma).
Devuelve
Nada.
NIL model3d.finishphysics ( )

Termina con el motor de Fisicas.

Devuelve
Nada.
NIL model3d.setvelocity ( MODEL3D  Model,
NUMBER  object,
TABLE  vel 
)

Establece la velocidad lineal de un objeto 3D.

Parámetros
ModelEs el modelo 3D.
objectEs el objeto para establecer su velocidad lineal.
velEs la tabla donde vienen los valores de la velocidad lineal X, Y y Z.
Devuelve
Nada.
TABLE model3d.getvelocity ( MODEL3D  Model,
NUMBER  object 
)

Obtiene la velocidad lineal de un objeto 3D.

Parámetros
ModelEs el modelo 3D.
objectEs el objeto para conoccer su velocidad lineal.
Devuelve
Es una tabla que contiene los valores de la velocidad en sus 3 campos correspondientes: x,y,z.
BOOLEAN model3d.collision ( MODEL3D  Model1,
NUMBER  object1,
MODEL3D  Model2,
NUMBER  object2 
)

Comprueba si dos objetos 3D están en colisión.

Parámetros
Model1Es el modelo1.
object1Es el objeto1.
Model2Es el modelo2.
object2Es el objeto2.
Devuelve
true/false según si hay o no colisión entre los dos objetos.
NIL model3d.setdamping ( MODEL3D  Model,
NUMBER  object,
NUMBER  lineal,
NUMBER  angular 
)

Establece el coeficiente de amortiguación para un objeto 3D.

Parámetros
ModelEs el modelo 3D.
objectEs el objeto para establecer su coeficiente de amortiguación.
linealEl coeficiente de rebote en movimientos lineales. Cuanto más alto, menos rebotará
angularEl coeficiente de rebote en movimientos rotacionales. Cuanto más alto, menos girará.
Devuelve
Nada.
NUMBER model3d.getdamping ( MODEL3D  Model,
NUMBER  object 
)

Obtiene la amortiguación de un objeto 3D.

Parámetros
ModelEs el modelo 3D.
objectEs el objeto para conocer su coeficiente de amortiguación.
Devuelve
Dos valores númericos:
  • lineal Amortiguación lineal (posición).
  • angular Amortiguación angular (rotación).
MODEL3D model3d.newmap ( STRING  path)

Permite crear un mapa de alturas a partir de una imagen a escala de grises.

Parámetros
pathLa ruta de la imagen que generará el mapa (recomendable ser menor o igual a 64x64)
Devuelve
Un objeto tipo model3d que contiene el mapa de alturas.