如何在不破坏Unity中角落纵横比的情况下缩放斜面矩形棱镜

时间:2014-11-02 03:42:26

标签: unity3d unityscript

我正在制作3D虚拟键盘,键由矩形棱镜网格制成,圆角/斜边。我用搅拌机制作了网状物,效果很好。除了取决于设备方向等,键的纵横比改变。我刚刚通过进行比例变换实现了这一点,但它扭曲了圆角。

在2d中,这是用比例9算法处理的,这些算法缩放了边的中间和长度,但没有缩放角。

有没有一种共同的方式来实现这一点?

在常规立方体上进行变换后,可能有一种简单的方法可以渲染带圆角的东西吗?

或者指定网格缩放某些区域重建静态的方式?

或用代码构建我自己的网格?有一个很好的例子吗?建造一个矩形棱镜的网格看起来是可行的 - 但是圆角似乎是一项艰巨的任务。

1 个答案:

答案 0 :(得分:0)

一切都取决于需要多少斜切。如果它只是一点点,可以使用着色器执行此操作而不触及网格。您可以按照this question的已接受答案进行后期处理,该答案会链接到this paper

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

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

另一个想法是为角落制作一个模型,一个模型用于边缘,一个模型用于边缘。然后你可以使用6个角落实例,6个拉伸边缘实例和6个缩放边缘来制作一个完整的立方体。