问题标签 [houdini]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
242 浏览

python - 是否可以从单个主解释器跨多个软件包(Maya、Houdin、Nuke 等)进行开发?

我正在开发适用于各种 CG 软件包(如 Maya、Houdini、Nuke 等)的通用工具,我想知道是否有将每个软件的自定义解释器合并到虚拟环境中的单个主解释器的工作流程?

详细说明:

我知道如何在 PyCharm 中为 Maya 开发创建自定义环境,但这仅适用mayapy.exe于解释器。理想情况下,我希望使用 cleanpython.exe作为我的主解释器,然后为每个软件添加包以完成工作。

这是我一直在使用的脚本的要点。它所需要的只是PySide安装Qt.py到一个Python 2.7 venv运行中。如果我从第一个链接(PyCharm 中的 Maya 开发人员)执行所有步骤,除了使用mayapy.exe作为解释器而是使用python.exe我发现自动完成实际上有效,但除非我使用mayaypy.exe作为解释器,否则脚本不会执行。

我想我的主要问题是我不确定这是否可能。如果可能的话,我不确定要使用哪些包或如何找出我需要的包。

0 投票
1 回答
266 浏览

python - 如果文件同时包含二进制代码和文本,如何使用 python 替换文本?

我想替换包含二进制代码和文本混合的 Houdini 文件(.hip)的文本。我有替换文本文件的python代码。当我尝试替换 Houdini 文件中的文本时,文件在替换后会损坏。

谁能告诉我如何替换 Houdini 文件中的文本而不损坏它?

代码:

当我尝试使用此代码替换 Houdini 文件(.hip)时,文件会损坏。

有谁知道如何在不打开Houdini文件的情况下替换它?

0 投票
1 回答
1304 浏览

python - 在类中定义枚举时出错:TypeError:“模块”对象不可调用

我有一个包含模块的 Python 包:

我的包裹

|----> 我的模块

我想将枚举定义为模块的静态属性。 我在 Houdini 中使用 Python 2.7 的 enum34 模块

然后在另一个 Python 文件中尝试导入 myModule:

这是在 Houdini 启动时执行的。这执行没有错误,但是当我尝试启动 Python 控制台时,我收到此错误并且 Houdini 崩溃:

0 投票
0 回答
221 浏览

ios - 我的 Alembic 文件 (.abc) 中的模型具有扁平的节点层次结构,并且在 iOS 中缺少面孔

我正在尝试从 Houdini 导出一个简单的 3D 场景并在 iOS 应用程序(使用 SceneKit)中使用它。但是在将 .abc 文件添加到我的 XCode 项目后,我遇到了很多麻烦。我的两个主要问题是:

首先,场景图似乎没有检测到我的 .abc 文件中的子节点。相反,iOS/XCode 似乎将我所有的嵌套子网/子节点展平为顶级节点,其中没有一个显示它们的子节点。如何保留我的节点层次结构?我是否需要在我的 Houdini 网络中进行更改以明确地将节点标记为子节点?

其次,我的模型丢失了颜色数据并且看起来很破损。如果我将 .abc 转换为 .scn,它们看起来会好一些,但它们看起来仍然损坏。我在这里错过了一步吗?我是否需要手动添加材料或对照明做一些不同的事情?为什么我的场景看起来不像在 Houdini 中渲染的那样?

这是它应该看起来的样子: 在此处输入图像描述

这是它在 iOS 中的外观: 在此处输入图像描述

这是转换为 .scn 后的样子。稍微好一点,但还是坏了。 在此处输入图像描述

0 投票
1 回答
2043 浏览

python - Python 模块无法加载共享库,原因:找不到图像

我正在尝试使用应用程序附带的 Houdini Python 模块,它是标准 Python 路径之外的 Houdini 安装文件夹的一部分。按照安装说明运行后,运行Houdini Terminal 16.5.571脚本并在我的文件夹中添加可以导入的/Applications/Houdini/Houdini16.5.571/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/python2.7libs模块,即 Python 部分。但是它无法加载动态库。_virtualenv_path_extensions.pthsite-packageshou

错误信息

错误消息中提到的所有文件和文件夹都位于 Houdini 路径/Applications/Houdini/Houdini16.5.571/Frameworks/Houdini.framework/Versions/Current中,Current并且是指向16.5.571.

Python 模块

找到 Python 模块。

共享库

@rpath/Houdini.framework/Versions/16.5.571/Houdini这包含一个它可能试图查找的引用。

这似乎链接到实际dylib文件,包含@loader_path/Librariesdylib...@rpath/libHoudiniUI以及许多其他文件。

