我构建了一个测试项目,以获得一个可重现性最小的脚本,这样做:
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会失败?
答案 0 :(得分:2)
这是Unity引擎的当前错误,将在未来版本中进行修补。请继续关注以下内容,以及Unity未来的更改日志。