在场景上拖放对象

时间:2014-08-19 08:49:02

标签: unity3d

请告诉我如何在Unity for 3D场景中做类似的事情(左侧菜单)

http://i.stack.imgur.com/xJr8u.jpg

2 个答案:

答案 0 :(得分:0)

最好的办法是:点击对象并开始拖动后,获取项目的名称。然后,当释放鼠标时,在场景中发送光线投射(screenpointtoray),最后实例化在光线投射的.point值下拖动的对象。

答案 1 :(得分:0)

你可以使用Ray。这就是我在当前项目中的表现:

Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit rayHit;
if (Physics.Raycast(ray, out rayHit))
{
    // ... instantiate object here
    newObject.transform.position = rayHit.point;
}

这将在光线与物体碰撞的位置实例化一个物体。我的所有网格都在底部有原点,因此我的新对象将完全显示在鼠标下方的任何对象之上。