首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >统一3D: Graphics.DrawMesh不再在统一5.3.1f中工作

统一3D: Graphics.DrawMesh不再在统一5.3.1f中工作
EN

Stack Overflow用户
提问于 2016-01-13 15:34:03
回答 1查看 1.2K关注 0票数 1

我用GIS数据模拟了一个小城市的地图,用一个恒定的网格和一个网格渲染器对大多数物体(图像中的灰色和蓝色)进行了模拟。但有些元素,如房屋或污水渠,有时会通过使用网格和UnityEngine.Graphics.DrawMesh功能突出显示。

正如您在图片中所看到的,4.6.1f中使用的相同代码呈现网格,而在5.3.1中则不是。虽然您可以看到网格设置在场景视图中。

这是代码:

代码语言:javascript
复制
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))条件是否为true -是的。有什么想法会导致这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-13 16:50:55

问题是Map和HighlightedAreas都位于transform.position.z = 0;上,而这在Unity4.6.1中并不是一个问题,我以为它不会是5.X中的问题。

我尝试将父对象高亮显示移到靠近摄像机的地方,但由于我使用了localPosition,它不会影响子对象。移动孩子,我能够看到突出的区域,并意识到我的错误。

代码更改为

代码语言:javascript
复制
Graphics.DrawMesh(
        m, transform.position, 
        transform.localRotation, material, 14);

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34770677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档