学了一个星期的python,终于可以在houdini中实操了,但是还是有点懵,对于python的语法还不大熟悉,所以还是得多练多做笔记,看了网上几位大佬的博客,个人觉得入门学习还是挺不错的python in houdini的基础教程奈何图片太不清楚,所以自己总结一下

一、houdini中用python的地方主要在

1.写节点上( file/new operator type:有个python形式的)2.python shell(应该是个python编译器),3.python source editor,写hou.session模块的地方。2和3的命令都在windows这一栏里。4.工具栏,右击工具栏建立的工具中可以写python代码。

二、python获取物体并设置属性

1、首先创建一个方块s

2、在python shell 中写代码:

>>> mybox = hou.node("/obj/box_object1/box1")#创建box

>>> print mybox

box1

>>> mybox_tx = mybox.parm('tx')#获取box x轴的位置属性

>>> print mybox_tx

>>> mybox_tx.set(10)#box 位置x变为10

三、python连接节点

>>> obj = hou.node("obj")

>>> print obj

obj

>>> mygeo = obj.createNode('geo')

>>> mygeo = obj.createNode('geo',run_init_scripts=False)

>>> mybox = mygeo.createNode('box')

>>> mysur = mygeo.createNode('subdivide')

>>> mysur.setFirstInput(mybox)#连接节点

>>> mygeo.layoutChildren()#位置排列,相当按下L

>>> mysur.setDisplayFlag(True)#设置显示属性

>>> mysur.setRenderFlag(True)

三、在展架中使用

在工具栏创建一个自定义工具

输入代码

from math import sin,cos

geoNet = hou.ui.paneTabOfType(hou.paneTabType.NetworkEditor)

spiral = geoNet.pwd().createNode("curve")

coordsParm = spiral.parm("coords")

input = hou.ui.readMultiInput(message = "Enter parms:",input_labels = ["height","lRadius","uRadius","frequency"],initial_contents = ["20","10","0","3"])

height = float(input[1][0])

lRadius = float(input[1][1])

uRadius = float(input[1][2])

frequency = float(input[1][3])

coordsStr = ""

radius = lRadius

step = (lRadius - uRadius) / (height * frequency)

for i in range(int(height*frequency)):

px = str(radius*sin(i))

py = str(i/frequency)

pz = str(radius*cos(i))

coordsStr += px+","+py+","+pz+" "

radius -= step

coordsParm.set(coordsStr)

之后只要创建一个geometry节点就可以工具使用这个创建螺旋线

四、创建自定义节点

import hou

import random

# This code is called when instances of this SOP cook.

node = hou.pwd()

geo = node.geometry()

# Add code to modify the contents of geo.

random.seed(123)

colorAttrib = geo.addAttrib(hou.attribType.Point,"Cd",(1.0,1.0,1.0))

color = hou.Color()

numPoints = len(geo.points())

for point in geo.points():

pos = point.position()

px=pos[0]

py=pos[1]+random.random()*random.choice([-1,1])

pz=pos[2]

point.setPosition((px,py,pz))

value = float(point.number())/numPoints

color.setHSV((value*255,1.0,1.0,))

point.setAttribValue(colorAttrib,color.rgb())

