Boning Li

LiBoNing

About Me

I build computational systems and tools that make them. Simulation, Generative systems, and Emergence.

Connect

LOCATION
New York City, United States
ウェブサイト

Houdini Skills

Availability

Not Specified

Recent Forum Posts

Does COP nodes not have a python api? 2026年8月7日11:17

Yes, Copernicus has a Python API. You can read a COP’s cooked image as a hou.ImageLayer:

import hou
import numpy as np

cop = hou.node("/obj/copnet1/file1")
layer = cop.layer()

w, h = layer.bufferResolution()
channels = layer.channelCount()
raw = layer.allBufferElements(
    hou.imageLayerStorageType.Float32, channels
)
pixels = np.frombuffer(raw, np.float32).reshape(h, w, channels)

Use layerAtFrame(frame) for another frame. There’s also a Python Snippet COP for processing layers inside a COP network.
If your MCP server runs outside Houdini, the main issue is that the hou calls still need to execute inside the Houdini process/on its main thread.

LUTs in copernicus? 2026年4月22日17:54

Good point.Had the same need, so I built a small HDA that handles OCIO transforms plus 1D/3D LUT files.

Added it to my MotionCOPs toolkit, free to use:
https://github.com/Boning1011/motion-cops/blob/main/otls/cop_boning.mc_lut_apply.1.0.hdalc [github.com]

How to add a user defined MaterialX compound in Solaris? 2025年12月10日13:06

I found this in Sidefx's doc. There's a tool to convert the materialx file into a hda.
https://www.sidefx.com/docs/houdini/solaris/kug/materials.html#custom [www.sidefx.com]

That .mtlx source file is then post-processed by two other tools:

$HHP/mtlx2karma.py - outputs the karmaNodeGraph.json file necessary for Karma to render these shaders correctly; this should be added to HOUDINI_PATH or user preferences directory

$HHP/mtlx2hda.py - produces the user-facing output HDA, should be added to any otls folder on HOUDINI_PATH or user preferences directory