Houdini学习笔记(二) 利用程序化制作藤曼效果

一、藤曼主干 

首先确定藤曼生长的位置

藤曼生长的位置一般在物体的下表面 这里使用pointwrangle节点根据法线方向来选择;

if (@N.y>0)

        removepoint(0,@ptnum);   

然后使用scatter在选出的面上进行撒点;这里可以在wrangle之前使用attributepaint节点绘制出想要的部分,类似于ue中的刷草操作,得到的mask属性给到scatter,实现对生成点的位置的控制;

如果藤蔓的下方有物体,则需要删除点;

可以使用intersect来查找竖向方向上的点并删除;

vector p,uv;                  //定义intersect所需要的p,uvw;
int prim1=intersect(1,@P+set(0,-0.01,0),set(0,-0.5,0),p,uv);

//沿着y轴向下寻找0.5个单位的距离;
if (prim1>-1)
    removepoint(0,@ptnum); 
@id=@ptnum;    //给每个点单独的id属性;

这里生成线的方式 用pw写出偏移点的位置,然后merge起来 用add连成线;在add节点使用根据id属性来连接;使用resample加点,选用Maximum Segments可以控制点的数量,不使用距离;

@P.y+=-fit(rand(@ptnum+647),0,1,0,2)*2-1;        //用fit和rand控制线的随机长度;

这个时候考虑到在藤曼的起始生长位置添加藤曼的结构

首先找到起点的位置;

int pt=nearpoint(1,@P,0.01);
if(pt>-1)
    @top=1;
@Cd=0;
@Cd.x=@top;

利用红色标注出来,然后copy五根,在起点做随机偏移;

if(@top

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值