[英]Move 3d object to mouse click position in unity
我統一創建一個場景。 我將攝像機和3d統一立方體對象添加到場景中。 要將對象移動到鼠標單擊的位置,我添加了raycast,它可以正常工作。
但是我想使用我的模型。 我有一個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)
,結果如下
編輯2
您必須移動對象的零點或保存一個表示要移動對象的矢量的變量,然后將其添加到objectPos中以設置transform.position
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.