我在这里读到从 Bazel 运行 Python 脚本时找不到动态库,SIP 可能会导致它,但即使在ln -s共享库进入/usr/local/lib错误之后仍然发生。

我正在使用pyenv但尝试使用系统 Python 环境,导致相同的行为。

有什么建议么?

0 投票
1 回答
1568 浏览

path - Custom houdini module path

I need to store Houdini *.hda files on a network share. This folder needs to be sourced by all users.

Usually, for those kind of requests, I use an environment variable in ~/houdini17.0/houdini.env like for exemple: HOUDINI_TEMP_DIR="/my/custom/temp/path"

But the issue is that I can find a solution for hda/otls files. Adding it to HOUDINI_PATH="${HOUDINI_PATH};/my/custom/hda/path" or HOUDINI_OTLSCAN_PATH doesn't work and worst, it seems to break other links since a few other houdini nodes aren't available anymore.

Can someone point me to the right environnement variables?

0 投票
0 回答
111 浏览

uv-mapping - Houdini - 骨架网格体和 UV 贴图的问题

我在使用骨架网格物体和 UV 贴图时遇到问题。这是我的模型: 模型屏幕截图

这个想法是使用球体作为枢轴点,我不想要任何变形。

网络截屏

这是我的网络,如您所见,我的装备有 3 个骨骼和对应于模型的 3 个部分的 3 个几何节点。

Segment1:带球体的顶部圆柱 Segment2:中间圆柱体和球体 Handle2:底部圆柱体

以下是段 2 几何的内容:段 2 几何节点内容

这个骨骼系统似乎工作得很好,没有变形,但我的问题是 UV 贴图。因为我有 3 个独立的几何图形,这也意味着我有 3 个独立的 UV 贴图。

显然,当我打开它们时,我有重叠的 UV: UV MAP

在 UE4 中导致纹理冗余一次: 在 UE4 中预览我的问题

我的尝试之一是只有一个几何节点,并且在合并后发生 UV 展开: 我尝试的网络

动画在 Houdini 中完美运行。问题是这在 UE4 中没有被识别为骨架网格物体。

您是否知道如何在几何之间共享相同的 UV 贴图,而不必自己手动放置每个岛以使它们不重叠?

干杯,

0 投票
1 回答
123 浏览

shader - SideFX Houdini 每像素表面位置和整个场景的法线

如何获得每个像素的所有表面位置和整个场景的法线。

我不想停在第一个被击打的表面上。我需要获取有关所有对象的信息。

例如,一个立方体位于球体的前面。摄像机位置仅显示立方体 - 球体通过立方体到达该摄像机位置。我的相机渲染图像数据的每个像素位置的输出为我提供了世界空间中的表面位置和第一次命中时立方体​​的法线的信息。然后再到立方体的另一边。然后是球体的两个表面。

怎样才能做到这一点?

谢谢

0 投票
2 回答
847 浏览

python - 如何在 PyCharm 中执行 Maya python 脚本

我正在为我的公司编写一些简单的管道脚本。我在 pycham 中做了很多 houdini 工作,它按预期工作:当你在 houdini python 解释器中工作时,就像在没有 UI 的 houdini 中工作一样。但是,对于 Maya,我无法在 PyCharm 中进行任何操作,我必须使用 MayaCharm 插件在 Maya 中执行所有操作。完成工作,导入工作,但无论我做什么,无论功能,方法,.. 我总是得到'没有'作为结果。不是错误,结果只是“无”。我尝试了以下解决方案:如何在不启动 Maya 的情况下执行 Maya 脚本?但它也不起作用。“my_cube = cmds.polyCube()”的结果是“无”。即使我只是调用 cmds.ls() 我得到“无”任何帮助或想法?

0 投票
0 回答
55 浏览

python - 问题在矩阵中相互调用值,python

这是我的第一篇文章,所以如果我需要更改任何内容,请告诉我!

我根据以下输入创建了一个网格:

为了创建这个网格,我使用了这段代码

这很有效,并创建了点间距为 1 且具有正确值的网格。现在我想做以下事情

现在我假设我需要再次遍历行和列,但是如果我使用 for 循环执行此操作,那么它将不允许我在该列中调用上述索引的值。有人可以帮我解决这个问题吗?我需要将“实例”的值更改为新值。

作为对我要实现的目标的简要说明: 示例图片

编辑:将 x 或 y 以外的内容添加到 int 以区分其下的 1 更改为“0”的“11”和其下的 2 或 3 更改为“0”的“11”。