コード例 #1
0
    public void UpdatePlaneByTerrain()
    {
        NrTerrain instance = NrTSingleton <NrTerrain> .Instance;

        if (instance.IsActive())
        {
            return;
        }
        if (null == Terrain.activeTerrain)
        {
            Debug.Log(":activeTerrain fail:" + (null == Terrain.activeTerrain));
            return;
        }
        if (null == Terrain.activeTerrain.terrainData)
        {
            Debug.Log(":terrainData fail:" + (null == Terrain.activeTerrain.terrainData));
        }
    }
コード例 #2
0
ファイル: NmGridCell.cs プロジェクト: parikharsh/GLOH_Source
    public void UpdatePlaneByTerrain()
    {
        NrTerrain instance = NrTSingleton <NrTerrain> .Instance;

        if (instance.IsActive())
        {
            if (this.mMesh != null)
            {
                Vector3   pos      = new Vector3(base.transform.position.x + this.PlaneSizeX / 2f, base.transform.position.y, base.transform.position.z + this.PlaneSizeZ / 2f);
                float     num      = this.PlaneSizeX / (float)this.m_planeSegments;
                float     num2     = this.PlaneSizeZ / (float)this.m_planeSegments;
                int       num3     = this.m_planeSegments + 1;
                Vector3[] vertices = this.mMesh.vertices;
                for (int i = 0; i < num3; i++)
                {
                    for (int j = 0; j < num3; j++)
                    {
                        vertices[i * num3 + j].y = instance.SampleHeight(pos) - pos.y + this.VERTEX_SPACING;
                        pos.x -= num;
                    }
                    pos.x += (float)num3 * num;
                    pos.z -= num2;
                }
                this.mMesh.vertices = vertices;
                this.mMesh.RecalculateBounds();
                int num4 = (int)((float)num3 / 2f * (float)num3);
                this.mCenterPos = this.Vertex2World(vertices[num4]);
            }
            return;
        }
        if (null == Terrain.activeTerrain)
        {
            Debug.Log(":activeTerrain fail:" + (null == Terrain.activeTerrain));
            return;
        }
        if (null == Terrain.activeTerrain.terrainData)
        {
            Debug.Log(":terrainData fail:" + (null == Terrain.activeTerrain.terrainData));
        }
    }