动态创建的Tilemap图块在编辑器和Android构建中呈现,但不在WebGL构建

时间:2018-04-11 03:23:32

标签: c# unity3d unity-webgl

我构建了一个测试项目,以获得一个可重现性最小的脚本,这样做:

using UnityEngine;
using UnityEngine.Tilemaps;

public class TileTest : MonoBehaviour {
    public Tilemap tilemap;
    public Sprite floorSprite;

    void Start () {
        Tile tile = new Tile();

        tile.sprite = floorSprite;
        tilemap.SetTile(new Vector3Int(1, 1, 0), tile);

        tile = ScriptableObject.CreateInstance<Tile>();
        tile.sprite = floorSprite;
        tilemap.SetTile(new Vector3Int(-1, -1, 0), tile);
    }
}

精灵只是一个小的PNG,而tilemap是Grid中的Tilemap对象(普通)。此脚本附加到网格。这就是这个项目的全部内容。

在编辑器和Android版本中,两个实例都有效。第一个产生警告,这是预期的(它已被弃用);我只想直接尝试看看行为是否有所不同,但事实并非如此。

我无法在Build Settings或PlayerSettings中找到任何可能会对此产生影响的内容。精灵在网格上的脚本上引用,为了确保,我将Sprites文件夹放在Resources文件夹中;没变。 Firefox和Chrome / Chromium(我在Windows 10和Debian 9中对此进行了测试)都只显示了一个空白画布,这是构建的正确颜色(在更复杂的项目中它还显示了我的非平铺精灵)和动画),但没有瓦片精灵渲染。

在实际项目中,我动态地实例化具有在所有平台上都能正常工作的动画的预制件。为什么WebGL会失败?

1 个答案:

答案 0 :(得分:2)

这是Unity引擎的当前错误,将在未来版本中进行修补。请继续关注以下内容,以及Unity未来的更改日志。

Unity Bug Tracker - Tilemap WebGL