1.什么是RPC?
houdini官网RPC的解释:
https://www.sidefx.com/docs/houdini/hom/rpc.html
简单来说,RPC就是,你可以编写,与houdini毫无关系的python工程文件,你可在其中自由的处理你的数据,当要将这些处理好的数据,转换为3D模型时,你可通过RPC将这些数据,传给Houdini绘制出,你想要的的3D模型。
2.pycharm中python环境配置
既然RPC可以编写与houdini毫无关系的python工程文件,那么你可以自由的创建一个python的环境。 那我自己的举例来说:
- 用conda创建了一个名字叫houdini,python版本为3.7的专用于编写houdini的虚拟环境
![在这里插入图片描述](https://img-blog.csdnimg.cn/fc37d6975ef449548a34f147dfe23f5a.png) - 在pycharm中选择刚创建的houdini虚拟环境
![在这里插入图片描述](https://img-blog.csdnimg.cn/3f5248df16d84652aa5f5cb587acd50d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6I-c6I-c6I-c6I-c6I-c6I-c6I-c,size_20,color_FFFFFF,t_70,g_se,x_16) - 添加houdini内置的python包路径,有了这些包,你才可以和houdini连接
这个内置包,在houdini安装目录下
C:\Program Files\Side Effects Software\Houdini 19.0.498\houdini\python3.7libs
若有需要,你可以将这个包复制粘贴到,你电脑下的任意路径下,只要在python环境中添加到这个任意路径,你也同样可以与houdini相连接。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/66887f7a10d942e59a98e7f14d03a356.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6I-c6I-c6I-c6I-c6I-c6I-c6I-c,size_20,color_FFFFFF,t_70,g_se,x_16) 4. houdini编写RPC连接工具 这个的意思,就是houdini打开一个服务端口,等待执行传过来的python绘制命令。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/cb2cb3745a694a03b224adf35aa34842.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6I-c6I-c6I-c6I-c6I-c6I-c6I-c,size_20,color_FFFFFF,t_70,g_se,x_16) 点击执行刚刚创建的等待连接的工具。 5. 使用刚刚创建的python环境,在pycharm中编写python脚本,连接houdini 运行之前,安装以下两个库
pip install rpyc pip install future
运行,连接到houdini,并使用返回的hou1句柄,指挥houdini绘制模型 ![在这里插入图片描述](https://img-blog.csdnimg.cn/690482a1f1374f39ac47a9e9924d92f1.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6I-c6I-c6I-c6I-c6I-c6I-c6I-c,size_15,color_FFFFFF,t_70,g_se,x_16)
import hrpyc
print("this is my first houdini python project")
con, hou1 = hrpyc.import_remote_module()
loader=hou1.node('/obj/').createNode('geo','MY_geo1')
- 此时在houdini中成功一个geo,大功告成。你可以指挥houdini做任何你想要做的事情了
![在这里插入图片描述](https://img-blog.csdnimg.cn/a86dcdabb7314509bcd804507b263226.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6I-c6I-c6I-c6I-c6I-c6I-c6I-c,size_20,color_FFFFFF,t_70,g_se,x_16)
|