文件名称:procedural-planet:我学习高级计算机图形学时开始的一个业余项目
文件大小:2.12MB
文件格式:ZIP
更新时间:2024-06-06 13:54:45
unity shaders planet unity3d tessellation
行星 这个项目是从2016年开始的,当时我正在学习计算机图形学,并将其作为学习程序网格生成和着色器的辅助项目来进行。 它基于投影到球体上的立方体。 因此,六个面中的每一个基本上都表示为变形的四边形。 这使得实现QuadTree变得容易,因此可以通过编辑器脚本将每个面分为四个新面,如以下gif所示: 我以前曾使用高度图和噪点向上投影网格。 在这里,我使用了类似的方法,但是将每个顶点的法线方向用作位移向量: 在这一点上,我发现了tesselation-pipline,因此在项目结束时,我学到了很多东西。 通过其表面着色器暴露的tesselation API Unity有一些局限性。 如果我没记错的话,我无法将新创建的顶点上的属性传递到曲面函数中。 因此,我开始研究Hull / Domain着色器,以实现更好的控制。 我想建造镶嵌细纹的水,所以我可以尝试使用高频噪声重现水通常具有的一些