我有一个由许多其他模型组成的 3d 房屋数据集。房子非常多样化。我正在尝试找到一种使用脚本将房屋捕捉到地形的方法。脚本类型的作品,问题是有时模型即使在调整枢轴后也嵌入到地形中。我该如何修复它,以便一旦捕捉到的对象只是位于地形顶部而不是在地形内部?
public class AlignInEditor : MonoBehaviour
{
public bool align = false;
public bool showLineToSurface = false;
void Update ()
{
if (align)
{
RaycastHit hit;
Ray ray = new Ray (transform.position, Vector3.down);
if (Physics.Raycast(ray, out hit))
{
transform.position = hit.point;
Debug.Log (transform.name + " aligned.");
}
else
{
Debug.Log ("No surface found for " + transform.name);
}
align = false;
}
if (showLineToSurface)
{
RaycastHit hit;
Ray ray = new Ray (transform.position, Vector3.down);
if (Physics.Raycast(ray, out hit))
{
Debug.DrawLine (transform.position, hit.point);
}
}
}
}