houdini打不开

houdini打不开

随着复杂的packages增多,以及houdini自身版本的迭代,还有python的问题,导致环境变量设置变化十分复杂。我用了4年houdini,每年都在改环境变量,以前偶尔一弄就是一天,是houdini最烦人的课题之一;目前我的环境变量已有586行。具体情况需要各位凭经验设置,基础不会写在下面,以最新版本为准

目前已转为使用package管理,不过作为历史遗留,env仍然是很重要的

五行精灵:在houdini中使用packages文件(.json)管理配置文件​zhuanlan.zhihu.com从原初讲起

首先要把自己做的HDA存起来循环使用配置文件位置在:C:UsersFeEDocumentshoudini18.0(文档好像没写位置)

一般就是做了几个.HDA(以前叫.OTL,houdini新人不用管,这两个文件可以互相改名,不影响使用)想在所有HIP中都能使用它,那么这时候就把这些.HDA放进这个文件夹

C:UsersFeEDocumentshoudini18.0otls

就像酱紫但是这时候如果你还有别人做的HDA,混在一起就麻烦了,该怎么办呢

我们要创建自己的库来管理

houdini之所以会识别到上述otls文件夹下的HDA,是因为houdini打开后,会默认搜索

$HOUDINI_PATH这个路径下的文件载入配置,$HOUDINI_PATH默认值是C:/Users/FeE/Documents/houdini18.0/

那有没有办法识别到别的地方,同时又加载默认的配置文件呢?

当然可以啦,就是修改环境变量。$HOUDINI_PATH这个值可以有“多个”,这样houdini就会识别到别的地方,但是默认的地方还是必须要加载的,因为环境变量存在这里,就是这个文件

C:UsersFeEDocumentshoudini18.0houdini.env

环境变量内默认的内容可以认为全是没用的,但是如果你有安装过例如gamedev,arnold,redshift等库,内部会自动创建一些环境变量不会就不要乱改!!!不会就不要乱改!!!不会就不要乱改!!!

一定要备份!!一定要备份!!一定要备份!!

首先我们先弄个自己的库的位置,我打算放在

C:UsersFeEDocumentshoudini18.0libsFeE

然后再在该文件夹下创建otls文件夹,并将自己的HDA放进去

C:UsersFeEDocumentshoudini18.0libsFeEotls

就像酱紫环境变量内写入

HOUDINI_PATH = $HOUDINI_PATH;C:/Users/FeE/Documents/houdini18.0/libs/FeE;&

不知道大家有没有注意一个细节,houdini所有的路径,都得写正斜杠(第二声)而不是反斜杠(第四声)我还没说完路径都得写正斜杠!!!路径都得写正斜杠!!!路径都得写正斜杠!!!路径都得写正斜杠!!!路径都得写正斜杠!!!路径都得写正斜杠!!!

HOUDINI_PATH = $HOUDINI_PATH;C:/Users/FeE/Documents/houdini18.0/libs/FeE;&

这局话的意思是,$HOUDINI_PATH代表默认值C:/Users/FeE/Documents/houdini18.0/,下一个搜索的配置文件的路径为C:/Users/FeE/Documents/houdini18.0/libs/FeE,两者间要用分号(;)割开

末尾要加上;&,别管什么意思,就是要加,格式需要

只要这样写好环境变量,houdini打开后就会自动搜索C:/Users/FeE/Documents/houdini18.0/libs/FeE/otls下的HDA并加载

然后问题又来了,这时候我们要设置多个库

比如说把一些杂乱的HDA放在C:/Users/FeE/Documents/houdini18.0/libs/Github/otls

环境变量可以这么写

HOUDINI_PATH = $HOUDINI_PATH;C:/Users/FeE/Documents/houdini18.0/libs/Github/;C:/Users/FeE/Documents/houdini18.0/libs/FeE;&

但是如果库越来越多,这样写,就会超长!!!

其实我们可以这样写

第一行:HOUDINI_PATH = $HOUDINI_PATH;C:/Users/FeE/Documents/houdini18.0/libs/Github/;&

第二行:HOUDINI_PATH = $HOUDINI_PATH;C:/Users/FeE/Documents/houdini18.0/libs/FeE

