Cuando instalas el complemento de exportación de Datasmith para 3ds Max, se añade una pequeña interfaz Datasmith_Export al entorno de MAXScript. Usa la interfaz para automatizar las exportaciones de escenas de 3ds Max a archivos .udatasmith, en lugar de exportar escenas manualmente. Esta página describe los métodos que expone la interfaz Datasmith_Export.
La sintaxis de las secuencias de comandos de exportación de Datasmith 3ds Max ha cambiado en la versión 5.1. Las secuencias de comandos escritas para versiones anteriores no funcionarán en la versión 5.1. Puedes reescribir secuencias de comandos existentes usando la nueva sintaxis descrita en esta página.
Algunos de estos métodos se corresponden con comandos de la pestaña Datasmith de la cinta de opciones de 3ds Max (consulta la cinta de opciones de 3ds Max). Cuando llamas a un método en MAXScript, es posible que la interfaz de usuario para el comando correspondiente en la cinta no se actualice inmediatamente. Para actualizar la interfaz de usuario, ve a otra pestaña de la cinta de 3dsMax y vuelve a la pestaña Datasmith.
Cómo obtener y configurar las opciones de exportación
Datasmith_GetExportOption_AnimatedTransforms()
Devuelve true si Datasmith está configurado para exportar el cronograma de animación completo y false si está configurado para exportar solo el fotograma actual.
Datasmith_SetExportOption_AnimatedTransforms
Especifica si Datasmith exporta el cronograma completo de la animación o el fotograma actual.
true: Datasmith exporta el cronograma completo de la animación.false: Datasmith exporta solo el fotograma actual.
Datasmith_GetExportOption_TextureResolution()
Devuelve el valor de índice del límite de resolución actual para las texturas procedimentales baked que exporta Datasmith. Cada valor corresponde al número de píxeles en una resolución objetivo, independientemente de las anchuras y alturas específicas de las texturas exportadas.
| Valor | Resolución |
|---|---|
| 0 | 4096 píxeles |
| 1 | 16 384 píxeles |
| 2 | 65 536 píxeles |
| 3 | 0,25 megapíxeles |
| 4 | 1 megapíxel |
| 5 | 4 megapíxeles |
| 6 | 16 megapíxeles |
Para obtener más información sobre cómo limitar la resolución de las texturas procedimentales baked, consulta la sección Texturas procedimentales.
Datasmith_SetExportOption_TextureResolution <índice>
Especifica la resolución máxima para las texturas procedimentales baked que exporta Datasmith. Acepta valores entre 0 y 6. Cada valor corresponde al número de píxeles en una resolución objetivo, independientemente de las anchuras y alturas específicas de las texturas exportadas.
| Valor | Resolución |
|---|---|
| 0 | 4096 píxeles |
| 1 | 16 384 píxeles |
| 2 | 65 536 píxeles |
| 3 | 0,25 megapíxeles |
| 4 | 1 megapíxel |
| 5 | 4 megapíxeles |
| 6 | 16 megapíxeles |
Para obtener más información sobre cómo limitar la resolución de las texturas procedimentales baked, consulta la sección Texturas procedimentales.
Ejemplo:
Datasmith_SetExportOption_TextureResolution 4
Establece la resolución máxima de las texturas baked o procedimentales en un millón de píxeles o un megapíxel.
Registro de mensajes en la ventana de mensajes de Datasmith
Usa estos comandos para registrar mensajes personalizados en la ventana de mensajes de Datasmith. Cada tipo de mensaje se muestra en un color distinto.
| Tipo de mensaje | Color |
|---|---|
| Información | Gris |
| Advertencia | Amarillo |
| Error | Rojo |
| Finalización | Verde |
Datasmith_LogInfo
Registra un mensaje de tipo informativo en la ventana de mensajes de Datasmith. Los mensajes de información aparecen en gris.
| Parámetro | Tipo | Descripción |
|---|---|---|
<msg> |
cadena | El mensaje que se enviará a la ventana de mensajes de Datasmith |
Ejemplo: Datasmith_LogInfo "este es un mensaje informativo"
Datasmith_LogWarning
Registra un mensaje de advertencia en la ventana de mensajes de Datasmith. Los mensajes de advertencia aparecen en amarillo.
| Parámetro | Tipo | Descripción |
|---|---|---|
<msg> |
cadena | El mensaje que se enviará a la ventana de mensajes de Datasmith |
Ejemplo: Datasmith_LogInfo "este es un mensaje de advertencia"
Datasmith_LogError
Registra un mensaje de error en la ventana de mensajes de Datasmith. Los mensajes de error aparecen en rojo.
| Parámetro | Tipo | Descripción |
|---|---|---|
<msg> |
cadena | El mensaje que se enviará a la ventana de mensajes de Datasmith |
Ejemplo: Datasmith_LogInfo "este es un mensaje de error"
Datasmith_LogCompletion
Registra un mensaje de finalización en la ventana de mensajes de Datasmith. Los mensajes de finalización aparecen en verde.
| Parámetro | Tipo | Descripción |
|---|---|---|
<msg> |
cadena | El mensaje que se enviará a la ventana de mensajes de Datasmith |
Ejemplo: Datasmith_LogInfo "este es un mensaje de finalización"
Datasmith_LogFlush()
Escribe los mensajes de registro que están en cola en la memoria en el archivo de registro. El archivo de registro se almacena en el directorio %LOCALAPPDATA%\UnrealDatasmithExporter\Saved\Logs.
Exportación de archivos .udatasmith
Datasmith_ExportDialog()
Abre el cuadro de diálogo de exportación de archivos de Datasmith, donde puedes especificar el nombre y la ruta del archivo exportado .udatasmith.
Datasmith_Export selected:[boolean] quiet:[boolean]
Exporta la selección o el modelo de 3ds Max como archivo .udatasmith sin abrir el cuadro de diálogo de exportación de archivos de Datasmith.
Este método recibe los siguientes argumentos:
| Parámetro | Tipo | Descripción | ¿Opcional? |
|---|---|---|---|
name |
cadena | El nombre del archivo que se exportará, sin su extensión. | n |
path |
cadena | La ruta completa al directorio al que exportar el archivo. | n |
selected: |
booleano | Especifica si Datasmith exporta toda la escena o solo los objetos seleccionados.
|
y |
quiet: |
booleano |
|
y |
Ejemplo:
Datasmith_Export "DatasmithExportName" "D:\DatasmithExports\3dsMax" selected:true quiet:true
El ejemplo anterior exporta automáticamente los objetos seleccionados como un archivo .udatasmith con el nombre DatasmithExportName en la ruta D:\DatasmithExports\3dsMax sin mostrar una barra de progreso ni otros elementos de interfaz de exportación.
Direct Link y Direct Link con sincronización automática
Datasmith_OpenDirectlinkUi()
Abre la ventana de estado de la conexión Datasmith Direct Link*.
Datasmith_GetDirectlinkCacheDirectory()
Devuelve la ruta al directorio de la caché de Direct Link. También puedes obtener la ruta en la ventana de estado de la conexión Datasmith Direct Link.
Datasmith_GetUnrealEnginePath()
Datasmith_GetUnrealEnginePathFromRegistry()
Estos métodos devuelven la ruta al Unreal Engine instalado conectado a través de DirectLink. Datasmith_GetUnrealEnginePath() llama a Datasmith_GetUnrealEnginePathFromRegistry() y devuelve la ruta almacenada en el registro. Si el registro no contiene una ruta, devuelve la ruta codificada por defecto: C:/ProgramData/Epic/Exporter/3dsMaxEngine/.
Datasmith_ToggleAutoSync()
Activa y desactiva la sincronización automática de Direct Link. Usa Datasmith_IsAutoSyncEnabled() para comprobar si la sincronización automática está activada.
Datasmith_IsAutoSyncEnabled()
Devuelve true si la sincronización automática de Direct Link está habilitada. De lo contrario, devuelve false.
Datasmith_GetExportOption_StatSync()
Devuelve true si Datasmith está configurado para generar estadísticas en la ventana de mensajes de Datasmith al sincronizar la escena usando Direct Link o Direct Link con sincronización automática. Devuelve false en caso contrario.
Datasmith_SetExportOption_StatSync
Especifica si Datasmith envía estadísticas a la ventana de mensajes de Datasmith al sincronizar la escena usando Direct Link o Direct Link con sincronización automática.
true: Datasmith envía estadísticas a la ventana de mensajes de Datasmith.false: Datasmith no genera estadísticas.
Datasmith_SetAutoSyncDelay
Especifica el intervalo del temporizador que comprueba las condiciones para Direct Link con sincronización automática.
Este método recibe los siguientes argumentos:
| Parámetro | Tipo | Descripción |
|---|---|---|
<seconds> |
flotante | La duración del intervalo entre las comprobaciones de las condiciones de sincronización automática (en segundos). |
Datasmith_SetAutoSyncIdleDelay
Cuando se activa la sincronización automática de Direct Link, este método especifica la cantidad mínima de tiempo que el usuario tiene que estar inactivo antes de que Datasmith intente realizar una sincronización automática de Direct Link.
Este método recibe los siguientes argumentos:
| Parámetro | Tipo | Descripción |
|---|---|---|
<seconds> |
flotante | La cantidad de segundos que el usuario tiene que estar inactivo antes de que Datasmith intente realizar una sincronización automática de Direct Link. |
Datasmith_UpdateScene quiet:[boolean]
Actualiza la representación de la escena del complemento de exportación de Datasmith para 3ds Max para que coincida con la escena actual de 3ds Max.
Devuelve true si la escena ha cambiado desde la última actualización. Devuelve false en caso contrario.
Cuando usas el comando Sincronizar de la pestaña Datasmith de la cinta de 3ds Max, Datasmith llama primero a este comando y, después, si detecta algún cambio, llama a Datasmith_DirectLinkUpdateScene().
Este método recibe los siguientes argumentos:
| Parámetro | Tipo | Descripción | ¿Opcional? |
|---|---|---|---|
quiet: |
booleano |
|
y |
Datasmith_DirectLinkUpdateScene()
Sincroniza la representación de la escena del complemento de exportación de Datasmith para 3ds Max con Unreal Engine a través de Datasmith Direct Link. Configura el reconocimiento de los cambios de escena.
Cuando se usa el comando Sincronizar de la pestaña Datasmith de la cinta de opciones de 3ds Max, Datasmith primero llama a Datasmith_UpdateScene(). Si detecta algún cambio, llama a este método.
Para obtener más información, consulta archivo Panel de exportación de archivos en La interfaz de usuario de Datasmith para 3ds Max y Sincronización de 3ds Max y Unreal con Direct Link.
Datasmith_Reset()
Detiene el reconocimiento de los cambios de escena y restablece la representación de escena del complemento de exportación de Datasmith para 3ds Max.