General Overview/es
From Blender2crystal
Este documento describe genéricamente lo que necesitas conocer para comprender blender2crystal a un alto nivel.
Contents |
[edit] Interfaz
Blender2crystal usa principalmente un interfaz superpuesto que se puede cargar en la ventana 3d de blender, también incluye el interfaz propio de blender para scripts que contiene algunas funcionalidades extra.
Es recomendable usar el interfaz en la ventana 3d para aplicar las propiedades, aunque hay más formas de hacerlo (añadiendolas manualmente (F4) o editando los ficheros xml).
En esta manual hay varios documentos que explicarán todos los pequeños detalles de este interfaz:
- Interfaz ventana 3d Explica las pestañas y propiedades relativas a los objetos.
- Interfaz Cel Explica la pestaña de entidades al detalle.
[edit] Tipos de objeto
Cada uno de los tipos de objeto de Blender corresponde a uno en crystalspace. Por ejemplo una Lampara de blender en crystalspace será una luz.
En algunos casos el tipo de objetos se puede cambiar, sobre todo con los objetos tipo Mesh, que en crystalspace pueden ser de varios tipos. Dependiendo del como los queramos usar en tiempo real les aplicaremos el tipo que convenga (como terrain, particles, thing, genmesh).
Puedes cambiar y aplicar el tipo de objeto en la pestaña Info.(
).
Más información en Tipos de objeto
[edit] Sectores / Regiones / Zonas
Los mapas de CS se pueden dividir en multiples sectores, los cuales emularemos en blender con las escenas (Scenes). Cada escena representará un sector con el mismo nombre, y se pueden unir usando un tipo de objeto especial llamado portal.
Mira el Tutorial portales para más información.
[edit] Modo de exportación con CEL y regiones.
Es posible usar un modo especial para exportar (seleccionar CEL, luego regions en la pestaña de exportación del menú) en el que los sectores se exportarán en archivos separados. También en este modo los sectores pueden ser asociados a regiones y zonas para cargarlos y descargarlos con el CEL zonemanager.
Cada sector de be ser asignado a una región usando la propiedad region en sectorsettings. Por defecto los sectores se exportan a una región llamada "main", por lo que no es necesario aplicarlos a la primera región.
Cada región deberá estar compuesta por al menos un sector.Each region must then be assigned to one or more zones. This is done somehow indirectly with the exporter. You just set your sectors to the zones you want them to be in, and it will figure out what regions to put in each zone. The zones for a sector are set with the zones property in sectorsettings as a list of strings separated by commas.
Keep in mind when using zones and sectors that the zones must overlap that is, you are always in one zone or more, and unloaded zones won't even be seen through portals.
Each zone should consist at least of a sector and all sectors visible from this. New zones will be loaded once you get into them (by coming into a region that is both in the zone you came from and in the zone you are now getting into).
[edit] Factorias y objetos
En CrystalSpace como en Blender hay un clara diferencia entre un objeto y la malla (mesh data) a la que hace referencia (la factoria). Diferentes objetos pueden compartir factoria y así ahorrar espacio y tiempo de procesado.
La correspondencia entre los "Mesh Data Objects" de blender (nombre detras de las siglas ME como en ME:cube.001) y las "factorias" de CrystalSpace no es directa, hay diferentes funcionalidades en cada sistema, e incluso en CS hay diferentes tipos de malla no presentes en blender.
El principal problema aquí es distinguir claramente entre ME (datos de la malla) y OB (objeto). El OB es el objeto individual con el que trabajaremos y ME es la información de la malla que puede estar compartida por varios objetos.
Cuando exportamos el nombre del ME se asigna a la factoria de crystalspace y nombre de OB se asigna al objeto. Ambos nombres se pueden cambiar en blender en F9 o N en el visor 3d en la ventana de información del objeto.
El compartir los datos del objeto es sencillo en blender duplicando con ALT D, o en objetos que ya existen desde el panel Editing (F9). Después al modificar un objeto modificaremos todos los que compartan los datos de la malla. Por último saber que al modificar el tamaño de un objeto de una determinada factoría dejará de compartir los datos de la misma en CS.
Actualmente se generan factorias para los siguientes tipos de objeto: terrain, thing, genmesh, spr3d, particles y cal3d.
[edit] Renderloops
El renderloop representa el tipo de luz que queremos para un sector. Es un concepto muy importante al tratar de usar los materiales de CS con exito, cada uno de ellos sirve para un renderloop en particular. Por ejemplo hay renderloops para sectores con terreno (terrain, terrainf), para luz fija (standard), luz dinámica (diffuse) y diferentes tipos de sombreados (shadowed, shadowed2, shadowmap...).
El renderloop puede asignarse a todo el mapa en la pestaña de mundo (
), o a un sector en particular en la pestaña de sector (
).
- ambient: Iluminación ambiente. Renderiza la geometria con el color de ambiente, sin luces.
- diffuse: Iluminación dinámica. Un pase de ambiente y pases de luces.
- fattest: Un renderloop experimental.
- shadowed: Iluminación dinámica con sombras. Las sombras tienen bordes duros y es más pesado para el procesado notándose en los frames por segundo.
- shadowed2: Iluminación dinámica con sombras. Es más rápido que el renderloop shadowed pero sólo produce sombras en los objetos cerrados.
- shadowmap: . Iluminación dinámica con sombras. Provoca sombras usando texturas proyectadas. (experimental)
- standard: Iluminación estática con sombras precalculadas.
- terrain: Iluminación dinámica para mapas con terreno.
- terrainfixed:Iluminación estática con luces precalculadas para mapas con terreno.
[edit] Materiales
Los materiales se usan de una forma diferente en blender y en crystalspace, como el alcance de cada sistema es diferente. Debido a esto existe en b2cs una pestaña especial (
) para aplicar las propiedades de material de crystalspace.
Puedes mirar el tutorial First steps with blender2crystal/es para mirar algo de información sobre como empezar con los materiales.
[edit] Luces
Las Luces exportadas usarán el color y la distancia especificada en blender, también algunos de los tipos de luz son respectivos.
[edit] Tipos de luz disponibles
Las lamparas tipo Spot serán exportadas como spotlights de CrystalSpace. (normalmente para proyectar bumpmaps)
Las lamparas tipo Sun serán exportadas como una luz especial con influenceradius: 10000000, attenuation:realistic y radius: 0. Se suele usar junto al material ScatterSky aplicado en algun objeto Sky con la propiedad skysize aplicada.
El resto de lámparas de blender se exportarán como un punto de luz simple.
[edit] Emparentado
Puedes emparentar objetos en blender y se exportarán con la misma jerarquía en crystalspace.
[edit] Secuencias
Las animaciones con curvas IPO de blender pueden exportarse a CS. Por el momento las IPOs soportadas son para traslación y rotación para thing, spr2d, particles y genmesh; translación, rotación y color (RGB) para las luces..
Esta sección no es aplicable a las animaciones de los esqueletos.
Uno de los modo de extender curvas de blender está soportado: Cycle. Sin él la animación sólo se hará una vez, como en el modo de extender Constant. Todas las curvas de la IPO llevarán el mismo modo por el momento, en el futuro se implementará una forma de aplicar este ajuste por separado a cada curva.
Hay que hacersa a la idea de que el soporte a las animaciones es aún limitado, pudiendo haber casos complicados en los que no funcione. Trata de seguir las siguientes normas:
- Coloca las Keys en los mismos frames en todas las curvas de la IPO
- No mezcles ipos de locación y rotación,por ejemplo crear ipos con LocRot no dará los resultados esperados.
Las secuencias son accionadas por defecto al ver el sector en el que se encuentran. Se pueden usar otro tipo de disparadores (triggers ) para accionar la secuencia desde la propiedad seq_trigger en la pestaña de las propiedades del objeto (
) o cuando queremos que esté activa desde el principio.
[edit] Física
Blender2crystal permite asignar propiedades físicas a los objetos para simularlas a traves de los plugins de Física o de las pcproperties de cel. Esto nos permite simular comportamientos físicos realistas.
Encontrarás más información en Physics Reference/es.
[edit] Entidades e interacción avanzada
Blender2crystal tiene soporte para CEL (Crystal Entity Layer), una serie de plugins con más funcionalidades para hacer juegos y scripts para los mismos, lo cual simplifica la creación de juegos y proporciona una maravillosa serie de funcionalidades para dar vida a tus objetos.
Puedes leer más sobre el soporte de cel en los siguientes documentos.
[edit] Exportar librerias
Aparte de exportar mundos para arrancarlos directamente hay veces que es necesario para un juego crear ficheros con librerias. Para hacer esto seleccionaremos la opción library en la pestaña de esportación (
). A partir de ahí los ficheros exportados tendrán el tag <library> en vez de <world> por lo que ya no podremos arrancarlo directamente con Walktest.
There is an special inlinefactories property that makes the exporter inline the factory files inside the main library file, this allows for all data to reside in just one file, and can be desired in some situations. In general you shouldn't need this.

