【问题标题】:Unity - game behaves differently after buildUnity - 构建后游戏行为不同
【发布时间】:2017-09-09 19:50:58
【问题描述】:

我将粒子系统分配给给定的对象,并将网格分配给那些粒子系统作为发射器形状。在编辑器中一切正常,但在构建中,粒子系统只是不接收网格:粒子从一点发射,即游戏对象的枢轴。 代码如下:

string nameToLookFor = mf.mesh.name.Replace(" Instance", "");
Mesh myAwesomeNewMeshForNoApparentReason = null;
if (!LoadedAdditionalMeshes.ContainsKey(nameToLookFor))
{
    Mesh m = Resources.Load<Mesh>("Meshes/" + nameToLookFor);
    if (m != null)
    {
        //add to dict.
        LoadedAdditionalMeshes.Add(m.name, m);
    }
}
myAwesomeNewMeshForNoApparentReason = LoadedAdditionalMeshes[nameToLookFor];
var sh2 = system.shape;

sh2.mesh = myAwesomeNewMeshForNoApparentReason;

LoadedAdditionalMeshes 是一个Dictionary&lt;string,Mesh&gt;。它已被实例化,并且 - 如前所述 - 在编辑器中工作。 我确实用调试器连接了我的构建,没有错误,没有任何记录,它只是不起作用。

编辑:当然我试过调试它,网格实际上被加载并被分配。很明显,代码在编辑器中运行良好。问题是,为什么在将它构建到 Android 后它不起作用?

【问题讨论】:

  • 不确定你的问题是什么,但你的 try catch 有一个空的 catch。我会尝试在你的捕获中抛出一个错误,看看是否有任何事情发生。
  • 抱歉,粘贴了旧代码。在我提到的情况下,try catch 被取出,我去编辑问题。

标签: c# android unity3d


【解决方案1】:

Particle Systems 没有收到网格的原因是gameobjects 被标记为static。删除后,所有工作都应该如此。现在,为什么这也不适用于精灵,(允许静态)它超出了我的范围。但是对于网格,static 在这种情况下是不行的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-01
    • 2020-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多