python houdini_python for houdini——python在houdini中的基础应用01相关推荐

  1. Houdini python批量导入abc

    Houdini python批量导入abc 在项目中经常与遇到有大量的abc文件需要导入的问题,这个时候就需要批量导入abc来完成后面的工作 第一次写小工具,离高手还很远,继续学习中 直接上代码 去博 ...

  2. python houdini_【微笔记】houdini使用python创建城市教程笔记I

    原标题:[微笔记]houdini使用python创建城市教程笔记I 昨天小编分享了houdini使用python制作城市的教程,讲解得非常不错,不过个人建议大家至少有一些python基础和houdin ...

  3. 使用Python,OpenCV+OCR检测护照图像中的机器可读区域(MRZ Machine-Readable Zones)

    使用Python,OpenCV+OCR检测护照图像中的机器可读区域(MRZ Machine-Readable Zones) 1. 效果图 2. 原理 3. 源码 参考 这篇博客将介绍如何只使用基本的图 ...

  4. Python培训分享:Python新版本中的6个新特性

    Python在几年做了一个全面的升级,此次Python升级中有6个新特性,本期小编为大家介绍的Python培训教程就是关于介绍Python新版本中的6个新特性的,来看看下面的详细介绍. Python培 ...

  5. Python培训常识:Python面试中常被问到的几种设计模式要知道

    学习Python技术大家都是为了日后能够找到适合自己的工作岗位,那么除了要学习好Python技术外,对于面试环节的问题也要有所了解,本期小编为大家介绍的Python培训教程就算关于Python面试中常 ...

  6. arcgis里python窗口运行,在 Python 窗口中执行工具

    当第一次打开 Python 窗口时,它会显示类似这样的界面: 左侧区域为 Python 的主提示窗口,在这里执行 Python 命令.右侧区域为帮助和语法窗口,工具运行时,在这里显示执行消息:输入代码 ...

  7. python使用matplotlib可视化、查看matplotlib中常用的线条形式(line style)和数据点标记形状(marker)

    python使用matplotlib可视化.查看matplotlib中常用的线条形式(line style)和数据点标记形状(marker) 目录

  8. Python可视化(matplotlib)在图像中添加文本和标记(Text and Annotation)

    Python可视化(matplotlib)在图像中添加文本和标记(Text and Annotation) 目录 Python可视化(matplotlib)在图形中添加文本和标记(Text and A ...

  9. python根据二叉树的前序遍历和中序遍结果历重建二叉树

    python根据二叉树的前序遍历和中序遍结果历重建二叉树 前序遍历 对于当前节点,先输出该节点,然后输出他的左孩子,最后输出他的右孩子.以上图为例,递归的过程如下: (1):输出 1,接着左孩子: ( ...

最新文章

  1. Redis 越来越慢?常见延迟问题定位与分析
  2. java 弱引用 集合_java 弱引用集合类WeakHashMap
  3. C++ Vector 使用总结
  4. 政策表达式截取json_json格式数据如何提取指定中文字符串。
  5. Dijkstra Algorithm (迪杰斯特拉算法)
  6. Spring学习笔记:配置单数据源
  7. Springboot2.x 集成 jedis和spring-boot-starter-data-redis的性能测试比较(Jedis完胜:附带源码)
  8. 《Java 开发从入门到精通》—— 2.4 Java的运行机制
  9. 总结 部署 Kubernetes+Heapster+InfluxDB+Grafana 详解
  10. TensorFlow Probability概率编程-时序模型
  11. Jetbrains IDE 各种 plugins 插件下载
  12. 计算机网络共享服务器,办公室如何搭建共享服务器或文件共享服务器
  13. activiti6.0(二)节点处理人
  14. 万物互联,该怎么联?
  15. linux ldap客户端工具,openldap(3)linux客户端 启用ldap、sssd 认证
  16. Scratch滚动的天空(2)
  17. c语言输出十六进制数乱码,输出乱码
  18. 火绒安全软件v5.0.44,比较好的安全防护软件
  19. 程序在Nginx/k8s下如何获取客户端真实IP,带工具类
  20. Node js 集群(cluster)

热门文章

  1. java中substring用法_java中substring的用法
  2. 常用特殊符号的HTML代码(HTML字符实体)
  3. Visio常用设置 Word常用设置
  4. 使用 Mathpix Snipping 和 MathType 快速输入公式
  5. POWER BI:服务器端全套部署
  6. win10cmd重置系统_win10网络设置重置 win10 cmd命令重置网络
  7. unity 刘海全面屏适配
  8. PWA---新生代手机APP
  9. win10更新补丁KB5006670后无法共享打印机
  10. 旗帜鲜明的反对基因编辑婴儿!