Una breve descripción de las funciones cubiertas por HAPI (Houdini Engine API)

concepto

El rol de "Houdini Engine" permite que el "programa host" (refiriéndose a UE4, Unity, Maya, etc.) interactúe con los datos de Houdini.
Cada programa host tiene su correspondiente "complemento Houdini Engine" .

Houdini Engine API , abreviatura de Houdini Engine HAPI, es la interfaz de nivel más bajo de "Houdini Engine" .
En otras palabras: no importa qué programa host, no importa cuál sea la versión del complemento, no importa qué tipo de encapsulación haya sufrido la capa superior, todos usan el mismo conjunto de interfaces en la parte inferior, es decir, HAPI.
Por ejemplo, para UE:
inserte la descripción de la imagen aquí

En comparación con el código del complemento, el cambio de HAPI en sí no es grande. Por ejemplo, la "segunda versión" del complemento UE4 ( este blog es la traducción de la introducción oficial a la segunda versión del complemento), en comparación con su "versión anterior" ( este blog ordena el código de la versión anterior del complemento), la segunda versión tiene un aspecto completamente nuevo y tiene muchas características nuevas. Sin embargo, los cambios en la segunda edición se encuentran principalmente en el código C++ del complemento UE4, y el HAPI apenas ha cambiado.
(El cambio principal es la adición de funciones relacionadas con la "Sincronización de sesión", consulte Houdini Engine 3.5: Novedades en HAPI ):
inserte la descripción de la imagen aquí

Objetivo

HAPITodas las funciones están en HAPI.h , probablemente haya más de 200.

Los objetivos de este artículo son:

  • Según la clasificación en el documento oficial , resuma brevemente todas las funciones. Y combinado con su propia experiencia, señalar las funciones relativamente importantes. Finalmente, resuma el proceso de uso general.

Las siguientes son todas las categorías:
(donde "★" indica las categorías más básicas y necesarias en mi opinión, "☆" son las categorías que se usan con frecuencia, y las que no se usan comúnmente se colocan al final)

1. ★ Sesiones (13 funciones)

En cuanto al concepto de "Sesión", puede referirse a la traducción anterior del documento oficial .
En términos simples, se comunica con el proceso de Houdini en segundo plano a través de la sesión. Por lo tanto, casi todas las funciones de HAPI requieren un puntero de sesión como parámetro.

Las funciones bajo esta categoría probablemente incluyen:

  • Crear varios tipos de sesión
  • Consultar el estado de la sesión
  • sesión de limpieza
  • Cerrar la sesión
  • y otras funciones directamente relacionadas con la sesión

2. ★ Nodos (23 funciones)

Esta categoría contiene operaciones clave relacionadas con los nodos. Por ejemplo:

  • crear nodo
  • Nodo de cocina
  • Eliminar nodo
  • conectar nodo
  • Obtener los nodos secundarios de un nodo

3. ★ Parámetros (33 funciones)

Esta categoría contiene operaciones clave relacionadas con parámetros. Por ejemplo:

  • Obtener todos los parámetros del nodo
  • Establezca los parámetros de número entero/coma flotante/cadena/etc.
  • Obtener el valor de un parámetro de tipo entero/flotante/cadena/etc.

4. ★ Captadores de geometría (15 funciones)

Esta categoría incluye operaciones relacionadas con "obtener datos geométricos". Por ejemplo:

  • Obtener el nodo geográfico de la Pantalla actual en el nodo Objeto
  • Obtener información geográfica
  • Obtener información de la pieza
  • Obtener conteo de caras
  • obtener una lista de vértices

5. ★ Atributos (36 funciones)

Esta categoría incluye operaciones clave relacionadas con el atributo. Por ejemplo:

  • Obtener información de atributos.
  • Obtener los datos de varios tipos de atributos.
  • Establecer los datos de varios tipos de atributos.

6. ★ Setters de geometría (8 funciones)

Esta categoría incluye operaciones relacionadas con "establecer datos de geometría". Por ejemplo:

  • Establecer información de la pieza
  • establecer facetas
  • establecer lista de vértices
  • enviar_geometría( CommitGeo)

