如何在 C# 和 Unity 中限制索引范围?

问题描述 投票:0回答:0

我正在尝试从“.csv 文件”中获取信息并将其一个接一个地发送到 Unity 中的着色器。我想将超过 10,000 个数组信息放入着色器中,但索引的限制是 1024 左右,当它超过该数字时,它会显示“indexOutofRangeException:索引超出数组范围”

每当索引达到最大范围时,我都试图创建一个新索引,但是由于我必须将这个索引发送到着色器,所以这并不容易......

下面是我的代码。

 public void addHitPoint(float xp, float yp)
    {
        mPoints[mHitCount * 3] = xp; // X coor
        mPoints[mHitCount * 3 + 1] = yp; // Y coor
        mPoints[mHitCount * 3 + 2] = 1; // intensity, 

        mHitCount++;
        // Reset the points remained on shader
        //mHitCount %= 300;

        // Send the data to shader
        mMaterial.SetFloatArray("_Hits", mPoints);
        mMaterial.SetInt("_HitCount", mHitCount);

        Debug.Log(mPoints + "," + mHitCount);
    }

当 mHitCount 超过 330 时,出现如下错误:IndexOutOfRangeException: Index was outside the bounds of the array.

如何在 C# 中取消限制索引范围?请帮忙,谢谢。

c# unity3d
© www.soinside.com 2019 - 2024. All rights reserved.