统计
  • 建站日期:2021-03-10
  • 文章总数:32 篇
  • 评论总数:7 条
  • 分类总数:9 个
  • 最后更新:7月9日
文章 Houdini

Houdini 删除相机看不到的点背面的点或面

Luo7758
首页 Houdini 正文

1. 通过相机创建一个volume,然后采样是否在体积内,删除

2. 根据相机 空间坐标 定义xyz偏移值 padding移除点

  1. vector ndc = toNDC("/obj/cam1", @P);
  2. float ox=ch("ox");
  3. float oy=ch("oy");
  4. float oz=ch("oz");
  5. if ((ndc[0]<0-ox)||(ndc[0]>1+ox)) removepoint(geoself(), @ptnum);
  6. if ((ndc[1]<0-oy)||(ndc[1]>1+oy)) removepoint(geoself(), @ptnum);
  7. if ((ndc[2]>0+oz)) removepoint(geoself(), @ptnum);


Houdini删除相机看不到的点背面的点或面
-CFXer
-第1
张图片

Houdini删除相机看不到的点背面的点或面 -CFXer -第1 张图片

3. 移除背面点 instersect函数


Houdini删除相机看不到的点背面的点或面
-CFXer
-第2
张图片

Houdini删除相机看不到的点背面的点或面 -CFXer -第2 张图片

  1. vector camP = point(1,"P",0);//获取相机位置
  2. vector lookat = camP - @P;//获取物体朝向相机的方向
  3. vector p;
  4. float u,v;
  5. vector newP = @P +lookat*chf("bias");//物体向相机偏移一段距离,得到一个新的物体位置
  6. i@fit = intersect(0,newP,lookat,p,u,v);//新的物体位置向相机方向发射线,与旧物体做碰撞,会被碰撞到的就删除
  7. if(@fit!=-1)removepoint(0,@ptnum);// 如果是点就直接这么写

版权说明
文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。
版权声明:未标注转载均为本站原创,转载时请以链接形式注明文章出处。如有侵权、不妥之处,请联系站长删除。敬请谅解!

-- 展开阅读全文 --
这篇文章最后更新于2022-5-10,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
关于maya的一些小问题和解决(持续更新...)
« 上一篇
houdini 配置vscode 编写python 自动补全
下一篇 »

发表评论

HI ! 请登录
注册会员,享受下载全站资源特权。
暂不提供社交账号登录

今日事今日毕

今日已经过去 21 小时
91%
这周已经过去 4
57%
本月已经过去 5
16%
今年已经过去 6 个月
50%

标签

热门文章

2
Houdini vellum 学习 - 01
4
Houdini vellum 学习 - 02
5
carbon学习之路(一)