我创造了一个团结的场景 . 我将相机和3d统一立方体对象添加到场景中 . 要将对象移动到鼠标单击位置,我添加了光线投射并且它可以工作 .
但我想用我的模特 . 我有一个 obj
和 mtl
文件 . 我将它们复制到 Assets
文件夹 . 我使用下面的代码 . 对象移动但不完全是我的点击位置 .
Plane plane = new Plane(Camera.main.transform.forward, transform.position);
pos = Input.mousePosition;
Ray ray = Camera.main.ScreenPointToRay(pos);
float dist;
if (plane.Raycast(ray, out dist))
{
Vector3 v = ray.GetPoint(dist);
objectPos = v;
}
transform.position = objectPos;
模型的来源不是(0,0,0) . 我从一个大的3D模型切割这个对象 .
我尝试移动到 (Screen.width/2, Screen.Height/2, 0.0f)
,结果如下
EDIT
EDIT 2
我将 box collider
添加到object . 但是对撞机位置与对象不同 .
1 回答
您必须移动对象的空点或保存一个变量,该变量表示必须移动它的向量,并将其添加到objectPos befor设置
transform.position