gpt4 book ai didi

c# - 如何在 texture2D Unity3D 上绘制矩形

转载 作者:太空宇宙 更新时间:2023-11-03 14:56:28 25 4
gpt4 key购买 nike

我想在我点击的地方完美地在网格上绘制一个矩形。我正在使用光线转换 hit.textureCoord 将鼠标放在纹理位置上。我存储了两个点 - 左下角和右上角。

我正在尝试使用以下方法绘制矩形:

for (int y = (int)yStartCorner; y < yEndCorner; y++)
{
for (int x = (int)xStartCorner; x < xEndCorner; x++)
{
texture.SetPixel(x, y, Color.black);
}
}
texture.Apply();

但是精度有问题。当我将 float textureCoord 更改为 int 时,我丢失了数据并且我的矩形在我点击的地方并不完美。

有什么办法可以做得更好吗?也许没有循环,或者我应该数更多?

感谢您的帮助!

最佳答案

(int)yStartCorner

解析 floatint通过在逗号后删除任何内容。

使用例如,您应该会得到更准确的结果 Mathf.RoundToInt

Mathf.RoundToInt(yStartCorner)

现在可以正确向上舍入 (> x,5) 或向下舍入 (< x,5)。

If the number ends in .5 so it is halfway between two integers, one of which is even and the other odd, the even number is returned.

关于c# - 如何在 texture2D Unity3D 上绘制矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48808552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com