What & How & Why

这是本文档旧的修订版!


目录

Points and Vertices

参考Points and vertices
我的笔记均包含大量个人理解内容,存在一定偏差。如果您发现错误,请留言提出,谢谢!

Point

PointHoudini 中是由空间中的 4 个数字定义的,分别是 (X,Y,Z,W)X,Y,Z 代表了 Point 在空间中的坐标,而 W 则是一个标量,用于坐标的(这里应该是四元数,但也用一个标量也可用矩阵实现变换)。因此,Point 在该空间中是不重复的。

绝大部分情况下在 Houdini 中都是对 Point 的操作。

Vertex

Point 不同的是,Vertex 是以 Primitive (面)为单位的。一个 Primitive 是由 VertexEdges 组成的。因此,对于有多个 Primitive 的复杂几何体,很可能会出现多个 Vertex 共享 一个 Point 的现象。而从几何上来说,Vertex 才是构成几何体的单位,Point 则只是为了操作方便而设计的一个概念。

<html>

<img src=“/_media/vfx/houdini/concepts/geo/p_and_v.svg” width=“750”/>

</html>

Tips

  • 在一个几何体中,如果有多个独立Primitive(没有共享 Point)存在,那么比起使用 Point 属性,使用 Vertex 的属性能更方便的对每一个独立的 Primitive 进行操作。
  • 一些情况下,渲染器并不会独立计算被共享的 PointNormal ,这样的计算方式会使得表面看起来更加平滑。如果需要有棱有角的的面,需要对每个独立的 Vertex 进行 Normal 的重新计算。常用的节点有:facetfacet 节点可以通过将 Point 分离出来达到上述效果,也可以使用 cusp polygons 在不分离 Point 的前提下达到上述效果。




~~DISQUS~~