【发布时间】:2018-07-26 06:53:43
【问题描述】:
我想在我点击的地方完美地在网格上绘制一个矩形。 我正在使用 raycast 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 时,我丢失了数据,并且我的矩形在我点击的地方并不完美。
任何想法如何做得更好?也许不是循环,或者我应该计算更多?
感谢您的帮助!
【问题讨论】:
-
你是先从 hit.textureCoord 获取像素 int 坐标吗?喜欢这里docs.unity3d.com/ScriptReference/RaycastHit-textureCoord.html