TLDR:无法找出使用UV和顶点位移廉价地为(未绑定的)网格设置动画的正确的Shader Graph设置。
我正在尝试根据UV坐标旋转网格的一部分,例如:从X 0到X 0.4,从Y 0到Y 0.6。考虑到这一点,将创建uv贴图网格。
我在该区域获得受影响的顶点没有问题。问题是我想旋转这些顶点以用于可自定义的轴,例如轴(X:1,Y:0,Z:1)使用重物,以便围绕枢轴点旋转。我希望底部选择保持连接到网格的其余部分,而其他受影响的顶点围绕该点整齐地旋转。可以使用拆分的UV通道绘制重量,如图所示:
我将加权区域与旋转节点相乘以对其进行旋转。然后将其添加到负相乘位置(其余的顶点,不包括旋转区域),以获得最终的输出位移。但是旋转的网格是弯曲的。我需要它变得刚硬,因为整个零件都随着weight = 1旋转,除了非常旋转的顶点。
我可以使用基于weight = 1的旋转来获得它,但是枢轴点成为网格的中心,而不是所需的点。
我该如何正确执行此操作?待了好几天,请帮忙:')
大约一个月前我开始使用Unity,这是我面临的第一个问题。
您正在使用的节点将始终围绕原点变换顶点。
我认为您有两种选择:
将顶点平移要旋转机翼的位置的偏移量。这将需要以某种方式将机翼的枢轴点存储在网格中-这可以通过使用备用UV通道或通过使用顶点颜色通道来完成。
使用骨头并在您选择的3D包装中绘制砝码。这样,您可以记录动画,并使用Unity蒙皮的网格着色器对其进行渲染。
希望有所帮助。