我怎么能保持每个Instantiate()的顶点顺序相同?

当试图解决另一个问题时 ,我发现如果我从预制实例化() ,网格顶点(因此三角形)的顺序在实例之间是不一致的。 这是显而易见的,例如,如果我RaycastHit.triangleIndex在游戏的不同运行网格上的相同的位置。 同一位置在游戏的一次运行过程中返回相同的三角形索引,但在下一次运行时返回不同的三角形索引。

相反,如果我将模型添加到编辑器中的场景中,然后运行游戏,那么相同的位置将在游戏的每次运行中返回相同的三角形索引。 如果我通过场景编辑器复制模型,重复也返回相同的三角形索引。 这是我所瞄准的行为。

不过,我显然更喜欢在运行时实例化。 (这可以让我灵活地决定何时和有多less模型实例化,并且从长远来看,我还想添加其他模型。另一种方法是将模型添加到场景中,并创建大量的“屏幕外”副本似乎在多条战线上效率低下。)

是否有可能使用Instantiate 在实例之间和游戏运行之间保持一致的顶点/三角形顺序?