【houdini】CG猎人第010期houdini完全基础入门学习-建模与软件互导

——  微资讯 · 微课程  ——

利用零碎时间,走上超神之路!


课程概述

01houdini使用maya的视图建模方法 02houdni程序化建模制作跑道 03houdini与maya互导的三种方法介绍 obj,fbx和alembic

学习建议

教程难度 ★★

教程质量 ★★★

现在回到sop进行建模知识讲解,虽然看起来很基础,但是有很多我们忽略的小知识点。课程中讲解了crease硬边,细分和渲染细分制作,如何通过polyframe计算出曲线曲率和凹凸形态对跑道倾斜进行控制,如何设置obj格式中的分组和alembic导如导出方法等。当然,houdini16有了非常大的更新,特别是路径动画制作,obj参数中已经关闭,全部移到chop约束中,这里小编做了更新讲解,并且提供houdini16的工程源文件,祝大家学习愉快。

基于曲线的自动倾斜的跑道

houdini动力学导入maya中

学习统计

教程观看 2倍速度

观看时间 1小时

笔记整理 2小时

练习实践:0.5小时

学习笔记

1案例一,以maya的方式建模,在视图中操作,选择面然后不断挤出等操作(非程序化方式)

常用建模命令

点线面选择 2,3,4

旧版本技巧,可以通过点线面不断切换进行扩大选择 比如242424不断扩展选择,不过新版本行不通,新版本不会进行选择切换,而是记录本本元素之前的选择状态。

扩展选择/收缩选择 shift+G和shift+S

循环边选择 新版本使用a+鼠标中键,如果要连续选择 shift+a+鼠标中间

硬边处理 选择边,在视图中添加crease节点,实际上是给vertex添加了creaseweight这个属性值;可以通过paint节点对这个属性值进行绘制覆盖创建。

视图中向maya一样细分预览+/- 分别是细分预览和降低细分

maya中按3的预览细分渲染,需要在obj层级开启:render polygons as subdivision(mantra) mantra渲染器支持的把多边形当做细分模型渲染。

smooth节点不增加细分,直接对原有点进行平滑处理。

sudivide节点真实细分,并且基于creaseweight属性进行硬边处理;在algorithm算法中切换为 mantra-compatible catmull clark模式能够更加真实还原mantra的细分渲染效果;

2程序化建模 赛车跑道

目标:在弯道比较急的地方两边围墙比较高,并且赛道会基于曲线的凹凸弧度做旋转,所以核心的就是如何找到弯道属性进行控制。

创建曲线→自定义向下的方向为法线n→resample进行重新细分采样→polyframe计算出tangent_01(用来判定凹凸)→polyframe解算出tangent02(获得曲线切线)→vop节点进行cross product和 dot计算,获得倾斜度控制(坡率控制)→attributetransfer进行属性模糊→创建两个基本的界面(一高一低)→blend shape进行融合→transform进行控制旋转→copy基于技术处的斜率设置stamp→分别驱动transform中的选择和blend混合因素。

重点知识 polyframe如何求算两种切线

tangent_01为黄色的线  基于凹凸面指向不同 使用计算方式是 two edge

tangent_02为红色方向线 沿着曲线的切线方向 使用计算方式是first edge

官方文档解释

firt edge 第一条边

对于每个点,法线矢量是一个平滑的点法线。切线矢量是在点所处的直线方向上(红色),而双切线是垂直于法线和切线定义的面上(黄色)

Two edge 两条边方法

对于每个点,法线矢量是一个平滑的点法线。切线方向是基于点向关两条边方向的和(红色),双切线方向是垂直于法线和切线定义的面上(黄色)。

2点乘dot product,叉乘cross product

cross product由两两个矢量定义的平面计算出垂直于这个平面的矢量方向

dot product是用来判定两个矢量之间的夹角 返回负值,0和正值

tangent_02曲线切线方向与自定义的向下的法线N求出了垂直于曲线的法线crossproudct,最后输出为N法线

tangent_01与这个法线做角度判定,进行点乘,可以判定是向向内转还是向外转(负值,0和正值的变化)输出为属性curve

最后通过copy和stamp把这个curve属性转化为blend混合因素和transform中的选择因素,那么可以直接控制bank赛道倾斜和边缘高度。

houdini16新功能

关于路径动画制作,之前版本在obj层级会有

houdini16使用chop统一所有约束,所以教程中的路径约束在houdini16已经更新了,在16中多了一个enable constraints 激活约束,当你激活之后会多出一个输入框,用于约束创建,先选择constraints network会自动在camera节点中创建constraints chop

在内部会自动有get world space反问世界坐标空间的节点,在下面添加follow path节点,选择激活标签,加载曲线路径,设置关键帧0-1变化就可以了。

虽然没有以前方便,但是更加统一和清晰了。

3 houdini与maya互导

maya→houdini 3中方法

001 obj格式格式导入houdini 如何设置组

如果在maya中物体是相互独立的,那么就会带有各种的组;如果maya中模型是combie合并的,可以在maya中set,那么在houdini也可以以组识别。

create/set/create quick select set 然后命名,之后导入到houdini就会带有这个组。

002 FBX格式导入 不推荐

因为会导入一堆骨骼和绑定文件,在houdini中比较难管理

003alembic(简称abc文件)推荐格式

新的文件格式,把动画特效等每帧进行缓存模型,不需要带有绑定和骨骼信息。基本上在maya与houdini之间互导都推荐使用这种格式。

maya导入houdini中设置

pipeline cache/Alembic Cache/export selection to Alembic把选择模型导出为abc格式

可以这是输出当前帧或者是time slider序列时间,可以是单个文件或者是整合成一个文件,还可以添加自定义和默认属性等等。一般对于模型建议带上法线N,和uv属性。

在houdini中导入,不是使用file文件,而是使用alembic节点

默认导入没有任何的组,alembic geometry标签下primitive group,默认是no groups,可以进行选择以什么命名组的名字(注意,这里只能导入在maya中相互独立的模型为组,不能通过set进行设置)

maya在大纲视图中可以擦看到实际上每个模型是分为shape形节点和tranform变形节点。

使用形节点完路径名字为组名

使用变形节点完整路径名字为组名

使用形节点名字为组名

使用变形节点名字为组名

houdini导出abc文件格式

在out模块中,tab生成alembic节点,有两种选择方式

直接使用sop路径还是使用 跟目录路径

默认使用root object根目录路径,object中输入*代笔所有的obj层级下的模型,如果只想输入选择的模型,那么在这选择;

或者激活use sop path,直接指定到sop中文件;

两种输出方式都可以。

获得教程的方法:

(0)

相关推荐