También debe tenerse en cuenta que si desea configurar datos geométricos, por supuesto, también necesita algunas funciones para configurar datos de atributos en la categoría Atributos anterior.

Finalmente, tenga en cuenta: después de configurar los datos, debe llamarse CommitGeopara enviar los datos geométricos al final. Si abre Escena en Houdini en este momento, puede ver que este nodo está congelado, que es el conjunto de datos geométricos.

7. ★ Volúmenes (16 funciones)

Esta categoría cubre las operaciones relacionadas con el volumen (campo de altura). Por ejemplo:

  • Obtener información de volumen
  • Obtener datos de volumen
  • Establecer datos de volumen

8. ☆ Medio ambiente (8 funciones)

Contiene algunas operaciones relacionadas con el medio ambiente. Por ejemplo:

  • establecer variables de entorno
  • obtener variables de entorno

9. ☆ Estado (12 funciones)

Contiene consultas para varios estados . y funciones para otras consultas de estado.

10. ☆ Cuerdas (6 funciones)

Funciones relacionadas con cadenas.

Lo más importante es la conversión entre HAPI_StringHandle y datos de cadena.

11. ☆ Activos (8 funciones)

Aquí "Activos" se refiere a HDA.
Esta categoría incluye algunas operaciones relacionadas con HDA, tales como:

  • Carga HDA
  • Obtener información HDA

12. ☆ Limas de cadera (5 funciones)

Contiene operaciones relacionadas con archivos HIP, como:

  • Leer archivo de cadera
  • Guardar el archivo de la cadera

13. ☆ Presets (3 funciones)

Contiene funciones relacionadas con Preset, como:

  • Generar archivo preestablecido
  • Establecer parámetros de acuerdo con Preset

14. ☆ Objetos (8 funciones)

Operaciones relacionadas con el nodo OBJ, como:

  • Obtener información del nodo OBJ
  • Establecer la transformación del nodo OBJ

15. ☆ Curvas (8 funciones)

Contiene operaciones relacionadas con curvas, como:

  • Obtener/establecer información de la curva
  • Obtener/establecer el número de vértices en la curva

16. ☆ SessionSync (5 funciones)

Contiene la interfaz requerida por la función SessionSync

17. ☆ PDG/TOP (36 funciones)

Esta parte tiene una gran cantidad de interfaces relacionadas con PDG.

Otras categorías

En cuanto a otras clasificaciones, desde mi propia experiencia, no son de uso común (quizás críticas para algunas tareas). incluir:

  1. Utilidad (6 funciones): Por el nombre, parece que quiere incluir algunas funciones generales, pero ahora está relacionado principalmente con el cálculo de matrices de transformación.
  2. Tiempo (7 funciones): algunas operaciones relacionadas con el tiempo
  3. Campos de altura (2 funciones): función auxiliar para crear nodos para ingresar datos de campo de altura
  4. Materiales (14 funciones): algunas operaciones relacionadas con los materiales
  5. Animación (2 funciones): algunas operaciones relacionadas con la animación
  6. InputCurves (5 funciones): funciones auxiliares para crear nodos para ingresar datos de curva
  7. Almacenamiento en caché (11 funciones): ¿funciones relacionadas con el caché? incierto. .

Proceso de uso general

Primero use las funciones de la categoría Sesiones para crear una sesión, mantenerla y administrar su ciclo de vida.

A continuación, utilice las funciones de la categoría Nodos para crear nodos, mantener varios nodos necesarios y realizar las operaciones necesarias en ellos, como conectar nodos o utilizar funciones de la categoría Parms para manipular parámetros.

Es posible que también deba pasar datos a Houdini. En este momento, debe usar las funciones en la categoría Establecedores de geometría y las funciones en Atributos para ingresar la geometría. Las curvas y los campos de altura también tienen funciones correspondientes que se pueden ingresar.

Finalmente, cuando todos los parámetros y entradas estén listos, puede cocinar el nodo. Luego, puede obtener los resultados, por ejemplo, Geometry Getters puede obtener datos de geometría, Attributes puede obtener datos de atributos y Volumes puede obtener datos de campo de altura.

Supongo que te gusta

Origin blog.csdn.net/u013412391/article/details/115526495
Recomendado
Clasificación