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

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

Luo7758
首页 Houdini 正文

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

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

vector ndc = toNDC("/obj/cam1", @P);

float ox=ch("ox");

float oy=ch("oy");

float oz=ch("oz");

if ((ndc[0]<0-ox)||(ndc[0]>1+ox)) removepoint(geoself(), @ptnum); 

if ((ndc[1]<0-oy)||(ndc[1]>1+oy)) removepoint(geoself(), @ptnum); 

if ((ndc[2]>0+oz)) removepoint(geoself(), @ptnum);


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

3. 移除背面点 instersect函数


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

vector camP = point(1,"P",0);//获取相机位置

vector lookat = camP - @P;//获取物体朝向相机的方向

vector p;

float u,v;

vector newP = @P +lookat*chf("bias");//物体向相机偏移一段距离,得到一个新的物体位置

i@fit = intersect(0,newP,lookat,p,u,v);//新的物体位置向相机方向发射线,与旧物体做碰撞,会被碰撞到的就删除

if(@fit!=-1)removepoint(0,@ptnum);// 如果是点就直接这么写

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

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

发表评论

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

今日事今日毕

标签

热门文章

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