Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d Unity 3D:Graphics.DrawMesh不再在Unity 5.3.1f中工作_Unity3d_Unity5 - Fatal编程技术网

Unity3d Unity 3D:Graphics.DrawMesh不再在Unity 5.3.1f中工作

Unity3d Unity 3D:Graphics.DrawMesh不再在Unity 5.3.1f中工作,unity3d,unity5,Unity3d,Unity5,我使用GIS数据来表示一个小城市的地图,在大多数对象(图像中的灰色和蓝色)上使用恒定网格和网格渲染器进行了模拟。但某些元素(如房屋或下水道)有时会通过使用网格和UnityEngine.Graphics.DrawMesh函数进行高亮显示 如图所示,4.6.1f中使用的代码与5.3.1中使用的代码相同,但在5.3.1中没有。尽管可以看到网格是在场景视图中设置的 代码如下: protected Mesh m; public void Update() { if ((isActiveAndE

我使用GIS数据来表示一个小城市的地图,在大多数对象(图像中的灰色和蓝色)上使用恒定网格和网格渲染器进行了模拟。但某些元素(如房屋或下水道)有时会通过使用网格和UnityEngine.Graphics.DrawMesh函数进行高亮显示

如图所示,4.6.1f中使用的代码与5.3.1中使用的代码相同,但在5.3.1中没有。尽管可以看到网格是在场景视图中设置的

代码如下:

protected Mesh m;

public void Update()
{
    if ((isActiveAndEnabled) && (m!=null))
        Graphics.DrawMesh(
            m, transform.localPosition, 
            transform.localRotation, material, 14); //14 = Map Layer
}

场景和摄影机设置保持不变。我已经检查了if((isActiveAndEnabled)&&(m!=null))条件是否为真-它是真的。有什么想法会导致这个问题吗?

问题是Map和highlightedreas都位于transform.position.z=0虽然这在Unity 4.6.1中不是问题,但我认为它不会出现在5.X中

我尝试将父对象高亮显示移动到离摄影机更近的位置,但由于我使用了
localPosition
,因此不会影响子对象。移动孩子时,我能够看到突出显示的区域,并意识到我的错误

代码更改为

Graphics.DrawMesh(
        m, transform.position, 
        transform.localRotation, material, 14);

并将父对象高亮显示的
transform.z
更改为
-0.01f
问题是Map和highlighted区域都位于
transform.position.z=0虽然这在Unity 4.6.1中不是问题,但我认为它不会出现在5.X中

我尝试将父对象高亮显示移动到离摄影机更近的位置,但由于我使用了
localPosition
,因此不会影响子对象。移动孩子时,我能够看到突出显示的区域,并意识到我的错误

代码更改为

Graphics.DrawMesh(
        m, transform.position, 
        transform.localRotation, material, 14);

并将父对象高亮显示的
transform.z
更改为
-0.01f

Unity3D 5.x有许多错误。可能是其中之一。只需检查网格的法线,可能它们被翻转了。说Jerry,你可以通过删除“5.x”使你的第一句话更准确(我担心这可能只是又是一个旧的Buggy Unity):/谢谢@JoeBlow呵呵,但我真的觉得4.5.x和更高版本直到5.x都非常稳定。Unity3D 5.x有很多bug。可能是其中之一。只需检查网格的法线,可能它们被翻转了。说Jerry,你可以通过删除“5.x”使你的第一句话更准确(我担心这可能只是又是一个旧的Buggy Unity):/谢谢@JoeBlow呵呵,但我真的觉得4.5.x,后来一直到5.x都很稳定。