2014-11-02 41 views
1

我正在制作3D虚拟键盘,并且按键由具有圆角/斜边的直角棱镜网格制成。我用搅拌器制作了网状物,效果很好。除了取决于设备方向等,键的长宽比改变。我刚刚通过做一次缩放比例来实现这一点,但它扭曲了四舍五入的局面。如何在不破坏角落的纵横比的情况下缩放直角棱镜

在2d中,这是通过比例尺9算法来处理的,该算法可以缩放中间和边长而不是边角。

有没有一个统一的做法?

也许有一种简单的方法可以在对常规多维数据集进行变换之后呈现带圆角的东西吗?

或者指定一个网格与一些区域重建静态的比例的方式?

或者用代码构建我自己的网格?这是否有一个很好的例子?建立一个矩形棱镜的网格似乎是可行的 - 但四角四舍五入似乎是一项艰巨的任务。

回答

0

全部取决于需要多少斜角。如果它只是一点点,可以在不接触网格的情况下使用着色器做到这一点。您可以进行后处理,如在this question的接受答案中,链接到this paper

小斜角的其他选项是使用Relief Mapping,如this question。对Relief Mapping纹理进行动态更改可能比对模型更容易。

如果需要多个像素的倒角,我认为网格需要修改。 (希望有人证明我错了,并讲述了一些奇怪的缩放。)一旦你习惯了,从一个脚本制作整个网格是非常容易和Mesh。但取决于3D体验的数量,可能需要很长时间才能使圆边正常工作。

另一个想法是制作一个模型的角落,一个模型的边缘和一个侧面模型。然后,您可以使用6个角落实例,6个伸展边缘实例和6个缩放侧边来制作完整的多维数据集。

+1

我还看到这个包含圆形立方体原始图的包 - 不知道它是否可以实例化为矩形框,但是它们提供代码... https://www.assetstore.unity3d.com/en /#!/内容/ 7382 – Korimako 2014-11-05 00:17:35

相关问题