因为环境变量是从上到下运行的,所以第二行的$HOUDINI_PATH其实就是代指

第一行的$HOUDINI_PATH;C:/Users/FeE/Documents/houdini18.0/libs/FeE;

细节上我们还能做点优化

HOUDINI_PATH = $HOUDINI_PATH;C:/Users/FeE/Documents/houdini18.0/libs/Github/

HOUDINI_PATH = $HOUDINI_PATH;C:/Users/FeE/Documents/houdini18.0/libs/FeE

HOUDINI_PATH = $HOUDINI_PATH;&

这样以后新加lib就不用在意这个;&啦

其实还可以有更简单的操作

新建一个libs变量

libs = C:/Users/FeE/Documents/houdini18.0/libs

HOUDINI_PATH = $HOUDINI_PATH;$libs/Github

HOUDINI_PATH = $HOUDINI_PATH;$libs/FeE

HOUDINI_PATH = $HOUDINI_PATH;&

这时候又有新需求,更新houdini每次都要改版本号

新建一个版本变量

HOUDINI_VERSION_BIG = 18.0

libs = C:/Users/FeE/Documents/houdini${HOUDINI_VERSION_BIG}/libs

HOUDINI_PATH = $HOUDINI_PATH;$libs/Github

HOUDINI_PATH = $HOUDINI_PATH;$libs/FeE

HOUDINI_PATH = $HOUDINI_PATH;&

libs这里这样写

${HOUDINI_VERSION_BIG}是因为,如果不加大括号就会变成

libs = C:/Users/FeE/Documents/houdini$HOUDINI_VERSION_BIG/libs

houdini$HOUDINI_VERSION_BIG整体会被识别成一个字符串,所以不行!!

这里还有一个细节!!!

HOUDINI_PATH = $HOUDINI_PATH;$libs/Github

HOUDINI_PATH = $HOUDINI_PATH;$libs/FeE

自己的库(FeE)写在最后,因为houdini内很多要填写,保存的默认路径($HOUDINI_PATH)地方是最后一个设置的路径,也就是自己的库的位置

这时候又有新需求,换电脑每次都要改名字

User = FeEHOUDINI_VERSION_BIG = 18.0

libs = C:/Users/$User/Documents/houdini${HOUDINI_VERSION_BIG}/libs

HOUDINI_PATH = $HOUDINI_PATH;$libs/Github

HOUDINI_PATH = $HOUDINI_PATH;$libs/FeE

HOUDINI_PATH = $HOUDINI_PATH;&

这时候又有新需求,我们不只是HDA要存进库里,还有各种东西,可以吗

desktop文件夹里放了desktop,也就是这里的东西

examples里面放了示例HIP,hou不会加载,不重要

presets里面放了节点的参数预设

scripts里面放了python脚本

toolbar里面放了toolbar

vex里面放了vex的头文件,也就是include XXXX默认寻找的地方

然后就是这些环境变量都要初始化(放在最开头,设置这些环境变量之前)

# 这些不能全放在最后(具体是哪个变量不知道),否则houdini打不开

# Initialize

# HOUDINI_PATH = &

HOUDINI_DESK_PATH = &

HOUDINI_OTLSCAN_PATH = &

HOUDINI_GALLERY_PATH = &

HOUDINI_MENU_PATH = &

HOUDINI_TEXTURE_PATH = &

HOUDINI_TOOLBAR_PATH = &

HOUDINI_SCRIPT_PATH = &

HOUDINI_VEX_PATH = &

HOUDINI_OCL_PATH = &

HOUDINI_DSO_PATH = &

配置文件Debug经验:

HDA(OTL)可能会导致houdini打不开,所以需要一项项排除(CTRL XV),例如我有个HDA在17.5没问题,换到18.0后,打开18.0就闪退

欢迎大佬来加QQ houdini程序化设计群642672039(QQ最温柔的程序化讨论群) 加群仅限houdini程序化建模设计/流程向大佬,需要审核,严禁内鬼

群规: 原则上禁水,且禁新手问题,但是讨论有趣的事情也可以;

希望大家多分享的群,除非认识,否则一个月不说话就不能继续待着啦,只是为了防内鬼,不用那么紧张啦,可以再加回来的

相关资讯